Шрифт:
Интервал:
Закладка:
* * *
Пасхальное воскресенье коннекционистского возрождения наступило в 1986 году. Статья "Обучение представлений путем обратного распространения ошибок", написанная двумя учеными-когнитивистами из Калифорнийского университета в Сан-Диего Дэвидом Румельхартом и Рональдом Уильямсом, а также компьютерщиком из Карнеги-Меллон Джеффри Хинтоном, была опубликована 9 октября в журнале Nature. В ней представлено решение именно той проблемы, которая стояла перед этой областью: как обучать многослойные искусственные нейронные сети. Приведенный в статье алгоритм обучения, названный "обратным распространением", стал широко использоваться сообществом в то время. И по сей день он остается доминирующим способом обучения искусственных нейронных сетей для решения интересных задач.
Рисунок 6
Оригинальное правило обучения перцептрона работает, потому что, имея всего два слоя, легко понять, как исправить то, что пошло не так.Если считывающий нейрон выключен, когда он должен быть включен, то связи, идущие от входного слоя к этому нейрону, должны стать сильнее, и наоборот. Таким образом, связь между этими связями и показаниями очевидна. Алгоритм обратного распространения решает более сложную задачу. В сети с большим количеством слоев между входом и считыванием взаимосвязь между всеми этими связями и считыванием не так очевидна. Теперь вместо президента и его или ее советников у нас есть президент, его советники и сотрудники этих советников. Степень доверия советника к тому или иному сотруднику -то есть сила связи между этим сотрудником и советником - безусловно, в конечном итоге повлияет на действия президента. Но это влияние труднее непосредственно заметить и труднее исправить, если президент чувствует, что что-то идет не так.
Нужен был явный способ рассчитать, как любое соединение в сети повлияет на уровень считывания. Как оказалось, математика предлагает отличный способ сделать это. Рассмотрим искусственную нейронную сеть с тремя слоями: входным, средним и считывающим. Как связи от входа к среднему слою влияют на считывание? Мы знаем, что активность среднего слоя является результатом активности входных нейронов и весов их связей со средним слоем. Зная это, мы можем написать уравнение для того, как эти веса влияют на активность среднего слоя. Мы также знаем, что нейроны считывания следуют тому же правилу: их активность определяется активностью средних нейронов и весами соединений средних нейронов с нейронами считывания. Поэтому уравнение, описывающее, как эти веса влияют на считывание, также легко получить. Осталось найти способ связать эти два уравнения вместе.
При формировании поезда в игре в домино число на конце одной плитки должно совпадать с числом на начале другой, чтобы они соединились. То же самое верно и для сшивания этих уравнений. Здесь общим термином, связывающим два уравнения, является активность среднего слоя: эта активность определяет активность считывающего устройства и определяется связями между входом и серединой. Соединив эти уравнения через активность среднего слоя, можно напрямую рассчитать влияние связей между входом и средним слоем на считывание. А это позволяет легко определить, как должны измениться эти связи при неправильном считывании. В математике такое объединение связей известно как "правило цепочки", и оно лежит в основе алгоритма обратного распространения.
Правило цепочки было открыто более 200 лет назад не кем иным, как кумиром Маккаллоха и Питтса, философом и эрудитом Готфридом Лейбницем. Учитывая, насколько полезным является это правило, его применение для обучения многослойных нейронных сетей не стало сюрпризом. На самом деле, алгоритм обратного распространения был изобретен как минимум трижды до 1986 года. Но статья 1986 года стала частью идеального шторма, который обеспечил широкое распространение ее результатов. Первой причиной этого стало содержание самой статьи. В ней не только было показано, что нейронные сети можно обучать таким образом, но и проанализирована работа сетей, обученных для решения нескольких когнитивных задач, таких как понимание связей на семейном древе.Другой составляющей успеха сталоувеличение вычислительной мощности , которое произошло в 1980-х годах; это было важно для того, чтобы обучение многослойных нейронных сетей стало практически возможным для исследователей. Наконец, в том же году, когда была опубликована статья, один из ее авторов, Румельхарт, также опубликовал книгу о коннекционизме, в которой был представлен алгоритм обратного распространения. Эта книга, написанная совместно с другим профессором Карнеги-Меллона, Джеймсом Макклелландом, разошлась тиражом около 40 000 экземпляров к середине 1990-х годов. Ее названиеПараллельная распределенная обработка" - дало название всей программе исследований по созданию искусственных нейронных сетей в конце 1980-х и начале 1990-х годов.
По схожим причинам история искусственных нейронных сетей приняла еще более драматический оборот примерно через десять лет после начала нового тысячелетия. Груды данных, накопленных в эпоху Интернета, объединились с вычислительными мощностями XXI века, чтобы ускорить прогресс в этой области. Сети со все большим количеством слоев вдруг стали обучаться все более сложным задачам. Такие увеличенные модели - так называемые "глубокие нейронные сети" - в настоящее время преобразуют искусственный интеллект и нейронауки.
Современные глубокие нейронные сети основаны на том же базовом понимании нейронов, что и нейроны Маккаллоха и Питтса. Однако за пределами этого базового понимания они не стремятся напрямую повторить человеческий мозг. Например, они не пытаются имитировать его структуру или анатомию. Но они стремятся имитировать человеческое поведение, и у них это неплохо получается. Когда2016 году популярная служба языкового перевода Google начала использовать глубокие нейронные сети, это позволило сократить количество ошибок перевода на 50 %. YouTube также использует глубокие нейронные сети, чтобы помочь своему алгоритму рекомендаций лучше понять, какие видеоролики люди хотят посмотреть. А когда голосовой помощник Apple Siri отвечает на команду, его слушает и говорит глубокая нейронная сеть.
В общей сложности глубокие нейронные сети теперь можно обучать находить объекты на изображениях, играть в игры, понимать предпочтения, переводить с одного языка на другой, преобразовывать речь в письменные слова и письменные слова в речь. В отличие от оригинального перцептрона, компьютеры, на которых работают эти сети, занимают целые комнаты. Они расположены в серверных центрах по всему миру, где с жужжанием обрабатывают мировые изображения, тексты и аудиоданные. Розенблатт, возможно, был рад увидеть, что некоторые из его грандиозных обещаний, данных газете New York Times, действительно