Искусственный интеллект: перезагрузка. Как создать машинный разум, которому действительно можно доверять

Text
7
Kritiken
Leseprobe
Als gelesen kennzeichnen
Wie Sie das Buch nach dem Kauf lesen
Schriftart:Kleiner AaGrößer Aa

Наконец, из-за огромных масштабов, в которых может функционировать нынешний искусственный интеллект, уже сейчас появилось много способов, которыми использующие его системы (даже в еще довольно примитивной форме) могут причинить серьезный вред обществу и конкретным людям, если окажутся в руках злоумышленников и просто непорядочных лиц. В частности, так называемые сталкеры[15] уже некоторое время используют несложные, но действенные системы искусственного интеллекта для мониторинга своих жертв и установления контроля за их жизнью. У спамеров история применения искусственного интеллекта куда дольше, с его помощью они идентифицируют потенциальных адресатов, уклоняются от проверки на веб-сайтах, предназначенных, чтобы убедиться, что пользователь – действительно человек (иконки-капчи и т. п.). Нет никаких сомнений и в том, что вскоре искусственный интеллект найдет применение в автономных системах вооружения[16], хотя у нас пока остается некоторая надежда на то, что такое оружие будет запрещено, подобно химическому или биологическому. Политолог из Государственного университета штата Нью-Йорк Вирджиния Ойбэнкс отмечает: «Когда ксенофобы переходят к использованию эффективных технологий против "чужих" и вообще "иных", то при отсутствии реальных механизмов защиты прав человека открывается огромный простор для всевозможных злодеяний».

Ничто из сказанного выше не означает, что искусственный интеллект не может с успехом работать на благо людей, однако это возможно лишь только при фундаментальном изменении парадигмы, к чему мы, собственно, и призываем в этой книге. Мы уверены, что многие из технических проблем могут быть решены уже сейчас, но современные подходы не позволяют этого и не хотят меняться сами. Тот факт, что современный искусственный интеллект остается слепым рабом данных и не обладает каким-либо реальным пониманием этических ценностей (которым обычно следуют сами программисты и разработчики систем), вовсе не делает искусственный интеллект непременно уязвимым к старым проблемам в будущем. Люди тоже часто ориентируются на данные, но мы не делаем абсурдных выводов о том, что почти все отцы и дочери принадлежат белой расе или что работа футболиста, которого поощряют чаще касаться мяча, состоит в том, чтобы стоять рядом с мячом и едва постукивать по нему, не отпуская от себя. Если люди могут избежать подобных элементарных ошибок, машины тоже должны этому научиться.

Нельзя сказать, что в принципе невозможно создать физическое устройство, которое может вести машину в условиях сильного снегопада, или машинный интеллект с этическими нормами; дело, однако, в том, что мы не достигнем этого, опираясь исключительно на большие данные.

Что нам действительно нужно, так это новый подход с гораздо большим погружением в ту проблему, которую мы хотим решить в первую очередь: как создать справедливый и безопасный мир для всех. Вместо этого мы видим вокруг себя методы искусственного интеллекта, которые решают отдельные, узкие проблемы, обходя при этом проблемы основные, хотя именно их они призваны решить в конечном счете. Образно говоря, мы надеемся, что нам поможет лейкопластырь, когда в реальности нам требуется пересадка мозга.

Например, IBM удалось решить проблему плохой гендерной идентификации представителей некоторых рас (ее обнаружила Джой Буоламвини), создав новый набор для обучения, в который включили большое число фотографий представительниц афро-американского населения. Google решила свою проблему с оскорбительными подписями «горилла» под фотографиями чернокожих противоположным образом, удалив изображения горилл из тренировочного набора. Однако ни одно из этих решений не является общим: оба приема были разработаны лишь для того, чтобы слепой анализ данных делал правильные вещи, оставаясь слепым, вместо того чтобы научить его видеть по-настоящему.

Точно так же можно решить частную проблему столкновений Tesla с машинами скорой помощи, стоящими на шоссе (например, во время помощи пострадавшим в ДТП), добавив более совершенные датчики и соответствующий набор примеров, но кто поручится, что этот же механизм сработает с эвакуаторами, которые случайно остановились на обочине шоссе? Или со строительными и ремонтными машинами? Допустим, Google сумела неплохо решить проблему с изображениями матери (которые сначала почему-то почти все были белокожими), но точно такая же проблема легко может возникнуть со словом «бабушка», и так до бесконечности.

И до тех пор пока нашим доминирующим подходом будет оставаться ориентация на узкий искусственный интеллект и все большие и большие наборы данных, у интеллектуальной индустрии есть все шансы надолго застрять, непрерывно латая лоскутное одеяло, находя краткосрочные решения для бесконечных частных проблем, не обращая внимания на основные недостатки общего подхода, которые и делают эти проблемы вездесущими и не устранимыми целиком.

Чтобы избежать этих ошибок, нам требуются по-настоящему умные системы. Сегодня, как нам кажется, почти все возлагают большие надежды на то, что вскоре они появятся. Как мы объясним в следующей главе, это, скорее всего, серьезное заблуждение.

Глава 3
Глубокое обучение и так далее

А относительно идей, сущностей, абстракций и трансценденталий мне так и не удалось внедрить в их головы ни малейшего представления.

Джонатан Свифт. Путешествия Гулливера


Одно дело – ожидать, что элементарные частицы подчиняются простым универсальным законам. Другое дело – требовать того же от человеческой расы.

Сабина Хоссенфельдер. Затерянные в математике (Lost In Math)

Бóльшая часть нынешнего энтузиазма по поводу искусственного интеллекта проистекает из одного простого соображения: при прочих равных условиях чем больше у вас данных, тем лучше. Если вы хотите предсказать исход следующих выборов и можете опросить только 100 человек – что ж, надеюсь, вам повезет; если вы можете взять интервью у 10 000, ваши шансы на реальный успех намного выше.

На самом деле в первые годы существования искусственного интеллекта данных было немного, и методы, основанные исключительно на данных, не доминировали среди разработчиков. В большинстве исследований использовался подход, основанный на знаниях, иногда называемый «старым добрым ИИ» (Good Old Fashioned AI, или GOFAI) или же «классическим искусственным интеллектом». При классическом подходе исследователи обычно вручную кодируют те знания, которые машинный разум затем должен будет использовать для выполнения определенной задачи, а затем пишут компьютерные программы, которые используют эти знания, применяя их к различным когнитивным задачам, таким как понимание текста, проектирование роботов или поиск доказательств различных теорем. О сегодняшних больших данных речь еще даже не заходила, и старые программы редко полагались на использование значительных объемов информации как на панацею.

Хотя создать лабораторные прототипы искусственного интеллекта, основанные на классическом подходе, было в принципе возможно (впрочем, часто с огромными усилиями), пройти через этап тестирования, чтобы стать массовым продуктом, оказывалось для них крайне затруднительно. Вследствие этого общее количество классических систем искусственного интеллекта, имеющих какое-либо практическое значение, весьма невелико. Подобные методы все еще широко используются в определенных областях, таких как планирование маршрутов для роботов или GPS-навигация. В целом, однако, подход, ориентированный на знания, был почти целиком вытеснен машинным обучением, которое обычно пытается извлечь уроки из массовых данных, а не полагается на специализированные компьютерные программы, использующие знания, оцифрованные вручную.

Машинное обучение на самом деле тоже имеет очень долгую историю и восходит к 1950-м годам, когда Фрэнк Розенблатт создал так называемую нейронную сеть[17] – одну из первых систем машинного обучения, задачей которой было научиться распознавать окружающие объекты (с помощью камеры), не требуя при этом от программистов заранее предвидеть все сложности, связанные с распознаванием. Эти системы почти сразу обратили на себя внимание специалистов и публики и в 1958 году благодаря нашумевшим публикациям в The New York Times получили очень широкую известность. Однако волна популярности быстро схлынула, поскольку реализация проекта была подорвана многочисленными техническими проблемами. Сети Розенблатта (которые, естественно, должны были работать на оборудовании 1950-х годов) не обладали достаточной мощностью; пользуясь современной терминологией, следовало бы сказать, что они были недостаточно глубоки (мы чуть позже объясним, что именно это означает). У тогдашних цифровых камер было слишком низкое разрешение – всего 20 × 20 (400) пикселей (что примерно в 30 000 раз меньше, чем разрешение камеры современного iPhone X), следовательно, изображения, получаемые в 1950-х, буквально утопали в мозаике пикселей. Оглядываясь назад, мы понимаем, что идея Розенблатта была хороша, но реальные системы, которые он мог создать тогда на практике, просто были не в состоянии выполнить задачи, ради которых их спроектировали.

 

Впрочем, аппаратное обеспечение оказалось только частью проблемы. Именно сейчас мы как никогда четко осознали, до какой степени машинное обучение зависит от доступности большого количества данных, таких, например, как маркированные фотографии. У Розенблатта же ничего подобного не было, поскольку не существовало, в частности, интернета, из которого он мог бы извлечь необходимое число примеров.

Целый ряд ученых продолжил работать в русле, намеченном исследованиями Розенблатта, в течение нескольких последовавших десятилетий. Тем не менее до недавнего времени его преемники фактически не смогли добиться чего-то реально большего. До тех пор пока большие данные не стали обычным явлением, в мире разработчиков искусственного интеллекта подход, основанный на нейронных сетях, считался абсолютно бесперспективным, поскольку по сравнению с другими методами эти системы демонстрировали безнадежное отставание.

Но когда в начале 2010-х годов произошла революция в области больших данных, у нейронных сетей появился наконец хороший шанс вырваться вперед. Такие ученые, как Джефф Хинтон, Иошуа Бенжио, Ян Лекун и Юрген Шмидхубер, остававшиеся верными своему методу даже в самые унылые для них 1990-е и 2000-е годы, когда большинство их коллег ушли в другие области, теперь буквально взвинтили темп исследований.

Особенно важно отметить, что самый серьезный скачок в развитии нейронных сетей произошел не из-за технического прорыва в математической реализации метода (поскольку большая часть математического аппарата здесь была разработана еще в 1980-х годах), а из-за резко возросшей популярности компьютерных игр или, более конкретно, вследствие огромного прогресса, достигнутого в производительности одного конкретного вычислительного модуля, называемого на пользовательском жаргоне видеокартой, а на техническом языке – графическим процессором, или GPU (сокращение от graphics processing unit). Именно его разработчики нейронных сетей стали использовать для развития искусственного интеллекта. Мощные графические процессоры изначально (уже с 1970-х годов) разрабатывались для видеоигр, а в 2000-х годах нашли применение и в нейронных сетях. К 2012 году видеокарты стали чрезвычайно мощными, и для определенных целей они сделались уже даже более эффективными, чем центральный процессор компьютера (CPU, central programming unit) – традиционное ядро большинства вычислительных машин. Революция в производительности нейронных сетей произошла в том же 2012 году, когда несколько человек, включая команду исследователей, работающих с Хинтоном, разработали способ использования возможностей графических процессоров для резкого увеличения производительности систем, придуманных Розенблаттом.

Впервые в истории искусственного интеллекта команда Хинтона и другие разработчики нейронных сетей неожиданно начали устанавливать рекорды, особенно при распознавании изображений из базы данных ImageNet, которую мы упоминали ранее. Вступив в конкуренцию, Хинтон и его сторонники сосредоточились на создании подмножества этой базы данных, куда поместили 1,4 млн изображений из тысячи различных категорий. Каждая команда обучила свою систему примерно 1,25 млн из них, оставив еще 150 000 для тестирования. До этого, в контексте более старых методов машинного обучения, правильный результат в 75 % уже считался очень хорошим, однако команда Хинтона, используя глубокую нейронную сеть, набрала 84 % правильных результатов, а другие исследовательские группы вскоре добились еще большего. К 2017 году показатели правильности маркировки изображений, основанные на глубоком обучении, достигли почти абсолютной точности – в 98 %.

Ключом к этому внезапно обретенному успеху стало то обстоятельство, что новое поколение графических процессоров позволило Хинтону и его коллегам обучать нейронные сети, которые, технически говоря, были гораздо глубже, то есть имели больше слоев (наборов отдаленно похожих на нейроны элементов, о которых мы расскажем чуть позже), чем удавалось задействовать до сих пор. Тренировать глубокую сеть – это значит скормить сети множество примеров изображений, помеченных правильными ярлыками, скажем, это – фотография собаки, это – изображение кошки и т. д.; такая методика обычно известна под названием «контролируемое обучение». Использование мощных графических процессоров означало, что теперь за короткое время можно было пропустить информацию через значительно большее число слоев, и результаты, естественно, стали лучше.

Получив в распоряжение революционные графические процессоры и колоссальные библиотеки ImageNet, глубокое обучение стало готовиться к новому этапу гонки. Началось все с того, что Хинтон с группой аспирантов создали новую IT-компанию и вскоре выставили ее на продажу с аукциона. Наибольшую цену предложил Google, и через два года он купил стартап DeepMind за более чем 500 млн долларов. С этого момента началась революция в области глубокого обучения.

Разумеется, глубокое обучение является лишь одним из множества подходов в попытке заставить машины изучать реальные вещи на основе виртуальных данных. Чаще всего это делается с применением различных статистических методов. Допустим, у вас есть книжный интернет-магазин и вы хотите рекомендовать те или иные издания своим клиентам. Один из подходов состоит в том, чтобы решить самому, какие книги окажутся наиболее интересными и продаваемыми. Вы можете разместить их на первой полосе сайта, так же как продавцы в реальных магазинах размещают самые перспективные книги перед входом с улицы. Другой же подход состоит в том, чтобы узнать, что именно нравится людям, на основе имеющихся данных (скажем, отзывов или объемов продаж). Причем можно выяснить не только то, что людям больше нравится в целом, но и что может привлечь конкретного клиента – на основании данных о том, что он покупал раньше. Вы можете, например, заметить, что люди, которым нравятся книги о Гарри Поттере, также часто покупают толкиновского «Хоббита», а люди, которым нравится Толстой, часто покупают романы Достоевского. По мере того как ваша база данных о клиентах растет, количество возможных сочетаний и предпочтений становится все больше, в конце концов оказывается слишком сложно отслеживать все это по отдельности, и вот вы уже пишете компьютерную программу для отслеживания множества запутанных связей.

Затем, пользуясь новым методом, вы изучаете статистику, скажем, вероятность того, что покупатель, купивший книгу 1, также купит книгу 2, книгу 3 и т. д. Как только вы разберетесь в более простых вещах, вы начнете отслеживать более сложные корреляции, например вероятность того, что клиент, который купил и роман о Гарри Поттере, и «Хоббита», но прошел мимо «Звездных войн», купит тем не менее научно-фантастический роман Роберта Хайнлайна. Искусство делать обоснованные предположения на базе множества данных – это одно из самых обширных и процветающих направлений работы искусственного интеллекта в сфере машинного обучения.

Приведенная на следующем рисунке диаграмма Венна (рис. 3.1) – удобный способ поразмышлять о связях между глубоким обучением, машинным обучением и искусственным интеллектом. В общем смысле ИИ включает в себя и машинное обучение, но сюда относятся также любые алгоритмы и знания, необходимые для его работы, в частности те, которые написаны вручную или созданы традиционными методами программирования, а не получены путем обучения. Машинное обучение, в свою очередь, включает в себя любую технику, которая позволяет машине учиться на данных. Наконец, глубокое обучение является наиболее известным из этих методов машинного обучения, но отнюдь не единственным.

Мы сейчас так сосредоточены именно на глубоком обучении лишь потому, что оно является основным направлением, куда направлено большинство текущих инвестиций в сфере разработки искусственного интеллекта, как в академической науке, так и в промышленности. И все же глубокое обучение вовсе не представляет собой единственный (или лучший) подход к машинному обучению или к развитию искусственного интеллекта в целом. Например, еще один вариант машинного обучения состоит в построении так называемых деревьев решений, которые по сути являются системами простых правил, позволяющих фильтровать или группировать данные (рис. 3.2).

Рис. 3.1. Диаграмма Венна. Основные области, в которых задействован искусственный интеллект


Рис. 3.2. Древо решений, используемое для выбора ресторана на основе клиентских предпочтений


Метод опорных векторов (англ. support vector machine, или SVM) – техника анализа, которая организует данные в сложные абстрактные «гиперкубы», доминировавшая в машинном обучении на протяжении всего первого десятилетия XXI века, и люди использовали ее для расчета множества вещей, от заголовков новостных статей до структур белков. Статистические модели, лежащие в основе данного подхода, пытаются рассчитать вероятность правильности различных ответов на задаваемый вопрос и возвращают ответ, который они считают наиболее подходящим. Этот подход в свое время оказался ключом к успехам, достигнутым ИИ-системой IBM Watson, и нет никаких причин сомневаться в его долговременной перспективности.

Еще один подход, иногда называемый генетическими алгоритмами, основан на имитировании эволюции алгоритмов, которые улучшаются по мере тестирования и видоизменения. Наиболее «приспособленные»[18] алгоритмы «выживают» и «размножаются». Генетические алгоритмы используются в самых различных приложениях, начиная от разработки радиоантенн и заканчивая ботами, играющими в видеоигры, – здесь они порой достигают того же уровня эффективности, что и системы, основанные на глубоком обучении. Этот список можно продолжать и продолжать; мы не будем вдаваться подробно во все варианты и намеренно сосредоточимся на глубоком обучении, потому что в последние годы оно достигло почти абсолютного господства, но, если вы хотите узнать больше о различных алгоритмах, мы очень рекомендуем книгу Педро Домингоса The Master Algorithm[19]. Мы разделяем мнение Домингоса, что каждый алгоритм может внести свой вклад в развитие искусственного интеллекта и что в целом набор алгоритмов еще недостаточно хорошо интегрирован. Однако на следующих страницах нашей книги мы расскажем, почему мы не столь оптимистичны в отношении той идеи автора, что однажды найдется некий оптимальный «основной алгоритм», который станет универсальным решением для всего искусственного интеллекта.

 

Многие интеллектуальные технологии, такие как выстраивание маршрутов в навигаторе или координация действий, выполняемых роботами, все еще успешно используют методы, взятые из классического искусственного интеллекта, которые практически не используют машинное обучение. И зачастую одно и то же приложение, например алгоритмы маршрутизации трафика, используемые Google-навигатором Waze, использует несколько методов, основанных то на классическом искусственном интеллекте, то на машинном обучении.

Итак, в последние годы машинное обучение стало повсеместно доминирующим методом разработки искусственного интеллекта, чему во многом способствуют массовые данные. Система IBM Watson опиралась на огромные базы данных и использовала сочетание классических методов искусственного интеллекта и вероятностного машинного обучения, чтобы обеспечить своему детищу победу в Jeopardy!. Городские власти используют машинное обучение для правильного распределения усилий в сфере услуг, сервисы совместного использования автомобилей (каршеринг) применяют машинное обучение для прогнозирования спроса на машины, а полицейские управления предотвращают преступления с помощью машинного обучения. Применение машинного обучения в области рекламы буквально необъятно. Так, Facebook использует обучаемые системы, чтобы определить, какие новостные сюжеты вы захотите увидеть в своей ленте и заодно – какая реклама сможет вас заинтересовать хотя бы до степени одного клика. Поисковый движок Google использует машинное обучение, чтобы рекомендовать видео, размещать рекламу, понимать вашу речь и пытаться предугадать, что вы пытаетесь найти в каждом конкретном случае. Веб-сайт Amazon применяет ту же технологию, чтобы рекламировать различные товары и интерпретировать результаты вашего поиска. Устройство Amazon Alexa использует машинное обучение для декодирования ваших запросов и т. д.

Ни один из этих продуктов не идеален; позже мы обсудим различные примеры того, как известные коммерческие поисковые системы оказывались сбиты с толку даже простейшими запросами. Но, с другой стороны, любая из них все же гораздо лучше, чем вообще ничего, и, следовательно, они имеют ту или иную экономическую значимость. Никто из людей не смог бы написать поисковый браузер в масштабе всей Всемирной паутины; и Google просто не может существовать без машинного обучения. Предложения товаров на Amazon были бы значительно менее эффективными, если бы они полагались только на людей. (Пример максимального приближения к ручному управлению рекомендациями – это сайт Pandora, работающий как сервис, рекомендующий различный музыкальный контент, где подборки в основном делаются вручную экспертами-людьми, из-за чего его музыкальная библиотека намного меньше, чем у сопоставимых ИИ-систем, таких как Google Play, которые в основном базируются на машинном обучении.) Автоматизированные рекламно-рекомендательные системы, которые приспосабливают свои рекомендации под запросы отдельных пользователей, основываясь на статистике приобретений людей с похожей историей покупок, вовсе не обязаны быть совершенными, ведь даже если они иногда и ошибаются, то все равно остаются куда более точными, чем устаревшие методы, связанные с размещением больших объемов рекламы в газете. В 2017 году Google и Facebook вместе заработали на размещении рекламы более 80 млрд долларов, и машинное обучение, основанное на статистическом анализе, было центральным двигателем этого процесса.

Глубокое обучение основано на двух фундаментальных идеях. Первая, которую можно назвать иерархическим распознаванием образов, частично связана в своем происхождении с рядом экспериментов, проведенных в 1950-х годах нейробиологами Дэвидом Хьюбелом и Торстеном Визелем, получившими за них Нобелевскую премию 1981 года по физиологии и медицине. Хьюбел и Визель обнаружили, что разные нейроны в зрительной системе реагируют на зрительные раздражители очень неодинаково. Некоторые наиболее активно реагировали на совсем простые стимулы, такие как линии с определенной ориентацией, в то время как другие более энергично реагировали на более сложные образы. Теория, которую они предложили для объяснения этого феномена, заключалась в том, что сложные стимулы могут распознаваться через иерархию возрастающей абстракции, например от строк до букв и слов. В 1980-х годах японский первопроходец в области конструирования нейронных сетей Кунахико Фукусима сумел вплотную подойти к важнейшей вехе в истории искусственного интеллекта, построив вычислительную реализацию идеи Хьюбела и Визеля, названную «Неокогнитрон», и показав, что она может эффективно работать в некоторых аспектах компьютерного зрения. Позднее Джефф Хокинс и Рэй Курцвейл отстаивали в своих книгах ту же идею.

«Неокогнитрон» состоял из набора слоев (которые на схеме выглядят как прямоугольники). Если идти слева направо по рис. 3.3, то сначала мы увидим входной слой, который воспринимает определенные стимулы (по сути – это просто пиксели в цифровом изображении), затем идут один за другим следующие слои, которые анализируют изображение, выискивая различия в контрасте, структуре краев и т. д., и завершается все выходным слоем, который определяет, к какой категории относится входящее изображение. Соединения между слоями позволяют провести соответствующую обработку в определенной последовательности. Все эти идеи – входные слои, выходные слои и внутренние слои со связями между ними – теперь являются технической основой глубокого обучения.


Рис. 3.3. Схема «Неокогнитрона» – нейронной сети для распознавания объектов


Подобные системы называются нейронными сетями, потому что каждый слой состоит из элементов, называемых узлами, которые можно (весьма условно, конечно) сравнить с очень упрощенными нейронами. Между этими узлами существуют соединения, также называемые взвешенными соединениями или просто весами; чем больший вес имеет соединение узла A и узла B, тем больше влияние A на B. То, что нейронная сеть выдает как результат, является функцией взаимодействия слоев через эти весы.


Вторая базовая идея – это собственно обучение. Усиливая весовые коэффициенты для определенной конфигурации входов и выходов, можно обучить сеть ассоциировать каждый конкретный вход с соответствующим выходом. Предположим, например, что вы хотите, чтобы сеть изучала названия различных букв, представленных в виде сетки пикселей. Изначально система не знает, какой шаблон пикселей соответствует какой букве. Со временем, путем проб, ошибок и корректировок, она будет связывать наличие пикселей в верхней горизонтальной части сетки с определенными буквами, такими как T и E, а вертикальные линии пикселей на левом краю – с другим набором букв, в частности E, F и H. Постепенно система осваивает все больше и больше корреляций между пикселями в разных местах и соответствующими буквами. Уже в 1950-х годах Розенблатт интуитивно понимал, что такой подход может быть абсолютно жизнеспособным, но сети, которые он использовал, были слишком простыми и ограниченными – они содержали только входной и выходной слои. Если задача была достаточно простой (например, разделение множества плоских фигур на круги и квадраты), то некоторые довольно элементарные математические приемы гарантировали, что вы всегда сможете корректировать свои веса так, чтобы получить в итоге правильный ответ. Но для более сложных задач было недостаточно двух уровней – требовались промежуточные слои, представляющие комбинации различных признаков, и в то время ни у кого не было работоспособного решения для надежного обучения сетей с большей глубиной, то есть которые имели бы внутренние уровни. Примитивные нейронные сети того времени имели входы (например, изображения) и выходы (метки), но между ними больше ничего не было.

В своей влиятельной книге «Перцептроны» (Perceptrons) 1969 года Марвин Мински и Сеймур Паперт математически доказали, что простые двухслойные сети не способны охватить многие из тех объектов, которые разработчики, вероятно, захотели бы классифицировать с помощью таких систем. Кроме того, возможность обучения сети для нахождения удовлетворительного решения не гарантируется при такой примитивной структуре[20]. Впрочем, авторы несколько переборщили с пессимизмом, заявив (на основании чисто интуитивных соображений), что расширение нейронных сетей до нескольких слоев окажется бесполезной тратой сил, хотя и не отрицали теоретическую возможность того, что «когда-нибудь, возможно, будет найдена перспективная теорема о сходимости подобных [более сложных] систем». В атмосфере пессимизма и при отсутствии убедительных результатов, доказывающих работоспособность двухслойных нейронных сетей, все это направление исследований довольно быстро зачахло. Решение простых проблем (типа разделения фигур на круги и квадраты) казалось занятием скучным и лишенным перспектив, а более сложные задачи выглядели неразрешимыми.

Но сдались не все. Как позднее признали Мински и Паперт, они на самом деле не доказали, что от более глубоких сетей ничего нельзя добиться, а только продемонстрировали, что нельзя гарантировать хорошие результаты, используя ту конкретную математику, которую они рассматривали в момент написания книги. И действительно, из того, что Мински и Паперт написали в 1969 году, все еще остается верным следующее: глубокое обучение до сих пор не дает математически обоснованных гарантий сходимости (получения верного ответа), за исключением нереального случая, когда вам доступны бесконечные данные и бесконечные вычислительные ресурсы. Однако задним числом ясно, что эти авторы недооценили, насколько полезными могут оказаться более глубокие сети даже при отсутствии формальных доказательств их универсальной работоспособности. В течение последующих двух десятилетий несколько человек, включая Джеффа Хинтона и Дэвида Румелхарта, независимо друг от друга изобрели математику, которая позволяет более глубоким нейронным сетям выполнять удивительно качественную работу, несмотря на отсутствие каких-либо формальных математических гарантий совершенства[21].

Что означает «эффективность без гарантии», можно показать на следующем примере. Представьте, что вам нужно взобраться на гору и наивысший балл получает тот, кто сумеет покорить самую вершину. Соответственно, если просто топтаться у подножья, то не заработаете вообще никаких баллов, поднявшись до середины, получите средний балл и т. д. В случае систем распознавания образов вершина будет соответствовать максимальной точности, подножье – минимальной, склоны – промежуточной[22].

Так вот, Хинтон и другие сторонники нейронных сетей обнаружили, что, хотя в более глубоких системах, содержащих более двух уровней, невозможно гарантировать совершенство (то есть восхождение прямо на вершину), можно тем не менее создать программы, которые зачастую дают достаточно хорошие результаты, соответствующие средним или верхним частям склона. Система при этом делает небольшие, но уверенные шаги в направлении вершины, используя технику, называемую методом обратного распространения ошибки (англ. backpropagation), который теперь лежит в основе глубокого обучения[23].

15Лица, преследующие других людей, запугивающие их и манипулирующие ими; не путать со сталкерами-туристами, увлекающимися поиском заброшенных индустриальных объектов или «геопатогенных зон». – Прим. пер.
16Усилия сообщества ученых, работающих в области искусственного интеллекта, по продвижению запрета на создание автономного оружия со встроенными интеллектуальными программами рассматриваются в Sample 2017 и в Walsh 2018. См. также Future of Life Institute 2015.
17Термин «нейронная сеть», который применяется для описания устройств Розенблатта и более сложных систем глубокого машинного обучения, мы опишем в этой же главе, но несколько позже. Его использование отражает идею о том, что компоненты подобных устройств напоминают по характеру своей работы нейроны (нервные клетки). У некоторых людей уже само это название вызывает невероятный энтузиазм из-за предполагаемой идентичности нейронных сетей и биологических систем. Мы считаем, однако, что о якобы глубинном сходстве между первыми и вторыми популяризаторы науки заявляют исключительно ради красного словца. Как выяснится чуть позже, системы глубокого обучения никоим образом не отражают сложность и разнообразие реальных процессов в человеческом мозге (или мозге животных), а компонентам этих систем недостает 99,9 % сложности настоящих нейронов. Как заметил покойный нобелевский лауреат Фрэнсис Крик (ученый, расшифровавший вместе с Дж. Уотсоном структуру ДНК), «называть их похожими на мозг было бы очень большой натяжкой».
18Конечно, под приспособленностью здесь просто понимаются свойства, наиболее подходящие для задуманной разработчиком цели, они зависят от того, чего пытается достичь конкретный исследователь системы; например, если цель – овладение видеоигрой, то в качестве критерия приспособленности естественно будет взять заработанные программой очки или другие показатели успеха.
19Полное название этой книги, вышедшей в 2015 году, – The Master Algorithm: How the Quest for the Ultimate Learning Machine Will Remake Our World. – Прим. пер.
20С математической точки зрения двухслойная сеть может идентифицировать объекты, которые находятся на одной стороне плоскости, разделяющей пространство всех возможных входных данных. Мински и Паперт доказали, что таким способом невозможно получить целый ряд важнейших основополагающих геометрических характеристик изображения, хотя бы, скажем, представляет ли данное изображение один объект или два отдельных объекта.
21Открытие принципа обратного распространения ошибки приписывается сразу нескольким авторам, работавшим независимо друг от друга в разные годы. Среди них в первую очередь называются Генри Келли – в 1960 году, Артур Брайсон – в 1961 году, Стюарт Дрейфус – в 1962 году, Брайсон и Ю-Чи Хо – в 1969 году, Сеппо Линнайнмаа – в 1970 году, Пол Вербос – в 1974 году, Янн Лекун – в 1984 году, Д. Б. Паркер – в 1985 году и, наконец, Дэвид Румельхарт, Джеффри Хинтон и Рональд Уильямс – в 1986 году. См. «Википедия», статья «Backpropagation», а также Russell and Norvig 2010: 761 и LeCun 2018.
22Иногда используют и «противонаправленную» метафору, называемую спуском градиента (англ. gradient descent).
23Говоря простыми словами, ключевая идея метода обратного распространения ошибки в сложных сетях состоит в том, что вы создаете у системы все расширяющееся «чувство вины». Предположим, вы пытаетесь обучить нейронную сеть, демонстрируя ей ряд примеров, скажем, изображений с метками. Первоначально результаты распознавания будут плохими, потому что все веса изначально случайны (во всяком случае, при стандартном подходе). Вы, естественно, захотите, чтобы веса были настроены на те числа, которые соответствуют правильному решению (корректному распознаванию). Что нужно делать в двухслойной сети, вполне очевидно: введите обучающие примеры и посмотрите, какие весовые коэффициенты препятствуют получению правильных ответов. Если некоторые соединения между узлами в слоях способствуют правильному ответу, вы делаете их сильнее; если они способствуют неправильному ответу, вы ослабляете их веса. В двухслойной сети легко определить, какие весовые коэффициенты способствуют получению верного результата. Но если у вас более глубокая сеть с одним или несколькими скрытыми слоями (называемыми так потому, что они не подключены напрямую ни к входу, ни к выходу), то уже куда менее очевидно, какие именно узлы заслуживают доверия, а какие нет. Здесь на помощь и приходит метод обратного распространения ошибки. Этот алгоритм вычисляет разницу между желаемым выходом сети и фактическим результатом (это мы и называем ошибкой сети), а затем отправляет информацию об этой ошибке в обратном направлении через все слои, корректируя на пути своего распространения веса таким образом, чтобы улучшить производительность в последующих тестах. Ввод описанной математической процедуры сделал возможным обучение нейронных сетей с тремя и более уровнями относительно надежным способом.
Sie haben die kostenlose Leseprobe beendet. Möchten Sie mehr lesen?