Сегодняшний ИИ стоит на двух китах: глубоком обучении и больших данных. Однако на заре создания искусственного разума, в 1960-х, ни о первом, ни о втором речи не шло. Компьютеры были маломощные, интернета с его океаном информации не существовало. Первопроходцы ИИ шли по весьма трудоемкому пути: опираясь на накопленные знания и здравый смысл, они сначала формулировали тот или иной алгоритм действия для достижения какой-то цели, а потом превращали его в программный код – в буквальном смысле учили компьютер думать. Такой подход до сих пор используется в планировании маршрутов для роботов и навигации GPS. Однако постепенно идея закодированных вручную знаний была вытеснена концепцией машинного обучения с помощью нейросетей.
Понятие нейронной сети было описано еще в 1943 году психологом Уорреном Мак-Каллоком и математиком Уолтером Питтсом. В 1958 году психолог Фрэнк Розенблатт воплотил ее на практике: создал перцептрон – модель, содержащую около тысячи связанных друг с другом «нейронных клеток», которые могли принимать сигналы от 400 фотоэлементов. Такая нейронная сеть еще была однослойной, несложной, но со временем только совершенствовалась. В 1982 году Джон Хопфилд создал сеть, в которой «нейроны» умели независимо менять свои параметры. В 2007 году Джеффри Хинтон создал алгоритмы глубокого обучения многослойных нейронных сетей[1].
Слово «нейроны» неслучайно: структура компьютерной сети действительно подобна структуре человеческого мозга, в котором множество нейронов соединено множеством связей. Если нервные клетки умирают, страдает мыслительная деятельность человека; если электронных нейронов мало (как в модели Розенблатта), компьютерная модель слаба. Чем больше нейронных слоев задействовано в работе, тем глубже сеть, тем работа эффективнее (отсюда и термин «глубокое обучение»). А чем больше данных получают нейросети, тем быстрее тренируются. Пока больших данных не было, этот механизм существовал лишь в теории.
Перелом случился в XXI веке: мы стали тонуть в информации. В 2016 году человечество за секунду производило в тысячу раз больше контента, чем содержится во всех когда-либо изданных книгах. Для нейросетей наступил рай. Глубокое обучение стало краеугольным камнем ИИ. Facebook использует его, чтобы решить, какие посты показать нам в ленте. Amazon с их помощью рекомендует нам товары. Alexa использует глубокое обучение для расшифровки наших запросов. Благодаря глубокому обучению и нейросетям мир стал удобнее и проще, а нейросети обучают сами себя – что же в этом плохого?
У глубокого обучения три недостатка:
1) оно требует огромного количества данных (AlphaGo потребовалось 30 млн партий в го, чтобы достичь сверхчеловеческой производительности), а с минимальной информацией работает плохо. Чем сильнее реальное положение дел отличается от данных, использованных для обучения нейросети, тем ненадежнее будет результат;
2) оно непрозрачно. Работа с огромными массивами данных неподвластна разуму людей: мы не можем понять, почему система решила так, а не иначе. Ее работа не сводится к умопостигаемым принципам типа «если у человека повышенное количество лейкоцитов, стоит предположить инфекцию». И она не соответствует естественным знаниям о том, как устроен мир. Поэтому нейросеть способна распознать мост или прицеп, сопоставив соответствующие пиксели, но она не видит принципиальной разницы между тем и другим, о чем говорит пример про въехавший под прицеп автомобиль Tesla;
3) оно ограниченное. Нейросеть может изучить миллион изображений розовых поросят, но на миллион первом снимке не опознать поросенка черного цвета. Очевидное решение проблемы – увеличить обучающую выборку. Однако доучивание нейросети на искажения одного типа не дает гарантий от искажений другого типа, а все разнообразие физических объектов перебрать невозможно.
Два ключевых умения, овладение которыми говорило бы о том, что ИИ уподобился человеческому разуму, – чтение и способность роботов заменить человека в разных сферах жизни. Как обстоят дела здесь?