Может ли ИИ решить научную задачу?

МЕНЮ


Главная страница
Поиск
Регистрация на сайте
Помощь проекту
Архив новостей

ТЕМЫ


Новости ИИРазработка ИИВнедрение ИИРабота разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика

Авторизация



RSS


RSS новости


Разве ИИ в конце концов не сможет делать все?

В частности, учитывая его недавние неожиданные успехи, широко распространено мнение, что в конечном итоге ИИ сможет «делать все» или, по крайней мере, все, что мы делаем сейчас. Так что насчет науки? На протяжении веков мы, люди, добились постепенного прогресса, постепенно создавая то, что сейчас, по сути, является крупнейшим интеллектуальным зданием нашей цивилизации. Но, несмотря на все наши усилия, все еще остается множество научных вопросов. Так может ли теперь прийти ИИ и решить все из них?

На этот главный вопрос мы увидим, что ответ неизбежно и твердо отрицательный. Но это, конечно, не означает, что ИИ не может существенно помочь прогрессу науки. Например, на очень практическом уровне LLM предоставляют новый вид лингвистического интерфейса к вычислительным возможностям, которые мы так долго создавали в языке Wolfram Language . А благодаря своим знаниям «традиционной научной мудрости» студенты магистратуры часто могут обеспечить то, что можно назвать «автозаполнением» очень высокого уровня для заполнения «традиционных ответов» или «традиционных следующих шагов» в научной работе.

Но здесь я хочу обсудить, что представляет собой более глубокие вопросы об ИИ в науке. Три столетия назад наука была преобразована идеей представления мира с помощью математики. И в наше время мы находимся в процессе серьезной трансформации к фундаментальному вычислительному представлению мира (и да, именно в этом вся суть нашего вычислительного языка Wolfram Language). Так как же складывается ИИ? Должны ли мы думать о нем, по сути, как о практическом инструменте для доступа к существующим методам, или же он дает науке что-то принципиально новое?

Моя цель здесь — изучить и оценить, чего можно и чего нельзя ожидать от ИИ в науке. Я собираюсь рассмотреть ряд конкретных примеров, упрощенных, чтобы выявить суть того, что происходит (или не происходит). Я собираюсь поговорить об интуиции и ожиданиях, основанных на том, что мы видели до сих пор. И я собираюсь обсудить некоторые теоретические (и в некотором смысле философские) основы того, что возможно, а что нет.

Так что же я вообще подразумеваю здесь под «ИИ»? В прошлом все, что связано с серьезными вычислениями, часто считалось «ИИ», и в этом случае, например, то, что мы так долго делали с нашим вычислительным языком Wolfram Language , соответствовало бы критериям, как и все мои «рулиологические» исследования простых программ в вычислительная вселенная. Но здесь по большей части я собираюсь принять более узкое определение и сказать, что ИИ — это нечто, основанное на машинном обучении (и обычно реализуемое с помощью нейронных сетей), которое постепенно обучается на приведенных примерах. Часто я добавляю еще одну деталь: эти примеры включают либо большой массив научных текстов, созданных человеком, и т. д., либо корпус реального опыта о вещах, которые происходят в мире, или, другими словами, то, что в Помимо того, что ИИ является «сырой обучающейся машиной», он уже усвоил множество знаний, связанных с человеком.

Итак, мы сказали, что подразумеваем под ИИ. Итак, что же мы подразумеваем под наукой и «заниматься наукой»? В конечном счете, все дело в том, чтобы взять вещи, которые «где-то в мире» (и обычно в мире природы), и найти способы связать или перевести их в вещи, о которых мы можем думать или рассуждать. Но существует несколько довольно разных, общих «рабочих процессов» для фактического занятия наукой. Некоторые из них сосредоточены на предсказании: учитывая наблюдаемое поведение, предскажите, что произойдет; найти модель, которую мы можем явно сформулировать и описывающую, как будет вести себя система; Учитывая существующую теорию, определите ее конкретные последствия. Другие рабочие процессы больше связаны с объяснением: учитывая поведение, создайте для него понятную человеку историю; находить аналогии между различными системами или моделями. И все же другие рабочие процессы больше связаны с созданием вещей: обнаружить что-то, что имеет определенные свойства; обнаружить что-то «интересное».

Далее мы рассмотрим эти рабочие процессы более подробно и увидим, как они могут (или не могут) быть преобразованы (или проинформированы) с помощью ИИ. Но прежде чем мы углубимся в это, нам нужно обсудить кое-что, что нависает над любой попыткой «решить науку»: феномен вычислительной неприводимости .

Жесткий предел вычислительной неприводимости

Часто при занятиях наукой возникает большая проблема: найти основные правила, по которым функционирует та или иная система. Но предположим, что мы нашли эти правила и у нас есть формальный способ их представления, скажем, в виде программы. Тогда остается вопрос, какое значение эти правила означают для фактического поведения системы. Да, мы можем явно применять правила шаг за шагом и отслеживать, что происходит. Но можем ли мы одним махом просто «решить все» и узнать, как поведет себя система?

Для этого мы в каком-то смысле должны быть «бесконечно умнее» системы. Система должна пройти через все эти шаги, но каким-то образом мы можем «забежать вперед» и сразу же выяснить результат. Ключевая идея, которая в конечном итоге поддерживается на фундаментальном уровне нашим физическим проектом , заключается в том, что мы можем думать обо всем, что происходит, как о вычислительном процессе. Система выполняет вычисления, чтобы определить свое поведение. Мы, люди – или, если уж на то пошло, любые искусственные интеллекты, которые мы создаем – также должны выполнять вычисления, чтобы попытаться предсказать или «решить» такое поведение. Но принцип вычислительной эквивалентности гласит, что все эти вычисления в лучшем случае эквивалентны по своей сложности. А это означает, что мы не можем ожидать систематического «забегания вперед» и прогнозирования или «решения» системы; неизбежно требуется определенный несокращаемый объем вычислительной работы, чтобы выяснить, что именно будет делать система. Итак, как бы мы ни старались, с искусственным интеллектом или иначе, мы в конечном итоге будем ограничены в нашей «научной мощи» из-за вычислительной нередуцируемости поведения.

Но почему наука вообще возможна, учитывая вычислительную нередуцируемость? Ключевой факт заключается в том, что всякий раз, когда существует общая вычислительная неприводимость, существует также бесконечное количество очагов вычислительной сводимости. Другими словами, всегда существуют определенные аспекты системы, о которых можно сказать что-то, используя ограниченные вычислительные усилия. И это то, на чем мы обычно концентрируемся, «занимаясь наукой».

Но этому неизбежно есть пределы — и проблемы, которые упираются в вычислительную нередуцируемость. Иногда они проявляются в виде вопросов, на которые мы просто не можем ответить, а иногда в виде «сюрпризов», которых мы не предвидели. Но дело в том, что если мы хотим «решить все», мы неизбежно столкнемся с вычислительной нередуцируемостью, и просто не будет никакого способа — с помощью ИИ или каким-либо другим способом — сократить путь простого пошагового моделирования системы.

Однако здесь есть тонкость. Что, если все, о чем мы когда-либо хотим знать, — это вещи, связанные с вычислительной сводимостью? Большая часть науки и технологий была построена специально вокруг явлений, которые можно уменьшить с помощью вычислений. И именно поэтому такие вещи, как математические формулы, смогли добиться такого успеха в науке.

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

Как мы обсудим, ИИ потенциально может дать нам упрощенные способы поиска определенных областей вычислительной сводимости. Но всегда будет существовать вычислительная нередуцируемость, приводящая к неожиданным «сюрпризам» и вещам, до которых мы просто не можем быстро или «нарративно» добраться. Это когда-нибудь закончится? Нет. Всегда будет «еще многое, что можно открыть». Вещи, для достижения которых требуется больше вычислений. О существовании карманов вычислительной сводимости, о которых мы не подозревали. И в конечном итоге — ИИ или нет — вычислительная нередуцируемость — это то, что помешает нам когда-либо полностью «решить науку».

Во всем этом есть любопытный исторический резонанс . Еще в начале двадцатого века стоял большой вопрос, можно ли всю математику решить «механически». Однако появление теоремы Гёделя, казалось, доказало обратное. И теперь, когда мы знаем, что наука в конечном итоге также имеет вычислительную структуру, феномен вычислительной неприводимости – который, по сути, является усилением теоремы Гёделя – показывает, что он также не может быть «механически решен».

Однако мы все еще можем задаться вопросом, сможет ли математика (или наука), которую люди предпочитают изучать, жить исключительно в очагах вычислительной сводимости. Но в каком-то смысле основная причина того, что «математика сложна», заключается в том, что мы постоянно видим доказательства вычислительной нередуцируемости: мы не можем обойтись без вычислений. Это, например, не то, в чем хороши такие методы, как искусственный интеллект нейронных сетей (по крайней мере, без помощи таких инструментов, как Wolfram Language ).

Вещи, которые работали в прошлом

Прежде чем углубляться в детали того, что современный ИИ, основанный на машинном обучении, может делать «решение науки», кажется, стоит вспомнить кое-что из того, что работало в прошлом — не в последнюю очередь в качестве своего рода основы для того, что может сделать современный ИИ. теперь смогу добавить.

Я сам использую компьютеры и вычисления для научных открытий уже более четырех десятилетий. Мой первый большой успех пришел в 1981 году , когда я решил попробовать перечислить все возможные правила определенного вида (элементарные клеточные автоматы), а затем запустить их на компьютере и посмотреть, что они сделают:

Я предполагал, что при использовании простых базовых правил конечное поведение будет соответственно простым. Но в каком-то смысле компьютер этого не предполагал: он просто перечислял правила и вычислял результаты. И хотя я никогда не предполагал, что он там окажется, он смог «обнаружить» что-то вроде правила 30 .

Снова и снова я сталкивался с подобным опытом: я не понимаю, как какая-то система может делать что-то «интересное». Но когда я систематически пересчитываю возможности, вот оно: что-то неожиданное, интересное — и «умное» — эффективно обнаруженное компьютером.

В начале 1990-х годов я задавался вопросом, какой может быть простейшая универсальная машина Тьюринга. Я бы никогда не смог разобраться в этом сам. Машина, удерживавшая рекорд с начала 1960-х годов, имела 7 состояний и 4 цвета. Но компьютер позволил мне путем систематического перебора обнаружить машину с двумя состояниями и тремя цветами.

что в 2007 году была доказана универсальность (и да, это простейшая универсальная машина Тьюринга).

В 2000 году меня заинтересовало, какой может быть простейшая возможная система аксиом логики (булева алгебра). Самая простая из известных на тот момент операций включала 9 бинарных ( Nand ) операций. Но систематически пересчитывая возможности, я в итоге нашел единственную аксиому о шести операциях

(правильную которую я доказал с помощью автоматического доказательства теорем). Опять же, я понятия не имел, что это «где-то там», и уж точно никогда бы не смог построить это сам. Но просто путем систематического перебора компьютер смог найти, как мне показалось, очень «творческий» результат.

В 2019 году я проводил еще одно систематическое перечисление возможных правил переписывания гиперграфов , которые могли бы соответствовать структуре самого низкого уровня нашей физической вселенной . Когда я смотрел на сгенерированную геометрию, я чувствовал себя человеком, я мог примерно классифицировать то, что видел. Но были ли выбросы? Чтобы заняться наукой, я обратился к чему-то близкому к «современному искусственному интеллекту» — созданию пространственного графика визуальных изображений :

Признаковый пространственный сюжет зрительных образов

Чтобы интерпретировать это, нужен был я как человек, но да, были выбросы, которые были фактически «автоматически обнаружены» нейронной сетью, которая составляла график пространства признаков.

Приведу еще один пример – совсем иного рода – из своего личного опыта. Еще в 1987 году — в рамках создания версии 1.0 того, что сейчас называется Wolfram Language — мы пытались разработать алгоритмы для вычисления сотен специальных математических функций в очень широком диапазоне аргументов. В прошлом люди кропотливо вычисляли рядные аппроксимации для конкретных случаев. Но наш подход заключался в том, что мы использовали машинное обучение, тратя месяцы компьютерного времени на подгонку параметров в рациональные аппроксимации. Сегодня мы могли бы сделать что-то подобное с нейронными сетями, а не с рациональными аппроксимациями. Но в обоих случаях идея состоит в том, чтобы найти общую модель «мира», с которым мы имеем дело (в данном случае значения специальных функций), и попытаться изучить параметры модели на основе реальных данных. Это не совсем «научное решение», и оно даже не позволит «открыть неожиданное». Но это место, где «подобное ИИ» знание общих ожиданий относительно гладкости и простоты позволяет построить аналог научной модели.

Может ли ИИ предсказать, что произойдет?

Это не единственная роль науки, и в следующих разделах мы рассмотрим другие. Но исторически определяющей чертой успешной науки часто считается: может ли она предсказать, что произойдет? Итак, теперь мы можем задаться вопросом: дает ли ИИ значительно лучший способ сделать это?

В простейшем случае мы хотим использовать ИИ для индуктивного вывода. Мы вводим результаты ряда измерений, а затем просим ИИ предсказать результаты измерений, которые мы еще не проводили. На этом уровне мы рассматриваем ИИ как черный ящик; не имеет значения, что происходит внутри; нас волнует только то, даст ли ИИ правильный ответ. Мы могли бы подумать, что можем каким-то образом настроить ИИ так, чтобы он «не делал никаких предположений» и просто «следовал за данными». Но неизбежно, что в ИИ будет какая-то базовая структура, которая в конечном итоге заставит его принять некую модель данных.

Да, в этой модели может быть большая гибкость. Но по-настоящему «безмодельной модели» быть не может. Возможно, ИИ основан на огромной нейронной сети с миллиардами числовых параметров, которые можно настраивать. Возможно, даже архитектура сети может измениться. Но вся настройка нейронной сети неизбежно определяет конечную базовую модель.

Давайте рассмотрим очень простой случай. Давайте представим, что наши «данные» — это синяя кривая, возможно, представляющая движение груза, подвешенного на пружине, и что «физика» говорит нам, что это продолжается красной кривой:

Теперь возьмем очень простую нейронную сеть

и давайте обучим его , используя данные «синей кривой» выше, чтобы получить сеть с определенным набором весов:

Теперь давайте применим эту обученную сеть для воспроизведения наших исходных данных и их расширения:

И мы видим, что сеть неплохо воспроизводит данные, на которых она обучалась, но когда дело доходит до «предсказания будущего», она по сути терпит неудачу.

Так что же здесь происходит? Мы просто недостаточно долго тренировались? Вот что происходит при постепенном увеличении количества раундов обучения:

Не похоже, что это сильно помогает. Так что, возможно, проблема в том, что наша сеть слишком мала. Вот что происходит с сетями, имеющими ряд размеров:

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

И здесь есть кое-что примечательное — это подчеркивает идею о том, что «не существует моделей без моделей»: разные функции активации приводят к разным предсказаниям, а форма предсказаний, похоже, является прямым отражением формы функции активации. И действительно, никакого волшебства здесь нет; просто нейронная сеть соответствует функции, основными элементами которой являются функции активации.

Так, например, сеть

соответствует функции

где ? представляет собой функцию активации, используемую в этом случае.

Конечно, идея аппроксимации одной функции некоторой комбинацией стандартных функций чрезвычайно старая (вспомните: эпициклы и раньше). Нейронные сети позволяют использовать более сложные (и иерархические) комбинации более сложных и нелинейных функций и обеспечивают более упрощенный способ «подбора всех задействованных параметров». Но на фундаментальном уровне это та же самая идея.

И, например, вот некоторые приближения к нашим «данным», построенным с помощью более простых математических функций :

Их преимущество состоит в том, что довольно легко сформулировать, «что представляет собой каждая модель», просто «приведя ее формулу». Но, как и в случае с нашими нейронными сетями, здесь возникают проблемы с предсказаниями.

(Кстати, существует целый ряд методов для таких вещей, как прогнозирование временных рядов , включающих такие идеи, как « подгонка к рекуррентным отношениям », а в наше время использование нейронных сетей-трансформеров . И хотя некоторые из этих методов оказываются в состоянии чтобы хорошо уловить периодический сигнал, такой как синусоидальная волна, никто не ожидает, что они будут в целом успешными в точном прогнозировании функций.)

Хорошо, можно сказать, возможно, мы пытаемся использовать и обучать наши нейронные сети слишком узким способом. В конце концов, похоже, что для успеха ChatGPT было критически важно иметь большой объем обучающих данных обо всех видах вещей, а не только о какой-то узкой конкретной области. Однако, по-видимому, эти широкие данные обучения позволили ChatGPT изучить «общие закономерности языка и здравого смысла» , которые он просто не смог бы уловить из более узких данных обучения.

Так какой же для нас здесь аналог? Возможно, нам бы хотелось, чтобы наша нейронная сеть имела «общее представление о том, как работают функции» — например, знала о таких вещах, как непрерывность функций или, если уж на то пошло, периодичность или симметрия. Итак, да, мы можем пойти дальше и обучаться не только на конкретном «окне» данных, как мы делали выше, но и на целых семействах функций — скажем, наборах тригонометрических функций или, возможно, всех встроенных математических функциях в Wolfram. Язык.

И, разумеется, если мы это сделаем, мы наверняка сможем успешно предсказать приведенную выше синусоидальную кривую — так же, как если бы мы использовали традиционный анализ Фурье с синусоидальными кривыми в качестве основы. Но является ли это «занятием наукой»?

По сути, он говорит: «Я видел нечто подобное раньше, поэтому думаю, что именно это произойдет сейчас». И нет вопроса, который может быть полезен; на самом деле это автоматизированная версия типичной вещи, которую сможет сделать человек, имеющий опыт в какой-то конкретной области. Мы вернемся к этому позже. Но на данный момент главное заключается в том, что, по крайней мере, когда дело доходит до таких вещей, как прогнозирование функций, не похоже, что нейронные сети – и сегодняшние ИИ – могут каким-либо очевидным образом «видеть дальше», чем то, что входит в их создание и обучение. . Не существует «новой науки»; это просто довольно прямое «сопоставление с образцом».

Прогнозирование вычислительных процессов

Прогнозирование функции — особенно сложная задача, и можно представить, что «реальные процессы» — например, в природе — будут иметь более «окружающую структуру», которую ИИ мог бы использовать, чтобы получить «точку опоры» для прогнозирования. И в качестве примера того, что мы могли бы назвать «искусственной природой», мы можем рассмотреть вычислительные системы, такие как клеточные автоматы. Вот пример того, что делает конкретное правило клеточного автомата с определенным начальным условием:

Здесь смесь простоты и сложности. И как люди, мы можем легко предсказать, что произойдет в простых частях, но по сути не можем многого сказать о других частях. Так как же поступит ИИ?

Очевидно, что если наш «ИИ» сможет просто выполнить правило клеточного автомата, то он сможет предсказать все, хотя и с большими вычислительными затратами. Но реальный вопрос заключается в том, сможет ли ИИ сократить действия, чтобы делать успешные прогнозы, не выполняя всю эту вычислительную работу, или, другими словами, сможет ли ИИ успешно находить и использовать очаги вычислительной сводимости.

Итак, в качестве конкретного эксперимента давайте настроим нейронную сеть, чтобы попытаться эффективно предсказать поведение нашего клеточного автомата. Наша сеть по сути представляет собой простой, хотя и «современный» сверточный автокодировщик с 59 слоями и общим числом около 800 000 параметров:

Сверточный автоэнкодер

Обучение во многом похоже на степень магистра права. Мы получили множество примеров эволюции нашего клеточного автомата, затем показали сети «верхнюю половину» каждого из них и попытались заставить ее успешно продолжить это, предсказать «нижнюю половину». В конкретном эксперименте, который мы провели, мы привели 32 миллиона примеров эволюции клеточных автоматов размером в 64 клетки. (И да, это количество примеров ничтожно по сравнению со всеми возможными исходными конфигурациями.) Затем мы попробовали ввести «куски» эволюции клеточного автомата шириной 64 ячейки и длиной 64 шага — и посмотрели, какие вероятности сеть присваивает различным возможные продолжения.

Вот некоторые результаты для последовательности различных начальных условий:

И мы видим то, чего и следовало ожидать: когда поведение достаточно простое, сеть в основном понимает его правильно. Но когда поведение более сложное, сеть обычно не так хорошо с ним справляется. Он по-прежнему часто понимает это, по крайней мере, «смутно правильно», но деталей здесь нет.

Возможно, можно подумать, сеть просто не обучалась достаточно долго или на достаточном количестве примеров. И чтобы получить некоторое представление о эффекте дополнительных тренировок, вот как прогнозируемые вероятности меняются с последовательными четверть миллионами раундов обучения:

Их следует сравнить с точным результатом:

И да, чем больше тренировок, тем лучше, но к концу кажется, что лучше уже не станет. (Хотя кривая потерь действительно демонстрирует некоторые внезапные скачки вниз в ходе обучения, предположительно по мере того, как делаются «открытия», — и мы не можем быть уверены, что таких не будет больше.)

Чрезвычайно типично для машинного обучения то, что ему удается делать хорошую работу, делая все «примерно правильно». Но распознавание деталей — это не то, в чем машинное обучение обычно хорошо справляется. Поэтому, когда от этого зависит то, что кто-то пытается сделать, машинное обучение будет ограничено. И в задаче прогнозирования, которую мы здесь рассматриваем, проблема в том, что как только дела идут хоть немного не по плану, с этого момента все становится только хуже.

Определение вычислительной сводимости

Вычислительная сводимость находится в центре того, что мы обычно называем «занятием наукой». Потому что он не только позволяет нам делать прогнозы, но и позволяет нам выявлять закономерности, создавать модели и сжатые обобщения того, что мы видим, а также развивать понимание, которое мы можем уловить в своем сознании.

Но как мы можем найти вычислительную сводимость ? Иногда это очень очевидно. Например, когда мы визуализируем какое-то поведение (например, описанную выше эволюцию клеточного автомата) и сразу распознаем в нем простые особенности. Но на практике вычислительная сводимость может быть не столь очевидной, и нам, возможно, придется копаться во многих деталях, чтобы найти ее. И это место, где ИИ потенциально может очень помочь.

На каком-то уровне мы можем думать об этом как об истории «нахождения правильной параметризации» или «правильной системы координат». В качестве очень простого примера рассмотрим, казалось бы, совершенно случайное облако точек:

Просто повернув это конкретное облако точек под соответствующим углом, можно обнаружить очевидные закономерности :

Но есть ли общий способ выявить закономерности, если они есть? Есть традиционная статистика («Есть ли корреляция между А и Б?» и т. д.). Есть подгонка модели («Это сумма гауссиан?»). Существует традиционное сжатие данных («Оно короче после кодирования по длине?»). Но все это выявляет лишь весьма специфические закономерности. Так может ли ИИ сделать больше? Может ли он каким-то образом обеспечить общий способ обнаружения закономерностей?

Сказать, что кто-то обнаружил закономерность в чем-то, по сути, равносильно утверждению, что не нужно указывать все детали этой вещи: что существует сокращенное представление, на основе которого можно ее реконструировать. Так, например, учитывая закономерность «точки лежат на прямых» на картинке выше, нет необходимости отдельно указывать положения всех точек; надо только знать, что они образуют полосы с определенным разделением.

Хорошо, давайте представим, что у нас есть изображение с определенным количеством пикселей. Мы можем задаться вопросом, существует ли сокращенное представление, включающее меньше данных, из которого изображение можно эффективно реконструировать. А с нейронными сетями есть то, что можно было бы назвать уловкой для поиска такого уменьшенного представления.

Основная идея состоит в том, чтобы настроить нейронную сеть как автокодировщик, который принимает входные данные и воспроизводит их как выходные данные. Можно подумать, что это тривиальная задача. Но это не так, потому что входные данные должны проходить через внутренности нейронной сети, фактически «измельчаясь» в начале и «восстанавливаясь» в конце. Но дело в том, что при наличии достаточного количества примеров возможных входных данных потенциально возможно научить нейронную сеть успешно воспроизводить входные данные и работать в качестве автокодировщика.

Но теперь идея состоит в том, чтобы заглянуть внутрь автокодировщика и извлечь полученное им сокращенное представление. Поскольку данные передаются от слоя к слою в нейронной сети, она всегда пытается сохранить информацию, необходимую для воспроизведения исходного ввода. А если на слое меньше элементов, то, что присутствует на этом слое, должно соответствовать некоторому уменьшенному представлению исходного ввода.

Начнем со стандартного современного автокодировщика изображений , который был обучен на нескольких миллиардах изображений, типичных для того, что есть в Интернете. Подайте ему изображение кошки, и он успешно воспроизведет что-то похожее на исходное изображение:

Но посередине будет уменьшенное изображение с гораздо меньшим количеством пикселей, которое каким-то образом все же отражает то, что нужно кошке (здесь показано с разделенными четырьмя цветовыми каналами):

Мы можем думать об этом как о своего рода «модели черного ящика» для образа кошки. Мы не знаем, что означают элементы («особенности») модели, но каким-то образом она успешно отражает «суть картины».

Так что же произойдет, если мы применим это к «научным данным» или, например, к «искусственным естественным процессам», таким как клеточные автоматы? Вот случай, когда мы получаем успешное сжатие:

В данном случае все не так удачно:

И в этих случаях, когда в основе лежит вычислительная неприводимость, возникают проблемы:

Но в этой истории есть еще кое-что. Видите ли, автокодировщик, который мы используем, был обучен на «повседневных изображениях», а не на таких «научных изображениях». Таким образом, по сути, мы пытаемся смоделировать наши научные образы с помощью таких конструкций, как глаза и уши, которые часто встречаются на изображениях таких вещей, как кошки.

Так что же произойдет, если — как в случае с предсказанием клеточного автомата выше — мы обучим автокодировщик более конкретно тем типам изображений, которые нам нужны?

Вот две очень простые нейронные сети, которые мы можем использовать в качестве «кодировщика» и «декодера» для создания автокодировщика:

Теперь возьмем стандартный набор обучающих изображений MNIST и воспользуемся им для обучения автоэнкодера:

Каждое из этих изображений имеет размер 28x28 пикселей. Но в середине автоэнкодера у нас есть слой всего с двумя элементами. Это означает, что все, что мы просим его закодировать, должно быть сокращено до двух чисел:

И здесь мы видим, что, по крайней мере, для изображений, которые более или менее похожи на те, на которых он обучался, автокодировщику удается восстановить что-то, что выглядит хотя бы примерно правильно, даже после радикального сжатия. Однако если вы дадите ему другие типы изображений, он не будет таким успешным, вместо этого просто будет настаивать на том, чтобы реконструировать их так, чтобы они выглядели как изображения из его обучающего набора:

Хорошо, а как насчет обучения на изображениях клеточных автоматов? Давайте возьмем 10 миллионов изображений, сгенерированных по определенному правилу:

Теперь мы обучаем наш автоэнкодер на этих изображениях. Затем мы пытаемся передать ему похожие изображения:

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

Но даже несмотря на то, что нейронная сеть не может «серьезно преодолеть вычислительную неприводимость», она все равно может «делать полезные открытия», по сути, находя небольшие кусочки вычислительной сводимости и небольшие закономерности. Так, например, если мы возьмем изображения «шумных букв» и воспользуемся нейронной сетью, чтобы свести их к парам чисел, и используем эти числа для размещения изображений, мы получим «график пространства признаков с уменьшенным размером», который разделяет изображения. из разных букв:

Но рассмотрим, например, набор клеточных автоматов с разными правилами:

Вот как типичная нейронная сеть расположит эти изображения в «пространстве признаков»:

И да, благодаря этому почти удалось автоматически обнаружить четыре класса поведения , которые я определил в начале 1983 года. Но это не совсем так. Хотя в некотором смысле это трудный случай, во многом стоящий перед вычислительной неприводимостью. И существует множество случаев (подумайте: расположение периодической таблицы на основе свойств элементов; подобие потоков жидкости на основе числа Рейнольдса и т. д.), когда можно ожидать, что нейронная сеть войдет в карманы вычислительной сводимости и, по крайней мере, успешно перепросмотрит существующие научные открытия.

ИИ в нечеловеческом мире

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

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

А как насчет вопросов в науке? На одном уровне мы можем задаться вопросом, могут ли нейронные сети имитировать то, что делают ученые-люди. Но есть и другой уровень: возможно ли, что нейронные сети смогут напрямую определять, как ведут себя системы, скажем, в природе? Представьте, что мы изучаем какой-то физический процесс. Ученые-люди могли бы найти какое-то описание системы на человеческом уровне, скажем, в терминах математических уравнений. Но сама система просто делает то, что делает. И вопрос в том, сможет ли это уловить нейронная сеть.

И если нейронные сети «работают» над «человеческими задачами» только потому, что они архитектурно подобны мозгу, нет непосредственных причин думать, что они смогут улавливать «грубые естественные процессы», не имеющие ничего общего с мозгом. мозги. Так что же происходит, когда ИИ делает что-то вроде предсказания сворачивания белка?

Я подозреваю, что одна часть этой истории заключается в том, что хотя физический процесс сворачивания белка не имеет никакого отношения к человеку, вопрос о том, какие его аспекты мы считаем значимыми, имеет отношение. Мы не ожидаем, что нейронная сеть предскажет точное положение каждого атома (а в естественной среде атомы в белке даже не имеют точно фиксированных положений). Вместо этого мы хотим знать, например, имеет ли белок «правильную общую форму», с правильными «идентифицируемыми характеристиками» (например, с альфа-спиралями) или с правильными функциональными свойствами. И теперь это более «человеческие» вопросы — больше «глаза смотрящего» — и больше похожи на вопрос, например, считаем ли мы, люди, изображение кошки или собаки. Итак, если мы придем к выводу, что нейронная сеть «решает научную проблему» того, как сворачивается белок, это может быть, по крайней мере частично, просто потому, что критерии успеха, которые наш мозг («субъективно») применяет, являются чем-то таким же, что и нейронная сеть — с его архитектура, подобная мозгу, оказывается, способна дать результат.

Это немного похоже на создание изображения с помощью генеративного ИИ . На уровне базового зрительного восприятия человека это может выглядеть как что-то, что мы узнаем. Но если мы внимательно присмотримся к этому, мы увидим, что это не «объективно» то, что мы думаем:

С помощью «первопринципов физики» никогда не было практически осуществимо выяснить, как сворачиваются белки. Так что тот факт, что нейронные сети могут давать даже примерно правильные ответы, впечатляет. Так как они это делают? Значительная часть этого, несомненно, заключается в простом сопоставлении фрагментов белка с тем, что находится в обучающем наборе, а затем в поиске «правдоподобных» способов «сшить» эти фрагменты вместе. Но, вероятно, есть и что-то еще. Всем известны определенные «части закономерностей» в белках (такие как альфа-спирали и бета-листы). Но вполне вероятно, что нейронные сети эффективно подключаются к другим видам регулярности; они каким-то образом нашли очаги сводимости, о существовании которых мы даже не подозревали. И особенно, если снова и снова обнаруживаются лишь несколько очагов редуцируемости, они будут фактически представлять собой новые, общие «научные результаты» (скажем, некий новый тип часто встречающегося «мета-мотива» в структуре белка).

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

Но важным моментом является то, что наш мозг обычно «тренируется» только на данных, которые мы легко воспринимаем нашими органами чувств: мы видели эквивалент миллиардов изображений и слышали миллиарды звуков. Но у нас нет непосредственного опыта микроскопических движений молекул или множества видов данных, которые могут предоставить научные наблюдения и измерительные приборы.

Нейронная сеть, однако, может «вырастать» с очень разными «сенсорными переживаниями» — скажем, с непосредственным опытом «химического пространства», или, если уж на то пошло, « метаматематического пространства », или пространства финансовых транзакций, или взаимодействия между биологическими организмами. или что-то еще. Но какие возможности вычислительной сводимости существуют в таких случаях? По большей части мы не знаем. Мы знаем те, которые соответствуют «известным науке». Но хотя мы можем ожидать, что другие должны существовать, мы обычно не знаем, что они из себя представляют.

Будут ли они «доступны» нейронным сетям? Опять же, мы не знаем. Вполне вероятно, что если они будут доступны, то появится некое представление — или, скажем, визуализация, — в котором сводимость будет для нас «очевидна». Но есть много причин, по которым это может потерпеть неудачу. Например, сводимость может быть «визуально очевидной», но только, скажем, в 3D-объемах, где, например, сложно даже различить разные структуры пушистых облаков. Или, возможно, сводимость можно обнаружить только посредством некоторых вычислений, с которыми нейронная сеть не справится.

Неизбежно существует множество систем, которые демонстрируют вычислительную нередуцируемость и которые – по крайней мере в их полной форме – должны быть недоступны для любого «сокращенного метода», основанного на нейронных сетях или ином. Но мы спрашиваем, можно ли, если есть область вычислительной сводимости, уловить ее с помощью нейронной сети.

Но мы в очередной раз сталкиваемся с тем фактом, что не существует «безмодельных моделей». Нейронная сеть определенного типа легко сможет уловить определенные виды вычислительной сводимости; другой легко сможет захватить других. И да, вы всегда можете построить нейронную сеть, которая будет аппроксимировать любую конкретную функцию. Но для достижения некоего общего вида вычислительной сводимости мы просим гораздо большего — и то, что мы можем получить, неизбежно будет зависеть от базовой структуры нейронной сети.

Но предположим, что у нас есть нейронная сеть, которая позволяет успешно обеспечить сводимость вычислений в конкретной системе. Означает ли это, что он может предсказать все? Обычно нет. Потому что почти всегда вычислительная сводимость — это «просто карман», а «снаружи» есть множество вычислительной неприводимости — и «сюрпризов».

И действительно, похоже, это происходит даже в случае чего-то вроде сворачивания белка. Вот несколько примеров белков, которые мы воспринимаем как довольно простые структуры, и предсказания нейронной сети (желтый цвет) вполне согласуются с результатами физических экспериментов (серые трубки):

Но для белков, которые мы воспринимаем как более сложные структуры, согласие зачастую далеко не такое хорошее:

Все эти белки, по крайней мере, похожи на те, которые использовались для обучения нейронной сети. А как насчет очень разных белков, скажем, со случайной последовательностью аминокислот?

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

Решение уравнений с помощью ИИ

В традиционной математической науке типичная установка такова: вот несколько уравнений системы; решите их, чтобы узнать, как ведет себя система. А до появления компьютеров это обычно означало, что нужно было найти некую формулу решения в «замкнутой форме» . Но с компьютерами есть альтернативный подход: сделать дискретную «числовую аппроксимацию» и каким-то образом постепенно решить уравнения. Однако для получения точных результатов может потребоваться много шагов и много вычислительных усилий. Итак, вопрос: может ли ИИ ускорить это? И, в частности, может ли ИИ, например, перейти непосредственно от начальных условий уравнения к целому решению?

Давайте рассмотрим в качестве примера классическую часть математической физики: задачу трех тел . Учитывая начальные положения и скорости трех точечных масс, взаимодействующих посредством гравитации по закону обратных квадратов, по каким траекториям будут следовать эти массы? Здесь много разнообразия и часто много сложности, поэтому задача трех тел оказалась такой сложной :

Но что, если мы обучим нейронную сеть на множестве примеров решений? Сможет ли он тогда найти решение в каждом конкретном случае? Мы будем использовать довольно простую сеть «многослойный персептрон»:

Мы даем ему начальные условия, а затем просим его сгенерировать решение. Вот несколько примеров того, что он делает, правильные решения обозначены более светлыми фоновыми путями:

Когда траектории достаточно просты, нейронная сеть работает неплохо. Но когда ситуация усложняется, эффективность снижается. Как будто нейросеть «успешно запомнила» простые случаи, но не знает, что делать в более сложных случаях. И, в конце концов, это очень похоже на то, что мы видели выше в таких примерах, как предсказание эволюции клеточных автоматов (и, предположительно, также сворачивания белков).

И да, это снова история вычислительной неприводимости. Просить просто «получить решение» за один раз — значит фактически требовать полной вычислительной сводимости. И поскольку можно представить, что — если бы только знать, как это сделать — можно в принципе всегда получить «формулу замкнутой формы» для решения, это неявно предполагает вычислительную сводимость. Но на протяжении многих десятилетий я думал, что что-то вроде задачи трёх тел на самом деле полно вычислительной неприводимости.

Конечно, если бы нейронная сеть была способна «решить проблему» и немедленно генерировать решения, это фактически продемонстрировало бы вычислительную сокращаемость. Но на самом деле очевидный отказ нейронных сетей является еще одним доказательством вычислительной неприводимости в задаче трех тел. (Кстати, стоит отметить, что, хотя задача трех тел действительно демонстрирует чувствительную зависимость от начальных условий , это не основная проблема здесь; скорее, это фактическая внутренняя сложность траекторий.)

Мы уже знаем, что дискретные вычислительные системы, такие как клеточные автоматы, изобилуют вычислительной неприводимостью. И мы могли бы представить, что непрерывные системы, описываемые, например, дифференциальными уравнениями, будут иметь большую структуру, которая каким-то образом позволит им избежать вычислительной неприводимости. И действительно, поскольку нейронные сети (в их обычной формулировке) используют непрерывные числа, мы могли бы подумать, что они смогут каким-то образом проникнуть в структуру непрерывных систем, чтобы иметь возможность их предсказывать. Но почему-то кажется, что «сила вычислительной неприводимости» слишком сильна и в конечном итоге выйдет за пределы возможностей нейронных сетей.

Однако, несмотря на это, нейронные сети по-прежнему могут иметь большую практическую ценность при выполнении таких задач, как решение уравнений. Традиционные методы числовой аппроксимации имеют тенденцию работать локально и постепенно (хотя часто адаптивно). Но нейронные сети легче справляются с «гораздо большими окнами», в том смысле, что «знают более длинные промежутки поведения» и способны «перепрыгивать вперед» через них. Кроме того, когда приходится иметь дело с очень большим количеством уравнений (скажем, в робототехнике или системотехнике), нейронные сети обычно могут просто «принять все уравнения и сделать что-то разумное», тогда как традиционные методы фактически должны работать с уравнениями одно за другим. .

Задача трех тел включает в себя обыкновенные дифференциальные уравнения. Но вместо этого многие практические задачи основаны на уравнениях в частных производных (ЧДУ), в которых не только отдельные координаты, но и целые функции f [ x ] и т. д. изменяются со временем. И да, здесь тоже можно использовать нейронные сети, часто с существенной практической выгодой. Но как насчет вычислительной неприводимости? Многие из уравнений и ситуаций, наиболее изучаемых на практике (скажем, в инженерных целях), имеют тенденцию избегать этого, но в целом оно определенно присутствует (особенно, скажем, в таких явлениях, как турбулентность жидкости). А когда существует вычислительная нередуцируемость, нельзя в конечном итоге ожидать, что нейронные сети преуспеют. Но когда дело доходит до удовлетворения наших человеческих целей – как в других примерах, которые мы обсуждали – ситуация может выглядеть лучше.

В качестве примера рассмотрим предсказание погоды. В конце концов, речь идет о PDE для гидродинамики (и, да, есть и другие эффекты, связанные с облаками и т. д.). И в качестве одного из подходов можно представить прямое и вычислительное решение этих УЧП. Но другой подход заключался бы в том, чтобы нейронная сеть просто «изучила типичные закономерности погоды» (как это делали метеорологи старых времен), а затем заставила сеть (немного похоже на сворачивание белка) попытаться соединить эти закономерности, чтобы они соответствовали чему угодно. возникает ситуация.

Насколько это будет успешно? Вероятно, это будет зависеть от того, на что мы смотрим. Возможно, какой-то конкретный аспект погоды демонстрирует значительную вычислительную сократимость и вполне предсказуем, скажем, с помощью нейронных сетей. И если нас волнует именно этот аспект погоды, мы можем заключить, что нейронная сеть работает хорошо. Но если что-то, что нас волнует («Будет ли завтра дождь?»), не использует возможности вычислительной сводимости, то нейронные сети обычно не смогут это предсказать — и вместо этого не останется другого выбора, кроме как сделать явные вычисления и, возможно, непрактичная большая их часть.

ИИ для мультивычислений

До сих пор мы обсуждали в основном вопрос о том, может ли ИИ помочь нам «прыгнуть вперед» и сократить тот или иной вычислительный процесс. Но есть также множество ситуаций, когда вместо этого интерес представляет сокращение того, что можно назвать многовычислительным процессом , в котором на каждом этапе существует множество возможных результатов, и цель состоит, например, в том, чтобы найти путь к какому-то конечному результату.

В качестве простого примера многовычислительного процесса рассмотрим многоходовую систему, работающую со строками, где на каждом шаге мы применяем правила {A BBB, BB A} всеми возможными способами:

Учитывая эту ситуацию, мы можем задать такой вопрос: каков кратчайший путь от A до BABA? И в показанном здесь случае легко вычислить ответ, скажем, явно запустив алгоритм поиска пути на графе:

Существует множество видов проблем, которые следуют одной и той же общей схеме. Нахождение выигрышной последовательности игр в игровом графе . Поиск решения головоломки как последовательности ходов по графу возможностей. Нахождение доказательства теоремы по определенным аксиомам. Нахождение пути химического синтеза с учетом определенных основных реакций. И в целом решение множества задач NP, в которых возможны многие «недетерминированные» пути вычислений.

В приведенном выше очень простом примере мы легко можем явно сгенерировать целый многоходовой граф. Но в большинстве практических примеров график будет астрономически слишком большим. Таким образом, задача обычно состоит в том, чтобы выяснить, что следует предпринять, не прослеживая весь график возможностей. Один из распространенных подходов состоит в том, чтобы попытаться найти способ присвоить баллы различным возможным состояниям или результатам и следовать только путям с (скажем) самыми высокими баллами. В автоматизированном доказательстве теорем также принято работать «вниз от исходных предложений» и «вверх от окончательных теорем», пытаясь увидеть, где пути пересекаются посередине. И есть еще одна важная идея: если кто-то установил «лемму» о том, что существует путь от X к Y, то можно добавить X Y в качестве нового правила в набор правил.

Так чем же может помочь ИИ? В качестве первого подхода мы могли бы рассмотреть возможность использования чего-то вроде нашей многоходовой системы строк, описанной выше, и обучения того, что представляет собой ИИ языковой модели, для генерации последовательностей токенов, которые представляют пути (или то, что в математической ситуации будет доказательством). Идея состоит в том, чтобы передать ИИ набор допустимых последовательностей, а затем представить ему начало и конец новой последовательности и попросить его заполнить середину.

Мы будем использовать довольно простую трансформаторную сеть:

Затем мы обучаем его, предоставляя множество последовательностей токенов, соответствующих допустимым путям (где E является «конечным токеном»).

вместе с «отрицательными примерами», указывающими на отсутствие путей:

Теперь мы «подсказываем» обученной сети «префикс» того типа, который появился в обучающих данных, а затем итеративно запускаем «стиль LLM» (фактически при нулевой температуре, т.е. всегда выбирая «наиболее вероятный» следующий токен):

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

Как мы можем добиться большего? Одна из возможностей состоит в том, чтобы на каждом этапе сохранять не только токен, который считается наиболее вероятным, но и стек токенов, тем самым фактически создавая многоходовую систему, по которой «контроллер LLM» потенциально может перемещаться. (Можно представить это несколько причудливо как « квантовую LLM », которая всегда исследует множество путей истории.)

(Кстати, мы могли бы также представить себе обучение с использованием множества различных правил, а затем выполнение того, что равносильно обучению с нуля, и предоставление «предварительной подсказки», указывающей, какое правило мы хотим использовать в каждом конкретном случае.)

Одна из проблем этого подхода LLM заключается в том, что генерируемые им последовательности часто даже «локально неправильны»: следующий элемент не может следовать из предыдущего в соответствии с заданными правилами.

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

Как это на самом деле можно реализовать с помощью нейронных сетей? Один из подходов заключается в использовании двух кодировщиков (скажем, построенных на основе преобразователей), которые фактически генерируют два внедрения: одно для исходных узлов и одно для узлов назначения. Затем сеть объединяет эти внедрения и изучает «метрику», характеризующую расстояние между узлами:

Обучая такую сеть на многопутевой системе, которую мы обсуждали, предоставив ей несколько миллионов примеров расстояний от источника до пункта назначения (плюс индикатор того, бесконечно ли это расстояние), мы можем использовать сеть для прогнозирования части расстояния. матрица для многоходовой системы. И мы обнаруживаем, что эта предсказанная матрица похожа (но определенно не идентична) реальной матрице:

Тем не менее, мы можем представить себе попытку построить путь, в котором на каждом этапе мы вычисляем предполагаемые расстояния до пункта назначения, предсказанные нейронной сетью для каждого возможного пункта назначения, а затем выбираем тот, который «проходит дальше всех»:

Каждое отдельное движение здесь гарантированно будет правильным, и в конечном итоге мы действительно достигнем пункта назначения, БАБА, хотя и за несколько больше шагов, чем истинный кратчайший путь. Но даже несмотря на то, что мы не совсем нашли оптимальный путь, нейронная сеть сумела позволить нам, по крайней мере, несколько сократить наше «пространство поиска», расставив приоритеты узлов и проходя только красные края:

(Технический момент заключается в том, что конкретная нейронная сеть, которую мы здесь использовали, обладает свойством, заключающимся в том, что все пути между любой заданной парой узлов всегда имеют одинаковую длину, поэтому, если какой-либо путь найден, его можно считать «самым коротким». правило типа {A AAB, BBA B} не обладает этим свойством, и нейронная сеть, обученная этому правилу, может в конечном итоге найти пути, ведущие к правильному пункту назначения, но не такие короткие, как могли бы быть.)

Тем не менее, как это обычно бывает с нейронными сетями, мы не можем быть уверены, насколько хорошо это будет работать. Нейронная сеть может заставить нас уйти сколь угодно далеко «от пути» и даже привести нас к узлу, где у нас нет пути к месту назначения — так что, если мы хотим добиться прогресса, нам придется прибегнуть к чему-то вроде традиционного подхода. алгоритмический возврат.

Но, по крайней мере, в простых случаях этот подход потенциально может работать хорошо — и ИИ может успешно найти путь, который выиграет игру, докажет теорему и т. д. Но нельзя ожидать, что он будет работать всегда. Причина в том, что это столкнётся с многовычислительной неприводимостью . Точно так же, как в одном «потоке вычислений» вычислительная нередуцируемость может означать, что не существует ярлыка, позволяющего просто «пройти все этапы вычислений», так и в многопоточной системе многовычислительная неприводимость может означать, что не существует ярлыка, позволяющего просто «следовать всем потокам». вычислений», а затем увидеть, например, какие из них в конечном итоге сливаются с какими.

Но хотя в принципе такое и может произойти, происходит ли это на практике в интересующих нас, людей, случаях? В играх или головоломках мы склонны хотеть, чтобы «выиграть» было сложно, но не слишком сложно. И когда дело доходит до математики и доказательства теорем, кейсов, которые мы используем для упражнений или соревнований, мы тоже хотим, чтобы они были трудными, но не слишком сложными. Но когда дело доходит до математических исследований и границ математики, не приходится сразу ожидать подобных ограничений. В результате можно ожидать, что мы столкнемся лицом к лицу с многовычислительной неприводимостью, из-за чего искусственному интеллекту будет сложно оказать слишком большую помощь.

Однако у этой истории есть одно примечание, и оно связано с тем, как мы выбираем новые направления в математике. Мы можем представить себе метаматематическое пространство , образованное путем построения теорем из других теорем всеми возможными способами в гигантском многоходовом графе. Но, как мы обсудим ниже, большинство деталей этого процесса далеки от того, что люди-математики называют «заниматься математикой». Вместо этого математики неявно, кажется, занимаются математикой на «более высоком уровне», на котором они «грубо детализируют» эту «микроскопическую метаматематику» — так же, как мы могли бы изучать физическую жидкость в терминах сравнительно простой для описания непрерывной динамики, даже хотя «под» существует множество сложных молекулярных движений.

Так может ли ИИ помочь с математикой на этом уровне «гидродинамики»? Потенциально да, но в основном это касается помощи в написании кода. У нас есть что-то, что мы хотим выразить, скажем, в Wolfram Language . Но нам нужна помощь (в стиле LLM) в переходе от нашей неформальной концепции к явному вычислительному языку. И поскольку то, что мы делаем, следует структурным закономерностям того, что делалось раньше, мы можем ожидать, что нам поможет что-то вроде LLM. Но поскольку то, что мы выражаем, является «действительно новым», и поскольку наш вычислительный язык не включает в себя много «шаблонов», трудно представить, что ИИ, обученный на том, что было сделано раньше, сможет сильно помочь. Вместо этого нам, по сути, нужно сделать некоторые нередуцируемые в нескольких вычислениях вычисления, которые позволят нам исследовать какую-то новую часть вычислительной вселенной и рулиады.

Исследование пространств систем

«Можно ли найти систему, которая делает X?» Скажем, машина Тьюринга, которая работает очень долго, прежде чем остановиться. Или клеточный автомат, который растет, но очень медленно. Или, если уж на то пошло, химическое вещество с каким-то особым свойством.

Это несколько иной тип вопросов, чем те, которые мы обсуждали до сих пор. Речь идет не о том, чтобы взять какое-то конкретное правило и посмотреть, каковы его последствия. Речь идет об определении того, какое правило может существовать и иметь определенные последствия.

И при наличии некоторого пространства возможных правил одним из подходов является исчерпывающий поиск. И в каком-то смысле это, в конечном счете, единственный «по-настоящему беспристрастный» подход, который позволит обнаружить то, что еще предстоит открыть, даже если этого не ожидаешь. Конечно, даже при исчерпывающем поиске все равно нужен способ определить, соответствует ли конкретная система-кандидат заданному критерию. Но теперь это проблема прогнозирования вычислений, к которой применимы вещи, о которых мы говорили выше.

Хорошо, но можем ли мы сделать что-нибудь лучше, чем исчерпывающий поиск? И можем ли мы, например, найти способ выяснить, какие правила следует изучить, не рассматривая каждое правило? Один из подходов состоит в том, чтобы сделать что-то вроде того, что происходит в биологической эволюции путем естественного отбора: начать, скажем, с определенного правила, а затем постепенно изменять его (возможно, случайным образом), на каждом этапе сохраняя правило или правила, которые работают лучше всего, и отбрасывая их. другие.

Это не «ИИ», как мы его здесь определили (это больше похоже на «генетический алгоритм»), хотя он немного похож на внутренний цикл обучения нейронной сети. Но сработает ли это? Что ж, это зависит от структуры пространства правил — и, как видно из машинного обучения , оно имеет тенденцию работать лучше в пространствах правил более высокой размерности, чем в пространствах более низкой размерности. Потому что чем больше измерений, тем меньше шансов, что кто-то «застрянет в локальном минимуме», не сумев найти выход к «лучшему правилу».

И в целом, если пространство правил похоже на сложный фрактальный горный ландшафт, разумно ожидать, что можно будет добиваться прогресса постепенно (и, возможно, методы ИИ, такие как обучение с подкреплением, могут помочь уточнить, какие дополнительные шаги следует предпринять). Но если вместо этого оно будет совершенно плоским, скажем, где-то только с одной «дыркой» («стиль поля для гольфа»), нельзя ожидать, что «найдём дырку» постепенно. Так какова типичная структура пространств правил? Конечно, существует множество случаев, когда пространство правил в целом довольно велико, но количество измерений весьма скромно. И в таких случаях (примером является поиск небольших машин Тьюринга с большим временем остановки ) часто кажутся «изолированными решениями», которые невозможно достичь постепенно. Но когда измерений больше, кажется вероятным, что вычислительная неприводимость будет более или менее гарантировать наличие «достаточно случайного ландшафта», в котором инкрементные методы смогут хорошо работать, во многом то, что мы видели в машинном мире. учится в последние годы.

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

Давайте рассмотрим конкретный простой пример на основе клеточных автоматов. Скажем, мы хотим найти правило клеточного автомата, которое при развитии из начального состояния одной ячейки будет расти некоторое время, но затем исчезнет после определенного, точного количества шагов. Мы можем попытаться решить эту проблему с помощью очень минимального «эволюционного» подхода, подобного ИИ: начать со случайного правила, затем в каждом «поколении» создавать определенное количество «потомственных» правил, в каждом из которых случайно изменяется один элемент, а затем сохранять любое из них. является «лучшим» из этих правил. Если мы хотим найти правило, которое «живет» ровно 50 шагов, мы определяем «лучшее» как то, которое минимизирует «функцию потерь», равную расстоянию от 50 шагов, которое правило фактически «живет».

Например, предположим, что мы начинаем со случайно выбранного правила (трех цветов):

Наша эволюционная последовательность правил (здесь показаны только «результатные значения») может быть такой:

Если мы посмотрим на поведение этих правил, то увидим, что после неудачного старта им удается успешно эволюционировать и прийти к правилу, отвечающему критерию «прожить ровно 50 шагов»:

То, что мы показали здесь, — это особый, случайно выбранный «путь эволюции». Но что происходит с другими путями? Вот как развивается «потеря» (в течение 100 поколений) для набора путей:

И мы видим, что здесь есть только один «победитель», который достигает нулевых потерь; на всех остальных путях эволюция «застревает».

Однако, как мы упоминали выше, чем больше «измерений», тем меньше вероятность застрять. Так, например, если мы посмотрим на правила четырехцветного клеточного автомата, то теперь существует 64, а не 27 возможных элементов (или, по сути, измерений), которые можно изменить, и в этом случае многие пути эволюции «идут дальше».

и есть еще «победители», такие как:

Как нам здесь может помочь что-то вроде нейронных сетей? Поскольку мы можем использовать их для прогнозирования эволюции клеточных автоматов, они могут дать нам возможность ускорить вычисление потерь для каждого правила-кандидата — хотя, как мы видели в предыдущем разделе, вычислительная неприводимость, вероятно, будет ограничивать этот. Другая возможность заключается в том, что, как и в предыдущем разделе, мы могли бы попытаться использовать нейронные сети, чтобы указать, какие случайные изменения следует вносить в каждом поколении. Но хотя вычислительная нередуцируемость, вероятно, помогает сделать вещи «достаточно случайными», чтобы мы не застряли, она затрудняет работу чего-то вроде нейронной сети, которая успешно подскажет нам, «куда идти».

Наука как повествование

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

Феномен вычислительной неприводимости теперь показывает нам, что зачастую это в конечном итоге оказывается невозможным. Но всякий раз, когда есть возможность вычислительной сводимости, это означает, что существует некое сокращенное описание, по крайней мере, некоторой части происходящего. Но можно ли разумно ожидать, что человек поймет это сокращенное описание? Можно ли, например, кратко изложить это словами, формулами или языком вычислений? Если да, то мы можем думать об этом как об успешном «научном объяснении на человеческом уровне».

Так может ли ИИ помочь нам автоматически создавать такие объяснения? Для этого у него в каком-то смысле должна быть модель того, что мы, люди, понимаем, и как мы выражаем это понимание словами и т. д. Бесполезно говорить: «вот 100 вычислительных шагов, которые дают этот результат». Чтобы получить «объяснение на человеческом уровне», нам нужно разбить это на части, которые люди смогут усвоить.

В качестве примера рассмотрим математическое доказательство , полученное в результате автоматического доказательства теорем :

Автоматизированная таблица доказательства теорем

Компьютер может легко проверить правильность этого шага, поскольку каждый шаг следует из предыдущего. Но то, что мы имеем здесь, — это очень «нечеловеческая вещь», о которой не существует реалистичного «человеческого повествования». Так что же нужно, чтобы создать такое повествование? По сути, нам нужны «путевые точки», которые каким-то образом знакомы — возможно, известные теоремы, которые мы легко узнаем. Конечно, таких вещей может и не быть. Потому что у нас может быть доказательство, проходящее через « неизведанную метаматематическую территорию ». Таким образом, независимо от того, помогает ли ИИ или нет, человеческая математика в том виде, в каком она существует сегодня, может просто не иметь исходного материала, который позволил бы нам создать повествование на человеческом уровне.

На практике, когда между этапами доказательства существует довольно «короткое метаматематическое расстояние», вполне реально предположить, что можно дать объяснение на человеческом уровне. И то, что необходимо, очень похоже на то, что делает Wolfram|Alpha , когда выдает пошаговые объяснения своих ответов . Может ли ИИ помочь? Потенциально, используя такие методы, как наш второй подход к мультивычислениям с помощью ИИ, описанный выше.

И, кстати, наши усилия с Wolfram Language тоже помогают. Потому что вся идея нашего вычислительного языка состоит в том, чтобы зафиксировать «обычные блоки вычислительной работы» как встроенные конструкции — и в некотором смысле процесс разработки языка заключается именно в выявлении «усвояемых человеком маршрутных точек» для вычислений. Вычислительная неприводимость говорит нам, что мы никогда не сможем найти такие точки для всех вычислений. Но наша цель — найти ориентиры, которые отражают текущие парадигмы и текущую практику, а также определить направления и рамки для их расширения — хотя в конечном итоге «то, о чем мы, люди, знаем» — это то, что определяется состоянием человеческого знания в его историческом развитии. .

Доказательства и программы на вычислительном языке — два примера структурированных «научных повествований». Потенциально более простой пример, соответствующий математической традиции науки, — это чистая формула. «Это степенной закон». «Это сумма экспонент». И т. д. Может ли в этом помочь ИИ? Такая функция, как FindFormula, уже использует методы машинного обучения для сбора данных и попыток создать для них «разумную формулу».

Вот что он делает для первых 100 простых чисел:

Переходя к 10 000 простых чисел, мы получаем более сложный результат:

Или, скажем, мы задаем вопрос о связи между ВВП и населением стран. Тогда мы можем получить такие формулы:

Но что (если вообще что-то) означают эти формулы? Это немного похоже на этапы доказательства и так далее. Если мы не сможем связать то, что содержится в формулах, с тем, о чем мы знаем (будь то теория чисел или экономика), обычно будет трудно сделать из них какой-либо вывод. За исключением, пожалуй, некоторых редких случаев, когда можно сказать: «Да, это новый, полезный закон» — как в этом «выводе» третьего закона Кеплера (где 0,7 — довольно хорошее приближение к 2/3):

Есть еще более простой пример такого рода — распознавание чисел. Введите число в Wolfram|Alpha, и он попытается сказать вам, какими могут быть «возможные закрытые формы» этого числа:

Возможные закрытые формы 12.1234

Здесь есть всевозможные компромиссы, некоторые из которых очень информированы ИИ. Какова относительная важность правильного ввода большего количества цифр по сравнению с простой формулой? А как насчет использования в формуле простых чисел по сравнению с «более непонятными» математическими константами (например, ? в сравнении с числом Чамперноуна)? Когда мы создавали эту систему для Wolfram|Alpha 15 лет назад, мы использовали отрицательную логарифмическую частоту констант в математической литературе как показатель их «информационного содержания». С помощью современных методов LLM можно будет выполнить более целостную работу по поиску того, что можно назвать «хорошим научным повествованием» для числа.

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

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

А вот «промежуточные мысли», возникшие после прохождения примерно половины слоев сети:

Возможно, что-то здесь является «явным признаком кошачьего характера». Но это не часть нашего нынешнего научного лексикона, поэтому мы не можем с пользой использовать его для разработки «научного повествования», объясняющего, как следует интерпретировать изображение.

Но что, если бы мы могли свести наши изображения всего к нескольким параметрам, скажем, с помощью автокодировщика, о котором мы говорили выше? Возможно, мы могли бы настроить все так, чтобы в конечном итоге получить «интерпретируемые параметры» — или, другими словами, параметры, которым мы можем дать повествовательное объяснение того, что они означают. Например, мы могли бы представить себе использование чего-то вроде LLM для выбора параметров, которые каким-то образом совпадают со словами или фразами («заостренность», «фрактальное измерение» и т. д.), которые появляются в пояснительном тексте со всего Интернета. И да, эти слова или фразы могут быть основаны на аналогиях («в форме кактуса», «в форме перистых облаков» и т. д.) — и что-то вроде LLM может «творчески» придумать эти названия.

Но, в конце концов, нет ничего, что могло бы сказать о том, что область вычислительной сводимости, выбранная определенным автокодировщиком, сможет каким-либо образом быть согласована с концепциями (научными или другими), которые мы, люди, еще не исследовали или которым до сих пор дали слова. Действительно, в рулиаде в целом весьма вероятно, что мы окажемся в « интерконцептуальном пространстве » — неспособны создать то, что мы считаем полезным научным повествованием.

Однако это немного зависит от того, как мы ограничиваем то, на что смотрим. Мы могли бы неявно определить науку как исследование явлений, для которых мы — в какой-то момент — успешно разработали научное повествование. И в этом случае существование такого нарратива, конечно, неизбежно. Но даже при наличии фиксированного метода наблюдения или измерения в принципе неизбежно, что по мере нашего исследования вычислительная нередуцируемость приведет к «сюрпризам», которые вырвутся за рамки любого научного повествования, которое мы использовали. Другими словами, если мы действительно собираемся открыть новую науку, то — с искусственным интеллектом или нет — мы не можем ожидать научного повествования, основанного на ранее существовавших концепциях. И, возможно, лучшее, на что мы можем надеяться, — это то, что мы сможем найти очаги редуцируемости и что ИИ «поймет» достаточно о нас и нашей интеллектуальной истории, чтобы предложить управляемый путь новых концепций, которые нам следует научиться разрабатывать успешную научную версию того, что мы открываем.

Находим то, что интересно

Центральная часть занятий открытой наукой – это выяснение того, «что интересно». Допустим, вы просто перечисляете набор клеточных автоматов:

Те, которые просто вымирают или образуют однородные узоры, «не кажутся интересными». Когда кто-то впервые видит вложенный шаблон, сгенерированный клеточным автоматом, это может показаться интересным (как это произошло со мной в 1981 году ). Но довольно скоро это начинает казаться рутиной. И, по крайней мере, с точки зрения базовой рулиологии, в конечном итоге человек ищет «сюрприз»: качественно новое поведение, которого вы раньше не видели. (Если вас интересуют конкретные приложения, скажем, моделирование определенных систем в мире, то вместо этого можно рассмотреть правила с определенной структурой, независимо от того, кажется ли их поведение «абстрактно интересным» или нет.)

Тот факт, что можно ожидать «сюрпризов» (и вообще иметь возможность заниматься полезной, действительно открытой наукой), является следствием вычислительной нередуцируемости. И всякий раз, когда наблюдается «отсутствие неожиданности», это, по сути, признак вычислительной сводимости. И это делает вполне вероятным, что ИИ – и нейронные сети – смогут научиться распознавать по крайней мере определенные виды «аномалий» или «сюрпризов» и тем самым обнаруживать некую версию того, «что интересно».

Обычно основная идея состоит в том, чтобы нейронная сеть изучила «типичное распределение» данных, а затем идентифицировала выбросы относительно этого. Так, например, мы могли бы рассмотреть большое количество шаблонов клеточных автоматов, чтобы изучить их «типичное распределение», а затем построить проекцию этого на двумерное пространство признаков, указывая, где находятся определенные конкретные шаблоны:

Некоторые закономерности проявляются в тех частях распределения, где их вероятность высока, тогда как другие проявляются там, где вероятность низкая – и это выбросы:

Являются ли эти выбросы «интересными»? Ну, это зависит от вашего определения «интересного». И, в конце концов, это «в глазах смотрящего». Здесь «смотрящим» является нейронная сеть. И да, я бы выбрал не эти конкретные модели. Но по сравнению с «типичными моделями» они кажутся, по крайней мере, «несколько другими». И, по-видимому, это по сути история, подобная истории с нейронными сетями, которые различают изображения кошек и собак: нейронные сети выносят, по крайней мере, несколько схожие суждения с теми, что делаем мы, возможно, потому, что наш мозг структурно похож на нейронные сети.

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

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

Но ладно, «неожиданность» — один из потенциальных критериев «интересности». Но есть и другие. И чтобы понять это, мы можем посмотреть на различные виды конструкций, которые можно перечислить, и спросить, какие из возможных мы считаем «достаточно интересными», чтобы, например, изучить их, дать им конкретные имена, или записали их в реестры.

В качестве первого примера давайте рассмотрим семейство молекул углеводородов: алканы . Любая такая молекула может быть представлена в виде древовидного графа, узлы которого соответствуют атомам углерода и имеют валентность не более 4. Всего существует 75 алканов с 10 или меньшим количеством атомов углерода, и все они обычно появляются в стандартных списках химических веществ (и в нашей базе знаний Wolfram ). Но с 10 атомами углерода только некоторые алканы «настолько интересны», что они перечислены, например, в нашей базе знаний ( агрегируя различные реестры, можно найти больше алканов в списке, но по 11 атомам углерода по крайней мере 42 из 159 всегда кажутся «отсутствующими»). — и здесь не выделены):

Что заставляет некоторые из этих алканов считаться «более интересными» в этом смысле, чем другие? С практической точки зрения это вопрос того, изучены ли они, скажем, в научной литературе. Но что это определяет? Отчасти дело в том, «встречаются ли они в природе». Иногда — скажем, в нефти или угле — алканы образуются в результате «случайных реакций», в которых предпочтение отдается неразветвленным молекулам. Но алканы также могут производиться в биологических системах путем тщательного регулирования, скажем, с помощью ферментов. Но откуда бы они ни взялись, похоже, что более знакомые алканы кажутся «более интересными». А что насчет «сюрприза»? Будет ли «неожиданный алкан», скажем, полученный путем явного синтеза в лаборатории, считаться «интересным», вероятно, зависит в первую очередь от того, выявлено ли у него «интересные свойства». А это, в свою очередь, становится вопросом о том, как его свойства вписываются во всю сеть человеческих знаний и технологий.

Так может ли ИИ помочь определить, какие алканы мы считаем интересными? Традиционная вычислительная химия, возможно, ускоренная с помощью искусственного интеллекта, потенциально может определить скорость, с которой «случайно производятся» различные алканы. И в совершенно другом направлении, анализ научной литературы – скажем, с помощью LLM – потенциально может предсказать, насколько можно ожидать, что определенный алкан будет изучаться или обсуждаться. Или (и это особенно актуально для кандидатов на лекарства), существуют ли намеки на то, «если бы мы только могли найти молекулу, которая делает ___», которые можно почерпнуть из научной литературы.

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

Здесь имеется огромное количество «неинтересных» (и часто на первый взгляд очень педантичных) теорем. Но среди всех них есть два, которые настолько интересны, что в учебниках логики им обычно дают названия («законы идемпотентности»). Есть ли способ определить, будет ли теореме присвоено имя? Можно было бы подумать, что это чисто исторический вопрос. Но, по крайней мере, в случае с логикой, похоже, существует систематическая закономерность . Допустим, мы перечисляем теоремы логики, начиная с самых простых и продолжая в лексикографическом порядке. Большинство теорем в списке будут выведены из предыдущих. Но некоторые этого не сделают. И это, по сути, именно те , которым обычно даются имена (и они выделены здесь):

Или, другими словами, по крайней мере в довольно ограниченном случае базовой логики, теоремы, считающиеся достаточно интересными, чтобы дать им имена, — это те, которые «удивляют нас новой информацией».

Если мы посмотрим более широко на «метаматематическое пространство», мы сможем получить некоторое эмпирическое представление о том, где лежат теоремы, которые были «считаны интересными»:

Может ли ИИ предсказать это? Мы, конечно, могли бы создать нейронную сеть, обученную на основе существующей литературы по математике и нескольких миллионов сформулированных в ней теорем. И затем мы могли бы начать кормить эту нейронную сеть теоремами, найденными путем систематического перебора, и попросить ее определить, насколько они правдоподобны в качестве вещей, которые могут появиться в математической литературе. И в нашем систематическом переборе мы могли бы даже попросить нейронную сеть определить, какие «направления» могут быть «интересными» — как в нашем втором методе «обхода многопутевых систем с помощью ИИ» выше .

Но когда дело доходит до поиска «действительно новой науки» (или математики), здесь возникает проблема — потому что нейронная сеть, обученная на основе существующей литературы, по сути, будет искать «больше того же самого». Как и в случае с типичной рецензированием, «принимается» то, что является «основным» и «не слишком удивительным». А как насчет сюрпризов, которые неизбежно предполагает вычислительная неприводимость? По определению, их не удастся «легко свести» к тому, что видели раньше.

Да, они могут предоставить новые факты. И у них могут даже быть важные применения. Но зачастую – по крайней мере поначалу – не будет «доступного для человека повествования», которое «дойдет» до них. И для этого нам, людям, потребуется усвоить некую новую концепцию, которая в конечном итоге станет знакомой. (И да, как мы обсуждали выше, если какая-то конкретная новая концепция – или, скажем, новая теорема – кажется «связующим звеном» для достижения чего-либо, она становится целью для концепции, которую стоит «добавить».)

Но, в конце концов, существует определенный произвол, в котором мы хотим усвоить «новые факты» или «новые направления». Да, если мы идем в определенном направлении, это может привести нас к определенным идеям, технологиям или действиям. Но абстрактно мы не знаем, какое направление, в котором мы могли бы пойти, является «правильным» ; по крайней мере, на первый взгляд, это кажется квинтэссенцией человеческого выбора. Однако есть потенциальная морщина. Что, если наш ИИ будет знать достаточно о человеческой психологии и обществе, чтобы предсказывать, «чего нам хотелось бы»? На первый взгляд могло показаться, что тогда они смогут успешно «выбирать направления». Но вычислительная нередуцируемость снова блокирует нас — потому что в конечном итоге мы не можем «знать, что нам понравится», пока не «добьемся этого».

Мы можем связать все это с генеративным ИИ , например, для изображений или текста. Вначале мы могли бы представить себе перебор изображений, состоящих из произвольных массивов пикселей. Но абсолютно подавляющая часть из них будет нам совершенно не «интересна»; они будут выглядеть для нас как «случайный шум»:

Обучая нейронную сеть на миллиардах изображений, выбранных человеком, мы можем заставить ее создавать изображения, которые каким-то образом «в целом похожи на то, что мы находим интересным». Иногда созданные изображения будут узнаваемы до такой степени, что мы сможем дать «нарративное объяснение» того, «как они выглядят»:

Но очень часто мы оказываемся с изображениями «в межконцептуальном пространстве» :

Это «интересно»? Сложно сказать. Сканируя мозг смотрящего на них человека, мы можем заметить какой-то конкретный сигнал — и, возможно, ИИ сможет научиться это предсказывать. Но этот сигнал неизбежно изменится, если какой-то тип «интерконцептуального изображения» станет популярным и, скажем, начнет признаваться в качестве вида искусства, с которым люди знакомы.

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

То же самое и с наукой. Не существует абстрактного способа узнать, «что интересно» из всех возможностей рулиады; в конечном итоге это определяется выбором, который мы делаем при «колонизации» рулиады.

Но что, если вместо того, чтобы выходить в «дебри рулиады», мы остановимся рядом с тем, что уже сделано в науке и что уже «считается интересным»? Может ли ИИ помочь нам расширить то, что есть? С практической точки зрения — по крайней мере, когда он дополнен нашим вычислительным языком в качестве инструмента — ответ на каком-то уровне, безусловно, да. И, например, LLM должны иметь возможность создавать вещи, соответствующие шаблону академических работ, с элементами «оригинальности», исходящими из любой случайности, используемой в LLM.

Как далеко может зайти такой подход? Существующая научная литература, безусловно, полна дыр. Феномен A исследовался в системе X, а B в системе Y, но не наоборот и т. д. И мы можем ожидать, что ИИ – и LLM в частности – могут быть полезны в выявлении этих дыр и, по сути, в «планировании», чем является наука ( по этому критерию) интересно сделать. И помимо этого, мы можем ожидать, что такие вещи, как LLM, будут полезны в определении «обычных и привычных» путей развития науки. («Когда вы анализируете подобные данные, обычно приводят такой-то показатель»; «когда вы проводите подобный эксперимент, вы обычно готовите такую выборку» и т. д.) Когда дело доходит до на самом деле «занимаясь наукой», наши настоящие инструменты вычислительного языка — вместе с такими вещами, как экспериментальное оборудование с вычислительным управлением — предположительно будут тем, что обычно является более важным.

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

Но давайте подробнее поговорим о том, что изучать – или, по сути, что «интересно изучать». «Нормальная наука» имеет тенденцию стремиться к постепенному прогрессу, оставаясь в рамках существующих парадигм, но постепенно дополняя и расширяя то, что есть. Обычно наиболее плодородные районы находятся на границах существующих хорошо развитых территорий. На первый взгляд, совсем не очевидно, что различные области науки вообще должны в конечном итоге сочетаться друг с другом. Но, учитывая концепцию рулиады как окончательной базовой структуры, это начинает казаться менее удивительным. Тем не менее, чтобы действительно увидеть, как различные области науки могут быть «связаны вместе», часто приходится выявлять — возможно, поначалу весьма неожиданные — аналогии между очень разными описательными структурами. «Разрешимая теория в метаматематике подобна черной дыре в физике»; «понятия в языке подобны частицам в рутинном пространстве»; и т. д.

И это та область, где можно ожидать, что LLM будет полезным. Увидев «лингвистический образец» одной области, можно ожидать, что они смогут увидеть ее соответствие в другой области – потенциально с важными последствиями.

А как насчет свежих новых направлений в науке? Исторически сложилось так, что это часто было результатом применения какой-то новой практической методологии (скажем, проведения нового типа эксперимента или измерения) — которая открывала некое «новое место для поиска», куда люди никогда раньше не заглядывали. Но обычно одна из больших проблем состоит в том, чтобы признать, что то, что мы видим, на самом деле «интересно». И для этого зачастую фактически требуется создание какой-то новой концептуальной основы или парадигмы.

Так можно ли ожидать, что ИИ — как мы это обсуждали здесь — сделает это? Это маловероятно. ИИ, как правило, представляет собой нечто, обученное на существующем человеческом материале и предназначенное для прямой экстраполяции из него. Это не что-то созданное для того, чтобы «выйти в дебри рулиады», и далекое от всего, что уже связано с людьми.

Но в каком-то смысле это область «произвольных вычислений» и таких вещей, как простые программы, которые мы можем перечислять или выбирать случайным образом в рулиологии. И да, отправившись в «дебри рулиады», достаточно легко найти свежие, новые вещи, еще не усвоенные наукой. Однако задача состоит в том, чтобы связать их со всем, что мы, люди, в настоящее время «понимаем» или «находим интересным». И это, как мы уже говорили ранее, по сути, связано с человеческим выбором и недостатками человеческой истории. Существует бесконечное множество путей, по которым можно пойти. (И действительно, в « обществе ИИ » могут существовать ИИ, преследующие определенную их совокупность.) Но, в конце концов, то, что важно для нас, людей, и предприятия, которое мы обычно называем «наукой», — это наш внутренний опыт . И это то, что мы в конечном итоге должны сформировать для себя.

За пределами «точных наук»

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

Так может ли ИИ изменить это? Кажется, существуют некоторые интересные возможности, особенно в отношении новых видов «измерений», которые обеспечивает ИИ. «Насколько похожи эти произведения искусства?» «Насколько близки морфологии этих организмов?» «Насколько различны эти мифы?» Это вопросы, на которые раньше приходилось отвечать в основном при написании эссе. Но теперь ИИ потенциально дает нам возможность сделать такие вещи более определенными и в некотором смысле количественными.

Обычно ключевая идея состоит в том, чтобы выяснить, как взять «неструктурированные необработанные данные» и извлечь из них «значимые характеристики», с которыми можно обращаться формальными и структурированными способами. И главное, что делает это возможным, — это то, что у нас есть ИИ, обученные на больших корпусах, которые отражают «то, что типично для нашего мира» — и которые, по сути, сформировали определенные внутренние представления о мире, с точки зрения которых вещи могут Пример можно описать (как мы это сделали выше) списками чисел.

Что означают эти цифры? Вначале мы обычно понятия не имеем; это просто выходные данные какого-то кодировщика нейронной сети. Но важно то, что они определенны и повторяемы. При одних и тех же входных данных всегда будут получаться одни и те же числа. Более того, обычно, когда данные кажутся нам похожими, им, как правило, присваиваются близкие номера.

В такой области, как физика, мы ожидаем создания специальных измерительных устройств, которые будут измерять величины, которые мы «умеем интерпретировать». Но ИИ — это скорее черный ящик: что-то измеряется, но, по крайней мере, на начальном этапе у нас не обязательно есть какая-либо интерпретация этого. Иногда мы можем провести обучение, которое связывает какое-то известное нам описание, чтобы получить хотя бы приблизительную интерпретацию (как в случае анализа настроений). Но часто мы этого не делаем.

(И надо сказать, что нечто подобное может произойти даже в физике. Допустим, мы проверяем, царапает ли один материал поверхность другого. Предположительно, мы можем интерпретировать это как некую твердость материала, но на самом деле это всего лишь измерение , это становится значимым, если мы сможем успешно связать его с другими вещами.)

Одна вещь, которая особенно примечательна в «измерениях ИИ», — это то, как они потенциально могут выделять «маленькие сигналы» из больших объемов неструктурированных данных. Мы привыкли, что такие методы, как статистика, позволяют делать аналогичные вещи со структурированными числовыми данными. Но совсем другое дело — спросить на миллиардах веб-страниц, кто, скажем, дети, которые любят науку, обычно предпочитают кошек или собак.

Но, учитывая «измерение ИИ», что мы можем с ним делать? Все это пока не совсем ясно, но кажется, по крайней мере, возможным, что мы сможем начать находить формальные связи. Возможно, это будет количественная связь, включающая числа; возможно, это будет лучше представлено программой, описывающей вычислительный процесс, посредством которого одно измерение приводит к другим.

В течение некоторого времени в таких областях, как количественные финансы, было обычным явлением находить взаимосвязи между тем, что представляют собой простые формы «измерений ИИ», и беспокоиться главным образом о том, работают ли они, а не о том, почему они работают, или о том, как их можно описательно описать.

В каком-то смысле кажется довольно неудовлетворительным пытаться строить науку на измерениях ИИ в «черном ящике», которые невозможно интерпретировать. Но на каком-то уровне это всего лишь ускоренная версия того, что мы часто делаем, скажем, в повседневной речи. Мы подвергаемся каким-то новым наблюдениям или измерениям. И со временем мы придумываем слова для его описания («это похоже на фрактал» и т. д.). И тогда мы можем начать «рассуждать в терминах этого» и т. д.

Но измерения ИИ потенциально являются гораздо более богатым источником формализуемого материала. Но как нам осуществить эту формализацию? Вычислительный язык кажется ключевым. И действительно, у нас уже есть примеры в языке Wolfram Language, где такие функции, как ImageIdentity или TextCases (или, если уж на то пошло, LLMFunction ), могут эффективно выполнять «измерения ИИ», но затем мы можем брать их результаты и работать с ними символически.

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

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

(Кстати, еще одним многообещающим применением современного ИИ является создание «повторяемых личностей»: сущностей, которые эффективно ведут себя как люди с определенными характеристиками, но над которыми можно проводить крупномасштабные повторяемые эксперименты, типичные для физической науки.)

Итак… Может ли ИИ решить науку?

Вначале можно удивиться тому, что наука вообще возможна. Почему в мире существует закономерность, которая позволяет нам формировать «научные повествования»? Действительно, теперь мы знаем из таких вещей, как концепция рулиады, что вычислительная неприводимость неизбежно присутствует повсеместно, а вместе с ней и фундаментальная нерегулярность и непредсказуемость. Но оказывается, что само наличие вычислительной неприводимости обязательно подразумевает, что должны быть очаги вычислительной сводимости, где по крайней мере некоторые вещи являются регулярными и предсказуемыми. И именно в этих карманах редуцируемости по сути живет наука — и действительно, мы пытаемся действовать и взаимодействовать с миром.

Так как же это связано с ИИ? Что ж, вся история таких вещей, как обученные нейронные сети, которые мы здесь обсуждали, — это история использования вычислительной сводимости, и в частности вычислительной сводимости, которая каким-то образом согласуется с тем, что также использует человеческий разум. В прошлом основным способом уловить и извлечь выгоду из вычислительной сводимости была разработка формальных способов описания вещей, обычно с использованием математики и математических формул. По сути, ИИ обеспечивает новый способ использования вычислительной сводимости. Обычно нет описания того, как это работает на человеческом уровне; просто каким-то образом внутри обученной нейронной сети нам удается уловить определенные закономерности, которые позволяют нам, например, делать определенные прогнозы.

В каком-то смысле предсказания имеют тенденцию быть очень «человечными» и часто кажутся нам «примерно верными», хотя на уровне точных формальных деталей они не совсем верны. По сути, они полагаются на вычислительную сводимость, а когда вычислительная неприводимость присутствует, они более или менее неизбежно терпят неудачу. В каком-то смысле ИИ выполняет «поверхностные вычисления», но когда существует вычислительная нередуцируемость, нужны нередуцируемые глубокие вычисления, чтобы понять, что произойдет.

И есть много мест – даже при работе с традиционными математическими структурами – где того, что делает ИИ, будет недостаточно для того, что мы ожидаем получить от науки. Но есть и места, где «наука в стиле ИИ» может добиться прогресса, даже когда традиционные методы не могут этого сделать. Если кто-то делает что-то вроде точного решения одного уравнения (скажем, ОДУ), ИИ, вероятно, не будет лучшим инструментом. Но если у вас есть большая коллекция уравнений (скажем, для чего-то вроде робототехники), ИИ может успешно дать полезную «грубую оценку» того, что произойдет, даже если традиционные методы полностью увязнут в деталях.

Общая особенность методов машинного обучения и искусственного интеллекта заключается в том, что они могут быть очень полезны, если приблизительный («80%)» ответ достаточно хорош. Но они, как правило, терпят неудачу, когда нужно что-то более «точное» и «совершенное». И в науке существует довольно много рабочих процессов (а возможно, и больше), где это именно то, что нужно. «Выбрать случаи-кандидаты на что-то». «Определите особенность, которая может быть важной». «Предложите возможный вопрос для изучения».

Однако существуют явные ограничения, особенно когда существует вычислительная неприводимость. В некотором смысле типичный подход ИИ к науке не предполагает явной «формализации вещей». Но во многих областях науки формализация — это именно то, что имеет наибольшую ценность и позволяет получить огромные результаты. А в последнее время у нас появилась новая мощная идея о формализации вещей с помощью вычислений — и, в частности, об использовании для этого вычислительного языка.

И при такой вычислительной формализации мы можем начать выполнять неприводимые вычисления, которые позволят нам достичь открытий, которые мы не можем предвидеть. Мы можем, например, перечислить возможные вычислительные системы или процессы и увидеть «фундаментальные сюрпризы». В типичном ИИ присутствует случайность, которая придает нам определенную степень «оригинальности» в наших исследованиях. Но это фундаментально более низкий уровень, чем мы можем достичь с помощью реальных неприводимых вычислений.

Так чего же нам ожидать от ИИ в науке в будущем? В каком-то смысле мы получили новый — и довольно человеческий — способ использования вычислительной сводимости. Это новый инструмент для занятий наукой, которому суждено найти множество практических применений. Однако с точки зрения фундаментального потенциала открытий он меркнет по сравнению с тем, что мы можем построить на основе вычислительной парадигмы и неприводимых вычислений, которые мы делаем. Но, вероятно, величайшую возможность продвинуть науку вперед даст нам объединение сильных сторон ИИ и формальной вычислительной парадигмы. Да, это часть того, чем мы активно занимаемся в последние годы с помощью языка Wolfram Language и его связи с машинным обучением, а теперь и с магистратурой по управлению знаниями.

Примечания

Моя цель здесь состояла в том, чтобы изложить мои нынешние размышления о фундаментальном потенциале (и ограничениях) ИИ в науке — развитие моих идей с помощью языка Wolfram Language и его возможностей ИИ для проведения различных простых экспериментов. Я рассматриваю то, что я здесь сделал, как только начало. По сути, каждый эксперимент можно, например, провести гораздо более подробно и с гораздо большим анализом. (И просто щелкните любое изображение, чтобы получить язык Wolfram Language, на котором оно создано, и вы сможете повторить или расширить его.)

«ИИ в науке» сегодня является горячей темой во всем мире, и я, конечно, знаю лишь малую часть всего, что было сделано. Я сосредоточился на том, чтобы попытаться «провести очевидные эксперименты» и попытаться собрать воедино «большую картину» того, что происходит. Я должен подчеркнуть, что в последнее время наблюдается регулярный поток выдающихся и впечатляющих «инженерных инноваций» в области ИИ, и я ничуть не удивлюсь, если эксперименты, которые не принесли мне хороших результатов, в будущем могут быть значительно улучшены. такие нововведения, возможно, даже меняющие мои «общие» выводы из них.

Я также должен принести извинения. Несмотря на то, что я был знаком — хотя зачастую просто «через виноградную лозу» — с множеством вещей, сделанных в области «ИИ в науке», особенно за последний год, я не предпринял каких-либо серьезных попыток систематически изучать литературу по теме «ИИ в науке», особенно за последний год. области или проследить ее историю и происхождение идей в ней. Поэтому я должен предоставить другим возможность установить связь между тем, что я сделал здесь, и тем, что другие люди могли (или не могли) сделать где-то еще. Было бы интересно провести серьезный анализ истории работы над искусственным интеллектом в науке, но у меня не было возможности сделать это.

В моих усилиях мне очень помогли сотрудники Института Вольфрама Ричард Ассар («Научный сотрудник Рулиада») и Ник Мурзин («Научный сотрудник Фурмилаб»). Я также благодарен многим людям, с которыми я разговаривал (или слышал) об искусственном интеллекте в науке (и связанных темах) в последнее время, включая Джулио Алессандрини, Мохаммеда Аль-Курайши, Брайана Фреззу, Роджера Гермундссона, Джорджа Моргана, Майкла Тротт и Кристофер Вольфрам.


Источник: writings.stephenwolfram.com

Комментарии: