механизм, который делает людей гораздо более талантливыми, чем все, кто способен к вычислениям. Это предположение было абсолютно ошибочным. Именно понимание этого привело к созданию системы WolframAlpha. Я обнаружил, что можно взять большой набор мировых знаний и автоматически отвечать на вопросы на их основе, используя, по сути, сугубо вычислительные методы. Это альтернативный способ разработки ИИ – способ, который во многом аналогичен нашей биологии и нашей эволюции.
В сущности, при компилировании программы мы обыкновенно действуем пошагово. Но возможно также исследовать вычислительную вселенную и добывать технологии из этой вселенной. Как правило, проблемы здесь те же, что и при физической добыче ресурсов: скажем, мы находим залежи железа, кобальта или гадолиния с некоторыми особыми магнитными свойствами – и собираемся использовать эту особенность для достижения человеческих целей, на развитие каких-то технологий. Для магнитных материалов найдется множество способов применения. С точки зрения программы они равнозначны. Имеется громадное количество программ, от больших до крошечных, выполняющих сложные вычисления. Получится ли «увлечь» их достижением полезных человеческих целей?
И как заставить ИИ реализовывать наши цели? Что ж, можно просто поговорить с ними на естественном языке человеческих высказываний. Это отлично срабатывает при общении с Сири. Но вот когда требуется объяснить что-то сложное подробно, такой способ не годится. Нужен компьютерный язык, который позволяет репрезентировать сложные концепции, который можно постепенно усложнять, а естественный язык этого не подразумевает. Моя компания потратила много времени на создание языка данных, который бы включал знания о мире непосредственно в язык. Традиционный подход к созданию компьютерного языка состоит в том, чтобы разработать код, отражающий операции, которые компьютеры «изначально» знают, как выполнять: через выделение памяти, распределение значений переменных, итерации, изменение программных счетчиков и т. д. По сути, мы говорим компьютерам, что им делать. Мой подход состоял в том, чтобы создать язык, который «благоволит» не компьютерам, а людям; взять человеческие мысли и преобразовать их в некую форму, понятную компьютеру. Можем ли мы инкапсулировать знания, накопленные в науке и житейском опыте, в язык, который использовался для коммуникации с компьютерами? Таково значимое достижение последних тридцати лет моей жизни: возможность осуществить на практике описанное выше.
В 1960-х люди часто повторяли: «Когда мы сможем сделать то-то и то-то, мы будем знать, что у нас есть ИИ. Когда мы сможем вывести интеграл из исчисления, мы будем знать, что у нас есть ИИ. Когда мы сможем поговорить с компьютером и заставить его казаться человеком…», и т. д. Трудность заключалась в следующем: «Черт возьми, компьютер просто не знает достаточно о мире». Вы спрашиваете машину, какой сегодня день недели, и она в состоянии ответить. Вы спрашиваете, кто президент, и она с великой вероятностью теряется с ответом. В этот миг вы осознаете, что разговариваете с компьютером, а не с человеком. А сегодня, когда доходит до пресловутых тестов Тьюринга с их простыми вопросами, люди, которые пытались задействовать для тестов, например, систему WolframAlpha, обнаруживают, что боты неизменно проигрывают. Требуется всего-навсего начать задавать машине сложные вопросы, чтобы она ответила! Ни один человек не может этого сделать. К тому времени, как вы зададите несколько разрозненных вопросов, уже не сыщется человека, способного дать все ответы – зато система их знает. В этом отношении мы действительно сумели создать довольно эффективный ИИ.
Далее. Имеются определенные виды задач, простых для людей, но традиционно чрезвычайно сложных для машин. Стандарт – это визуальная идентификация: что это за объект? Люди могут распознать и дать простое описание, но компьютер здесь просто безнадежен. Однако пару лет назад мы разработали небольшую систему идентификации изображений, и многие другие поступили так же (похвастаюсь: наша программа оказалась чуть лучше остальных). Вы показываете машине изображение, и, как говорится, зуб даю, что она почти наверняка его опознает. Любопытно было бы показать ей абстрактную картину и оценить ее реакцию, к слову. Но в целом опыт следует признать успешным.
Мы используем ту же технологию нейронных сетей, которую Маккаллок и Питтс описывали в 1943 году и с которой многие из нас работали в начале 1980-х. В 1980-х годах люди успешно реализовали оптическое распознавание символов. Взяли двадцать шесть букв алфавита[232] и сказали: «Так, вот это A? Это B? Это C?» и т. д. Подобное можно проделать для двадцати шести переменных, но этого нельзя сделать для десяти тысяч переменных. Все упиралось в масштабирование системы, которое сулило замечательные перспективы. В английском языке существует, допустим, пять тысяч «наглядных» нарицательных существ, даже десять тысяч, если добавить сюда названия особых видов растений и жуков (ведь кто-то же их узнает с первого взгляда). Мы заложили в нашу систему 30 миллионов изображений. В итоге получилась большая, сложная и запутанная нейронная сеть. Детали, полагаю, не имеют значения, скажу только, что для обучения потребовалось приблизительно четыре квадриллиона процессорных операций.
Наша система изумляет, поскольку она в значительной степени соответствует человеческим навыкам. У нее примерно те же «обучательные» данные – примерно такое же количество изображений, какое человеческий младенец видит в первую пару лет своей жизни. Примерно такое же количество операций нужно выполнить в процессе обучения, используя примерно одинаковое количество нейронов, по крайней мере на первых уровнях нашей зрительной коры. Отличия в следующем: принципы работы искусственных нейронов имеют мало общего с принципами работы нейронов человеческого мозга. Но концепции схожи, и, безусловно, обнаруживается даже некая универсальность. Математически это составление очень большого количества функций с определенными свойствами непрерывности, позволяющее использовать методы исчисления для инкрементного обучения системы. При таких свойствах возможно в конечном счете делать все то, что делает человеческий мозг в процессе физиологического распознавания образов.
Но разве это ИИ? Давайте призадумаемся. У нас есть физиологическое распознавание образов, есть перевод голоса в текст, есть перевод с языка на язык – люди справляются с перечисленными задачами лучше или хуже, но справляются. Таковы, между прочим, наметки создания машин, похожих на людей в своих действиях. Лично мне любопытно внедрение указанных возможностей в строгий символический язык для репрезентации повседневного мира. Теперь у нас есть система, которая может сказать: «Это стакан воды». Мы переходим от изображения стакана воды к понятию стакана воды. Теперь настала пора изобрести некий реальный символический язык для репрезентации этих понятий.
Я начал с попытки представить математические, технические виды знаний, а затем взялся за другие виды знания. Мы проделали довольно хорошую работу по представлению объективных знаний в мире. Теперь проблема заключалась в том, чтобы репрезентировать повседневный человеческий дискурс в строгой символической форме – на языке знаний, предназначенном для общения между людьми и машинами, чтобы и люди, и машины могли его понимать.