сти, состоит в настройке этих клапанов, так называемых весов, таким образом, чтобы система могла правильно идентифицировать образы.
В глубокой нейронной сети программное моделирование искусственных нейронов, действующих более-менее похоже на такие контейнеры, организовано в нескольких слоях, так чтобы выходной сигнал одного слоя нейронов соединялся с входом следующего слоя. Часто связи между нейронами в соседних слоях устанавливаются случайным образом; напротив, в конкретной нейронной архитектуре, например в сверточной сети для распознавания образов, нейроны соединяются упорядоченно. Сложные нейронные сети могут содержать больше 100 слоев и миллионы искусственных нейронов.
Когда такая сеть построена, ее можно научить выполнять определенные задания, такие как распознавание образов или языковой перевод. Например, чтобы научить нейронную сеть распознавать рукописные цифры, пиксели фотографии написанной цифры должны стать входными сигналами для первого слоя нейронов. Ответ, или, иначе говоря, символ, соответствующий написанной от руки цифре, должен поступить в форме выходных сигналов последнего слоя искусственных нейронов. Обучение сети — это процесс ввода в нее обучающих образцов с последующей подстройкой всех весов в сети с тем, чтобы она постепенно пришла к правильному ответу. После того как веса оптимизированы, сеть можно использовать для обработки новых образцов, не входящих в обучающий комплекс изображений.
Именно при настройке весов таким образом, чтобы сеть в конечном счете могла почти всегда выдавать верный ответ, вступает в действие знаменитый алгоритм обратного распространения. В сложной системе глубокого обучения может насчитываться миллиард и больше связей между нейронами, каждая из которых имеет вес, подлежащий оптимизации. По существу, обратное распространение позволяет настраивать все веса сети одновременно, а не по очереди, что чрезвычайно повышает эффективность вычислений[140]. В процессе обучения выходной сигнал сети сравнивается с правильным ответом и информация, позволяющая соответствующим образом настроить каждый вес, передается обратно через слои нейронов. Без механизма обратного распространения революция в области глубокого обучения была бы невозможна.
Все вышесказанное описывает базовый механизм формирования и обучения нейронной сети с тем, чтобы она могла давать полезные результаты. Остается, однако, без ответа принципиальный вопрос: что именно происходит в системе, когда она «переваривает» данные и выдает ответы — подчас с недоступной человеку точностью?
Вот короткое объяснение: в нейронной сети создается представление знания и уровень абстракции для этого знания растет в каждом следующем ее слое. Это легче всего понять на примере сетей, предназначенных для распознавания визуальных образов. Восприятие образа сетью начинается на уровне пикселей. В последующих нейронных слоях распознаются такие характеристики изображения, как углы, кривые и фактуры. Далее в системе возникают еще более сложные представления. В конце концов понимание образа системой становится настолько полным, что она полностью воспринимает содержание изображения и может его идентифицировать — даже при огромном количестве альтернатив.
Однако если подойти к вопросу шире, то мы на самом деле не знаем, что именно там происходит, по крайней мере это очень трудно описать. Ни один программист не задает уровни абстракции или способ представления знания в сети. Все это происходит само собой, и представление об объекте распределено между миллионами взаимосвязанных искусственных нейронов, активизирующихся в системе. Мы знаем, что сеть в определенном смысле постигает изображение, но очень трудно или даже невозможно точно описать, что именно формируется в ее нейронах, особенно в более глубоких слоях сети или в системах, работающих с плохо поддающимися визуализации типами данных. Эта относительная непрозрачность, а вместе с ней опасение, что глубокие нейросети фактически представляют собой «черные ящики», — одна из главных причин обеспокоенности, к которой мы вернемся в главе 8.
Подавляющее большинство систем глубокого обучения натаскивают на решение полезных задач путем представления обширного набора данных, тщательно размеченных или классифицированных. Например, глубокую нейронную сеть можно научить правильно идентифицировать животных на фотографиях, если продемонстрировать ей тысячи или даже миллионы изображений, на каждом из которых имеется правильное название животного. Такая процедура, так называемое контролируемое обучение, может занимать многие часы даже при использовании очень производительного оборудования.
Подобный подход используется, пожалуй, в 95 % случаев практического машинного обучения. На его основе работают ИИ-системы расшифровки рентгеновских снимков (обученные на гигантском количестве медицинских снимков, разбитых на категории «рак» и «не рак»), языкового перевода (обученные на миллионах документов, заранее переведенных на разные языки) и почти бесконечное множество других приложений, осуществляющих, по существу, сравнение и классификацию разных форм информации. Контролируемое обучение обычно требует огромного количества размеченных данных, но результаты бывают очень впечатляющими — системы обретают сверхчеловеческую способность распознавать образы. Через пять лет после состязания ImageNet 2012 года алгоритмы распознавания образов стали насколько эффективными, что конкурс был переориентирован на задачу распознавания трехмерных объектов из реального мира[141].
В случаях, когда для разметки всех данных требуется интерпретация, на которую способен только человек, как, например, при присоединении описаний к фотографиям, процесс становится дорогостоящим и громоздким. Одним из решений является подход, использованный Фей-Фей Ли для комплекса данных ImageNet, — обращение к краудсорсингу. Такие платформы, как Mechanical Turk, позволяют платить распределенной команде людей гроши за выполнение подобной работы. Стремление упростить этот процесс привело к появлению ряда стартапов, занимающихся поиском эффективных способов разметки данных при подготовке к контролируемому обучению. Точная разметка данных из огромных баз имеет принципиальное значение, особенно для случаев распознавания визуальной информации. Об этом убедительно свидетельствует стремительный взлет компании Scale AI, которую основал в 2016 году отчисленный из МТИ 19-летний Александр Ван. Scale AI заключает краудсорсинговые договоры с более чем 30 000 исполнителей, которые размечают данные для ее клиентов, включая Uber, Airbnb и Waymo, отделение беспилотных автомобилей холдинга Alphabet. Компания привлекла более $100 млн венчурных инвестиций и теперь считается «единорогом» Кремниевой долины — стартапом стоимостью более $1 млрд[142].
Однако нередко почти непостижимые по объему массивы прекрасно размеченных данных появляются чуть ли не сами собой и практически бесплатно для поддерживающих их компаний. Массированные потоки данных, генерируемых такими платформами, как Facebook, Google или Twitter, ценны в значительной степени потому, что они тщательно размечены пользователями. Ставя «лайк» или делая «ретвит», просматривая веб-страницу или видео, а если брать в целом — совершая любое действие в сети, вы фактически маркируете конкретное изображение или фрагмент данных. Вместе с миллионами других пользователей одной из крупнейших платформ вы, по сути, заменяете работников, привлеченных на основе краудсорсинга такими компаниями, как Scale AI. Неслучайно самые масштабные программы изучения ИИ связаны с крупными интернет-компаниями. Синергия искусственного интеллекта и гигантских массивов данных отмечается часто, но важнейшим фактором, лежащим в основе этого симбиоза, является наличие механизма дешевой или бесплатной разметки всех этих данных, которые затем можно «скормить» мощной нейросети в режиме контролируемого обучения.
Несмотря на господство контролируемого обучения, в некоторых случаях используется другой метод — «обучение с подкреплением». Он создает компетенцию посредством многократно повторяющейся практики или путем проб и ошибок. Когда наконец алгоритм решает поставленную задачу, он получает цифровое поощрение. В сущности, так дрессируют собак. Сначала поведение животного может быть случайным, но когда оно садится в ответ на соответствующую команду, то получает вознаграждение. Повторяйте этот процесс достаточно долго, и собака научится безошибочно садиться по команде.
Лидером в области обучения с подкреплением является лондонская компания DeepMind, в настоящее время принадлежащая Alphabet, материнской компании Google. DeepMind вложила огромные средства в исследование этого метода применительно к мощным сверточным нейросетям и создала то, что она называет «глубоким обучением с подкреплением». Вскоре после своего основания в 2010 году DeepMind занялась разработкой обучаемых методом подкрепления ИИ-систем, которые способны играть в видеоигры. В январе 2013 года она объявила, что создала систему DQN, которая умеет играть в классические игры Atari, в том числе Space Invaders, Pong и Breakout. Система DeepMind смогла самообучиться игре, используя в качестве входного сигнала только необработанные пиксели и счет в игре. Отточив свой метод на многих тысячах смоделированных игр, DQN получила в шести играх самые высокие результаты для компьютеров, а в трех смогла победить лучших профессиональных игроков[143]. К 2015 году система покорила 49 игр Atari, и DeepMind заявила, что создала первую ИИ-систему, устраняющую «разрыв между сенсорными данными высокой размерности и действиями» и что DQN «способна достигать совершенства в выполнении самых разных сложных задач»[144]. Эти достижения привлекли внимание титанов Кремниевой долины, прежде всего основателя Google Ларри Пейджа, и в 2014 году Google перебила конкурирующее предложение Facebook и купила DeepMind за $400 млн.