Как мы учимся. Почему мозг учится лучше, чем любая машина… пока - Станислас Деан
Шрифт:
Интервал:
Закладка:
Можно ли применить такой подход к единому человеческому мозгу? Наши два полушария и многочисленные подкорковые ядра также содержат целую коллекцию экспертов, которые не только соперничают, но и сотрудничают, координируя и оценивая действия друг друга. Некоторые области нашего мозга учатся моделировать то, что делают другие; они позволяют нам «предвидеть» будущее и на удивление реалистично представить результаты наших поступков. Благодаря памяти и воображению мы легко можем увидеть море, в котором купались прошлым летом, или дверную ручку, за которую хватаемся в темноте. Некоторые области учатся критиковать: они постоянно оценивают наши способности и прогнозируют вознаграждение или наказание, которые мы можем получить. Именно эти участки подталкивают нас к действию или бездействию. Мы также увидим, что метапознание – способность к познанию самого себя, самооценке, мысленному моделированию того, что произойдет, поступи мы так или иначе, – играет фундаментальную роль в человеческом научении. Представления, которые мы формируем о себе, помогают нам добиваться успеха или в некоторых случаях вовлекают нас в замкнутый круг неудач. Таким образом, вполне уместно рассматривать мозг как совокупность сотрудничающих и конкурирующих экспертов.
Научение – это ограничение области поиска
Перед современным искусственным интеллектом по-прежнему стоит серьезная проблема: чем больше параметров имеет внутренняя модель, тем сложнее найти оптимальный способ ее настройки. Поскольку в современных искусственных нейросетях пространство поиска огромно, ученые вынуждены иметь дело с мощным комбинаторным взрывом: на каждом этапе доступны миллионы вариантов, а их комбинации настолько многочисленны, что исследовать их все просто невозможно. В результате обучение иногда протекает крайне медленно: требуются миллиарды попыток, чтобы заставить систему выбрать верное направление в океане возможностей. Любые исходные данные – даже самые подробные – становятся скудными по сравнению с гигантскими размерами имеющегося пространства. Данная проблема получила название «проклятие размерности»; проще говоря, обучение – сложная штука, если у вас есть миллионы потенциальных рычагов, на которые можно давить.
Громадное количество параметров, которыми располагают искусственные нейронные сети, ведет ко второму препятствию – «переобучению», или «переподгонке»: у системы так много степеней свободы, что ей легче запомнить детали каждого примера, чем определить общее правило, которое их объясняет.
Как метко заметил основатель современных информационных технологий Джон фон Нейман (1903–1957), «с четырьмя параметрами я могу описать слона, а с пятью – заставить его махать хоботом». Ученый имел в виду, что наличие чересчур большого количества свободных параметров может обернуться во вред: слишком велика опасность «переподгонки» данных. Хотя машина запоминает каждую деталь, это не означает, что она «поняла» нечто важное. Вы можете составить описание пахидермов, не имея никаких глубоких познаний о слонах как о виде. Наличие слишком большого количества свободных параметров препятствует абстракции. Несмотря на то что система учится легко, она не способна выполнять обобщение, то есть применять полученные знания в новых ситуациях. Тем не менее способность к обобщению является ключом к любому обучению. Какой смысл в машине, способной распознать картинку, которую она уже видела, или выиграть партию в го, в которую она уже играла? Очевидно, что конечная цель заключается в том, чтобы распознать любое изображение или выиграть у любого игрока в любых обстоятельствах – как знакомых, так и незнакомых.
Разумеется, ученые уже придумали несколько решений этой проблемы. Одним из наиболее эффективных методов, которые могут как ускорить процесс обучения, так и улучшить способность к обобщению, является упрощение модели. Когда число параметров, подлежащих корректировке, сведено к минимуму, система вынуждена искать более общее решение. Именно эта идея подтолкнула Лекуна к изобретению сверточных нейронных сетей – искусственного обучаемого устройства, которое стало эталоном в области распознавания образов13. Идея проста: чтобы распознать элементы на картинке, достаточно проделать более или менее одинаковые действия везде. Например, на фотографиях лица могут оказаться в любом месте. Чтобы распознать их, необходимо применить один и тот же алгоритм к каждой части изображения (искать овал, пару глаз и так далее). Никакой необходимости в отдельных моделях для каждой точки сетчатки нет: то, что усвоено в одном месте, может быть повторно использовано в любом другом.
В процессе обучения сверточные нейронные сети Лекуна применяют все, что им удается узнать в одной области, ко всей сети, на всех уровнях. Посему им предстоит усвоить гораздо меньшее количество параметров: по большому счету система должна отрегулировать один-единственный фильтр, который она будет применять везде, а не множество различных соединений для каждого фрагмента изображения. Этот простой трюк значительно улучшает производительность, особенно обобщение. Столкнувшись с новым изображением, алгоритм может использовать весь свой обширный опыт, полученный в результате анализа каждой точки каждой фотографии, которую он когда-либо видел. Это существенно ускоряет процесс обучения: машина исследует только подмножество моделей зрения. До начала обучения она уже знает о мире кое-что важное, а именно – что один и тот же объект может появиться в любом месте изображения.
Этот же прием работает и во многих других областях. Например, чтобы распознать речь, необходимо абстрагироваться от специфики голоса говорящего. Для этого искусственную нейронную сеть заставляют использовать одни и те же соединения в разных частотных диапазонах независимо от того, высокий голос или низкий. За счет уменьшения количества параметров, подлежащих корректировке, удается не только увеличить скорость, но и улучшить способность к обобщению. Собственно, именно благодаря этому ваш смартфон может реагировать на ваш голос.
Научение – это проецирование априорных гипотез
Стратегия Яна Лекуна – хороший пример гораздо более общего явления: использования знаний, присущих системе изначально. Сверточные нейросети учатся лучше и быстрее других типов искусственных нейронных сетей, потому что они не учатся всему. В самой их архитектуре заключена основополагающая гипотеза: то, что я узнаю в одном месте, можно обобщить и применить в других местах.
Главная проблема распознавания образов – это инвариантность: я должен распознать объект вне зависимости от его положения и размера, даже если он движется вправо или влево, ко мне или от меня. Это не только трудная задача, но и мощный ограничитель: логично предположить, что одни и те же подсказки помогут мне узнать лицо в любой точке пространства. Задействуя повсюду один и тот же алгоритм, сверточные сети эффективно используют это ограничение: они интегрируют его в саму свою структуру. Изначально, до любого обучения, система уже «знает» это ключевое свойство зрительного мира. Она не учится инвариантности, а принимает ее априори и использует для сужения учебного пространства – умно, не правда ли?
Мораль в том, что природу (наследственность) и среду не следует противопоставлять друг другу. Чистого научения в отсутствие каких-либо априорных ограничителей не существует. Любой алгоритм научения так или иначе содержит некий набор предположений об изучаемой области. Вместо того чтобы пытаться научиться всему «с нуля», гораздо эффективнее опираться на предварительные допущения, которые четко очерчивают базовые законы исследуемой области и интегрируют эти законы в саму архитектуру системы. Чем больше количество таких допущений, тем быстрее происходит научение (при условии, конечно, что эти допущения верны!). Это справедливо всегда. Например, было бы ошибочно полагать, что программа AlphaGo Zero, которая тренировалась играть в го сама с собой, возникла на пустом месте: ее первоначальное представление включало, среди прочего, знание топографии и симметрий игры, что позволило сократить пространство поиска в восемь раз.