В Англии едут, в России запрягают. Созданы гибридные алгоритмы с внешней памятью
В Великобритании нейронные сети научились управлять транспортными потоками и ориентироваться в лондонском метро. Российские специалисты также заняты развитием этих технологий, но только в Калифорнии, так как в России «от них скрывают данные».
Современная вычислительная техника либо не обучаема (обычные компьютеры), либо ограничена в объеме запоминаемой информации (нейросети), и только сейчас, благодаря программистам из Google, эти качества перестали быть взаимоисключающими. Программисты изобрели гибридные обучающиеся устройства, которые сочетают в себе лучшие черты нейросетей и традиционных компьютеров. Результаты представлены в журнале Nature.
Как работает нейросеть
Искусственные нейросети — математические алгоритмы (и их программное обеспечение), которые могут запоминать уже проделанные операции и обучаться на их примере, находя коэффициенты связей между своими простыми процессорами — искусственными нейронами. Каждый из таких «нейронов» выполняет простейшую маленькую роль, но вместе они могут справиться со сложными комплексными задачами, с каждым прогоном все лучше и лучше определяя требуемый результат.
Indicator.Ru уже писал о нейросетях, сочиняющих стихи, песни и музыку. Как правило, чем больше примеров они обработают, тем более похожими становятся «произведения».
В биологии нейронные сети (которые, например, позволяют вам читать и понимать этот текст) состоят из нейронов и соединяющих их отростков. Отростки бывают двух типов: дендриты (короткие, по которым сигнал входит в клетку) и аксоны (длинные и разветвляющиеся на конце, по которым сигнал выходит из клетки). Отростки контактируют между собой, и места контактов называют синапсами. Когда нейрон активируется, он посылает электрохимические вещества в другие нейроны по своему аксону (который у каждого нейрона один) и передает их через синапсы, как по телефонному проводу. Другой нейрон получает сигнал и может тоже активироваться, если уровень полученных сигналов преодолеет определенный порог.
При проходе через каждый синапс сигнал становится слабее на некоторую величину, которая зависит от свойств синапса. Эта величина в искусственных нейронах называется весом синапса, и от нее зависит, как сильно нейроны связаны между собой. Формирование более близких связей между нейронами и лежит в основе обучения, при котором веса меняются.
Так что, когда мы вводим какие-то данные, веса в нейронной сети преобразуют их, а затем выдают ответ на выходе. Как это выглядит? Самый простой пример: если мы хотим научить нейросеть распознавать буквы на изображениях 30х30 пикселей, мы задаем 900 входов (количество пикселей) и 33 выхода (количество возможных букв). Тогда нейросеть будет сопоставлять точки на картинке с заданным изображением и выбирать, на что оно больше похоже. С каждым прогоном алгоритм будет учитывать разные отклонения от нужных точек, запоминая, где категория ответа одна и та же.
Что нам стоит граф построить
В современных компьютерах способность считать и память разделены. Вычисления проводятся процессором, который использует доступную ему память для ввода новых данных в свои расчеты. Это удобно, так как позволяет использовать внешние хранилища данных (те же жесткие диски или флешки) и вводить полученную информацию как переменные. Однако обычные компьютерные алгоритмы, в отличие от искусственных нейросетей, не обучаемы. Чтобы они производили комплексный анализ, нужно вручную написать им программу.
Нейросети же отлично умеют обрабатывать информацию, им доступно последовательное обучение и метод проб и ошибок, но их способность структурировать и хранить данные долгое время ограничена из-за недостатка места в памяти.
Для решения сложных задач ученым приходилось писать программу для компьютеров, а нейросети и вовсе с ними не справлялись. Научиться определять породу собаки по фотографии или создавать фразы по заданному образцу — пожалуйста, а вот чтобы строить маршруты в лондонском метро, нужно оперировать большим количеством переменных.
Ученые из Лондона решили объединить преимущества этих систем, создав нейросеть с внешним хранилищем данных, которая может сама доставать конкретные данные из своих «чертогов разума» в зависимости от цели расчетов.
Новую разработку программисты назвали «дифференцируемый нейронный компьютер», так как она может избирательно «переключать внимание» между разными разделами памяти. Созданное устройство опробовали на решении текстовых логических задачек, построении графов и маршрутов.
Кстати, в Великобритании нейронные сети и раньше принимали участие в регулировании движения, правда, на автомобильных трассах. Так, в 2005 году 17-километровый участок трассы М42 оснастили камерами и датчиками, собирающими данные о потоке автомобилей. Впоследствии эти данные обрабатывались нейронной сетью, которая формировала стратегии по лучшему управлению транспортными потоками на данном участке трассы.
На вопрос Indicator.Ru о том, имеются ли подобные разработки в России, заведующий кафедрой системного анализа факультета вычислительной математики и кибернетики МГУ Александр Куржанский сообщил следующее: «Я знаю, что в Москве на это выделялись большие суммы, но вузы, насколько мне известно, сейчас не принимают никакого участия в работе. По совместительству я участвовал в разработке подобной системы в Калифорнии, но здесь, в Москве, от ученых по непонятным причинам скрывают данные».
По мнению ректора МГУ Виктора Садовничего, умные дороги улучшили бы транспортную ситуацию в Москве. «Полгода назад Ликсутов пригласил меня к себе, и мы обсудили, что мы создаем группу для составления плана действий по дорожной ситуации в Москве. Такая группа была создана, руководит ей Федянин, и он накануне доложил, что первый отчет этой группы направлен в Департамент транспорта. Были выделены определенные, но небольшие средства для этой работы. Это общий пока отчет нескольких специалистов, объединенных в группу, о том, что надо делать. Это предварительные работы. Это колоссальная проблема, которая не менее важна, чем строительство новых дорог и развязок. Только расширением дорог проблему не решишь, нужны умные дороги, для этого нужна работа ученых», – рассказал Садовничий.
Искусственный интеллект ориентируется в Лондонском метро
У созданного нейрокомпьютера есть три механизма переключения внимания между информацией в памяти. Первый из них — поиск по содержанию, когда введенная информация сравнивается с содержанием в каждой из ячеек памяти. Второй — регистрация логической последовательности переходов между частями информации, даже если все детали появляются не непосредственно по порядку. Третий механизм внимания предназначен для записи памяти. Если информация долго не используется, она откладывается «в долгий ящик».
Такое распределение ячеек памяти основано на частоте использования и изменении веса нейронов. То, что получилось, было удивительно похоже на работу зубчатой извилины гиппокампа, усиливающей способность к запоминанию информации. Программисты проверили свой нейрокомпьютер, предложив ему словесные логические задачки, где нужно было вычленить нужные детали из короткого текста и ответить на вопрос. Например, после прочтения предложений «Овцы боятся волков. Гертруда овца. Мыши боятся кошек» исследователи спрашивали нейросеть, чего боится Гертруда, а по истории «Джон на поле. Джон поднял футбольный мяч» они интересовались, где находится футбольный мяч. Нейросеть ошибалась всего в 3,8% случаев, хотя перед этим не тренировалась на текстовых задачках и не обрабатывала никакие массивы фраз.
Другим заданием стало построение графов, с чем нейросеть также справилась успешно. Для тестирования ее заставили искать кратчайшие пути в Лондонском метро и высчитывать степени родства в фамильном древе.
Третье испытание было похоже на дрессировку животного. Нейросети нужно было выполнять виртуальные задания, достигая целей, поставленных экспериментаторами: двигать блоки и переставлять объекты в стопках. Ученые обнаружили, что их нейросеть при выполнении этого задания сначала записывает в память каждое действие, а затем уже его выполняет, то есть, способна к простейшему планированию.
Авторы отмечают, что матрица памяти в 512 ячеек была достаточна для их задач, но для комплексных расчетов и поиска решения проблем реального мира понадобится гораздо больше входных данных. К счастью, их система позволяет получать информацию из большего количества ресурсов, чтобы ее можно было адаптировать к сложным прикладным задачам. В этом направлении разработчики и собираются развивать свою гибридную технологию.