Хотя книга рассчитана на широкий круг читателей, в тексте будут встречаться специальные понятия и термины. Если вы ранее ничего не знали об ИИ, то я рад, что вас познакомят с ним ведущие специалисты, и рекомендую вам начать с краткого словаря, приведенного ниже. В интервью Стюарта Рассела – соавтора ведущего учебника по ИИ – вы найдете объяснение ключевых концепций области.
Возможность взять эти интервью была для меня честью. Надеюсь, вы тоже увидите в моих собеседниках вдумчивость, умение рассказывать и глубокую приверженность идее работы на благо человечества. Чего в книге нет, так это единодушия. Она наполнена разнообразными, зачастую резко противоречивыми представлениями, мнениями и прогнозами. Понятно только одно: ИИ – широко открытое пространство. Можно строить предположения о природе будущих инноваций, скорости их появления и конкретных вариантах их применения. Именно из-за этой комбинации потенциальной разрушительности с фундаментальной неопределенностью необходим содержательный и всеобъемлющий разговор о будущем ИИ и его влиянии на наш образ жизни. Надеюсь, моя книга внесет в него свой вклад.
Краткий словарь терминов
В нескольких интервью углубленно рассматриваются методы, используемые в сфере ИИ. Для понимания материала специальных знаний не требуется, но встречающиеся термины желательно знать. Вот объяснение наиболее важных из них. Если вы сочтете какой-то раздел технически сложным и запутанным, просто пропустите его и переходите к следующему.
Машинное обучение (machine learning) – раздел ИИ о методах построения алгоритмов, способных обучаться на данных. Другими словами, алгоритмы машинного обучения – это компьютерные программы, которые, по сути, программируют сами себя, просматривая информацию. Раньше считалось, что «компьютеры совершают только те действия, которые были запрограммированы», но эта ситуация меняется. Среди многочисленных типов алгоритмов машинного обучения самый революционный (и привлекающий всеобщее внимание) – это глубокое обучение.
Глубокое обучение (deep learning) – вид машинного обучения, в котором используются глубокие (или многоуровневые) искусственные нейронные сети (artificial neural networks), то есть программное обеспечение, имитирующее работу нейронов мозга. Глубокое обучение послужило основной движущей силой развития ИИ.
Есть и другие термины, которые, скорее всего, новичкам покажутся сложными. Без их глубокого понимания вполне можно обойтись, но краткое пояснение лишним не будет.
Метод обратного распространения ошибки (backpropagation) – алгоритм, используемый в системах глубокого обучения. Информация, поступающая в нейронную сеть, распространяется обратно через слои нейронов, вызывая у некоторых из них изменение настроек – весов (см. ниже «Обучение с учителем»). Так постепенно сеть находит правильный ответ. В 1986 г. Джеффри Хинтон стал соавтором первой полноценной статьи на эту тему, о чем более подробно вы узнаете из интервью с ним.
Еще более непонятный термин – градиентный спуск (gradient descent) – относится к математической технике, которую алгоритм обратного распространения использует для уменьшения ошибки в процессе обучения сети.
Встречаются в книге и термины, относящиеся к типам или конфигурациям нейронных сетей: рекуррентные (recurrent) и сверточные (convolutional) сети, а также машины Больцмана (Boltzmann machines). Различия обычно сводятся к способам связи нейронов. Детальное рассмотрение этих понятий выходит за рамки книги. Тем не менее я попросил объяснить их Яна Лекуна – изобретателя сверточной архитектуры, которая широко используется в распознавании объектов на изображениях.
Термин байесовский (bayesian) можно перевести как «вероятностный». Он встречается в таких сочетаниях, как «байесовские методы машинного обучения» или «байесовские сети». Они относятся к алгоритмам, которые используют вероятностные зависимости. Термин назван в честь священника Томаса Байеса (1701–1761), который сформулировал способ обновления вероятности события после возникновения другого, статистически взаимозависимого с ним. Байесовские методы очень популярны как среди специалистов по теории вычислительных машин и систем, так и среди ученых, моделирующих человеческое познание. Больше всего по этой теме рассказал Джуда Перл.
Способы обучения ИИ-систем
Существуют разные типы машинного обучения. Решающую роль в развитии искусственного интеллекта играют инновации, то есть новые способы обучения систем ИИ.
При обучении с учителем (supervised learning) алгоритму передаются структурированные, классифицированные и снабженные метками данные. Например, чтобы научить систему глубокого обучения распознавать на снимках собак, ей нужно предоставить много тысяч (или даже миллионов) изображений этого животного с меткой «собака». Кроме того, потребуется огромное количество изображений без собаки с меткой «нет собаки». После обучения можно показывать системе новые фотографии, и она будет определять наличие на них собаки на уровне, превосходящем возможности обычного человека.
Обучение с учителем – наиболее распространенный метод, применяемый в современных системах ИИ. На его долю приходится около 95 % практических приложений. Именно оно послужило основой машинного перевода (после обучения на миллионах предварительно переведенных документов) и ИИ-систем диагностики (после обучения на снимках с пометками «рак» и «нет рака»). К сожалению, для такого обучения требуются огромные объемы маркированных данных. Именно поэтому лидирующее положение в технологии глубокого обучения занимают такие компании, как Google, Amazon и Facebook.
Обучение с подкреплением (reinforcement learning), по сути, представляет собой обучение на практике или методом проб и ошибок. Система учится не на правильных размеченных данных, а самостоятельно ищет решение, получая подкрепление в случае успеха. Это напоминает дрессировку животных, которым в случае правильных действий дается кусочек вкусной еды. Именно обучение с подкреплением применялось для построения систем ИИ, играющих в игры. Из интервью с Демисом Хассабисом вы узнаете, что компания DeepMind использовала этот тип обучения для разработки компьютерной системы AlphaGo.
Проблема обучения по этому алгоритму заключается в необходимости огромного количества тренировочных попыток. Поэтому он применяется в основном для игр или для задач, которые можно воспроизводить на компьютере с высокой скоростью. Обучение с подкреплением можно использовать при разработке беспилотных автомобилей, но не для их эксплуатации на реальных дорогах. Виртуальные машины обучаются в искусственной среде, а после завершения обучения программное обеспечение устанавливается на реальные автомобили.
Обучение без учителя (unsupervised learning) обеспечивает непосредственное обучение на поступающих из окружающей среды неструктурированных данных. Именно так учатся люди. Например, дети учатся говорить, слушая речь родителей. Разумеется, человек использует и другие типы обучения, но самым характерным для него остается наблюдение и неконтролируемое взаимодействие с окружающей средой.