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