В 2005 г. система Google приняла участие в ежегодном соревновании по машинному переводу, проводимом Национальным бюро стандартов и технологий, подразделением Министерства торговли США, отвечающим за публикацию стандартов измерения. Алгоритмы машинного обучения Google легко обошли всех остальных участников. До этого победа обычно доставалась лингвистам и языковедам, которые тратили немало сил на то, чтобы помочь своим системам перевода не увязнуть в трясине противоречивых и непоследовательных грамматических правил того или иного естественного языка. Главный вывод, который можно сделать из этой победы: даже самые лучшие программисты не способны создать что-нибудь сравнимое с тем объемом знаний, который заключен в наборе данных большого размера. По качеству система Google пока еще не может конкурировать с квалифицированными переводчиками-людьми, но главное ее преимущество — она способна работать более чем с пятьюстами языковыми парами, переводя в обе стороны. Это самая настоящая революция в области общения: впервые в человеческой истории практически любой может мгновенно и совершенно бесплатно получить приблизительный перевод почти любого документа на любом языке.
Существует ряд подходов к машинному обучению, но наиболее эффективной и удивительной является методика, связанная с использованием искусственных нейронных сетей — систем, спроектированных в соответствии с теми же фундаментальными принципами, что лежат в основе работы человеческого мозга. Мозг состоит из 100 млрд нейронных клеток и многих триллионов межклеточных связей, но для построения эффективных обучаемых систем достаточно куда более простой системы искусственных нейронов.
Работу отдельного нейрона можно сравнить с выскакивающими пластиковыми фигурками развивающих игрушек, которые так нравятся малышам. Когда ребенок нажимает клавишу, перед ним появляется цветная фигурка — это может быть, например, персонаж мультфильма или животное. Легкое нажатие на клавишу ни к чему не приводит. Даже если нажать чуть сильнее, все равно ничего не произойдет. Но достаточно достигнуть определенного порога усилия — и фигурка тут как тут. Приблизительно так и работает нейрон, за исключением того, что вместо клавиши для его активации требуется определенная комбинация входных параметров.
Чтобы наглядно представить нейронную сеть, вообразите устройство наподобие машины Руба Голдберга, которое состоит из нескольких таких развивающих игрушек, составленных рядами на полу. Над каждой клавишей, приводящей в действие фигурки, три механических пальца. Правда, вместо того, чтобы просто выпрыгивать, фигурки так расположены, что срабатывание одной из них приводит к опусканию нескольких механических пальцев в последующих рядах игрушек и нажатию связанных с ними клавиш. Ключевым фактором, определяющим способность нейронной сети обучаться, является возможность регулирования усилия, с которым палец нажимает на соответствующую клавишу.
Чтобы обучить нейронную сеть, необходимо загрузить имеющиеся данные в первый ряд нейронов. В качестве примера можно представить ввод изображений написанных от руки писем. При получении входных данных некоторые механические пальцы нажимают на кнопки с различным усилием, уровень которого зависит от их настройки. Это, в свою очередь, приводит к активации некоторых нейронов и срабатыванию клавиш в следующем ряду. Результатом срабатывания последнего ряда нейронов становятся выходные данные, т. е. ответ. В нашем примере в качестве выходных данных будет получен двоичный код, который укажет на букву алфавита, соответствующую полученному на входе изображению. Сначала ответ будет неверным. Но нужно помнить, что у нашей машины есть встроенный механизм сравнения и формирования обратной реакции. Выходные данные сравниваются с правильным ответом, который известен, что автоматически приводит к корректировке усилия у механических пальцев во всех рядах, а это, в свою очередь, изменяет последовательность срабатывания нейронов. По мере ввода в сеть все новых и новых изображений, сопровождающегося непрерывной калибровкой усилия, с которым пальцы нажимают на клавиши, сеть будет все чаще и чаще выдавать верный ответ. Обучение считается оконченным, когда достигается состояние, при котором частота правильных ответов перестает расти.
Если вкратце, то именно так выглядит процесс, благодаря которому нейронные сети приобретают способность распознавать изображения и речь, переводить с одного языка на другой и выполнять множество иных задач. Результатом обучения является программа — по сути, список всех последних настроек механических пальцев, располагающихся над клавишами активации нейронов, — которая затем может быть использована для конфигурирования новых нейронных сетей. Иными словами, после загрузки программы эти сети смогут автоматически формировать ответы на основе новых данных без повторения обучения.
Впервые идея искусственной нейронной сети возникла в конце 1940-х гг., когда был проведен ряд экспериментов. В течение долго времени они использовались для выявления закономерностей. Однако в последние годы был совершен ряд революционных открытий, которые привели к значительному увеличению производительности, особенно при использовании многоярусных нейронных сетей, построенных по технологии, которая получила название «углубленное обучение» (deep learning). Системы углубленного обучения уже применяются при распознавании речи в голосовом помощнике Siri компании Apple; ожидается, что их внедрение будет способствовать ускорению темпов развития во многих прикладных областях, предполагающих выявление и анализ закономерностей. Например, в 2011 г. ученые из Университета Лугано в Швейцарии спроектировали нейронную сеть со способностью к углубленному обучению, которая смогла правильно идентифицировать свыше 99 % изображений из обширной базы данных о дорожных знаках — с таким уровнем точности не смог сравниться никто из соревновавшихся с системой людей. Исследователи из Facebook также разработали экспериментальную систему, состоящую из девяти уровней искусственных нейронов, которая может определить, что на двух фотографиях изображен один и тот же человек, в 97,25 % случаев, несмотря на условия освещения и ориентацию лица. Для сравнения: участвовавшие в эксперименте люди давали правильный ответ в 97,53 % случаев.