В 1943 году Уоррен Маккалок и Уолтер Питтс показали, что можно построить цифровой компьютер с помощью простых двоичных элементов с заданным порогом, таких как перцептрон, который можно включить в компьютер в качестве элементарного логического вентиля. Теперь мы знаем, что мозг обладает смешанными аналоговыми и цифровыми свойствами и что нейронные сети обычно не вычисляют логические функции. Но в то время эта статья привлекла много внимания и, в частности, вдохновила Джона фон Неймана задуматься о компьютерах. Он построил один из первых цифровых компьютеров, в котором хранились программы, – необычный проект для математика того времени. Когда в 1957 году фон Нейман умер, Институт перспективных исследований не продолжил его начинание и выбросил компьютер.
Фон Нейман также интересовался мозгом. В своих Силлимановских лекциях в Йельском университете он размышлял о том, как мозг может надежно функционировать с такими ненадежными компонентами. Когда транзистор в цифровом компьютере допускает ошибку, весь компьютер может выйти из строя, но когда нейрон в мозге дает сбой, остальная часть мозга адаптируется к сбою и продолжает работать. Фон Нейман полагал, что причиной устойчивости мозга может быть запас «лишних» связей, так как в каждой операции участвует множество нейронов. Избыточность, как правило, нужна для резервной копии на случай отказа основной системы. Но сейчас мы знаем, что избыточность в мозге основана на разнообразии, а не на дублировании. Фон Неймана также волновала логическая глубина: сколько логических шагов может сделать мозг, прежде чем накопленные ошибки испортят результат. В отличие от компьютера, который может отлично выполнять каждый логический шаг, в мозге множество источников помех. Мозг не может достичь совершенства, но поскольку так много нейронов работают параллельно и одновременно, за каждый шаг он выполняет гораздо больше, чем компьютер, и ему требуется меньшая логическая глубина.
Сколько всего алгоритмов? Представьте себе пространство всех возможных алгоритмов. Каждая точка в пространстве – алгоритм, который что-то делает. Некоторые из них удивительно полезны и удобны. В прошлом их создавали вручную математики и программисты, трудясь как ремесленники в артели. Стивен Вольфрам автоматизировал процесс для клеточных автоматов путем полного перебора алгоритмов, начиная с самых простых, некоторые из которых выдавали очень сложные рисунки. Этот принцип обобщен в выведенном Вольфрамом правиле, которое гласит: вам не нужно углубляться в пространство алгоритмов, чтобы найти тот, что решает интересующий вас класс проблем. Примерно как отправлять ботов играть в StarCraft в Сети, чтобы опробовать все возможные стратегии. Согласно правилу Вольфрама, где-то во вселенной алгоритмов должна быть галактика алгоритмов, которые приведут к победе.
Вольфрам сосредоточился на пространстве клеточных автоматов – небольшой части в пространстве всех возможных алгоритмов. Теперь у нас есть подтверждение правила Вольфрама и в пространстве нейронных сетей. Каждая сеть глубокого обучения была найдена с помощью обучающего алгоритма, который представляет собой метаалгоритм для поиска новых алгоритмов. Для большой сети и большого набора данных обучение из разного исходного состояния может создавать галактику сетей, примерно одинаково хороших в решении проблемы. Встает вопрос, есть ли более быстрый способ найти область пространства алгоритма, чем градиентный спуск – медленный и требующий уйму данных. На такую возможность намекает то, что каждый вид представлен множеством отдельных особей, созданных вариантными последовательностями ДНК вокруг точки в пространстве живых алгоритмов, и природе удалось перепрыгнуть из одного множества в другое путем естественного отбора в результате скачкообразного процесса, называемого прерывистым равновесием, одновременно с локальным поиском случайных мутаций. Генетические алгоритмы были разработаны, чтобы совершать скачки, подобно тому, как в ходе эволюции в природе появляются новые организмы. Нам нужна математика для описания множества этих алгоритмов. Кто знает, как выглядит вселенная алгоритмов? Есть еще много галактик алгоритмов, которые мы еще не открыли, но можем найти с помощью автоматического поиска. Это последний рубеж.
Простому примеру такой обработки последовал Клаус Штифель, научный сотрудник моей лаборатории, использовавший алгоритм, который вырастил в компьютере нейроны со сложными дендритными деревьями. Дендриты подобны антеннам, которые собирают входные данные от других нейронов. Пространство возможных дендритных деревьев огромно, и цель состояла в том, чтобы указать желаемую функцию и найти в пространстве дендритных деревьев модельный нейрон, который вычислит функцию. Одно из полезных свойств – определять, в каком порядке сигналы поступают на вход: когда конкретный входящий сигнал приходит раньше другого, нейрон должен отправлять импульс, но если тот поступает позже, нейрон должен молчать. Такой модельный нейрон нашли перебором всех возможных дендритных деревьев с помощью генетического алгоритма, и решение выглядело как кортикальный пирамидальный нейрон с синапсом на тонком дендрите, выходящем снизу (базальный дендрит), и другим синапсом на толстом дендрите, выходящем из вершины (апикальный дендрит) (рис. 14.6). Возможно, это объясняет, почему пирамидальные клетки имеют апикальные и базальные дендриты, роль которых невозможно было бы представить без глубокого поиска в пространстве всех вероятных дендритов. Повторяя поиск для других функций, можно автоматически составить их словарь в зависимости от формы дендритов, и, обнаружив новый нейрон, просто сверяться со справочником, чтобы определить его потенциальные функции.
Стивен Вольфрам покинул университетские стены и возглавил компанию Wolfram Research, которая создала Mathematica – программу, поддерживающую широкий спектр математических структур и массово использующуюся для практических приложений. Mathematica написана на языке Wolfram – основном мультипарадигмальном языке программирования, который также поддерживает Wolfram Alpha – первая рабочая система вопросов и ответов для фактов о мире, основанная на символьном подходе.
В академических кругах валютой считаются опубликованные статьи, но когда вы независимый исследователь, то можете сами издавать свои книги. Это было нормой на протяжении многих столетий, когда стать ученым могли себе позволить только состоятельные или нашедшие богатых покровителей люди. Вольфрам написал книгу «Новый вид науки» в 2002 году. Она весила 2,5 кг и содержала 1280 страниц, из которых 348 страниц занимали примечания, равноценные сотне новых научных статей. Книга вызвала большой ажиотаж в прессе, но получила неоднозначный отклик у сообщества исследователей сложных систем – некоторые ученые считали, что их работе уделено мало внимания. Из-за этого терялся смысл книги, которая должна была поместить предыдущие труды в новый контекст. Карл Линней разработал современную систему классификации животных, став важным предшественником Дарвина, теория эволюции которого позволила связать предыдущие попытки упорядочить виды. Как отличить первопроходца от последователей? У первопроходцев стрелы в спине. По следу, который проложил Стивен Вольфрам, теперь идет новое поколение исследователей.
В 1980-х годах Стивен Вольфрам скептически относился к тому, что реальный мир будет тесно связан с нейросетями, и они не имели большого влияния еще 30 лет. Однако прогресс за последние пять лет изменил его мнение, и Стивен признал, что он, как и многие другие исследователи, недооценил то, что может быть достигнуто. Но кто мог предсказать, насколько хороши будут нейронные сети? Язык Wolfram, который используется в Mathematica, теперь поддерживает приложения для глубокого обучения, он и стал первым языком, который обеспечил онлайн-распознавание объектов на изображениях.
В 1987 году Стивен Вольфрам познакомил меня с Беатрис Голомб, когда я посещал Сан-Диего. В то время она работала над исследованиями для своей докторской диссертации. Стивен позвонил Беатрис – сказать, что она должна присутствовать на моем выступлении (она планировала, так как посещала еженедельные собрания «Параллельной и распределенной обработки»). И он позвонил мне – сказать, что его подруга Беатрис будет на моем выступлении (позже он позвонил нам, чтобы спросить, как все прошло). Несколько лет спустя я переехал в Сан-Диего, и мы с ней действительно обручились. В 1990 году, поженившись в «Атенеуме» в Калтехе, мы отправились в лекториум Бекмана на брачный симпозиум. Беатрис в свадебном платье выступила на тему «Брак: теория и практика». Моя лекция была о поддержании накала страстей в долгосрочной перспективе. Стивен с гордостью «покаялся», рассказав, как он нас познакомил. Беатрис отметила, что если он получил признание своих заслуг, то несет ответственность, а если он несет ответственность – то он им должен. Стивен увильнул от ответа.