Вернемся к нашим экспериментам по распознаванию речи. Мы обнаружили, что результаты получаются лучше, если мы запускаем эволюцию (то есть ГА) независимо в исходной системе для 1) иерархических скрытых моделей Маркова для внутренней структуры фонем и для 2) ИСММ для структуры слов и фраз. На обоих уровнях использовались ИСММ, но метод ГА создавал вариации на стыке этих двух уровней. Метод позволил моделировать такие явления, как размывание фонем, что часто случается при сочленении некоторых слов.
Вероятно, подобные явления происходят в различных отделах биологической новой коры, и в зависимости от типов образов, которые они обрабатывают, в них эволюционировали небольшие различия. Хотя все эти отделы используют один и тот же базовый алгоритм, у биологической эволюции было достаточно времени для тонкой настройки структуры каждого отдела, позволяющей оптимально обрабатывать образы соответствующего типа. Однако, как я уже отмечал ранее, нейробиологи и неврологи обнаружили в этих областях значительную пластичность, подтверждающую идею общего неокортикального алгоритма. Если бы фундаментальные принципы функционирования всех отделов коры кардинально различались, подобная взаимозаменяемость отделов коры была бы невозможна.
Используя описанную комбинацию методов самоорганизации системы, мы добились больших успехов. Наши системы распознавания речи впервые смогли разбирать непрерывную речь, состоящую из относительно неограниченного набора слов. Была достигнута высокая точность распознавания речи разных людей, говоривших с разным акцентом и на разных диалектах. Сейчас, когда я пишу эту книгу, последним достижением является программа под названием Dragon Naturally Speaking (версия 11.5) для PC компании Nuance (ранее Kurzweil Computer Products). Тем, кто сомневается в возможностях систем распознавания речи, я советую испытать этот продукт - через несколько минут настраивания на ваш голос при практически непрерывной речи и почти неограниченном наборе слов точность распознавания часто достигает 99 %. Dragon Dictation - более простое, но тоже удивительное бесплатное приложение для айфона, не требующее голосового тренинга. Персональный помощник Сири, установленный на современных айфонах, использует ту же самую технологию распознавания речи, содержащую дополнительный модуль, воспринимающий разговорную речь.
Высокая эффективность подобных систем - заслуга математиков. Вместе с математиками мы моделируем процессы, происходящие в новой коре говорящего человека (хотя у нас нет прямого доступа к его головному мозгу), что является ключевым этапом в распознавании того, что произносит говорящий, и (в случае таких систем, как Сири) того, что эти выражения означают. Возникает вопрос: если бы мы могли следить за тем, что происходит в новой коре говорящего, нашли бы мы корреляцию со связями и весами соответствующих иерархических скрытых моделей Маркова, рассчитанных нашей программой? Скорее всего, нам не удалось бы обнаружить точное соответствие - нейронные структуры в любом случае во многом отличаются от компьютерных моделей. Однако следует подчеркнуть, что между биологической системой и нашими попытками ее имитировать должны существовать важные математические соответствия - в противном случае эти модели не работали бы так хорошо.
ЛИСП
ЛИСП (LISP, LISt Processor - процессор списков) - язык программирования, созданный пионером в области ИИ Джоном Маккарти в 1958 г. Как следует из названия, этот язык оперирует списками. Каждое утверждение в нем представляет собой список элементов, а каждый элемент - это либо еще один список, либо "атом" - неделимая единица, представляющая собой число или символ. Список внутри списка тоже может быть списком, так что ЛИСП способен на рекурсию. Кроме того, предложения являются рекурсивными, если один список содержит в себе другой, тот - третий и т. д. до тех пор, пока не будет определен исходный список. За счет такой структуры ЛИСП позволяет осуществлять иерархические построения. Список может быть условным, то есть "возбуждается" лишь в том случае, когда удовлетворяются все составляющие его элементы. Иерархию таких условий можно использовать для идентификации образов с возрастающим уровнем сложности.
ЛИСП был чрезвычайно популярен в среде специалистов в области ИИ в 1970-х и начале 1980-х гг. В начале данного периода поклонники этого языка считали, что он отражает способ работы человеческого мозга и что с его помощью можно легко и эффективно закодировать любой мыслительный процесс.
Возник даже "мини-бум" компаний по созданию "искусственного интеллекта", предлагавших программы-переводчики и другие программные продукты, однако в середине 1980-х гг. стало ясно, что сам по себе язык ЛИСП не может решить проблему создания разума, и инвестиционный пузырь лопнул.
Впрочем, нельзя сказать, что поклонники ЛИСП полностью заблуждались. На самом деле каждый распознающий модуль новой коры можно рассматривать как предложение на языке ЛИСП - в каждом модуле содержится список элементов, причем каждый элемент тоже может представлять собой список. Таким образом, новая кора действительно занимается обработкой списков символов, что очень сильно напоминает процесс, описываемый программой ЛИСП. Более того, новая кора одновременно обрабатывает 300 млн таких "предложений".
Однако программе ЛИСП не хватало двух очень важных элементов, одним из которых является возможность обучения. Программу строку за строкой кодировали программисты. Делались попытки автоматического кодирования программы с помощью нескольких разных методов, но этому подходу уделялось недостаточно внимания в рамках общей концепции языка. Напротив, новая кора программирует сама себя, наполняя свои "предложения" (списки) значимой информацией на основе собственного опыта и сигналов обратной связи. В этом и заключается основной принцип работы новой коры: каждый из ее распознающих модулей (которым соответствуют отдельные предложения на языке ЛИСП) способен составлять собственный список и связываться с "вышестоящим" и "нижестоящим" списком. Второй недостающий элемент - параметры величины сигнала. Можно создать вариант ЛИСП (на языке ЛИСП), который учитывал бы такие параметры, но в базовой структуре языка их нет.
ЛИСП соответствует исходной философии в сфере ИИ, которая состояла в поиске разумных решений проблем и их кодировании напрямую на языке программирования. Первая попытка создания самоорганизующейся системы, способной обучаться на собственном опыте, - нейронной сети - оказалась неудачной, поскольку не давала возможности модифицировать топологию системы в процессе обучения. Иерархические модели Маркова обладают такой возможностью за счет механизма отсечения неиспользуемых связей. На сегодня модель ИСММ и ее математические аналоги составляют важнейшую часть систем ИИ.
Следствием наблюдаемого сходства ЛИСП и структуры списков в новой коре является аргумент, выдвигаемый теми, кто считает мозг слишком сложной структурой, не подвластной нашему пониманию. Эти люди подчеркивают, что в головном мозге имеются триллионы нервных контактов, и поскольку каждый из них спроектирован в специфическом месте, они эквивалентны триллионам строчек компьютерной программы. Как я уже писал, по оценкам, в новой коре содержится около 300 млн процессоров образов - или 300 млн списков, в которых каждый элемент списка связан с другим списком (или, на нижнем понятийном уровне, с поступающими извне базовыми образами). Но 300 млн строчек на языке ЛИСП - очень большое число, таких гигантских компьютерных программ пока не существует.
Однако не следует забывать, что эти списки на самом деле не определены в исходном плане нервной системы. Мозг сам их создает и автоматически осуществляет связи между ними на основе пережитого опыта. В этом основной секрет новой коры. Процессы, за счет которых происходит эта самоорганизация, значительно проще, чем 300 млн процессоров новой коры. Эти процессы определены в геноме. Как я расскажу в одиннадцатой главе, объем значимой информации (после обратимого сжатия) в геноме, относящейся к функции головного мозга, составляет примерно 25 млн байт, что эквивалентно менее чем миллиону строк программного кода. Причем в реальности алгоритм еще проще, поскольку большая часть из этих 25 млн байт генетической информации относится к биологическим нуждам нейронов, а не к их способности обрабатывать информацию. Но и с 25 млн байт информации мы в состоянии справиться.
Иерархические системы памяти
Как я рассказывал в третьей главе, Джеф Хокинс и Дайлип Джордж в 2003–2004 гг. создали модель новой коры, которая включала в себя иерархические списки. Эта модель описана в книге Хокинса и Блейксли On Intelligence, опубликованной в 2004 г. Более новую и очень элегантную версию теории иерархической временной памяти можно найти в докторской диссертации Дайлипа Джорджа (2008). Компания Numenta использовала эту модель в системе под названием NuPIC (Numenta Platform for Intelligent Computing) и включила в программы распознавания образов и извлечения данных для таких клиентов, как Forbes и Power Analytics Corporation. Проработав какое-то время с Numenta, Джордж занялся созданием новой компании, названной Vicarious Systems, при поддержке фонда Founder Fund (основанного Питером Тилем, также поддерживающим Facebook, и Шоном Паркером, первым президентом Facebook) и фонда Good Ventures, которым руководит сооснователь Facebook Дастин Московиц. Джордж сообщает о значительных успехах автоматического моделирования, усвоения и распознавания информации с высокой степенью иерархической сложности. Он называет свою систему "рекурсивной кортикальной сетью" и планирует использовать ее, среди прочего, для медицинской диагностики и робототехники. Метод иерархических скрытых моделей Маркова по своей математической природе очень близок к этим иерархическим системам памяти, особенно если мы позволяем ИСММ самостоятельно образовывать связи между распознающими модулями. Как было отмечено в третьей главе, ИСММ позволяет учитывать ожидаемое распределение величин всех входных сигналов в расчете вероятности соответствующего образа. Не так давно я организовал новую компанию, Patterns, Inc., которая будет заниматься созданием самоорганизующихся иерархических моделей новой коры на основе ИСММ и родственных методов для распознавания человеческой речи. Система, над которой мы работаем, будет постоянно читать различные материалы, включая "Википедию" и другие источники информации, а также слушать все, что мы говорим, и следить за всем, что мы пишем (конечно, если мы позволим). Задача заключается в создании помощника, способного отвечать на ваши вопросы - еще до того, как вы их сформулируете, - снабжать вас полезной информацией и направлять вас в течение дня.
Раздвигаем границы ИИ. Повышение компетентности
1. Длинная утомительная речь, как пенистое украшение пирога.
2. Предмет детской одежды, возможно, во время путешествия на корабле.
3. Виновный в поедании воинов короля Хротгара на протяжении двенадцати лет; дело поручено воину Беовульфу.
4. Процесс постепенного развития в мозге или в организме при беременности.
5. Национальный День учителя и день дерби в Кентукки.
6. Он, по выражению Вордсворта, парит, но не улетает.
7. Слово из четырех букв, обозначающее железную накладку на копыте лошади и коробку для карт в казино.
8. В третьем акте оперы Верди, написанной в 1846 г., этот бич божий смертельно ранен своей любовницей Одабеллой.
Примеры из викторины "Джеопарди!", на все вопросы которой Ватсон дал правильные ответы: разглагольствование, фартук, Грендель, гестация, май, жаворонок, shoe (башмак, подкова). В ответ на 8-й вопрос Ватсон ответил: "Это Аттила?" Его попросили уточнить, тогда он сказал: "Это Аттила, гунн?" - что сочли правильным ответом.
Техника, которую компьютер применяет для ответов на вопросы "Джеопарди!", очень напоминает мою собственную. Машина начинает поиск от ключевого слова в вопросе, а затем прочесывает свою память (в случае Ватсона это 15-терабайтный банк человеческих знаний) для выявления кластеров ассоциаций с этим словом. Она тщательно проверяет наилучшие совпадения с полным контекстом вопроса: категория и тип ответа, зашифрованные в вопросе время, место и пол и т. д. И когда машина чувствует себя достаточно "уверенной", она подает сигнал. Для игрока в "Джеопарди!" это мгновенный и интуитивный процесс, но я уверен, что в моей голове происходит что-то очень похожее.
Кен Дженнингс, чемпион викторины "Джеопарди!", проигравший Ватсону
Я приветствую наших новых компьютерных повелителей.
Кен Дженнингс, перефразируя Симпсонов, после поражения Ватсону
Бог мой, [Ватсон] умнее отвечает на вопросы "Джеопарди!", чем средний игрок. Он поразительно умен.
Себастьян Трун, бывший директор лаборатории в Стэнфорде
Ватсон ничего не понимает. Это огромный паровой каток.
Ноам Хомский
Искусственный интеллект повсюду вокруг нас. Простое общение с кем-то по электронной почте или мобильному телефону основано на передаче информации с помощью разумных алгоритмов. Практически любой продукт, который мы сегодня используем, спроектирован при сотрудничестве человека и искусственного интеллекта и создан на автоматизированном заводе. Если бы все системы ИИ завтра объявили забастовку, наша цивилизация покачнулась бы: мы не смогли бы получить деньги в банке, да и сами деньги исчезли бы, коммуникации, транспорт и производство - все бы остановилось. К счастью, наши разумные машины пока еще не настолько разумны, чтобы выкинуть подобный фокус.
На сегодня новое в сфере ИИ - это потрясающие возможности доступных для широкой публики приложений. Например, подумайте о самодвижущихся автомобилях Google (которые уже пробежали более 200 тыс. миль по большим и малым городам): эта технология позволит уменьшить число аварий, повысит пропускную способность дорог, избавит людей от рутинной водительской заботы и даст множество других важных преимуществ. Сегодня машины без водителя могут с некоторыми ограничениями передвигаться по общественным дорогам Невады, однако их повсеместное широкое распространение ожидается не раньше конца десятилетия. А вот технологии, которые следят за дорогой и предупреждают водителей о возможной опасности, уже установлены на многих моделях автомобилей. Одна такая технология отчасти основана на успешной модели обработки зрительных образов в головном мозге, предложенной Томазо Поджо из Массачусетского технологического института. Эта система под названием Mobil Eye разработана бывшим аспирантом Поджо Амноном Шашуа. Система предупреждает водителя о таких опасностях, как возможное столкновение или наличие на дороге ребенка; она уже установлена на автомобилях марок Volvo и BMW.
В данном разделе книги я подробнее остановлюсь на технологии распознавания речи, на то у меня есть несколько причин. Нет ничего удивительного в том, что иерархическая структура языка отражает иерархическую структуру мышления. Разговорная речь стала нашей первой технологией, письменный язык - второй. Моя собственная работа в области ИИ в значительной степени связана с изучением языка. Наконец, язык - очень мощное орудие. Ватсон прочел сотни миллионов страниц электронных источников информации и овладел содержащимся там материалом. Когда-нибудь машины будут способны овладевать всей существующей в Интернете информацией, которая объединяет практически все знания, накопленные нашей цивилизацией.