Книга: Искусственный интеллект – надежды и опасения
Назад: Глава 13 Ввести человека в уравнение ИИ
Дальше: Глава 15 «Информация» по Винеру, по Шеннону и… И по нашим нынешним представлениям

Глава 14
Спуск по градиенту

Крис Андерсон
предприниматель, бывший главный редактор журнала «Wired», соучредитель и генеральный директор компании «3DR», автор книг «Длинный хвост», «Свобода» и «Творцы».
Компания Криса Андерсона «3DR» стояла у истоков современной индустрии беспилотных летательных аппаратов, а ныне занимается разработкой программного обеспечения для дронов. Крис организовал сообщество разработчиков аэродинамических систем с открытым исходным кодом (DIYDrones) и совершил несколько довольно опрометчивых экспериментов, например, заслал летающего шпиона в лабораторию Лоуренса в Беркли. Возможно, всему виной дурная, так сказать, наследственность, поскольку Андерсон является потомком основоположника американского анархистского движения. Кроме того, с 2010 по 2012 год Крис руководил журналом «Wired», равно популярным среди пророков светлого и мрачного технологического будущего; за время его руководства журнал пять раз удостаивался профессиональной национальной премии для СМИ.
Крису не нравится термин «робототехник» («как и подобает всякому разумному робототехнику, я не считаю себя таковым»). Начинал он как физик. «Из меня вышел скверный физик, – сказал он мне недавно. – Но я не сдавался, перебрался в Лос-Аламос и там подумал: пусть Нобелевская премия мне не светит, но я все еще могу быть ученым». Все те, кто был причастен к физике и ориентировался на романтические образы Фейнманов и творцов Манхэттенского проекта, понимали, что наша карьера в лучшем случае связана с работой над каким-нибудь проектом в ЦЕРНе на протяжении пятнадцати лет. Этот проект либо провалится, и наших заслуг никто не отметит, либо окажется успешным, и в таком случае нас причислят к сонму популярных авторов (за номером 300) и дадут должность доцента где-нибудь в Айове.
«Большинство моих соратников рванули на Уолл-стрит и занялись махинациями, это они раздули ипотечный пузырь. Другие взялись за развитие интернета. Мы создавали интернет, связывая физические лаборатории; потом возникла Всемирная паутина; потом мы – первыми – стали обрабатывать большие данные. У нас были суперкомпьютеры «Cray», по мощности вполовину слабее нынешних смартфонов, но для своего времени это были суперкомпьютеры. На досуге мы почитывали журнал «Wired», который появился в 1993 году, и сообразили, что вот инструмент, посредством которого мы, ученые, можем облагодетельствовать всех на свете. Интернет был не просто способом обмена научными данными, это была сногсшибательная культурная революция. Поэтому, когда издательство «Конде Наст» предложило мне возглавить журнал, я немедленно согласился. Этот журнал изменил мою жизнь».
На тот момент у Криса было пятеро детей – все поклонники видеоигр, – что и подтолкнуло его к «летающим роботам». Постепенно он забросил свою работу в «Wired». Остальное – уже история Силиконовой долины.
Жизнь
Комар сначала улавливает мой запах с расстояния в тридцать футов. Запах активирует его функцию преследования, которая представляет собой комбинацию простейших возможных правил. Двигайся в случайном направлении. Если запах станет сильнее, продолжай движение в том же направлении. Если запах ослабеет, двигайся в противоположном направлении. Если запах вообще пропадает, смени направление движения и продолжай искать. Повторяй, пока контакт с целью не состоится.
«Шлейф» моего запаха плотнее всего рядом со мной и рассеивается по мере распространения, а незримый «кокон» частиц над моей кожей витает, точно дым на ветру. Чем ближе к коже, тем выше плотность частиц; чем дальше, тем реже «кокон». Такое постепенное уменьшение называется градиентом, и данная характеристика описывает все постепенные переходы с одного уровня на другой; ее противоположностью является «шаговая функция», отражающая дискретные изменения.
Когда комар по этому градиенту приближается к источнику запаха, используя простой алгоритм поиска, он садится на кожу, которую воспринимает через детекторы тепла в своих лапках, настроенных на другой градиент – температуру. Далее он проталкивает острый, как игла, хоботок сквозь поверхность кожи, и третий набор датчиков в хоботке обнаруживает еще один градиент – плотность крови. Этот гибкий хоботок движется под поверхностью кожи, а запах крови ведет его к капилляру, который хоботок пронзает. Моя кровь начинает перетекать в тело комара. Миссия выполнена. Уф!
Нам кажется, что насекомые обладают неким радаром, позволяющим ориентироваться в темноте, а источники крови они отыскивают с интеллектом, который невозможно соотнести с их крохотным мозгом, но на самом деле всему причиной чрезвычайно чувствительный «нос» при практически полном отсутствии интеллекта. Вообще-то, комары по разумности ближе к растениям, реагирующим на солнечный свет, чем к управляемым ракетам. Но все-таки, применяя простое правило «следуй за своим носом» в буквальном смысле, они способны перемещаться по дому в поисках еды, проникать сквозь щели в дверях и занавесях и даже выцелить крошечный открытый участок кожи между шляпой и воротником рубашки. Все сводится к случайным перемещениям, при которых гибкие крылья и лапки избавляют насекомых от контактов с препятствиями, и инстинктивному поиску химического градиента.
Впрочем, «спуск по градиенту» – нечто намного большее, чем ошибка навигации. Оглядитесь вокруг – вы обнаружите его примеры повсюду, в элементарных физических законах Вселенной и в самом продвинутом искусственном интеллекте.
Вселенная
Мы живем в мире бесчисленных градиентов, от света и тепла до гравитации и химических следов («хемоследов»!). Вода по градиенту силы тяжести стекает вниз, наши тела питаются химическими растворами, концентрация которых в клеточных мембранах варьируется от высокой до низкой. Каждое действие во Вселенной подчиняется градиентному принципу, будь то движение планет согласно гравитационным градиентам или взаимное притягивание атомов по градиенту электрического заряда для формирования молекул. Наши собственные побуждения, скажем, голод или сонливость, подвластны электрохимическим градиентам в наших телах. А функции нашего мозга, электрические сигналы по ионным «каналам» в синапсах между нейронами, суть просто атомы и электроны, «стекающие» под воздействием еще большего количества электрических и химических градиентов. Забудем об аналогиях с часами; наш мозг ближе к системе каналов и шлюзов, и сигналы, подобно воде, перетекают из одного состояния в другое.
Набирая эти строки на компьютере, я в действительности ищу равновесные состояния в n-мерной топологии градиентов. Возьмем всего один: тепло. Температура моего тела выше температуры воздуха, поэтому я излучаю тепло, которое подлежит восполнению в моем «ядре». Даже бактерии в пищеварительном тракте используют некие датчики для измерения концентрации сахара в окружающей жидкости и размахивают своими жгутиками, стараясь плыть «вверх по течению», где запас сахара наиболее велик. Естественное состояние всех систем состоит в том, чтобы снижать расход энергии, и этот процесс в целом описывается через явление энтропии (тенденции объектов мироздания переходить из упорядоченных состояний в неупорядоченные; рано или поздно все распадается – Вселенная в том числе).
Но как объяснить более сложное поведение, например нашу способность принимать решения? Ответ тоже заключается в спуске по градиенту.
Наш мозг
При всем великолепии и поразительной непостижимости человеческого интеллекта наука снова и снова приходит к выводу, что наш мозг функционирует подобно любой другой сложной и многослойной системе с циклами обратной связи, которые ориентируются на выполнение, выражаясь математически, «функции оптимизации». С тем же успехом можно рассуждать – хотя бы в некотором смысле – о «движении под горку».
Суть интеллекта заключается в обучении, и мы обучаемся через сопоставление входных данных с положительными или отрицательными реакциями (наградами или наказаниями). Так, для ребенка «этот звук» (голос матери) связывается с матерью благодаря прочим усвоенным ощущениям, скажем, сытостью и комфортом. Точно так же «это движение» мышц приближает мой большой палец ко рту. Со временем, методом проб и ошибок, нейронная сеть мозга фиксирует и усиливает эти связи. А вот движение мышц, которое не приближает большой палец ко рту, представляет собой негативную корреляцию, и мозг ослабит данную связь.
Конечно, я сильно упрощаю. Пределы градиентного спуска составляют так называемую проблему локальных минимумов (или проблему локальных максимумов, если налицо не спуск, а подъем по градиенту). Когда вы попадаете в горы и вам захотелось вернуться на равнину, постоянно двигаться вниз ошибочно: да, скорее всего, вы спуститесь в долину, но вряд ли перевалите через следующую гору, отделяющую эту долину от вашего дома. Для достижения цели понадобится либо ментальная модель (то есть карта) топологии, чтобы знать, куда подняться для выхода из долины, либо умение переключаться туда и обратно между градиентным спуском и случайными перемещениями, чтобы вы могли покинуть горы.
Так, собственно, и поступает комар, привлеченный моим запахом: он спускается, когда улавливает мой «шлейф», и совершает случайные движения, когда теряет след или натыкается на препятствие.
Искусственный интеллект
Такова природа. А что насчет компьютеров? Традиционное программное обеспечение работает иначе, следует детерминированным правилам жесткой логики: «Если так, то делаем вот так». Но программное обеспечение, взаимодействующее с физическим миром, демонстрирует склонность функционировать по законам физического мира. Это подразумевает «шумные» входы (сигналы датчиков или человеческое поведение) и вероятностные, а не детерминированные результаты. А потому, что вполне ожидаемо, перед нами очередной спуск по градиенту.
Программное обеспечение ИИ является здесь наилучшим примером, в особенности у тех разновидностей ИИ, которые используют искусственные модели нейронных сетей (включая сверточные или «глубинные» нейронные сети многих уровней). Типичный процесс «обучения» в данном случае состоит из демонстрации множества примеров какого-либо предмета или явления (допустим, изображений кошек с подписью «кошка») заодно со случайно выбранными примерами другого рода (изображениями прочих предметов и явлений). Это так называемое «контролируемое обучение», поскольку нейронная сеть обучается на подобранных примерах, и оно подразумевает «состязательное обучение» на основе распознавания данных, которые не релевантны желаемому результату.
Такие нейронные сети, как и их биологические прообразы, объединяют в слои тысячи узлов («нейронов» – по аналогии с нашим мозгом), каждый из которых связан со всеми узлами в слоях выше и ниже; изначально все соединения обладают разной, случайной силой. Слой выше образуют данные, а слой ниже – правильные ответы. Любая последовательность соединений, ведущая к правильному ответу, усиливается («вознаграждается» или «поощряется»), а ошибочная последовательность ослабляется («наказывается» или «штрафуется»). Если повторить эту процедуру десятки тысяч раз, мы получим сеть, полностью обученную оперированию конкретными данными.
Можно трактовать все возможные комбинации связей как поверхность планеты, с холмами и долинами. (Здесь несущественно то, что поверхность всего лишь трехмерна, а фактическая топология многомерна.) Оптимизация, которую осуществляет сеть в ходе обучения, есть просто процесс поиска самой глубокой долины на поверхности планеты. Процедура состоит из следующих шагов:
1. Определить «функцию издержек», характеризующую эффективность решения задачи.
2. Запустить процесс и оценить его выполнение при указанных издержках.
3. Изменить значения связей и запустить процесс повторно. Различие между двумя результатами будет направлением, или «наклоном», в котором сеть перемещалась между двумя испытаниями.
4. Если налицо движение «под уклон», изменить соединения необходимым образом. Если налицо движение «в гору», изменить их противоположным образом.
5. Повторять до тех пор, пока не будет зафиксировано улучшение в любом направлении. Оно будет означать, что мы достигли минимума.
Отлично! Но это, вероятно, лишь локальный минимум (так сказать, первый шаг по горам), и нужно двигаться дальше, если мы хотим добиться большего. Продолжать спуск невозможно, нам неизвестно местонахождение самой низкой точки, и придется как-то ее отыскать. Существует множество способов это сделать; вот несколько из них:
1. Повторять процедуру много раз, меняя параметры случайным образом и фиксируя результат каждого испытания; по сути, мы «встряхиваем» систему и проверяем, не опустится ли она ниже. Если во время какого-то испытания будет обнаружена более глубокая долина, следует отталкиваться от этих параметров.
2. Нужно не просто двигаться под уклон, а еще спотыкаться как пьяный (это так называемый «стохастический спуск по градиенту»). Если делать это достаточно долго, в конечном счете обнаружится дно. Чем не метафора жизненного пути?
3. Просто искать «любопытные» функции, которые выделяются разнообразием (скажем, предельных значений или изменений цвета). Предупреждение: такой способ способен привести к безумию – чрезмерная «любопытность» побуждает сеть создавать оптические иллюзии. Так что нужно сохранять здравомыслие и обращать пристальное внимание на признаки, предположительно реальные по своей природе, а не на артефакты и ошибки. Это «регуляризация» системы, которую возможно реализовывать различными способами – например, устанавливать, выявлялись (усваивались) ли подобные признаки ранее, определять, «высокочастотны» они (по аналогии со звуковыми колебаниями) или «низкочастотны» (тяготеющие к непрерывности, как реальные признаки реального мира), и т. д.
Только потому, что системы ИИ порой достигают локальных минимумов, не следует делать вывод, будто в силу этого они менее похожи на естественные. Люди – не исключено, все формы жизни вообще – частенько застревают на локальных минимумах.
Возьмем наше понимание игры в го, которую люди изучали, осваивали и оптимизировали на протяжении тысячелетий. ИИ понадобилось менее трех лет, чтобы сообразить, что мы все время играли неправильно, что существуют лучшие, почти «инопланетные» тактики игры, которые мы никогда не рассматривали – прежде всего потому, что наш мозг не обладает «процессорной мощностью» на просчет стольких ходов вперед.
Даже в шахматах, которые значительно проще и которые считались давно понятными, «брутфорсные» машины способны одолеть нас с использованием наших собственных стратегий. Шахматы, когда их изучили системы искусственного интеллекта на основе нейронных сетей, тоже, как выяснилось, предполагают совокупность «чуждых» стратегий выигрыша, которые мы никогда не рассматривали (скажем, пожертвовать ферзем в дебюте партии, чтобы получить неочевидное долговременное преимущество). Такое впечатление, будто до сих пор мы играли в двумерные версии игр, а на самом деле измерений намного больше.
Если что-то из сказанного выше звучит знакомо, причина в том, что физика пытается преодолеть эти топологические трудности вот уже многие десятилетия. Идея многомерного пространства и сведение математики к постижению геометрии и взаимодействий «мембран», недоступных нашим чувствам, – таков предел, за который уходят после смерти приверженцы великой теории всего на свете. В отличие от многомерной теоретической физики, ИИ есть то, с чем можно экспериментировать в реальности.
Вот что мы собираемся сделать. Следующие несколько десятилетий ознаменуются прорывными исследованиями способов мышления, которые не удалось обнаружить за 7 миллионов лет эволюции. Мы собираемся оставить за спиной локальные минимумы и отыскать более глубокие минимумы, возможно, даже глобальные. Когда это произойдет, мы, быть может, научим машины разумности комаров – навсегда понизив космические градиенты до конечной цели, какой бы та ни была.
Назад: Глава 13 Ввести человека в уравнение ИИ
Дальше: Глава 15 «Информация» по Винеру, по Шеннону и… И по нашим нынешним представлениям