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