Я, алгоритм
Мы уже знаем, что компьютерам не очень-то удается генерировать случайность, однако выясняется, что они могут обращать случай себе на пользу. Искусственный интеллект (машины, в основе которых как раз и лежит случайность) наконец-то мужает, находя самые разные сферы применения – от наблюдения за ядерными испытаниями до контроля хрупкого здоровья недоношенного младенца. Рассказывает Анил Анантасвами.
Оказавшись перед выбором между доктором из плоти и крови и системой искусственного интеллекта (ИИ), способной диагностировать болезни, Педро Домингос без колебаний готов вручить свою жизнь ИИ. «Машине я склонен доверять больше, чем врачу», – провозглашает Домингос, специалист по информатике из Вашингтонского университета в Сиэтле. Надо признать, такие уверенные заявления в поддержку ИИ сейчас редки на фоне обильной критики ИИ: многие разочарованы и говорят, что пока ИИ, на который возлагали столь большие надежды, не оправдал их ожиданий.
Еще в 1960-е годы разнообразные системы искусственного интеллекта стали демонстрировать многообещающие перспективы: ожидалось, что они смогут воспроизвести ключевые аспекты человеческого сознания. Ученые начали с применения математической логики, чтобы машина могла получать знания о реальном мире и размышлять о нем. Но вскоре математическая логика оказалась настоящей смирительной рубашкой для ИИ. Да, в некоторых типах рассуждения, сходных с человеческими, логика может оказаться продуктивной. Но она изначально непригодна, когда вы имеете дело с неопределенностью.
Однако после затянувшейся «зимы тревоги», куда сфера ИИ сама себя заковала, эта область, так долго подвергавшаяся критике, снова расцветает. Изощренные компьютерные системы демонстрируют зачатки как раз таких способностей, мечта о которых когда-то и породила интерес к ИИ: умение рассуждать подобно человеку – даже в мире, полном хаоса и статистического шума.
Одна из основ такого возрождения ИИ – так называемое вероятностное программирование, сочетающие в себе логическую базу старого ИИ с мощью современной статистики и теории вероятностей. «Это вполне естественное объединение двух наиболее сильных теорий, которые удалось создать для того, чтобы понять мир и рассуждать о нем», – говорит Стюарт Рассел, один из пионеров современного ИИ, работающий в Калифорнийском университете в Беркли. Столь могучая комбинация наконец-то начинает рассеивать мглу долгой зимы ИИ. «В этой области явно наступает весна», – полагает когнитивист Джош Тененбаум из Массачусетского технологического института (МТИ).
Сам термин «искусственный интеллект» придумал в 1956 году Джон Маккарти из того же МТИ. В тут пору он выступал за широкое применение логики при создании компьютерных систем, способных «рассуждать». Этот подход затем усовершенствовали, обратившись к так называемой логике первого порядка, в рамках которой знание о реальном мире моделируется посредством формализованных математических знаков и символов. Метод создали для работы с объектами и взаимосвязей между ними. Его вполне можно было применять для рассуждений и даже делать полезные выводы. К примеру, если у человека X весьма заразная болезнь Y, и если X находился в тесном контакте с человеком Z, при использовании логики мы заключаем, что у Z болезнь Y.
Однако самым грандиозным триумфом для логики первого порядка стало то, что она позволила конструировать модели нарастающей сложности из самых мелких строительных блоков. Например, вышеприведенный сценарий можно было бы легко распространить на эпидемиологическую модель для смертельных инфекционных заболеваний и на ее основе делать умозаключения о движении этих недугов. Способность логики выстраивать все более масштабные идеи на основе идей вполне скромных даже вроде бы предполагает, что и в человеческом сознании могут протекать сходные процессы.
В этом состояла хорошая новость. «Печально то, что в конечном счете такой подход не оправдал ожиданий», – говорит Ноа Гудман, стэнфордский когнитивист. Дело в том, что использование логики для представления с ее помощью некого знания, а затем рассуждений о нем, требует, чтобы наши знания о реальном мире отличались фантастической точностью. Тут не должно быть никакой двусмысленности. Либо «истинно», либо «ложно», и никаких «может быть». К сожалению, реальный мир полон неопределенности, статистического шума и исключений практически из всех общих правил. Системам ИИ, построенным на основе логики первого порядка, попросту не удавалось справиться с таким безобразием. Допустим, вы хотите определить, болен ли Z недугом Y. Правило должно быть однозначным: если Z контактировал с X, то Z болен недугом Y. Логика первого порядка не в состоянии разобраться в сценарии, где Z может заразиться от Х, а может не заразиться.
Возникла и еще одна существенная проблема: такой подход не работает «задом наперед». Скажем, если вы знаете, что Z страдает болезнью Y, невозможно с абсолютной уверенностью заключить, что Z подхватил ее от X. Вполне типичная ситуация для медицинской диагностики, постоянно сталкивающейся с такими трудностями. Логические правила и закономерности привязывают болезни к симптомам, но врач, который имеет дело с ними, должен делать умозаключения о причинах болезни. «Для этого требуется перевернуть логическую формулу, но дедукция здесь не очень-то годится», – подчеркивает Тененбаум.
К середине 1980-х подобные проблемы, чего и следовало ожидать, привели к наступлению «зимы искусственного интеллекта». В обществе укоренилось мнение, что ИИ идет в никуда. Но Гудман убежден, что в глубине души люди все-таки сохраняли веру в ИИ. «Он просто ушел куда-то в подполье», – говорит ученый.
Первые проблески весны относятся к концу 1980-х, когда ученые стали активно изучаться нейронные сети. Идея ошеломляла своей простотой. Успехи нейробиологии позволили создать упрощенные модели нейронов и их взаимодействий. А тут еще и невиданный прогресс в разработке алгоритмов. Все это дало специалистам возможность конструировать искусственные нейронные сети (ИНС), способные обучаться и на первый взгляд напоминавшие по характеру своей работы человеческий мозг. Воодушевившись, ученые-компьютерщики принялись грезить об искусственных нейронных сетях с миллиардами или даже триллионами нейронов. Однако вскоре стало очевидно, что наши модели нервных клеток чересчур упрощенны. Исследователи не могли даже определить, какие из свойств нейронов особенно важны, не говоря уж о том, чтобы моделировать эти свойства, строя какие-то там ИНС.
Впрочем, нейронные сети в некоторой степени помогли заложить основу для нового ИИ. Некоторые специалисты, разрабатывавшие ИНС, в конце концов осознали: можно представить, что такие сети осмысливают мир в понятия статистики и вероятностей. Заговорили не о синапсах и импульсных пиках, а о параметризации и случайных переменных. «Теперь это уже походило не на большой мозг, а на большую вероятностную модель», – говорит Тененбаум.
А потом, в 1988 году, Джуд Перл из Калифорнийского университета в Лос-Анджелесе написал книгу «Вероятностные рассуждения в интеллектуальных системах», ставшую важной вехой в развитии науки об искусственном интеллекте и подробно описывавшую принципиально новый подход к ИИ. По сути, в ее основе лежала теорема Томаса Байеса, английского математика и священника, жившего в XVIII веке. Теорема связывает условную вероятность события Р (того, что событие P произойдет при условии, что произошло событие Q) и условную вероятность события Q (того, что событие Q произойдет при условии, что произошло событие P). Иными словами, появился метод, как бы позволяющий переключаться между причиной и следствием. «Если вы при помощи такого метода опишите все те различные вещи, которые вас интересуют, то байесианская математика подскажет вам, каким образом наблюдать следствия и как рассуждать, двигаясь вспять – к вероятностям различных причин», – старается объяснить Тененбаум.
Ключевую роль здесь играет байесианская сеть – модель, выстроенная на основе различных случайных переменных, причем вероятностное распределение для каждой зависит от всех других переменных. Изменяя значение одной из них, вы тем самым измените распределение вероятностей для всех прочих. Если вам известно значение хотя бы одной переменной, байесианская сеть позволяет предположить, каково вероятностное распределение для других переменных – иными словами, каковы их вероятные значения. Допустим, эти переменные являются отражением симптомов, болезней и результатов клинического анализа. Исходя из результатов анализа (выявлена вирусная инфекция, пока неизвестно, какая именно) и симптомов (высокая температура, кашель), можно сделать заключение о вероятности причин (грипп – весьма вероятно; пневмония – маловероятно).
К середине 1990-х некоторые исследователи, в том числе и Рассел, стали разрабатывать алгоритмы для байесовских сетей, способных обрабатывать существующие данные и обучаться на их основе. Во многом подобно тому, как человек при обучении в значительной мере полагается на уже достигнутое понимание и существующее (априорное) знание, эти новые алгоритмы могли выстраивать гораздо более сложные и точные модели на основании гораздо меньшего количества данных (по сравнению со своими предшественницами). Это стало огромным шагом вперед: в первых ИНС не было места априорному знанию, и для каждой новой проблемы они начинали обучение заново.
Так собирались кусочки мозаики, которая могла бы в конечном счете позволить создать искусственный интеллект, способный действовать в реальном мире. Параметрами для байесианской сети являются вероятностные распределения, и чем больше система знает о мире, тем полезнее для нее эти распределения. Но, в отличие от систем, основанных на логике первого порядка, цепочка рассуждений здесь не рушится перед лицом неполного знания.
Впрочем, логика не собиралась никуда уходить. Оказывается, самих по себе байесовских сетей недостаточно: они не позволяют строить произвольные сложные конструкции из простых элементов. Шум вокруг нового ИИ возник как раз благодаря синтезу логического программирования и байесовских сетей в рамках новой сферы – вероятностного программирования.
На первом плане этого нового ИИ – несколько компьютерных языков, включающих в себя и ту, и другую составляющую. В их числе язык Church, разработанный Тененбаумом совместно с коллегами и названный в честь Алонзо Чёрча, предложившего применить в компьютерном программировании одну из форм логики. Затем появилась Логическая сеть Маркова, разработанная командой Домингоса и сочетающая логику с марковскими сетями (подобием байесовских). По сути, Рассел и его коллеги действовали в рамках байесианской логики (Bayesian Logic, отсюда название созданного ими компьютерного языка – BLOG).
Рассел продемонстрировал выразительную силу подобных языков, выступая в таких почтенных местах, как Подготовительная комиссия ООН по договору о всеобъемлющем запрещении ядерных испытаний (Comprehensive Test Ban Treaty Organization, CTBTO) в Вене. Комиссия пригласила Рассела, надеясь, что новые технологии в области ИИ помогут решить проблему выявления мест ядерных взрывов. На утреннем заседании выступающие говорили о том, как трудно обнаруживать характерный сейсмический рисунок далеких ядерных взрывов на фоне постоянных землетрясений, о капризах распространения сигнала сквозь земную кору, о «шумных» детекторах на сейсмических стациях. Внимательно выслушав все это, Рассел стал прикидывать, как бы решить столь сложную задачу, используя вероятностное программирование. «В обеденный перерыв я уже сумел полностью расписать модель для всей этой штуки», – хвастается Рассел. Модель заняла полстраницы.
В такого рода модели можно включать априорное знание – скажем, сравнительную вероятность того, что на индонезийской Суматре и в британском Бирмингеме случится землетрясение. Кроме того, комиссия требует, чтобы каждая система исходила из предположения: детонация ядерного устройства может с равной вероятностью произойти в любой точке Земли. Учитываются, конечно, и реальные данные, поступающие с мониторинговых станций комиссии. Задача системы ИИ – принимать всю эту информацию и на ее основе выдавать наиболее вероятное объяснение для каждого набора сейсмических сигналов.
Здесь-то и кроется затруднение. Такие компьютерные языки, как BLOG, оснащены так называемыми едиными устройствами вывода. Имея дело с проблемой из реального мира, где есть, как водится, большой набор переменных и большой набор вероятностных распределений, устройство вывода должно рассчитать вероятность, скажем, ядерного взрыва на Ближнем Востоке с учетом априорных вероятностей ожидаемых событий и новых сейсмических данных. Но если сделать так, что переменные будут представлять симптомы и болезнь, та же машина должна уметь поставить медицинский диагноз. Иными словами, ее алгоритмы должны носить весьма обобщенный характер. А значит, они будут совершенно неэффективны.
Таким образом, алгоритмы приходится подгонять к каждой новой задаче. Но ведь нельзя нанять какого-нибудь аспиранта, чтобы он приноравливал алгоритм под каждую новую возникающую проблему, замечает Рассел: «Ваш мозг работает не так. Ваш мозг сразу берется за решение задачи».
Вот почему Рассел, Тененбаум и многие их коллеги не дают уверенных прогнозов насчет будущих успехов ИИ. «Хочется, чтобы люди воодушевились, но не хочется прослыть шарлатаном, который торгует сомнительными снадобьями», – замечает Рассел. С ним согласен Тененбаум; хотя он несколько моложе Рассела, он все равно считает, что эффективное устройство вывода появится при его жизни лишь с 50-процентной вероятностью. И это несмотря на тот факт, что компьютеры становятся все быстрее, а алгоритмы – все смышленее. «Это куда более сложные проблемы, чем высадка на Луну или на Марс», – говорит Тененбаум.
Впрочем, такого рода выводы не нарушают общего духа оптимизма, царящего в сообществе специалистов по ИИ. Дафна Коллер из Стэнфордского университета, например, занимается решением весьма специфических проблем с помощью вероятностного программирования и добилась на этом поприще немалых успехов. Совместно со своей коллегой по Стэнфорду, неонатологом Анной Пенн, она разработала систему PhysiScore, призванную давать прогнозы, будет ли недоношенный ребенок иметь какие-то проблемы со здоровьем. Задача чрезвычайно трудна. Врачи не способны предсказать это хоть с какой-то степенью уверенности. «А ведь это единственное, что важно для семьи», – подчеркивает Пенн.
Система PhysiScore учитывает такие факторы, как возраст беременной и вес новорожденного, а также данные, собираемые в реальном времени в первые же часы после рождения: сведения о частоте сердечных сокращений, частоте дыхания, насыщенности крови кислородом. «Сейчас мы уже можем в течение первых трех часов после рождения младенцев с высокой степенью вероятности предсказать, какие дети будут здоровы, а какие будут более склонны к серьезным проблемам, даже если эти проблемы проявятся лишь через две недели», – говорит Коллер.
«Неонатологов очень воодушевило появление PhysiScore», – отмечает Пенн. Как врач, она особенно довольна способностью систем ИИ одновременно работать с сотнями или даже с тысячами переменных в ходе принятия решения. Возможно, это позволит им даже превзойти своих конкурентов-людей. Пенн не скрывает своего восхищения: «Эти приборы умеют осмысливать сигналы, которые мы, врачи и медсестры, даже не можем увидеть».
Вот почему Домингос так склонен доверять автоматизированной медицинской диагностике. Одна из самых известных систем подобного рода – Quick Medical Reference, Decision Theoretic, (QMR-DT, Теоретическая система быстрого принятия обоснованных медицинских решений), байесианская сеть, умеющая строить модели для сотен наиболее серьезных болезней и тысяч связанных с ними симптомов. Цель создателей системы – научить ее выдавать вероятностное распределение для недугов, основываясь на реальных симптомах, наблюдаемых в том или ином случае. Разработчики провели тонкую подстройку алгоритмов вывода QMR-DT под определенные заболевания и обучили систему использовать историю болезни пациентов. «Проводили сравнение работы этих систем с работой врачей-людей. Системы обычно работают лучше, – говорит Домингос. – У людей очень непоследовательные суждения, даже когда они ставят диагнозы. Такие системы не применяются шире лишь из-за того, что медики не хотят расставаться с интересными элементами своей работы».
Подобные технологии ИИ позволили добиться успехов и в других сферах. Один из наиболее впечатляющих примеров – компьютерное распознавание речи, процесс, который прошел путь от смешных устройств, вечно делающих ошибки, до систем, работающих с поразительной точностью. Сегодня врач может диктовать сведения о пациенте компьютеру, который при помощи программы распознавания речи преобразует эти звуки в электронные документы, там самым уменьшив необходимость записывать информацию от руки. Машинные переводы с одного языка на другой тоже постепенно начинают повторять успехи новейших систем распознавания речи.
Однако по-прежнему существуют области, где такая работа сопряжена с большими трудностями. Пример – научить робота понимать, что видит его камера. Решение этой проблемы позволит сделать огромный шаг на пути к созданию робота, свободно и самостоятельно ориентирующегося в пространстве.
Помимо разработки гибких и быстрых алгоритмов вывода, разработчики должны также усовершенствовать способность систем ИИ к обучению как на основе уже известных сведений, так и при изучении реального мира с помощью сенсоров. В наши дни машинное обучение, как правило, осуществляется посредством алгоритмов, специально приспособленных под конкретные задачи, и тщательно выстроенных наборов данных, предназначенных именно для того, чтобы научить систему делать что-то конкретное. «Нам хотелось бы иметь гораздо более гибкие и подвижные системы, которые можно было бы поместить в реальный мир, где они обучались бы на основе широкого диапазона поступающей информации», – говорит Коллер.
Конечная цель создателей ИИ (как и всех подобных конструкторов) – сделать машины, которые воссоздадут человеческий разум, но так, чтобы мы полностью понимали, каким образом они это делают. «Пока это, скорее всего, дело далекого будущего. Но потенциально это не менее опасно, чем отыскание внеземной жизни, – предупреждает Тененбаум. – Человекоподобный ИИ – широкий термин, он включает в себя и грядущий идеал. Сейчас у нас вполне скромные амбиции. Мы будем счастливы, если сумеем создать зрительную систему, которая сможет бросить единственный взгляд на происходящее перед ней и рассказать нам, что она видит, подобно тому, как это проделывает человек».