К книге
Эти странные новые разумы: Как ИИ научился говорить и что это значит5. Истории о неожиданном.
15%
5. Истории о неожиданном.
8

В фильме 1993 года «День сурка» актер Билл Мюррей играет ворчливого ведущего прогноза погоды, который оказывается в небольшом городке в Пенсильвании, где он без особого энтузиазма ведет репортаж о том, как знаменитый сурок выбирается из норы. После того как город заносит снежной бурей, герой Мюррея вынужден заночевать в местной гостинице. Необъяснимым образом, проснувшись на следующее утро, он обнаруживает, что застрял во временной складке, в которой предыдущий день — 2 февраля — повторяется бесконечно, вплоть до мельчайших деталей. Каждый день он просыпается под один и тот же плейлист на местном радио и дословно воспроизводит каждый занудный разговор с горожанами. По ходу фильма одни и те же сцены в городке разыгрываются изо дня в день с умопомрачительным постоянством, пока — внимание, спойлер! — ворчливый главный герой наконец не встает на путь исправления (а это значит, как ни странно, что временной сброс ограничивается миром за пределами его собственного мозга).

Если бы наш мир походил на «День сурка» с его монотонным ежедневным повторением, жизнь была бы куда проще. Вы могли бы изо дня в день ходить по одному и тому же привычному маршруту, брать тот же кофе с яичницей в одной и той же закусочной и без конца повторять вчерашние разговоры, точно по часам. Ваш мозг мог бы запечатлеть эту незыблемую рутину в памяти, чтобы в нужный момент выдавать в точности требуемые реакции. Но в реальном мире никогда не знаешь, что ждет тебя за углом. Будничные дела вроде походов по магазинам, приготовления еды и болтовни с соседями привычны людям по всему свету, от Небраски до Намибии. Но даже в эти повседневные дела могут внезапно вмешаться непредвиденные трудности. Собрались в город за покупками — а главная дорога закрыта. Решили испечь хлеб — внезапно кончилась мука. Зашли проведать соседа — а он заболел. Жизнь непредсказуема: в отличие от «Дня сурка», ни одна поездка, задача или беседа никогда не бывают абсолютно одинаковыми.

Если мы хотим создать искусственный разум, способный функционировать за пределами лаборатории, он должен быть гибким — то есть уметь справляться с неожиданными препятствиями, которые подбрасывает наш хаотичный мир. Система ИИ, выбирающая варианты из ограниченного набора ответов, будет выдавать скучные, шаблонные или странно неуместные реплики. Ранние вспомогательные технологии, такие как печально известный помощник Microsoft Word из 1990-х годов по имени Скрепыш, раздражали неимоверно. Скрепыша, мультяшную канцелярскую скрепку с большими хитрыми глазами, высмеивали за то, что он постоянно прерывал работу дурацкими советами, напоминая до тошноты навязчивого коллегу. Да и сегодня голосовой помощник в вашем телефоне может оказаться не сильно лучше. Мы уже знаем, что символьные системы ИИ — такие как Универсальный решатель задач — с трудом справляются с бессистемным и непредсказуемым характером реального мира. Но в отличие от этих ранних искусственных систем, биологические организмы, судя по всему, в процессе эволюции научились с легкостью — и на четырех лапах — справляться с превратностями нашей сумбурной жизни.

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

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

Нейронная сеть — это разновидность статистической модели. Статистическая модель представляет собой численный инструмент, который можно использовать для аппроксимации набора данных и прогнозирования новых точек данных по мере их появления. Представьте, что я хочу создать приложение, которое прогнозирует время в пути между любыми двумя пунктами назначения в Великобритании. Я начну с «обучающих» данных — большой таблицы, где каждая строка описывает прошлую поездку, а столбцы представляют собой переменные, по которым можно прогнозировать время в пути, такие как пройденное расстояние (обычно обозначаемое как X), а также само время в пути (обычно Y). В процессе обучения нейронная сеть находит функцию, которая предсказывает Y на основе X. Эта функция представляет собой набор чисел (или весов — совсем как в перцептроне Розенблатта), которые при умножении на X и последующем сложении дают оценку Y. Веса сети изначально задаются случайным образом (с чистого листа), поэтому ее первые догадки оказываются совершенно далекими от истины, но с помощью метода под названием «градиентный спуск» веса постепенно обновляются, за счет чего прогнозы улучшаются. Градиентный спуск — это математический прием, использующий математический анализ, чтобы на основе обратной связи от текущего прогноза определить, как скорректировать веса, чтобы следующий прогноз оказался хотя бы немного точнее предыдущего.

В простейшей сети X может представлять собой список расстояний в километрах, а Y — список времени в пути в часах. Таким образом, наилучшим весом для прогнозирования Y на основе X будет одно-единственное число, соответствующее величине, обратной средней скорости поездки (то есть не км/ч, а обратному значению — часам на километр, или часам, деленным на километры). Сжав весь набор данных до одного параметра — одного веса, — я могу использовать его для прогнозирования новых наблюдений. Поездка из Ливерпуля в Кардифф может отсутствовать в обучающих данных, но поскольку я вывел значение веса 1/60 (что означает, что люди едут в среднем со скоростью 60 км/ч), я могу предсказать по расстоянию в 300 км, что путь займет около пяти часов. Эта способность делать успешные прогнозы для новых данных называется «обобщением».

Конечно, прогнозирование времени в пути на основе средней скорости всех поездок — подход крайне упрощенный, и поэтому такое приложение вряд ли пользовалось бы успехом. Разумеется, время, необходимое для того, чтобы добраться из точки А в точку Б, также зависит от того, час пик сейчас или полночь, едете ли вы по извилистым горным проселкам или несетесь по автомагистрали. Мы можем улучшить наши прогнозы, добавив больше переменных (таких как время суток и тип дороги) и подобрав веса для каждого из этих параметров поездки, прежде чем складывать их для получения окончательного прогноза. Именно так работал перцептрон Розенблатта, и для некоторых классов задач этот подход работает довольно неплохо. Однако одно из ограничений заключается в том, что для хороших прогнозов часто требуется знание того, как переменные взаимодействуют друг с другом (например, час пик замедляет движение по пятницам, но в воскресенье его может вообще не быть), а расчет независимых весов для каждого предиктора игнорирует эти нелинейные взаимодействия. Именно эту убийственную критику обрушил Минский на перцептрон, и именно по этой причине исследования нейронных сетей зашли в тупик более чем на десятилетие после 1970-х годов. Глубокие сети оказались успешными потому, что за счет включения множества слоев — в которых X последовательно преобразуется несколько раз — они способны выстраивать исключительно сложные нелинейные функции для отображения X на Y, что зачастую позволяет сети делать поразительно точные прогнозы по данным, которых она никогда раньше не видела.

Способность к обобщению закрепила за глубоким обучением статус доминирующего метода в исследованиях искусственного интеллекта. Научившись строить обобщаемую функцию отображения, глубокие сети могут классифицировать только что сделанные фотографии, переводить оригинальные предложения или выявлять скрытые аномалии на новых медицинских снимках. За последние десять лет были пройдены долгожданные рубежи. Поскольку они способны справляться с неожиданными игровыми ситуациями, глубокие сети теперь превосходят мировых экспертов в таких интеллектуальных играх, как го, покер и Stratego, и могут на равных соперничать с лучшими игроками мира в киберспортивных дисциплинах вроде StarCraft. Способность к обобщению — это также причина, по которой нейронные сети начали помогать ученым совершать научные прорывы. Одним из знаковых достижений стало то, что глубокие сети теперь способны точно предсказывать структуру новых белков по их ДНК-последовательности, открывая путь к лечению многих тяжелейших заболеваний (таких как муковисцидоз и болезнь Альцгеймера), возникающих из-за неправильного сворачивания белков. В других областях системы глубокого обучения подтолкнули ведущих мировых математиков к новым гипотезам в теории представлений, нашли способы ускорить вычисления на кремниевых чипах, помогли биомедикам открыть новые лекарства, повысили точность краткосрочных прогнозов погоды, способствовали выявлению устойчивых к болезням сортов основных сельскохозяйственных культур, привели к открытию новых экзопланет и научили физиков управлять плазмой с температурой в миллионы градусов внутри термоядерного реактора. Впечатляющий список областей человеческой деятельности, развивающихся благодаря глубокому обучению, продолжает расти с каждым днем.

Примерно так же можно представить себе и нейронную сеть, которая обитает между ушами кошки (или, если уж на то пошло, между вашими и моими ушами). Входные данные X — это воспринимаемая ею сенсорная информация, например запах курицы или шорох крысы в кустах. В нашем примере с приложением-навигатором каждая поездка уникальна — возможно, вы никогда прежде не ездили из Лондона в Бристоль во вторник ровно в 15:57. Точно так же и для кошки любая зрительная картина, каждый звук и каждый запах неуловимо отличаются от всего, что она воспринимала раньше. Тем не менее её мозг умеет обрабатывать каждое новое ощущение так, чтобы строить на его основе точные прогнозы. Даже если кошка никогда прежде не видела сороку, она по её птичьему силуэту поймет, что та улетит, если её спугнуть; и даже если на вас надета совершенно новая пара жёлтых резиновых сапог, она всё равно догадается, что энергичное «полирование» вашей обуви ускорит подачу ужина. Таким образом, наши нейронные сети обладают поразительной способностью переносить имеющиеся знания на новые прогнозы — то есть обобщать их, — и тем самым справляться с самым суровым вызовом, который бросает нам окружающий мир: с тем, что каждое мгновение каждого дня абсолютно неповторимо.

Предыдущая главаГлава 8 из 52Следующая глава