Призрак в го-машине
[6]
Но во время того же матча я увидел и повод для надежды. Через 2 часа 51 минуту после начала игры Кэ Цзе оказался в тупике. Он сделал все возможное, но понимал, что этого недостаточно. Чемпион низко склонился над доской, поджал губы, и у него задергалась бровь. Не в силах сдерживать эмоции, он снял очки и тыльной стороной руки вытер слезы. Это длилось лишь мгновение, но произошло на глазах у всех. Слезы чемпиона вызвали мощную волну сочувствия и поддержки: в течение трех партий матча Kэ пережил невероятные эмоциональные взлеты и падения, испытав поочередно уверенность, тревогу, страх, надежду и отчаяние. Он показал сильнейшую волю к победе, но помимо всего я смог увидеть и проявление подлинной увлеченности: готовность сразиться с непобедимым соперником ради чистой любви к игре, ее истории, и ради людей, которые в нее играют. И все, кто наблюдал за матчем и крушением надежд Кэ, ответили ему искренним сочувствием. AlphaGo выиграл, но Кэ стал народным героем. Это заставило меня задуматься о том, что раз человеческие существа способны делиться друг с другом любовью, то они смогут найти работу и смысл жизни в век искусственного интеллекта. По-моему, умелое применение ИИ даст Китаю отличный шанс догнать – и даже превзойти США. Но что еще более важно, переворот поможет нам заново осознать, что же делает нас людьми. И чтобы понять почему, мы должны сначала познакомиться с основами этой технологии и разобраться, как именно она может изменить наш мир.
Краткая история глубокого обучения
Машинное обучение – это обобщающий термин для области, к которой относится и глубокое обучение – технология, способная повлиять на ход истории, и благополучно выдержавшая полвека энергичных исследований. С момента своего зарождения искусственный интеллект претерпел не один цикл взлетов и падений. За периодами больших надежд следовали периоды разочарования (их еще называют «зимами искусственного интеллекта»), когда отсутствие практических результатов приводило к потере интереса и сокращению финансирования. Чтобы понять, как мы пришли к глубокому обучению, необходим краткий экскурс в историю. Еще в середине 1950-х годов пионеры искусственного интеллекта поставили себе невероятно смелую, но четкую цель – воссоздать человеческий интеллект в машине. Это поразительное сочетание ясности цели и сложности задачи станет притягательным для величайших умов в области компьютерных наук, таких как Марвин Минский, Джон Маккарти и Герберт Саймон. В начале 1980-х годов, когда я изучал информатику в Колумбийском университете, оно поразило и мое воображение. Я родился на Тайване в начале 1960-х годов, но, когда мне было 11 лет, мы переехали в Теннесси, и там я окончил среднюю школу. Через четыре года я принял решение углубленно изучать ИИ в Колумбийском университете в Нью-Йорке. В 1983 году в разделе анкеты, где нужно было указать цель поступления в аспирантуру по информатике, я смело написал: «Исследование искусственного интеллекта – это анализ того, как человек усваивает знания, количественная оценка его мышления, объяснение человеческого поведения и разгадка того, что делает существование интеллекта возможным; это решающий шаг человечества к пониманию самого себя, и я надеюсь сделать что-то для этой новой, но перспективной области науки». Эти слова помогли мне попасть на ведущий факультет компьютерных наук Университета Карнеги – Меллона, очага передовых исследований ИИ. Но они же продемонстрировали мою наивность: я переоценивал нашу способность понимать себя и недооценивал возможности ИИ показывать сверхчеловеческие результаты в узких областях.
К тому времени, когда я начал писать кандидатскую диссертацию, в среде исследователей искусственного интеллекта сформировались два течения: одно объединяло сторонников выбора действий на основе правил, другое поддерживало принцип нейронных сетей. Исследователи из первого лагеря (их иногда называют сторонниками символических систем или экспертных систем) пытались научить компьютеры мыслить, кодируя последовательности логических правил: если X, то Y. Этот подход был хорошо применим для простых игр с четкой структурой («искусственные задачи»), но прекращал работать при расширении множества возможных вариантов. Чтобы сделать программное обеспечение способным решать проблемы реального мира, сторонники этого подхода опрашивали экспертов по тем или иным задачам, а затем кодировали их ответы в виде программ (отсюда второе название – «экспертные системы»).
Однако ученые из лагеря нейронных сетей использовали другой подход. Вместо того чтобы учить компьютер правилам, по которым действовал человеческий мозг, они пытались его реконструировать. Насколько нам известно, запутанные сети нейронов в мозге животных – единственная основа интеллекта, и исследователи полагали, что можно напрямую воссоздать эту основу. Они поставили перед собой задачу имитировать архитектуру мозга, выстраивая слои искусственных нейронов, способных получать и передавать информацию внутри структуры подобно нейронам живых существ. Электронным нейронным сетям не задают правил, которым надо следовать при принятии решений. В них просто вводят большое множество примеров какого-либо явления – картинок, шахматных партий, звуков – и позволяют сетям самим определять закономерности внутри массива данных. Иначе говоря, чем меньше человеческого вмешательства, тем лучше.
Различия между двумя подходами можно увидеть на примере простой задачи, в которой надо определить, есть ли на рисунке кошка. Чтобы помочь программе принять решение, основанный на правилах метод требует установить правило типа «если – то»: если сверху круга расположены два треугольника, то, возможно, кошка на рисунке есть. При использовании метода нейронных сетей программа получит миллионы образцов в виде фотографий с пометкой «кошка» или «нет кошки» и попытается самостоятельно выяснить, какие признаки в миллионах изображений наиболее тесно коррелируют с пометкой «кошка». В 1950-х и 1960-х годах ранние версии искусственных нейронных сетей дали многообещающие результаты и наделали немало шума. Но потом в 1969 году лагерь сторонников правил вырвался вперед, используя аргумент, что нейронные сети ненадежны и ограничены в применении. Метод нейронных сетей быстро вышел из моды, и в 1970-х годах наступила первая «зима искусственного интеллекта». В течение последующих десятилетий о нейронных сетях то вспоминали, то снова забывали. В 1988 году я использовал подход, похожий на метод нейронных сетей (скрытые марковские модели), чтобы создать Sphinx – первую в мире независимую от говорящего программу для распознавания непрерывной речи[7]. О моем достижении написали в New York Times[8]. Но этого оказалось недостаточно, и с началом долгого «ледникового периода» в области ИИ, растянувшегося почти на все 1990-е годы, о нейронных сетях снова забыли.
В конечном счете сегодняшнему возрождению метода способствовали технологические прорывы, касающиеся двух важных базовых элементов нейронных сетей. Я имею в виду большую вычислительную мощность и большие объемы данных. Данные «обучают» программу распознавать шаблоны, обеспечивая ее множеством образцов, а вычислительная мощность позволяет ей быстро анализировать эти образцы.
На заре ИИ, в 1950-х годах, не хватало как данных, так и вычислительной мощности. Но за прошедшие десятилетия все изменилось. Сегодня вычислительная мощность вашего смартфона в миллионы раз больше, чем мощность передовых компьютеров НАСА, отправивших Нила Армстронга на Луну в 1969 году. Появление интернета привело к накоплению самых разнообразных текстов, изображений, видео, кликов, покупок, твитов и так далее. В распоряжении исследователей оказались огромные объемы данных для обучения нейронных сетей, а также дешевые вычислительные мощности высокой производительности. Но сами сети все еще были сильно ограничены в возможностях. Для получения точных решений сложных задач требуется много слоев искусственных нейронов, но на тот момент исследователи еще не нашли способ эффективно обучать слои по мере их добавления. Прорыв в этом направлении, наконец, состоялся в середине 2000-х годов, когда ведущий исследователь Джеффри Хинтон обнаружил способ эффективного обучения добавленных слоев. Нейронные сети словно получили дозу стероидов и обрели невиданную мощь, достаточную, чтобы распознавать речь и объекты. Вскоре нейронные сети, названные новым модным термином «глубокое обучение», уже могли превзойти старые модели в решении различных задач. Однако укоренившиеся предрассудки о методе нейронных сетей заставили многих исследователей ИИ игнорировать технологию, которая тем не менее показывала выдающиеся результаты. Поворотный момент наступил в 2012 году, когда сеть, построенная командой Хинтона, одержала убедительную победу в международном конкурсе компьютерного зрения[9], [10].