Одним из самых впечатляющих примеров эффективности машинного обучения стал созданный Google онлайн-переводчик. Используемые в нем алгоритмы основаны на подходе, который можно назвать подходом Rosetta Stone [24]и который предполагает анализ и сравнение миллионов страниц текста, который уже был переведен на различные языки. Разработчики Google начали с официальных документов Организации Объединенных Наций, а затем расширили круг исходных текстов, включив в него содержимое Всемирной паутины. Чтобы найти достаточное количество примеров для ненасытных алгоритмов самообучения, они использовали поисковую систему Google. Если судить по одному только количеству документов, использовавшихся в процессе обучения системы, то становится очевидно, что ничего подобного прежде не было. Специалист в области компьютерных вычислений Франц Ок, который руководил проектом, отметил, что его команда выстроила «очень-очень большие языковые модели, намного более масштабные, чем все, что было прежде за всю историю человечества» {124}.
В 2005 г. система Google приняла участие в ежегодном соревновании по машинному переводу, проводимом Национальным бюро стандартов и технологий, подразделением Министерства торговли США, отвечающим за публикацию стандартов измерения. Алгоритмы машинного обучения Google легко обошли всех остальных участников. До этого победа обычно доставалась лингвистам и языковедам, которые тратили немало сил на то, чтобы помочь своим системам перевода не увязнуть в трясине противоречивых и непоследовательных грамматических правил того или иного естественного языка. Главный вывод, который можно сделать из этой победы: даже самые лучшие программисты не способны создать что-нибудь сравнимое с тем объемом знаний, который заключен в наборе данных большого размера. По качеству система Google пока еще не может конкурировать с квалифицированными переводчиками-людьми, но главное ее преимущество — она способна работать более чем с пятьюстами языковыми парами, переводя в обе стороны. Это самая настоящая революция в области общения: впервые в человеческой истории практически любой может мгновенно и совершенно бесплатно получить приблизительный перевод почти любого документа на любом языке.
Существует ряд подходов к машинному обучению, но наиболее эффективной и удивительной является методика, связанная с использованием искусственных нейронных сетей — систем, спроектированных в соответствии с теми же фундаментальными принципами, что лежат в основе работы человеческого мозга. Мозг состоит из 100 млрд нейронных клеток и многих триллионов межклеточных связей, но для построения эффективных обучаемых систем достаточно куда более простой системы искусственных нейронов.
Работу отдельного нейрона можно сравнить с выскакивающими пластиковыми фигурками развивающих игрушек, которые так нравятся малышам. Когда ребенок нажимает клавишу, перед ним появляется цветная фигурка — это может быть, например, персонаж мультфильма или животное. Легкое нажатие на клавишу ни к чему не приводит. Даже если нажать чуть сильнее, все равно ничего не произойдет. Но достаточно достигнуть определенного порога усилия — и фигурка тут как тут. Приблизительно так и работает нейрон, за исключением того, что вместо клавиши для его активации требуется определенная комбинация входных параметров.
Чтобы наглядно представить нейронную сеть, вообразите устройство наподобие машины Руба Голдберга [25], которое состоит из нескольких таких развивающих игрушек, составленных рядами на полу. Над каждой клавишей, приводящей в действие фигурки, три механических пальца. Правда, вместо того, чтобы просто выпрыгивать, фигурки так расположены, что срабатывание одной из них приводит к опусканию нескольких механических пальцев в последующих рядах игрушек и нажатию связанных с ними клавиш. Ключевым фактором, определяющим способность нейронной сети обучаться, является возможность регулирования усилия, с которым палец нажимает на соответствующую клавишу.
Чтобы обучить нейронную сеть, необходимо загрузить имеющиеся данные в первый ряд нейронов. В качестве примера можно представить ввод изображений написанных от руки писем. При получении входных данных некоторые механические пальцы нажимают на кнопки с различным усилием, уровень которого зависит от их настройки. Это, в свою очередь, приводит к активации некоторых нейронов и срабатыванию клавиш в следующем ряду. Результатом срабатывания последнего ряда нейронов становятся выходные данные, т. е. ответ. В нашем примере в качестве выходных данных будет получен двоичный код, который укажет на букву алфавита, соответствующую полученному на входе изображению. Сначала ответ будет неверным. Но нужно помнить, что у нашей машины есть встроенный механизм сравнения и формирования обратной реакции. Выходные данные сравниваются с правильным ответом, который известен, что автоматически приводит к корректировке усилия у механических пальцев во всех рядах, а это, в свою очередь, изменяет последовательность срабатывания нейронов. По мере ввода в сеть все новых и новых изображений, сопровождающегося непрерывной калибровкой усилия, с которым пальцы нажимают на клавиши, сеть будет все чаще и чаще выдавать верный ответ. Обучение считается оконченным, когда достигается состояние, при котором частота правильных ответов перестает расти.
Читать дальше
Конец ознакомительного отрывка
Купить книгу