Шрифт:
Интервал:
Закладка:
Каждый из этих этапов провозглашался революционным шагом вперед по сравнению с предшествующими, но все они фактически подразумевали одно и то же, а именно – выводы из наблюдений. Как все перечисленные подходы связаны между собой, можно оценить по степени их масштабируемости, то есть по тому, насколько производительность машин каждого поколения зависит от сложности решаемых ими задач. Обыкновенный выключатель света и автомобиль с автоматическим управлением должны определять намерения оператора, но у первого всего два варианта выбора, тогда как у второго вариантов намного больше. Все этапы «бума ИИ» начинались с многообещающих демонстраций узкой применимости; а переходные этапы начинались с признания неспособности конкретных машин справиться со сложностью менее структурированных, практических задач.
Менее очевиден постоянный прогресс в освоении масштабирования. Этот прогресс опирается на технологическое различие между линейной и экспоненциальной функциями; само различие не было секретом еще на заре исследований ИИ, однако его последствия смогли оценить лишь много лет спустя.
В одном из основополагающих документов по теории интеллектуальных машин, в книге «Человеческое применение человеческих существ», Норберт Винер проделал великолепную работу по выявлению и описанию многих важных трендов развития общества, отметил людей, причастных к этим трендам, – и не переставал удивляться тому, с какой стати усилия этих людей принято считать значимыми. Самому Винеру приписывают создание кибернетики как научной дисциплины; лично я никогда не понимал, что это такое, но то, о чем не сказано в его книге, легло в основу прогресса в области ИИ. Эта история полезна в силу того эха, которое мы продолжаем слышать и сегодня.
Клод Шеннон появляется в книге Винера в эпизодической роли – в контексте рассуждений о перспективах игры в шахматы. Но в ту пору Шеннон не просто предавался теоретическим размышлениям: он закладывал основы цифровой революции. Будучи аспирантом в Массачусетском технологическом институте, он вместе с Вэниваром Бушем[132] работал над дифференциальным анализатором. Это один из последних великих аналоговых компьютеров, комната, битком набитая шестеренками и валами. Раздраженный трудностями, которыми сопровождалось решение задач таким образом, Шеннон в 1937 году взялся за диссертацию (возможно, до сих пор лучшую в этой области). Он показал, как можно проектировать электрические схемы для оценки произвольных логических выражений, тем самым заложив основы универсальной цифровой логики.
После окончания Массачусетского технологического института Шеннон изучал коммуникации в компании «БеллЛабс». Аналоговые телефонные звонки теряют в качестве звука с увеличением расстояния между собеседниками. Вместо того чтобы пытаться улучшить звук, Шеннон в 1948 году продемонстрировал, что при коммуникации с применением символов, а не стабильных величин, ситуация радикально меняется. Преобразование речевых сигналов в двоичные значения 1 и 0 – расхожий пример, но и многие другие наборы символов могут быть использованы (и используются) в цифровой связи. Важны не конкретные символы, а способность обнаруживать и исправлять ошибки. Шеннон обнаружил, что если шум выше порога (зависящего от конструкции системы), то ошибки будут наверняка. Но если шум ниже порога, то линейное увеличение физических ресурсов, репрезентирующих символ, приводит к экспоненциальному уменьшению вероятности ошибки при правильном приеме символа. Это правило было первым из тех, которые позднее сформировали пороговую теорему[133].
Такое масштабирование происходит настолько быстро, что вероятность ошибки фактически стремится к нулю. Каждый отправленный символ выступает множителем, а не слагаемым определенности, так что вероятность ошибки может составлять от 0,1 до 0,01 или до 0,001 и так далее. Это экспоненциальное уменьшение ошибок связи сделало возможным экспоненциальное увеличение пропускной способности коммуникационных сетей – и в конечном счете позволило понять, как должны поступать знания в системе ИИ.
На протяжении многих лет самым быстрым способом ускорения вычислений было ничегонеделание – мы просто ждали, пока компьютеры станут быстрее. Точно так же годы напролет проекты в области ИИ накапливали повседневные знания через кропотливый ввод фрагментов информации. Тут масштабирование невозможно; все происходит с той скоростью, с какой работают люди, вводящие данные. Но когда все телефонные звонки, газетные сообщения и почтовые сообщения очутились в интернете, каждый, кто делает что-то из перечисленного, превратился в генератор данных. Результат – экспоненциальная, а не линейная скорость накопления знаний.
Джон фон Нейман также может похвастаться камео в «Человеческом применении человеческих существ» – в разделе, посвященном теории игр. Здесь Винер упустил из вида ключевую роль фон Неймана для оцифровки вычислений. Аналоговая связь ухудшалась с увеличением расстояния, а вот аналоговые вычисления (вспомним дифференциальный анализатор) ухудшались со временем, накапливая ошибки в ходе работы. Фон Нейман представил в 1952 году исследование, равнозначное шенноновскому (они встретились в институте перспективных исследований в Принстоне) и показавшее, что возможно эффективно вычислять на ненадежном вычислительном устройстве при использовании символов вместо стабильных величин. Опять-таки, перед нами масштабирование с линейным увеличением физических ресурсов, репрезентированных в символике, а следствием стало экспоненциальное уменьшение частоты ошибок при шуме ниже порогового значения. Именно благодаря этому открытию удается вместить миллиард транзисторов в компьютерный чип, причем последний из них полезен ничуть не меньше первого в ряду. Итогом оказалось экспоненциальное увеличение производительности вычислений, что решило вторую базовую проблему в области ИИ – как обрабатывать экспоненциально возрастающие объемы данных.
Третья проблема, которую масштабирование помогло решить для ИИ, заключалась в разработке мышления без необходимости нанимать программиста для кодировки каждой отдельной задачи. Винер признавал важность обратной связи в машинном обучении, но упускал ключевую роль репрезентаций. Невозможно сохранить все возможные изображения в автомобиле с автоматическим управлением или все возможные звуки в компьютере, предназначенном для бесед; машины должны уметь обобщать на основании опыта. «Глубокая» часть глубинного обучения подразумевает не (ожидаемую) глубину понимания, а глубину математических сетевых слоев, используемых для прогнозирования. Оказалось, что линейное увеличение сетевой сложности ведет к экспоненциальному увеличению «выразительной» мощности сети.
Если вы потеряете свои ключи в комнате, их можно поискать. Если вы не уверены, в какой конкретно комнате они находятся, придется обойти все комнаты в доме. Если вы не уверены, в каком доме оставили ключи, придется обыскивать все помещения во всех зданиях города. Если вы сомневаетесь насчет города, вам предстоит обыскать все комнаты во всех зданиях во всех городах. В области ИИ такому поиску ключей соответствует беспилотный автомобиль, безопасно двигающийся по дороге общего пользования, или компьютер, правильно интерпретирующий устную команду, а комнаты, здания и города соответствуют всем вариантам, которые необходимо учитывать при программировании. Это так называемое проклятие размерности.
Избавиться от проклятия размерности помогает использование информации о задаче для ограничения условий поиска. Сами алгоритмы поиска не новы. Но применительно к сетям глубинного обучения они адаптируются в ходе работы