Что такое научение? Во многих языках это слово имеет тот же корень, что и латинский глагол apprehendere («схватывать»): apprehending в английском, apprendre во французском, aprender в испанском и португальском. И действительно, научиться – значит уловить некий фрагмент реальности и перенести его в мозг. В когнитивных науках принято считать, что научение состоит в формировании внутренней модели мира. В процессе научения первичные данные, которые улавливают наши органы чувств, превращаются в более или менее абстрактные идеи, пригодные для повторного использования в новом контексте, – малые модели реальности.
Ниже мы узнаем, что обо всем этом говорит когнитивистика и наука об искусственном интеллекте. Как возникают такие внутренние модели в мозге и машинах? Как меняется репрезентация (представление) информации, когда мы учимся? Что происходит на уровне, общем для любого организма – будь то человек, животное или компьютер? Обсудив различные инженерные хитрости, позволяющие машинам учиться, мы получим более четкое представление о той невероятной работе, которую проделывает мозг всякого ребенка, когда он учится видеть, говорить и писать. Как ни странно, детский мозг сохраняет преимущество: несмотря на все технические и научные достижения, современные алгоритмы машинного обучения копируют лишь малую часть способностей человеческого мозга. Разобравшись, где заканчивается машинное обучение и в чем мозг ребенка превосходит даже самый мощный компьютер, мы точно определим, что значит «научение».
Глава 1
Семь определений научения
Что значит «научение»? Мое первое и самое общее определение таково: научиться – значит сформировать внутреннюю модель внешнего мира.
Вы можете этого не осознавать, но ваш мозг хранит тысячи таких моделей. Образно говоря, они похожи на миниатюрные муляжи, более или менее точно повторяющие реальность. Например, у всех нас есть ментальная карта района и дома, в котором мы живем, – достаточно закрыть глаза и мысленно представить их в мельчайших подробностях. Разумеется, никто из нас не родился с этой картой – мы приобрели ее посредством научения.
Богатство и разнообразие наших ментальных моделей, по большей части бессознательных, поражает воображение. Так, у любого англоговорящего читателя имеется обширная ментальная модель английского языка; благодаря ей он понимает слова, которые сейчас читает, и может догадаться, что слово plastovski – не английское, слова swoon и wistful – точно английские, а слово dragostan – возможно[8]. Помимо языковой модели, мозг содержит и несколько моделей тела, которые он постоянно использует для коррекции положения конечностей при движении и для поддержания равновесия. Другие ментальные модели кодируют наши знания о физических объектах и взаимодействии с ними: вы знаете, как держать ручку, писать или ездить на велосипеде. Третьи описывают близких нам людей: у каждого человека имеется огромный ментальный каталог его родственников и знакомых, в котором задокументированы их внешность, голоса, вкусы и причуды.
Эти ментальные модели способны генерировать гиперреалистичные симуляции окружающей нас вселенной. Вы замечали, что иногда ваш мозг устраивает самые настоящие виртуальные реалити-шоу, в которых вы ходите, танцуете, посещаете новые места, ведете интересные беседы или испытываете сильные эмоции? Конечно, я говорю о снах! Кажется невероятным, но все мысли, которые приходят к нам в сновидениях, есть не что иное, как продукт неконтролируемой работы внутренних моделей мира.
Впрочем, мы «изобретаем» реальность не только во сне: бодрствуя, наш мозг постоянно проецирует гипотезы и интерпретативные системы на внешний мир. Это происходит потому, что каждое изображение, попадающее на сетчатку глаза, неоднозначно. Например, всякий раз, когда мы видим тарелку, ее изображение подобно бесконечному количеству эллипсов. Почему же мы видим тарелку круглой, хотя органы чувств говорят нам, что она овальная? Все дело в дополнительных данных, которые поставляет наш мозг: он знает, что круглая форма – наиболее вероятная интерпретация. За кулисами сенсорные области непрерывно вычисляют вероятности, и в сознание попадает только наиболее вероятная модель. Именно проекции мозга в конечном счете придают смысл потоку данных, поступающему от органов чувств. В отсутствие внутренних моделей необработанные сенсорные данные остались бы бессмысленными.
В процессе научения наш мозг захватывает фрагмент реальности, который он ранее упустил, и использует его для построения новой модели мира. Такие модели могут отражать как внешнюю реальность, так и внутреннюю: первые формируются, когда мы изучаем историю, ботанику или карту города; вторые – когда мы учимся координировать движения во время игры на скрипке. В обоих случаях мозг интернализирует (т.е. встраивает внутрь) некий новый аспект реальности: фактически, чтобы усвоить неизвестный материал, он соответствующим образом перенастраивает свои нейронные сети.
Такие изменения, безусловно, не совершаются наугад. Научение – это прежде всего способность приспосабливаться к внешнему миру и способность исправлять ошибки. Но откуда мозг «знает», как обновить внутреннюю модель, если, скажем, он заблудился и не может найти свой дом, упал с велосипеда, проиграл партию в шахматы или неправильно написал слово «экстаз»? Рассмотрим семь ключевых идей, которые лежат в основе современных алгоритмов машинного обучения и которые применимы и к человеческому мозгу, – семь различных определений того, что значит «научение».
Научение – это регулировка параметров ментальной модели
Иногда корректировка ментальной модели не представляет сложностей. Вообразите, что вы видите некий предмет и протягиваете к нему руку. Что происходит? Еще в XVII веке Рене Декарт (1596–1650) предположил, что наша нервная система должна содержать особые нейронные сети, преобразующие зрительные сигналы в мышечные команды (см. рисунок ниже). Вы можете убедиться в этом сами: попробуйте схватить предмет, надев очки другого человека, желательно близорукого. Еще лучше, если вам удастся раздобыть призматические очки, смещающие видимое изображение на дюжину градусов влево5. Естественно, первая попытка закончится провалом: из-за призм вы протянете руку не в сторону самого предмета, а гораздо правее. Путем последовательных проб и ошибок вы скорректируете свои движения и впредь будете брать левее. С каждым разом ваши движения будут все более и более точными – это ваш мозг учится компенсировать смещение. Но если снять очки и попробовать снова, вы с удивлением обнаружите, что ваша рука тянется не туда. Вы взяли слишком далеко в левую сторону!