мощности для применения этих методик к чрезвычайно большим массивам данных или миллионам сообщений электронной почты, изображений в Инстаграм или голосовых записей, можно решать задачи, прежде казавшиеся непреодолимо сложными. Отсюда и нынешний азарт, обуревающий исследователей. Но стоит помнить, что эти задачи – скажем, узнавание кошки на картинке или произнесение слова «Сири» – тривиальны для маленького ребенка. Одно из наиболее интересных открытий в области компьютерных наук состоит в том, что задачи, простые для нас (то же узнавание кошек), затруднительны для компьютеров; последние справляются с ними намного хуже, чем с освоением шахмат или го. Компьютерам требуются миллионы образцов для классификации объектов, которые мы можем классифицировать на основании всего нескольких примеров. Эти системы, основанные на принципе «снизу вверх», могут обобщать новые образцы и довольно уверенно распознать новое изображение как изображение кошки. Но они добиваются этого результата совершенно иными способами, чем люди. Некоторые изображения, почти идентичные изображению кошки, мы с вами вообще не признаем за изображения кошек, тогда как другие – этакие скопления пятен и смутные образы – сочтем релевантными.
Байесовские модели по принципу «сверху вниз»
Подход «сверху вниз» активно применялся на ранних этапах изучения искусственного интеллекта, а в 2000-х годах случилось его возрождение – в форме вероятностных, или байесовских, генеративных моделей.
Первые попытки использовать этот подход выявили две существенные проблемы. Во-первых, для большинства шаблонов данных возможно в принципе дать самые разные объяснения: не исключено, что полученное мною электронное письмо из журнала является подлинным, просто оно попало ко мне по ошибке. Во-вторых, откуда вообще берутся концепции, используемые в генеративных моделях? Платон и Н. Хомский уверяли, что мы рождаемся с этими концепциями. Но как тогда объяснить изучение и усвоение новейших идей науки? Или даже понимание маленькими детьми того, кто такие динозавры и что такое космический корабль?
Байесовские модели сочетают в себе генеративные принципы и проверку гипотез по теории вероятности; тем самым они решают указанные проблемы. Байесовская модель позволяет рассчитать вероятность истинности конкретной гипотезы при таких-то и таких-то данных. Систематически внося небольшие изменения в модели, которые уже разработаны, и проверяя их на новых данных, мы порой можем создавать новые концепции и модели на основании старых. Увы, эти преимущества нивелируются иными проблемами. Байесовские методы могут помочь в выборе наиболее вероятной из двух гипотез, но почти всегда количество потенциальных гипотез едва ли не бесконечно, и ни одна система не в состоянии эффективно перебрать все. Как определить, какие гипотезы подлежат проверке в первую очередь?
Бренден Лэйк из Нью-Йоркского университета и его коллеги использовали эту методику обучения «снизу вверх» для решения другой задачи, простой для людей, но чрезвычайно сложной для компьютеров: речь о распознавании незнакомых рукописных символов. Посмотрите на символ японского текста. Даже если вы никогда не видели этот символ раньше, вполне вероятно, что вы сможете соотнести его с прочими японскими иероглифами (похож он или отличается). Не составит особого труда его нарисовать и даже «спроектировать» поддельный символ, ориентируясь на иероглиф, который мы видим, причем он заведомо будет отличаться от корейского иероглифа или русской буквы [171].
Метод распознавания рукописных символов «снизу вверх» состоит в том, чтобы дать компьютеру тысячи примеров каждого символа и позволить ему выявить их характерные особенности. Вместо этого Лэйк с коллегами предложили программе общую модель рисования символов: штрих проводится вправо или влево; после завершения одного рисуется другой; и т. д. Когда программа сталкивалась с конкретным символом, она могла вывести последовательность наиболее вероятных штрихов-«элементов» (точно так же я предположила, что «элементы» спама характеризуют письмо от журнала как сомнительное). Далее она делала вывод, является ли новый символ результатом той или этой последовательности штрихов, и могла сама рисовать аналогичную последовательность. Программа работала намного лучше, чем программа глубинного обучения на основании тех же данных, и во многом воспроизводила действия людей.
Эти два подхода к машинному обучению взаимно дополняют друг друга; у каждого имеются сильные и слабые стороны. При подходе «снизу вверх» программе не нужен большой объем исходных знаний, зато ей требуется немало данных, а ее возможности к обобщению ограниченны. При подходе «сверху вниз» программа может обучаться на малом количестве образцов и делать гораздо более широкие и разнообразные обобщения, но придется исходно заложить в нее гораздо больше знаний. В настоящее время отдельные исследователи пытаются объединить оба подхода, применяя глубинное обучение для реализации байесовского вывода.
Недавние достижения в области ИИ отчасти связаны с возрождением и переосмыслением старых идей. Но в гораздо большей степени они обязаны тому факту, что благодаря интернету у нас появилось намного больше данных, а благодаря закону Мура мы располагаем избытком вычислительных мощностей для обработки этих данных. Более того, мало кто обращает внимание на то обстоятельство, что имеющиеся в нашем распоряжении данные уже отсортированы и обработаны – людьми. Изображения кошек в интернете представляют собой «канонические» изображения кошек – то есть такие, которые люди признали «правильными». Сервис перевода Google Translate эффективен потому, что в нем используются миллионы человеческих переводов, которые он обобщает при работе с новыми текстами (для этого ему вовсе не нужно по-настоящему понимать сами предложения).
В наших детях поистине поразительно их умение каким-то образом сочетать в своем поведении лучшие качества обоих описанных подходов – и позднее выходить далеко за пределы этих подходов. В последние пятнадцать лет специалисты по развитию прилежно изучали способы, которыми дети усваивают структуру данных. Четырехлетние дети способны учиться всего на одном или двух примерах, как машинная система по принципу «сверху вниз», и обобщать различные понятия. А еще они могут изучать новые идеи и модели на основе самих данных, как делает машинная система по принципу «снизу вверх».
Например, в нашей лаборатории мы даем маленьким детям «детектор бликетов»: это новое устройство, ничего подобного они раньше не видели. Это коробка, которая начинает мерцать огнями и проигрывать музыку, когда в нее кладут какие-то предметы (но не любые, а конкретного типа). Мы даем детям лишь один или два примера того, как работает машина, показываем, что она реагирует, скажем, на два красных кубика, но не на сочетание зеленого и желтого кубиков. Даже полуторагодовалые малыши мгновенно улавливают основополагающий принцип (два предмета должны быть одинаковыми, чтобы устройство сработало) и обобщают этот принцип, когда сталкиваются с чем-то новым; к примеру, они выберут два предмета одинаковой формы, чтобы машина сработала. В других экспериментах мы убедились, что дети способны даже осознать некие незримые свойства машины и понять, что машина работает по какому-то абстрактному логическому принципу[172].
Все это проявляется и в повседневном обучении детей. Маленькие дети