Электронная библиотека » Мелани Митчелл » » онлайн чтение - страница 4


  • Текст добавлен: 1 февраля 2022, 14:21


Автор книги: Мелани Митчелл


Жанр: Техническая литература, Наука и Образование


Возрастные ограничения: +12

сообщить о неприемлемом содержимом

Текущая страница: 4 (всего у книги 24 страниц) [доступный отрывок для чтения: 8 страниц]

Шрифт:
- 100% +
Простые вещи делать сложно

Холодные зимы ИИ преподали специалистам важные уроки. Самый простой из них через пятьдесят лет после Дартмутского семинара сформулировал Джон Маккарти: “ИИ оказался сложнее, чем мы думали”[39]39
  Цит. по: C. Moewes and A. Nürnberger, Computational Intelligence in Intelligent Data Analysis (New York: Springer, 2013), 135.


[Закрыть]
. Марвин Минский отметил, что исследования ИИ выявили парадокс: “Простые вещи делать сложно”. Изначально исследователи ИИ поставили перед собой цель создать компьютеры, которые смогут беседовать с нами на естественном языке, описывать увиденное своими глазами-камерами и осваивать новые концепции, имея всего несколько примеров – то есть делать все то, с чем без труда справляются маленькие дети, – но, как ни странно, ИИ оказалось тяжелее заниматься этими “простыми вещами”, чем диагностировать сложные болезни, обыгрывать чемпионов по шахматам и го и решать запутанные алгебраические задачи. Как отметил далее Минский, “в целом мы хуже всего понимаем то, с чем наш разум справляется лучше всего”[40]40
  M. L. Minsky, The Society of Mind (New York: Simon & Schuster, 1987), 29.


[Закрыть]
. Попытка создать искусственный интеллект, по меньшей мере, помогла нам понять, как сложно и изощренно устроен наш разум.

Глава 2
Нейронные сети и подъем машинного обучения

Внимание, спойлер! Многослойные нейронные сети – расширенные перцептроны, которые Минский и Пейперт списали со счетов, сославшись на их вероятную “бесплодность”, – сформировали фундамент значительной части современного искусственного интеллекта. Поскольку они лежат в основе нескольких методов, которые я буду описывать в последующих главах, здесь я ненадолго остановлюсь, чтобы пояснить механизм их работы.

Многослойные нейронные сети

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

На рис. 4 я изобразила схему простой многослойной нейронной сети, разработанной для распознавания рукописных цифр. В сети есть два столбца (слоя) перцептроноподобных искусственных нейронов (обозначены кружками). Для простоты (и, вероятно, к облегчению нейробиологов, читающих эти строки) я буду называть искусственные нейроны “ячейками”. Как и настроенный на обнаружение восьмерок перцептрон из главы 1, изображенная на рис. 4 сеть имеет 324 (18 × 18) входных сигнала, каждый из которых сообщает о насыщенности соответствующего пикселя на исходном изображении. Однако, в отличие от перцептрона, в этой сети помимо слоя из десяти выходных ячеек есть слой из трех так называемых скрытых ячеек. Каждая выходная ячейка соответствует одной из возможных категорий цифр.


Рис. 4. Двухслойная нейронная сеть для распознавания рукописных цифр


Крупные серые стрелки показывают, что каждый входной сигнал имеет взвешенную связь с каждой скрытой ячейкой, а каждая скрытая ячейка имеет взвешенную связь с каждой выходной ячейкой. Загадочный термин “скрытая ячейка” позаимствован из литературы о нейронных сетях, им обозначается любая невыходная ячейка. Возможно, лучше было бы назвать ее “внутренней ячейкой”.

Представьте структуру вашего мозга, где некоторые нейроны непосредственно управляют “выходными сигналами”, например движением ваших мышц, но большинство нейронов просто взаимодействует с другими нейронами. Такие нейроны можно назвать скрытыми нейронами мозга.

Изображенная на рис. 4 сеть называется “многослойной”, поскольку имеет два слоя ячеек (скрытых и выходных) вместо одного слоя выходных сигналов. Теоретически многослойная сеть может иметь несколько слоев скрытых ячеек, и сети, имеющие более одного слоя скрытых ячеек, называются глубокими сетями. “Глубина” сети определяется количеством ее скрытых слоев. Я подробнее расскажу о глубоких сетях в последующих главах.

Подобно перцептронам, каждая ячейка здесь умножает каждый входной сигнал на вес связи этого входного сигнала, а затем суммирует результаты. В отличие от перцептрона, ячейка здесь не просто “выдает сигнал” или “не выдает сигнал” (то есть выдает 1 или 0) в зависимости от порогового значения, а использует полученную сумму, чтобы вычислить число между 0 и 1, которое называется “активацией” единицы. Если единица получает маленькую сумму, ее активация близка к 0, а если сумма большая, активация близка к 1. (Для интересующихся я описала некоторые математические подробности в примечании[41]41
  Активация y для каждой скрытой и выходной единицы обычно определяется как логистическая функция от скалярного произведения векторов x (входные сигналы единицы) и w (веса связей этой единицы): y = 1/ (1 + e– (x⋅w)). Векторы x и w также включают “смещение” и активацию. Если единицы имеют нелинейные выходные функции, например сигмоиды, при наличии достаточного количества скрытых единиц сеть может вычислить любую функцию (с минимальными ограничениями) при любом желаемом уровне аппроксимации. Этот факт называется универсальной теоремой аппроксимации. Подробнее см. в работе M. Nielsen, Neural Networks and Deep Learning, neuralnetworksanddeeplearning.com.


[Закрыть]
.)

Чтобы обработать такое изображение, как рукописная восьмерка с рис. 4, сеть проводит вычисления слой за слоем, слева направо. Каждая скрытая ячейка вычисляет свое значение активации, затем эти значения активации становятся входными сигналами для выходных ячеек, которые вычисляют собственную активацию. В сети с рис. 4 активацию выходной единицы можно считать степенью уверенности сети в том, что она “видит” соответствующую цифру, а категорию цифры с самой высокой степенью уверенности – ответом сети, или классификацией.

Теоретически многослойная нейронная сеть может научиться использовать свои скрытые ячейки так, чтобы распознавать более абстрактные характеристики (например, визуальные формы, такие как верхний и нижний “кружки” рукописной восьмерки) вместо простых характеристик (например, пикселей), закодированных во входном сигнале. Как правило, заранее сложно понять, сколько скрытых слоев и сколько скрытых ячеек в каждом слое необходимо, чтобы сеть хорошо справлялась с поставленной задачей. Большинство исследователей нейронных сетей находит оптимальные настройки методом проб и ошибок.

Обучение методом обратного распространения ошибки

В книге “Перцептроны” Минский и Пейперт усомнились в возможности создания успешного алгоритма для определения весов в многослойной нейронной сети. Во многом именно из-за их скепсиса (и сомнений других специалистов из лагеря символического ИИ) финансирование исследований нейронных сетей в 1970-х резко сократилось. Однако, несмотря на негативный эффект книги Минского и Пейперта, небольшой костяк исследователей нейронных сетей продолжил работу, особенно в сфере когнитивной психологии Фрэнка Розенблатта. К концу 1970-х и началу 1980-х годов некоторые исследовательские группы явным образом опровергли предположения Минского и Пейперта о “бесплодности” многослойных нейронных сетей, разработав для них общий алгоритм обучения – метод обратного распространения ошибки для тренировки этих сетей.

Как следует из названия, метод обратного распространения ошибки состоит в том, чтобы взять ошибку, наблюдаемую в выходных ячейках (например, высокую степень уверенности в неверной цифре у сети на рис. 4) и “распространить” вину за эту ошибку в обратном порядке (на рис. 4 в направлении справа налево), распределив вину по ячейкам сети. Таким образом метод обратного распространения ошибки определяет, в какой степени нужно скорректировать каждый из весов для снижения погрешности. В ходе обучения нейронные сети просто постепенно корректируют веса связей так, чтобы погрешность каждого выходного сигнала на всех тренировочных примерах оказалась как можно ближе к 0. Хотя математика метода обратного распространения ошибки выходит за рамки моего рассказа, я описала некоторые тонкости в примечании[42]42
  Для читателей, знакомых с математическим анализом: метод обратного распространения ошибки – это разновидность градиентного спуска, при которой для каждого веса w в сети вычисляется приблизительное направление самого крутого спуска на “поверхности ошибки”. Это направление вычисляется путем определения градиента функции ошибок (например, квадрата разницы выходного сигнала и контрольного значения) по отношению к весу w. Рассмотрим, например, вес w связи входной единицы i со скрытой единицей h. Вес w корректируется в направлении самого крутого спуска на величину, определяемую ошибкой, которая была распространена на единицу h, а также активацией единицы i и задаваемой пользователем скоростью обучения. Если вы хотите лучше изучить метод обратного распространения ошибки, рекомендую обратиться к бесплатной онлайн-книге Michael Nielsen, Neural Networks and Deep Learning.


[Закрыть]
.

Метод обратного распространения ошибки будет работать (по крайней мере теоретически) вне зависимости от того, сколько в вашей нейронной сети входных сигналов, скрытых ячеек и выходных ячеек. Хотя нет математической гарантии, что метод обратного распространения ошибки остановится на верных весах для сети, на практике он прекрасно справляется со многими задачами, которые слишком сложны для простых перцептронов. Так, я натренировала и перцептрон, и двухслойную нейронную сеть, имеющие по 324 входных сигнала и 10 выходных сигналов, распознавать рукописные цифры, применив шестьдесят тысяч примеров, а затем протестировала каждую из систем на десяти тысячах новых примеров. Перцептрон выдавал верный ответ примерно в 80 % случаев, а нейронная сеть с 50 скрытыми ячейками верно распознала целых 94 % новых примеров. Слава скрытым ячейкам! Но чему именно научилась нейронная сеть, чтобы обойти перцептрон? Я не знаю. Возможно, я могла бы найти способ визуализировать 16 700 весов[43]43
  В моей сети с 324 входными сигналами, 50 скрытыми единицами и 10 выходными сигналами 324 × 50 = 16 200 весов у связей входных сигналов со скрытым слоем и 50 × 10 = 500 весов у связей скрытого слоя с выходным слоем, что в сумме дает 16 700 весов.


[Закрыть]
 нейронной сети, чтобы пролить свет на ее работу, но я этого не сделала. В целом людям непросто понять, как эти сети принимают решения.

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

Коннекционизм

В 1980-х годах самой заметной из работавших над нейронными сетями групп была команда Калифорнийского университета в Сан-Диего, возглавляемая двумя психологами, Дэвидом Румельхартом и Джеймсом Макклелландом. То, что мы сегодня называем нейронными сетями, в те годы обычно именовали коннекционистскими сетями, поскольку в их основе лежала идея, что знания этих сетей заключены во взвешенных связях (англ. connections) между единицами. Команда Румельхарта и Макклелланда прославилась составлением так называемой библии коннекционизма – двухтомного трактата “Параллельная распределенная обработка данных”, опубликованного в 1986 году. Хотя в области ИИ в то время доминировал символический подход, в книге продвигался субсимволический ИИ и утверждалось, что “люди умнее современных компьютеров, потому что мозг использует базовую вычислительную архитектуру, гораздо лучше подходящую для… решения естественных задач по обработке информации, с которыми так хорошо справляются люди”, например “распознавания объектов в естественных средах и анализа их взаимодействий… понимания языка и извлечения релевантной информации из памяти”[44]44
  D. E. Rumelhart, J. L. McClelland and the PDP Research Group, Parallel Distributed Processing: Explorations in the Microstructure of Cognition (Cambridge, Mass.: MIT Press, 1986), 1:3.


[Закрыть]
. Авторы пришли к выводу, что “символические системы, любимые Минским и Пейпертом”[45]45
  Ibid., 113.


[Закрыть]
, не смогут воссоздать эти человеческие способности.

К середине 1980-х экспертные системы – методы символического ИИ, в основе которых лежат разработанные людьми правила, отражающие экспертные знания в конкретной сфере, – все чаще демонстрировали свою хрупкость: они были ненадежны и часто не справлялись с обобщением и адаптацией к новым ситуациям. Анализируя ограничения таких систем, ученые обнаружили, до какой степени разрабатывающие правила эксперты полагаются на бессознательное знание – или здравый смысл, – чтобы действовать разумным образом. Этот здравый смысл сложно было заложить в запрограммированные правила или логическую дедукцию, а его нехватка сильно ограничивала любое широкое применение методов символического ИИ. Иными словами, после цикла больших обещаний, огромных финансовых вливаний и шумихи в прессе символический ИИ снова оказался на пороге зимы.

По мнению сторонников коннекционизма, ключом к разумности была подходящая вычислительная архитектура – выстроенная по образу и подобию мозга – и способность системы к самостоятельному обучению на основе данных или действий. Команда под руководством Румельхарта и Макклелланда создавала коннекционистские сети (программно реализованные) как научные модели человеческого обучения, восприятия и развития речи. Хотя производительность этих сетей и близко не подходила к человеческому уровню, различные сети, описываемые в “Параллельной распределенной обработке данных” и других работах, оказались достаточно интересными артефактами ИИ, чтобы на них обратили внимание многие люди, включая сотрудников финансирующих организаций. В 1988 году высокопоставленный чиновник Управления перспективных исследовательских проектов Министерства обороны США (DARPA), которое обеспечивало львиную долю финансирования исследований ИИ, заявил: “Я уверен, что технология, к разработке которой мы приступаем [то есть нейронные сети], важнее атомной бомбы”[46]46
  Цит. по: C. Johnson, “Neural Network Startups Proliferate Across the U. S”., The Scientist, Oct. 17, 1988.


[Закрыть]
. И вдруг нейронные сети снова оказались “в игре”.

Плохо с логикой, хорошо с фрисби

За последние шесть десятилетий исследований ИИ дебаты об относительных преимуществах и недостатках символического и субсимволического подхода возникали не раз. Символические системы могут проектироваться людьми, наделяться человеческими знаниями и использовать понятную человеку логику для решения задач. Так, экспертная система MYCIN, разработанная в начале 1970-х годов, применяла около шестисот правил, чтобы помогать врачам диагностировать и лечить заболевания крови. Программисты MYCIN создали эти правила на основе подробных интервью с высококвалифицированными врачами. Получая симптомы и результаты анализов пациента, MYCIN применяла логику и вероятностные рассуждения в сочетании с правилами, чтобы поставить диагноз, а потом могла объяснить ход своей мысли. Иными словами, MYCIN была хрестоматийным примером символического ИИ.

Как мы видели, субсимволические системы, напротив, сложно интерпретировать, и никто не знает, как непосредственным образом запрограммировать в них сложные человеческие знания и логику. Субсимволические системы кажутся гораздо более подходящими для выполнения перцептивных и моторных задач, правила для которых разработать непросто. Вы не сможете без труда записать правила, которыми руководствуетесь, когда распознаете рукописные цифры, ловите бейсбольный мяч или узнаете голос матери, ведь вы делаете все это автоматически, не думая. Как выразился философ Энди Кларк, природа субсимволических систем такова, что у них “плохо с логикой, но хорошо с фрисби”[47]47
  A. Clark, Being There: Putting Brain, Body, and World Together Again (Cambridge, Mass.: MIT Press, 1996), 26.


[Закрыть]
.

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

Подъем машинного обучения

Вдохновленные статистикой и теорией вероятности, исследователи искусственного интеллекта создали множество алгоритмов, которые позволяют компьютерам учиться на данных, и область машинного обучения стала самостоятельным разделом ИИ, намеренно отделенным от символического ИИ. Специалисты по машинному обучению пренебрежительно называли методы символического искусственного интеллекта “старым добрым ИИ”, или GOFAI (Good Old-Fashioned Artificial Intelligence)[48]48
  Как подсказал мне Дуглас Хофштадтер, грамматически правильнее было бы называть его Good Old Old-Fashioned AI (“старым добрым старомодным ИИ”), но аббревиатуре GOOFAI не хватает лаконичности GOFAI.


[Закрыть]
, и категорически отвергали их.

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

Глава 3
Весна ИИ
Весеннее обострение

Вы когда-нибудь выкладывали на YouTube видеоролик со своим котом? Если да, то вы не одиноки. На YouTube загружено более миллиарда видеороликов, и во многих из них фигурируют коты. В 2012 году специалисты по ИИ из Google сконструировали многослойную нейронную сеть, имеющую более миллиарда весов, которая “просматривала” миллионы случайных видеороликов на YouTube и корректировала веса таким образом, чтобы успешно сжимать, а затем распаковывать избранные кадры. Исследователи Google не ставили системе задачу приобретать знания о конкретных объектах, но что же они обнаружили через неделю тренировки, заглянув в структуру сети? Там нашелся “нейрон” (или ячейка), который, судя по всему, отвечал за кодирование котов[49]49
  Q. V. Le et al., “Building High-Level Features Using Large-Scale Unsupervised Learning”, in Proceedings of the International Conference on Machine Learning (2012), 507–514.


[Закрыть]
. Эта машина-самоучка по распознаванию котов стала одним из целой серии впечатляющих прорывов ИИ, привлекших внимание публики в последнее десятилетие. В основе большей их части лежит набор алгоритмов нейронных сетей, называемый глубоким обучением.

До недавних пор представления общества об ИИ в основном формировались многочисленными фильмами и телесериалами, где ИИ был настоящей звездой, – вспомните “Космическую одиссею 2001 года” или “Терминатора”. В реальном мире мы не замечали ИИ ни в прессе, ни в повседневной жизни. Если вы росли в 1990-е или ранее, возможно, вы помните удручающее взаимодействие с системами распознавания речи при обращении в службы поддержки, роботизированную игрушку Furby, способную запоминать слова, или надоедливого и бесполезного Скрепыша, виртуального помощника в виде скрепки, созданного компанией Microsoft. Тогда еще не верилось, что появление полноценного ИИ не за горами.

Возможно, именно поэтому многие удивились и расстроились, когда в 1997 году шахматная программа Deep Blue, разработанная компанией IBM, победила чемпиона мира по шахматам Гарри Каспарова. Потрясенный Каспаров даже обвинил IBM в жульничестве, полагая, что машина не может так хорошо играть в шахматы, не получая помощи от экспертов[50]50
  P. Hoffman, “Retooling Machine and Man for Next Big Chess Faceoff”, New York Times, Jan. 21, 2003.


[Закрыть]
. (По иронии судьбы на Чемпионате мира по шахматам в 2006 году ситуация изменилась, когда один из участников обвинил другого в жульничестве, решив, что тот получает подсказки от компьютерной шахматной программы[51]51
  D. L. McClain, “Chess Player Says Opponent Behaved Suspiciously”, New York Times, Sept. 28, 2006.


[Закрыть]
.)

Наш коллективный человеческий страх перед Deep Blue быстро рассеялся. Мы смирились с тем, что шахматы поддались машине, использующей метод “полного перебора”, и даже допустили, что умение хорошо играть в шахматы вовсе не требует общей интеллектуальной одаренности. Когда компьютеры превосходят людей в каком-либо деле, мы обычно реагируем именно так: приходим к выводу, что для успешного выполнения этой задачи большого ума не надо. “Когда все работает исправно, никто уже не называет это ИИ”, – сокрушался Джон Маккарти[52]52
  Цит. по: M. Y. Vardi, “Artificial Intelligence: Past and Future”, Communications of the Association for Computing Machinery 55, no. 1 (2012): 5.


[Закрыть]
.

Однако с середины 2000-х годов мы стали узнавать о новых достижениях ИИ, а затем его успехи понеслись друг за другом с головокружительной скоростью. Google запустила сервис автоматического перевода с языка на язык, “Google Переводчик”. Он был несовершенен, но работал на удивление сносно, а впоследствии стал значительно лучше. Вскоре после этого на дороги Северной Калифорнии выехали беспилотные автомобили Google, осторожные и робкие, но все же самостоятельно передвигающиеся в потоке. В наших телефонах и домах появились такие виртуальные помощники, как Siri от Apple и Alexa от Amazon, которые научились обрабатывать многие голосовые запросы. YouTube стал предоставлять поразительно точные автоматизированные субтитры к видеороликам, а Skype предложил синхронный перевод с одного языка на другой во время видеозвонков. Facebook вдруг стал с пугающей точностью узнавать вас на загружаемых фотографиях, а фотохостинг Flickr начал автоматически генерировать текстовое описание фотоснимков.

В 2011 году разработанная IBM программа Watson уверенно выиграла у чемпионов телеигры Jeopardy!, умело интерпретируя подсказки, изобилующие игрой слов. Наблюдая за этим, ее противник Кен Дженнингс счел нужным “поприветствовать наших новых компьютерных владык”. Всего пять лет спустя миллионы интернет-пользователей вникали в премудрости игры го, издавна неприступной для искусственного интеллекта, когда программа AlphaGo в четырех партиях из пяти одержала блестящую победу над одним из лучших игроков мира.

Шумиха вокруг искусственного интеллекта быстро стала оглушительной, и деловой мир обратил на это внимание. Все крупнейшие технологические компании направили миллиарды долларов на исследование и разработку ИИ, непосредственно нанимая специалистов по ИИ или приобретая небольшие стартапы с единственной целью заполучить их талантливых сотрудников. Потенциальная возможность таких сделок, мгновенно делающих основателей стартапа миллионерами, привела к появлению множества стартапов, часто финансируемых и управляемых бывшими университетскими преподавателями, у каждого из которых был свой подход к ИИ. Журналист Кевин Келли, освещающий новости мира технологий, заметил: “Несложно представить, какими будут бизнес-планы следующих 10 000 стартапов: возьмем что-нибудь и добавим ИИ”[53]53
  K. Kelly, “The Three Breakthroughs That Have Finally Unleashed AI on the World”, Wired, Oct. 27, 2014.


[Закрыть]
. Важно подчеркнуть, что почти все эти компании понимали под ИИ глубокое обучение.

Так расцвела очередная весна ИИ.


Страницы книги >> Предыдущая | 1 2 3 4 5 6 7 8 | Следующая
  • 0 Оценок: 0

Правообладателям!

Данное произведение размещено по согласованию с ООО "ЛитРес" (20% исходного текста). Если размещение книги нарушает чьи-либо права, то сообщите об этом.

Читателям!

Оплатили, но не знаете что делать дальше?


Популярные книги за неделю


Рекомендации