Изменить стиль страницы

Период, последовавший за публикацией книги "Перцептроны", известен как "темные века" коннекционизма. Он был отмечен значительным сокращением финансирования исследовательских программ, которые выросли из первоначальных работ Розенблатта. Нейросетевой подход к созданию искусственного интеллекта был затушен. От всех чрезмерных обещаний, надежд и шумихи пришлось отказаться. Сам Розенблатт трагически погиб в результате несчастного случая на лодке через два года после выхода книги, а область, которую он помог создать, оставалась бездействующей более 10 лет.

Но если шумиха вокруг перцептрона была чрезмерной и необоснованной, то и ответная реакция на него тоже. Ограничения, описанные в книге Мински и Пейперта, были верны: перцептрон в той форме, в которой они его изучали, был неспособен на многое. Но ему и не нужно было сохранять эту форму. Например, проблема "одинаково или нет" может быть легко решена путем добавления дополнительного слоя нейронов между входом и считыванием. Этот слой может состоять из двух нейронов, один из которых имеет веса, заставляющие его срабатывать, когда оба входа включены, а другой - когда оба входа выключены. Теперь нейрон считывания, который получает входные данные от этих средних нейронов, должен быть активным, если один из средних нейронов активен.

Многослойные перцептроны", как называли эти новые нейронные архитектуры, могли воскресить коннекционизм из мертвых. Но до полного воскрешения необходимо было решить одну проблему: обучение. Оригинальный алгоритм перцептрона содержал рецепт установки связей между входными нейронами и считывающими нейронами - то есть правило обучения было разработано для двухслойной сети. Если новая порода нейронных сетей будет иметь три, четыре, пять или более слоев, то как должны быть установлены связи между всеми этими слоями? (Несмотря на все положительные стороны правила обучения перцептрона - его простоту, доказательство того, что оно может работать, тот факт, что оно было обнаружено в мозжечке, - оно не смогло ответить на этот вопрос. Знания того, что многослойный перцептрон может решать более сложные задачи, было недостаточно для того, чтобыграндиозные обещания коннекционизма. Необходимо было, чтобы оннаучился решать эти проблемы.

* * *

Пасхальное воскресенье коннекционистского возрождения наступило в 1986 году. Статья "Обучение представлений путем обратного распространения ошибок", написанная двумя учеными-когнитивистами из Калифорнийского университета в Сан-Диего Дэвидом Румельхартом и Рональдом Уильямсом, а также компьютерщиком из Карнеги-Меллон Джеффри Хинтоном, была опубликована 9 октября в журнале Nature. В ней представлено решение именно той проблемы, которая стояла перед этой областью: как обучать многослойные искусственные нейронные сети. Приведенный в статье алгоритм обучения, названный "обратным распространением", стал широко использоваться сообществом в то время. И по сей день он остается доминирующим способом обучения искусственных нейронных сетей для решения интересных задач.

img_6.jpeg

Рисунок 6

Оригинальное правило обучения перцептрона работает, потому что, имея всего два слоя, легко понять, как исправить то, что пошло не так.Если считывающий нейрон выключен, когда он должен быть включен, то связи, идущие от входного слоя к этому нейрону, должны стать сильнее, и наоборот. Таким образом, связь между этими связями и показаниями очевидна. Алгоритм обратного распространения решает более сложную задачу. В сети с большим количеством слоев между входом и считыванием взаимосвязь между всеми этими связями и считыванием не так очевидна. Теперь вместо президента и его или ее советников у нас есть президент, его советники и сотрудники этих советников. Степень доверия советника к тому или иному сотруднику -то есть сила связи между этим сотрудником и советником - безусловно, в конечном итоге повлияет на действия президента. Но это влияние труднее непосредственно заметить и труднее исправить, если президент чувствует, что что-то идет не так.

Нужен был явный способ рассчитать, как любое соединение в сети повлияет на уровень считывания. Как оказалось, математика предлагает отличный способ сделать это. Рассмотрим искусственную нейронную сеть с тремя слоями: входным, средним и считывающим. Как связи от входа к среднему слою влияют на считывание? Мы знаем, что активность среднего слоя является результатом активности входных нейронов и весов их связей со средним слоем. Зная это, мы можем написать уравнение для того, как эти веса влияют на активность среднего слоя. Мы также знаем, что нейроны считывания следуют тому же правилу: их активность определяется активностью средних нейронов и весами соединений средних нейронов с нейронами считывания. Поэтому уравнение, описывающее, как эти веса влияют на считывание, также легко получить. Осталось найти способ связать эти два уравнения вместе.

При формировании поезда в игре в домино число на конце одной плитки должно совпадать с числом на начале другой, чтобы они соединились. То же самое верно и для сшивания этих уравнений. Здесь общим термином, связывающим два уравнения, является активность среднего слоя: эта активность определяет активность считывающего устройства и определяется связями между входом и серединой. Соединив эти уравнения через активность среднего слоя, можно напрямую рассчитать влияние связей между входом и средним слоем на считывание. А это позволяет легко определить, как должны измениться эти связи при неправильном считывании. В математике такое объединение связей известно как "правило цепочки", и оно лежит в основе алгоритма обратного распространения.

Правило цепочки было открыто более 200 лет назад не кем иным, как кумиром Маккаллоха и Питтса, философом и эрудитом Готфридом Лейбницем. Учитывая, насколько полезным является это правило, его применение для обучения многослойных нейронных сетей не стало сюрпризом. На самом деле, алгоритм обратного распространения был изобретен как минимум трижды до 1986 года. Но статья 1986 года стала частью идеального шторма, который обеспечил широкое распространение ее результатов. Первой причиной этого стало содержание самой статьи. В ней не только было показано, что нейронные сети можно обучать таким образом, но и проанализирована работа сетей, обученных для решения нескольких когнитивных задач, таких как понимание связей на семейном древе.Другой составляющей успеха сталоувеличение вычислительной мощности , которое произошло в 1980-х годах; это было важно для того, чтобы обучение многослойных нейронных сетей стало практически возможным для исследователей. Наконец, в том же году, когда была опубликована статья, один из ее авторов, Румельхарт, также опубликовал книгу о коннекционизме, в которой был представлен алгоритм обратного распространения. Эта книга, написанная совместно с другим профессором Карнеги-Меллона, Джеймсом Макклелландом, разошлась тиражом около 40 000 экземпляров к середине 1990-х годов. Ее названиеПараллельная распределенная обработка" - дало название всей программе исследований по созданию искусственных нейронных сетей в конце 1980-х и начале 1990-х годов.

По схожим причинам история искусственных нейронных сетей приняла еще более драматический оборот примерно через десять лет после начала нового тысячелетия. Груды данных, накопленных в эпоху Интернета, объединились с вычислительными мощностями XXI века, чтобы ускорить прогресс в этой области. Сети со все большим количеством слоев вдруг стали обучаться все более сложным задачам. Такие увеличенные модели - так называемые "глубокие нейронные сети" - в настоящее время преобразуют искусственный интеллект и нейронауки.

Современные глубокие нейронные сети основаны на том же базовом понимании нейронов, что и нейроны Маккаллоха и Питтса. Однако за пределами этого базового понимания они не стремятся напрямую повторить человеческий мозг. Например, они не пытаются имитировать его структуру или анатомию. Но они стремятся имитировать человеческое поведение, и у них это неплохо получается. Когда2016 году популярная служба языкового перевода Google начала использовать глубокие нейронные сети, это позволило сократить количество ошибок перевода на 50 %. YouTube также использует глубокие нейронные сети, чтобы помочь своему алгоритму рекомендаций лучше понять, какие видеоролики люди хотят посмотреть. А когда голосовой помощник Apple Siri отвечает на команду, его слушает и говорит глубокая нейронная сеть.

В общей сложности глубокие нейронные сети теперь можно обучать находить объекты на изображениях, играть в игры, понимать предпочтения, переводить с одного языка на другой, преобразовывать речь в письменные слова и письменные слова в речь. В отличие от оригинального перцептрона, компьютеры, на которых работают эти сети, занимают целые комнаты. Они расположены в серверных центрах по всему миру, где с жужжанием обрабатывают мировые изображения, тексты и аудиоданные. Розенблатт, возможно, был рад увидеть, что некоторые из его грандиозных обещаний, данных газете New York Times, действительно были выполнены. Просто для этого потребовались масштабы, почти в тысячу раз превышающие те, которыми он располагал в то время.

Алгоритм обратного распространения был необходим для того, чтобы поднять искусственные нейронные сети до уровня, позволяющего им достигать почти человеческих показателей при выполнении некоторых задач. В качестве правила обучения для нейронных сетей он действительно работает. К сожалению, это не означает, что он работает как мозг. Если правило обучения перцептрона - это то, что можно увидеть в игре между реальными нейронами, то алгоритм обратного распространения - нет. Он был разработан как математический инструмент для обеспечения работы искусственных нейронных сетей, а не как модель того, как учится мозг (и его изобретатели с самого начала ясно дали это понять).Причина в том, что реальные нейроны, как правило, могутзнатьтолькооб активности нейронов, с которыми они связаны, но не об активности нейронов, с которыми эти нейроны связаны, и так далее, и так далее. По этой причине для реальных нейронов не существует очевидного способа реализовать правило цепочки. Они должны делать что-то другое.