Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!
Давно известно, что биологические нейроны действуют подобно битам: либо отправляют сигнал соседнему нейрону, либо не делают этого; поэтому исследователи построили модель, где роль обучающих сигналов выполняют всплески нейронной активности.
Не прерывая работу нейронов, эта модель позволяет выполнять биологическое обратное распространение, а эффективность реализации нового алгоритма близка к эффективности классического обратного распространения. За подробностями и кодом приглашаем под кат, пока у нас начинается курс по ML и DL.
Когда человек или машина учится лучше справляться с проблемой, от обучения остаётся след. В основе улучшения производительности лежит последовательность физических изменений клеток в мозге или изменений числовых значений в алгоритме. Но определение того, какие именно изменения нужно внести, — немалый труд.
Мозг или система ИИ должны точно определить, какие элементы в их конвейере ответственны за ошибки, а затем внести необходимые изменения. Это называется проблемой определения ответственности. Проще говоря, это поиск виноватых.
Инженеры ИИ решили проблему определения ответственности для машин с помощью мощного алгоритма под названием «обратное распространение». Этот алгоритм был популяризирован в 1986 году благодаря работе Джеффри Хинтона, Дэвида Румельхарта и Рональда Уильямса.
Сегодня обратное распространение — рабочая лошадка, которая помогает в обучении самых успешных ИИ, известных как глубокие нейронные сети, имеющие скрытые слои искусственных «нейронов» между входным и выходным слоями.
И вот теперь, в опубликованной Nature Neuroscience статье, учёные, возможно, нашли работающий в реальном времени эквивалент алгоритма в мозге. Группа исследователей под руководством Ричарда Науда из Университета Оттавы и Блейка Ричардса из Университета Макгилла и Института искусственного интеллекта Мила в Квебеке создала новую модель алгоритма обучения мозга, которая может имитировать процесс обратного распространения.
Выглядит она настолько реалистично, что неврологи обратили внимание на этот процесс и теперь заинтересованы в изучении реальных нейронов с целью выяснить, действительно ли мозг делает это.
«Приходящие из теории идеи могут стимулировать проведение сложных экспериментов, и, на мой взгляд, представленная работа преодолевает эту планку», — считает Мэтью Ларкум, экспериментальный нейробиолог из Берлинского университета им. Гумбольдта. «Есть биологическое правдоподобие, которое может иметь большие последствия».
Модель обучения мозга, предложенная Блейком Ричардсом из Университета Макгилла и Института искусственного интеллекта Мила, а также Ричардом Наудом из Университета Оттавы, может окончательно решить проблему определения ответственности в мозге человека.
Однако процессы обучения ИИ и мозга не совсем одинаковы. Когда глубокая нейронная сеть обучается распознавать изображение, это происходит в два этапа: сначала прямое распространение, а затем обратное распространение.
На первом этапе обучения нейроны во входном слое кодируют признаки изображения и передают их дальше. Затем нейроны в скрытых слоях выполняют вычисления и отправляют результаты на выходной слой, который выдаёт свой прогноз (например, «кошка»).
Но если на самом деле на изображении была собака, то алгоритм обратного распространения должен прийти на помощь и исправить ошибку через перерасчёт соединяющих нейроны весов. Обратное распространение рассчитывает, как каждый нейрон может внести меньший вклад в общую ошибку, начиная с ближайших к выходному слою нейронов, двигаясь по каждому слою назад.
Когда алгоритм видит, что увеличение активности данного нейрона улучшит, например, выходной прогноз, то веса этого нейрона увеличиваются. Цель — изменить все связи в нейронной сети, каждую понемногу, в нужном направлении — до тех пор, пока выходные прогнозы не станут точнее.
Чтобы решить проблему определения ответственности, на протяжении десятилетий исследователи пытались понять, как мозг выполняет нечто вроде обратного распространения.
Обратное распространение само по себе неправдоподобно биологически, потому что, помимо прочего, биологические нейроны не могут просто остановить обработку внешнего мира и ждать, пока начнётся обратное распространение. Это привело бы к провалам в зрении или слухе. Верно и то, что нейроны могут посылать «всплески» быстро. Также доказано, что это изменяет связи между нейронами, так что всплески становятся естественным кандидатом решения проблемы определения ответственности.
В новой модели команда рассматривала всплески нейронов как третий выходной сигнал — поток из сигналов «1», расположенных друг к другу так близко, что они фактически становятся сигналом «2».
Вместо кодирования чего-либо о внешнем мире сигнал «2» действует как «обучающий сигнал», сообщая другим нейронам, следует ли им усилить или ослабить свои связи друг с другом, на основе накопленной в верхней части цепи ошибке.
Чтобы этот обучающий сигнал решил проблему непрерывного определения ответственности, модель требовала ещё одного ключевого элемента. Команда Науда и Ричардса предположила, что нейроны имеют отдельные отсеки в верхней и нижней части, и эти отсеки совершенно по-разному обрабатывают нейронный код.
«[Наша модель] показывает, что действительно можно иметь два сигнала, один из которых идёт вверх, а другой — вниз, и эти сигналы могут проходить один через другой», — рассказывает Науд.
Модель предполагает, что древовидные отростки, которые получают входные сигналы на вершинах нейронов, чтобы настроить свои связи и уменьшить количество ошибок, слушают только всплески (то есть внутренний обучающий сигнал).
Как и при обратном распространении, нейроны настраиваются сверху вниз: согласно модели верхние нейроны управляют вероятностью отправки всплеска нейронами внизу.
Исследователи показали, что, когда в сети происходят больше всплесков, нейроны склонны увеличивать прочность своих связей, а когда всплески происходят реже, прочность связей имеет тенденцию к снижению.
Идея заключается вот в чём: сигнал всплеска сообщает нейронам, что они должны быть активны во время выполнения задания, укрепляя свои связи, если это уменьшает ошибку.
Если всплесков нет, это даёт сигнал нейронам, что они должны быть неактивными и, возможно, им необходимо ослабить свои связи. В то же время отростки в нижней части нейрона относятся к всплескам так, как если бы это были одиночные спайки, то есть нормальный сигнал внешнего мира. Это позволяет им продолжать посылать сенсорную информацию вверх по цепи без перерыва.
«Представленная идея кажется логичной, и я думаю, это свидетельствует о её красоте», — считает Жуан Сакраменто, вычислительный нейробиолог из Цюрихского университета и ETH Zurich, — Я думаю, это блестяще».
Подобной логике пытались следовать другие учёные. Двадцать лет назад Конрад Кординг из Университета Пенсильвании и Петер Кёниг из Университета Оснабрюка в Германии предложили схему обучения с двухкамерными нейронами. Но, в отличие от новой модели, в их предложении не было множества биологически важных специфических деталей. Это было только предложение — они не могли доказать, что оно действительно может решить проблему определения ответственности.
«Тогда у нас просто не было возможности проверить эти идеи», — рассказал Кординг.
Кординг считает новую работу «огромным трудом» и собирается продолжить её в своей лаборатории.
При помощи современных мощностей Науд, Ричардс и их коллеги создали модель, где роль обучающего правила выполняли всплески нейронов. Они показали, что такой подход решает проблему определения ответственности в классической задаче, известной как XOR. Эта задача требует обучения реагировать, когда один из двух входов (но не оба) равен 1.
Исследователи также показали, что построенная с использованием их правила всплеска глубокая нейронная сеть на сложных задачах классификации изображений может приблизиться к производительности алгоритма обратного распространения. Но возможности для улучшения всё ещё есть: алгоритм обратного распространения оказался более точным, и ни один из них полностью не соответствует возможностям человека.
«Должны быть некие детали, которых у нас нет, и мы должны создать модель лучше», — заявил Науд. «Главная цель статьи — сказать, что обучение, которым заняты машины может аппроксимироваться физиологическими процессами».
Взволнованы также исследователи искусственного интеллекта: выяснение того, как мозг аппроксимирует обратное распространение, может улучшить процесс обучения ИИ.
«Если понять процесс, это может привести к созданию систем, решающих вычислительные задачи так же эффективно, как это делает мозг», — считает Марсель ван Гервен, глава отдела искусственного интеллекта в Институте Дондерса при Университете Радбоуда в Нидерландах.
Новая модель предполагает, что партнерство нейронауки и искусственного интеллекта может вывести эти области за рамки нашего понимания сегодня, найти общие принципы способности к обучению мозга и машины как таковой.
«Эти принципы, в конечном счёте, выведут мозг на новый уровень, за рамки вычислительной машины», — считает Ларкум.
Пока учёные разбираются в тонкостях активности мозга, вы можете обратить внимание на наши курсы, чтобы лучше понять искусственные нейросети и научиться с их помощью решать проблемы бизнеса:
Профессия Data Scientist (24 месяца)
Курс «Machine Learning и Deep Learning» (6 месяцев)
Также вы можете перейти на страницы из каталога, чтобы узнать, как мы готовим специалистов в других направлениях. И последнее — ссылки на код:
https://github.com/apayeur/spikingburstprop
https://github.com/jordan-g/Burstprop
Статья на biorxiv (открытый доступ)
Профессии и курсы
Data Science и Machine Learning
Профессия Data Scientist
Профессия Data Analyst
Курс «Математика для Data Science»
Курс «Математика и Machine Learning для Data Science»
Курс по Data Engineering
Курс «Machine Learning и Deep Learning»
Курс по Machine Learning
Python, веб-разработка
Профессия Fullstack-разработчик на Python
Курс «Python для веб-разработки»
Профессия Frontend-разработчик
Профессия Веб-разработчик
Мобильная разработка
Профессия iOS-разработчик
Профессия Android-разработчик
Java и C#
Профессия Java-разработчик
Профессия QA-инженер на JAVA
Профессия C#-разработчик
Профессия Разработчик игр на Unity
От основ — в глубину
Курс «Алгоритмы и структуры данных»
Профессия C++ разработчик
Профессия Этичный хакер
А также:
Курс по DevOps
Все курсы