Страница 3 из 9
«Старый добрый» искусственный интеллект…
Мир искусственного интеллекта меняется. Его границы постоянно расширяются. Когда та или иная проблема решена, она покидает сферу искусственного интеллекта и постепенно переходит в классический набор инструментов.
Например, преобразование математических формул в инструкции, выполняемые компьютером, было делом искусственного интеллекта лишь в 1950-х гг., когда информатика только зарождалась как наука. Сегодня – это обычная функция компиляторов – программ, которые преобразуют программы, написанные инженерами, в наборы инструкций, которые непосредственно исполняются машиной. А компиляция как предмет преподается всем студентам-компьютерщикам.
Или возьмем задачу поиска маршрута. В 1960-е она явно принадлежала к области ИИ. Сегодня – это опять всего лишь стандартный инструмент, каких много. Существуют эффективные алгоритмы поиска кратчайшего пути в графе (сети взаимосвязанных узлов), такие как алгоритм Дейкстры 1959 г.[6] или алгоритм A* («А звезда») Харта, Нильссона и Рафаэля 1969 г.[7] С повсеместным распространением GPS эта задача далеко отошла от переднего края науки.
Ядром искусственного интеллекта в 1970-х и 1980-х гг. был набор методов автоматического рассуждения, основанных на логике и манипулировании символами. С некоторой издевкой англоязычные сторонники этого подхода называют подобные системы GOFAI (аббревиатурой от Good Old-Fashioned Artificial Intelligence, то есть «старый добрый искусственный интеллект»).
Перейдем теперь к экспертным системам, где машина вывода применяет правила к фактам и выводит из них новые факты. В 1975 г. MYCIN, например, должен был помочь врачам выявлять острые инфекции, такие как менингит, и назначать лечение антибиотиками. В нем было около 600 правил вроде: «ЕСЛИ инфекционный организм грамотрицательный, И организм палочковидный, И организм анаэробный, ТО этот организм является (с вероятностью 60 %) бактерией».
Для своего времени MYCIN была инновационной системой. Ее правила включали в том числе и факторы достоверности, которые система объединяла для получения оценки общей достоверности результата. Она был оборудована так называемым механизмом вывода с «обратной связью», посредством которого система выдвигала одну или несколько диагностических гипотез и расспрашивала практикующего врача о симптомах пациента. В процессе этого система уточняла гипотезы в зависимости от ответов и ставила диагноз, и, наконец, назначала антибиотик и дозировку (с той или иной степенью уверенности).
Чтобы создать такую систему, врач-эксперт должен был сидеть рядом с инженером и подробно рассказывать инженеру о своих рассуждениях. Как он диагностирует аппендицит или менингит? Какие при этом бывают симптомы? Так у MYCIN появлялись правила. Иначе говоря, если у пациента имеется определенный симптом, то существует такая-то вероятность аппендицита, такая-то вероятность непроходимости кишечника и такая-то вероятность почечной колики. Инженер вручную записывал эти правила в базу.
Надежность MYCIN (и ее преемников) была довольно неплохой. Но они так и не вышли за рамки эксперимента. Компьютеризация в медицине тогда только зарождалась, а процесс ввода данных был утомительным. В конце концов, все эти экспертные системы, основанные на логике и деревьях поиска, оказались слишком тяжелыми и сложными в разработке. Они вышли из употребления, но остаются эталоном и продолжают описываться в учебниках по искусственному интеллекту.
Тем не менее работа над логикой привела к появлению некоторых важных приложений: к символьному решению уравнений и исчислению интегралов в математике, а также к автоматической проверке программ. Например, с его помощью компания Airbus проверяет точность и надежность своего программного обеспечения для управления пассажирскими самолетами.
Часть исследовательского сообщества ИИ продолжает работать над этими темами. Другие специалисты, к которым принадлежу и я, посвятили себя совершенно другим подходам, основанным на машинном обучении.
… или же машинное обучение?
Рассуждения – это лишь малая часть человеческого разума. Мы часто думаем по аналогии, мы действуем интуитивно, опираясь на представления о мире, постепенно приобретаемые через опыт. Восприятие, интуиция, опыт, наборы усвоенных навыков – все это результат обучения.
В таких условиях, если мы хотим построить машину, интеллект которой будет приближен к человеческому, мы должны сделать ее тоже способной к обучению. Человеческий мозг состоит из 86 млрд взаимосвязанных нейронов (или нервных клеток), 16 млрд из которых находятся в коре головного мозга. В среднем каждый нейрон образует почти 2000 других соединений с другими нейронами – так называемых синапсов. Обучение происходит путем создания синапсов, удаления синапсов или изменения их эффективности. Поэтому, используя самый известный подход к машинному обучению, мы создаем искусственные нейронные сети, процесс обучения которых изменяет связи между нейронами. Приведем несколько общих принципов.
Машинное обучение включает первый этап обучения или тренировки, когда машина постепенно «учится» выполнять задачу, и второй этап – реализацию – когда машина закончила обучение.
Чтобы научить машину определять, содержит ли изображение автомобиль или самолет, мы должны начать с представления ей тысяч изображений, содержащих самолет или автомобиль. Каждый раз, когда на входе системе дается изображение, нейронная сеть (или «нейросеть»), состоящая из соединенных между собой искусственных нейронов (в действительности – это множество математических функций, вычисляемых компьютером), обрабатывает это изображение и выдает выходной ответ. Если ответ правильный, мы ничего не делаем и переходим к следующему изображению. Если ответ неверный, мы немного корректируем внутренние параметры машины, то есть силу связей между нейронами, чтобы ее выходной сигнал приближался к желаемому ответу. Со временем система настраивается и в конечном итоге сможет распознать любой объект, будь то изображение, которое она видела ранее, или любое другое. Это называется способностью к обобщению.
Сравнение этой способности нейросетей с соответствующими функциями мозга говорит о том, что машинам до нас еще далеко. Приведем некоторые цифры. В мозге 8,6·1010 нейронов, связанных между собой примерно 1,5·1014 синапсами. Каждый синапс может выполнять «вычисление» сотни раз в секунду. Данный синаптический расчет эквивалентен сотне цифровых операций на компьютере (умножение, сложение и т. д.) или 1,5·1018 операций в секунду для всего мозга, хотя в действительности лишь часть нейронов активна в любой момент времени. Для сравнения, карта GPU (графического процессора) может выполнять 1013 операций в секунду. Чтобы приблизиться к мощности мозга, потребуется 100 000 видеокарт. И тут есть одна загвоздка: человеческий мозг потребляет мощность, эквивалентную 25 Вт. Карта с одним GPU (графического процессора) потребляет в десять раз больше, т. е. 250 Вт. Электронные цепи в миллион раз менее эффективны, чем биологические.
Коктейль из старого и нового
Сегодняшние приложения, как правило, используют сочетание машинного обучения, GOFAI и классических вычислений. Рассмотрим машину, способную управлять автомобилем без водителя. Бортовая система визуального распознавания, обученная распознавать визуальные объекты и сигналы, присутствующие на дороге, использует определенную архитектуру нейронной сети, называемую «сверточной сетью». Но решение, которое принимает автопилот автомобиля, когда он «видит» разметку полосы движения, тротуар, припаркованный автомобиль или велосипед, зависит от традиционных систем планирования траектории движения, с правилами, написанными вручную, или же систем, основанных на правилах, которые относятся к области GOFAI.
6
https://fr.wikipedia.org/wiki/Algorithme_de_Dijkstra.
7
https://fr.wikipedia.org/wiki/Algorithme_A*.