Читать книгу «Как мы учимся. Почему мозг учится лучше, чем любая машина… пока» онлайн полностью📖 — Станисласа Деан — MyBook.
image

Научение – это использование комбинаторного взрыва

Неужели овладение речью действительно сводится к заданию каких-то там параметров? В это трудно поверить – но лишь потому, что мы не в состоянии представить то огромное поле возможностей, которое открывается перед нами с увеличением количества параметров, поддающихся регулировке. Это так называемый «комбинаторный взрыв» – экспоненциальный рост возможностей, возникающий при объединении даже небольшого их числа. Предположим, что грамматика мировых языков может быть описана примерно 50 бинарными параметрами, как это постулируют некоторые лингвисты. В итоге мы получаем 250 комбинаций – более миллиона миллиардов возможных языков, или 1 с пятнадцатью нулями! Синтаксические правила трех тысяч реально существующих языков легко вписываются в это гигантское пространство. Однако наш мозг содержит не пятьдесят регулируемых параметров, а гораздо больше – восемьдесят шесть миллиардов нейронов, каждый из которых образует около десяти тысяч синаптических контактов, причем сила этих связей может варьироваться. Выходит, пространство ментальных представлений практически бесконечно.

Человеческие языки активно используют эти комбинации на всех уровнях. Рассмотрим, например, ментальный лексикон: набор слов, которые мы знаем и модель которых постоянно носим в своей голове. Так, любой англоговорящий взрослый свободно владеет примерно 50 тысячами слов с самыми разнообразными значениями[10]. На первый взгляд это гигантский словарный запас, но человек умудряется приобрести его примерно за десять лет. Все потому, что мы можем разложить учебную задачу на составляющие. Учитывая, что эти пятьдесят тысяч слов в среднем состоят из двух слогов, каждый из которых состоит примерно из трех фонем, выбранных из сорока четырех фонем, существующих в английском языке, двоичное кодирование всех этих слов дает менее двух миллионов элементарных двоичных вариантов («битов» со значением 0 или 1). Другими словами, весь словарный запас взрослого человека уместился бы в небольшой 250-килобайтный компьютерный файл (каждый байт состоит из 8 битов).

Ментальный лексикон можно ужать еще сильнее, если принять во внимание большую избыточность языка. Любые шесть букв, выбранные наугад, например xfdrga, не всегда образуют английское слово. Настоящие слова состоят из слогов, объединенных согласно строгим правилам. Это верно на всех уровнях: предложения – это правильные сочетания слов, слова – это правильные сочетания слогов, а слоги – это правильные сочетания фонем. Комбинации эти многочисленны (человек выбирает из нескольких десятков или сотен элементов), но в конечном счете ограничены (допускаются только определенные комбинации). Фактически овладение языком – это обнаружение параметров, управляющих возможными комбинациями на всех уровнях.

Вкратце, человеческий мозг разбивает задачу научения на подзадачи, создавая иерархическую, многоуровневую модель. Особенно это очевидно в случае языка, включающего несколько уровней, или ярусов, – от элементарных звуков до целых предложений и даже полноценных бесед. Тот же принцип иерархической декомпозиции реализован во всех сенсорных системах. Некоторые участки мозга улавливают низкоуровневые паттерны: они видят мир сквозь крошечное пространственно-временное окно и анализируют мельчайшие закономерности. Например, в первичной зрительной коре каждый нейрон анализирует лишь очень небольшую область сетчатки. Он смотрит на мир через маленькое отверстие и, следовательно, обнаруживает только низкоуровневые закономерности – например, наличие движущейся наклонной линии. Миллионы нейронов выполняют одну и ту же работу в разных точках сетчатки; их выходы становятся входами следующего уровня, который обнаруживает «закономерности в закономерностях» и так далее. На каждом уровне область анализа расширяется: мозг ищет более масштабные закономерности как во времени, так и в пространстве. Именно эта иерархия позволяет нам обнаруживать сложные объекты или понятия: линию, палец, кисть, руку, человеческое тело… Нет, подождите, вообще-то тела два! Два человека стоят лицом друг к другу и пожимают руки… Да это же первая встреча Трампа и Макрона!

Научение – это минимизация ошибок

Вычислительные алгоритмы, которые мы называем «искусственными нейронными сетями», построены по принципу иерархической организации коры головного мозга. Подобно коре, они содержат последовательные слои, каждый из которых пытается обнаружить более сложные закономерности, чем предыдущий. Поскольку эти слои организуют поступающие данные на все более и более глубоких уровнях, такие сети часто называют «глубокими» (или «глубинными»). Каждый слой сам по себе способен обнаружить лишь простейшие элементы внешней реальности (в таких случаях математики говорят о линейном разделении, то есть каждый нейрон может разделить имеющиеся данные только на две категории, А и Б, проведя через них прямую линию). Тем не менее, если собрать множество таких слоев, можно получить чрезвычайно мощное обучаемое устройство, способное обнаруживать сложные структуры и приспосабливаться к самым разнообразным задачам. Современные искусственные нейронные сети, использующие преимущества новейших компьютерных микросхем, относятся к глубоким в том смысле, что содержат десятки последовательных слоев. Чем дальше от входа находится слой, тем выше его «проницательность» и способность идентифицировать абстрактные свойства.

Возьмем алгоритм LeNet, созданный французским пионером искусственных нейросетей Яном Лекуном (см. цветную иллюстрацию 2)6. Уже в 1990-х годах эта сеть добилась замечательных результатов в распознавании рукописных знаков. Многие годы канадская почта использовала ее для автоматической обработки почтовых индексов. Как она работает? На входе алгоритм получает изображение символа в виде пикселей, а на выходе предлагает одну из возможных интерпретаций десяти цифр или двадцати шести букв. Искусственная сеть состоит из иерархии простых процессоров, которые немного напоминают нейроны и образуют последовательные слои. Первые слои подключены непосредственно к изображению: в них применяются простые фильтры, распознающие линии и фрагменты кривых. Процессоры высоких уровней содержат более мощные и сложные фильтры и могут научиться распознавать крупные части изображений: изгиб цифры 2, замкнутую петлю буквы O, параллельные линии буквы Z. Искусственные нейроны выходного слоя реагируют на символ независимо от его положения, шрифта или регистра. Все эти свойства не навязаны программистом: они вытекают из миллионов связей, которые соединяют процессоры. Эти связи, однажды отрегулированные автоматизированным алгоритмом, определяют фильтр, который каждый нейрон применяет к поступающим сигналам; именно эти настройки объясняют, почему один нейрон реагирует на цифру 2, а другой – на цифру 3.

Но как же настраиваются эти миллионы связей? Точно так же, как наш мозг, когда мы надеваем призматические очки! Всякий раз, когда сеть дает предварительный ответ, ей сообщают, правильный он или нет. Если ответ неправильный, сеть корректирует соответствующие параметры, дабы избежать ошибки в следующий раз. Каждый неправильный ответ несет в себе ценную информацию. Как и в случае с призматическими очками (слишком большое смещение вправо или влево), характер ошибки подсказывает системе, что именно нужно было сделать, чтобы решить задачу правильно. Вернувшись к источнику ошибки, машина определяет оптимальные параметры, которые впредь позволят ее избежать.

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

Меняя положение прицела, наш храбрый охотник применяет алгоритм научения, хотя сам этого не осознает. Он имплицитно вычисляет то, что математики называют «производной» системы, или ее градиентом, и использует «метод градиентного спуска». Иными словами, охотник учится смещать видоискатель ружья в направлении, уменьшающем вероятность ошибки.

Несмотря на миллионы входов, выходов и регулируемых параметров, большинство искусственных нейросетей, используемых в современном искусственном интеллекте, действуют точно так же, как наш охотник: они анализируют свои ошибки и на их основе корректируют свое внутреннее состояние в направлении, которое должно эти ошибки уменьшить. Во многих случаях такое обучение строго контролируется. Мы сообщаем сети, какой именно ответ она должна была выдать на выходе («Это 1, а не 7»), и точно знаем, в каком направлении необходимо корректировать параметры, если они привели к ошибке (математические вычисления позволяют определить, какие именно связи следует модифицировать, если в ответ на изображение цифры 1 сеть слишком часто дает на выходе 7). На языке машинного обучения это называется «обучением с учителем» (поскольку некто знает правильный ответ, который должна дать система) и «обратным распространением ошибки» (поскольку сигналы об ошибке отправляются обратно в сеть для изменения ее параметров). Процедура проста: я пробую ответить, мне сообщают правильный ответ, я определяю свою ошибку и корректирую параметры, чтобы впредь этой ошибки не совершать. На каждом этапе я делаю лишь небольшие поправки в нужном направлении. Вот почему такое обучение может протекать крайне медленно: в ходе овладения сложным видом деятельности вроде игры в Tetris данный цикл необходимо повторить тысячи, миллионы, даже миллиарды раз. Это и неудивительно: в пространстве с множеством регулируемых параметров поиски оптимальных настроек для каждой гайки и болта могут занять некоторое время.

Данный принцип постепенной коррекции ошибки был реализован уже в самых первых искусственных нейросетях, созданных в 1980-х годах. Достижения в области вычислительной техники позволили распространить эту идею на гигантские нейронные сети, включающие сотни миллионов регулируемых соединений. Эти глубокие нейросети состоят из последовательностей этапов, каждый из которых адаптируется к текущей задаче. Например, на цветной иллюстрации 4 представлена система GoogLeNet на основе архитектуры LeNet. Последняя была предложена Яном Лекуном и выиграла один из самых престижных международных конкурсов по распознаванию образов. Анализируя миллиарды изображений, система научилась распределять их на тысячи различных категорий: лица, пейзажи, лодки, автомобили, собаки, насекомые, цветы, дорожные знаки и так далее. Каждый уровень ее иерархии настроен на некий важный аспект реальности: например, нейроны низших уровней избирательно реагируют на линии и текстуры. Чем выше уровень, тем больше нейронов учится реагировать на сложные признаки: геометрические фигуры (круги, кривые, звезды), части объектов (карман брюк, ручку автомобильной двери, пару глаз) и даже целые объекты (здания, лица, пауков)7.

Стараясь минимизировать ошибки, алгоритм градиентного спуска обнаружил, что эти формы лучше всего подходят для классификации образов. Однако, если бы та же самая сеть получала на входе отрывки из книг или нотные листы, она бы настроилась иначе и научилась распознавать буквы, ноты или любые другие фигуры, распространенные в новой среде. Например, на цветной иллюстрации 3 показано, как сеть такого типа самоорганизуется для распознавания тысяч рукописных цифр8. На самом низком уровне данные смешаны: одни изображения внешне похожи, но представляют собой разные цифры (скажем, 3 и 8); другие, наоборот, выглядят по-разному, но в действительности обозначают одно и то же (цифру 8, например, каждый пишет по-своему – у кого-то верхний контур замкнут, у кого-то не замкнут и т.д.). На каждом этапе степень абстракции возрастает, пока все варианты одного и того же знака не будут сгруппированы вместе. Посредством процедуры сокращения ошибок искусственная сеть обнаруживает иерархию признаков, наиболее важных для распознавания рукописных цифр. Примечательно, что само по себе исправление ошибок позволяет обнаружить целый ряд подсказок, облегчающих решение поставленной задачи.

Концепция обучения путем обратного распространения ошибки лежит в основе многих современных компьютерных приложений. Это рабочая лошадка, благодаря которой смартфон умеет распознавать ваш голос, а умный автомобиль – «видеть» пешеходов и дорожные знаки. Весьма вероятно, что наш мозг тоже использует ту или иную ее версию. Впрочем, метод обратного распространения ошибки может принимать разные формы. За последние тридцать лет в области искусственного интеллекта достигнут невероятный прогресс; исследователи обнаружили множество приемов, облегчающих обучение. Ниже мы рассмотрим их более подробно – оказывается, они многое могут рассказать о нас самих и о том, как мы учимся.

1
...