Учёные, занимающиеся естественными науками, веками старались максимально точно выразить закономерности, которые видят в природе, и гордились объективностью своего описания мира. Теперь пришло время поплатиться за гордыню: они своими руками создали «искусственных исследователей» — роботов, которые без участия человека получают важные научные результаты, вполне годные к опубликованию в серьёзных журналах. И делают эту работу гораздо точнее и надёжнее любого аспиранта или новоиспечённого кандидата наук.
Может быть, скоро «виртуальные» научные сотрудники смогут вполне реально ухудшить и без того не слишком радостную картину на рынке занятости в академической среде. А если серьёзно, то две статьи, опубликованные в последнем номере Science, заставляют очень глубоко задуматься о самом содержании естественнонаучной работы, её технологии и в конечном итоге смысле научных исследований.
Робоаспирант Адам и его подруга Ева
«Адам» самостоятельно выбирает нужные штаммы мутантных пивных дрожжей из своей замороженной библиотеки, высаживает их в чашки Петри, наполненные подобранной роботом же питательной средой, заботится о размножении грибка и измеряет скорость роста культуры. Робот, создание которого обошлось примерно в $1 миллион, может неделями работать без участия человека. Самостоятельно он даже чистит пипетки и избавляется от использованных живых организмов. Правда, признают Росс и его коллеги, они всё-таки предпочитают, чтобы техник был неподалёку – мало ли что может случиться с аппаратурой. К тому же, если «Адам» работает достаточно интенсивно, примерно раз в 10 дней приходится загружать его библиотеку и удалять отходы.
Таким образом, к примеру, «Адам» выяснил, какие последовательности ДНК кодируют 12 ферментов пивных дрожжей, гены которых были до сих пор неизвестны.
И попутно выяснил, какую работу выполняет один из этих ферментов. Всё, что потребовалось, — закодированные языком Prolog сведения об обмене веществ в клетках, обновляемые с учётом открытий самого робота, и специальные программы для четырёх персональных компьютеров, управляющих деятельностью всего автономного комплекса.
Будь «Адам» аспирантом, эту работу вполне можно было бы напечатать в журнале и включить в список публикаций к диссертации. А уж аккуратности заполнения лабораторных журналов может позавидовать любой учёный: в них отражены мельчайшие детали исследования, все возникшие гипотезы и результаты их проверок; правда, занимает этот лабжурнал 366 мегабайт, так что вряд ли кто надумает его читать. В пару «Адаму» учёные уже разработали и изготовили «Еву», занимающуюся испытаниями потенциальных лекарств на клеточных культурах; она будет описана в последующих публикациях. Два робота даже смогут общаться, если это станет необходимым. Пока, впрочем, у них нет общих интересов — всё работа да работа.
Робот-теоретик
Но все эти достижения меркнут перед способностями компьютерной программы, описанной во второй публикации в том же номере Science.
Доцент американского Корнельского университета Ход Липсон и его аспирант Майкл Шмидт создали алгоритм, способный замечать настоящие законы природы в голых экспериментальных данных.
Программа не имеет никаких представлений о геометрии или теоретической механике, но умудряется находить аналитические выражения (грубо говоря, формулы), для формулирования которых человечеству понадобились гении Евклида, Ньютона, Лагранжа и Гамильтона.
Липсон и Шмидт поставили задачу найти по ряду экспериментальных данных, предоставленных программе, нетривиальные выражения, описывающие поведение измеренной системы. При том речь идёт об аналитических выражениях, связывающих различные переменные. И программа, которую авторы почему-то никак не назвали, может даже использовать закономерности, всплывшие при изучении простых систем, в исследовании систем куда более сложных.
Граф, представляющий формулу, – это «дерево», граничными «листьями» которого являются переменные и параметры, а в узлах находятся операторы (вроде «+», «–», «*», «/») или функции (синус, косинус, возведение в степень – в общем всё, что есть в библиотеке функций, имеющейся в распоряжении программы). Ветви, соединяющие узлы с листьями и друг с другом, показывают отношения между ними. Например, если ветвь соединяет функцию «синус» с переменной «угол», то эту ветвь в целом программа воспринимает, как «синус угла».
Более того, программа нашла даже так называемую функцию Лагранжа, лагранжиан, до боли знакомый всякому, кто учил в институте теоретическую механику. В отличие от энергии эта величина при движении не сохраняется, однако из неё можно вывести всю динамику системы. Программа Липсона и Шмидта легко увидела её в данных — для обычного маятника и осциллятора на пружинах на всё это потребовалось несколько минут на 32-ядерном процессоре. Пусть те, кто изучал термех не вчера, попробуют записать лагранжиан для груза на двух пружинах и заметят, сколько времени им на это потребовалось. А ведь человек-то явно «умнее» 32-ядерного процессора.
Порядок из хаоса
Подбирать не только параметры известных соотношений, но и настоящие аналитические функции, компьютеры научились не сегодня. Как правило, такие формулы представляются компьютером в виде графа (см. врез). Работать с такими графами аналитически – преобразовывать, упрощать, брать производные, подставлять одни значения вместо других и так далее – соответствующие программы умеют. А компьютерные «генетические» алгоритмы, стартующие с совершенно случайных и даже бессмысленных функций, умеют сходиться к хорошим формулам, если только дать программе алгоритм вычисления «хорошести» каждой функции. В видеоролике, где Майкл Шмидт рассказывает о своей программе (на английском языке), можно посмотреть, как происходят эти превращения.
Однако в приложении всей этой алгоритмики к описанию реальных физических систем есть две основных проблемы. Во-первых, важно не скатиться в бесконечное число тривиальных соотношений, которым ряды данных с большой точностью удовлетворяют, но которые ничего не говорят о реальных связях между переменными. Липсону и Шмидту удалось сформулировать принцип, который позволяет избежать поворота на эту бесплодную стезю, математически. (Технически, они потребовали близости отношения конечных разностей наблюдательных параметров к частным производным, вычисленным аналитические по формуле-кандидату, при подстановке данных).
А дальше оставалось лишь смотреть, как программа раз за разом находит всё новые и новые соотношения между измеренными величинами.
Другая проблема – нащупать баланс между простотой и точностью формулы, описывающей реальные данные, с неизбежными в ходе эксперимента ошибками. Достаточно длинной формулой можно описать сколь угодно сложный ряд экспериментальных данных с любой заданной точностью, но это уже задача не физики, а интерполяции данных. Если мы хотим найти физический закон, надо уметь замечать важное и не обращать внимания на шум.
И здесь учёным помог рисунок. Они нанесли все свои формулы на график, где по горизонтали отложена простота формулы (обратная длина), а по вертикали – точность (обратная ошибка). Граница региона, заполненного формулами, называется фронтом Парето. Точки, где фронт Парето резко уходит вверх – это как раз те соотношения, которые резко увеличивают точность описания системы, не слишком увеличивая его сложность. Список формул на таких «обрывах» фронта Парето и выдаёт программа.
Более того, когда программе разрешили доступ к соотношениям, описывающим простой, одиночный маятник, время вычислений сократилось почти на порядок.
Алгоритм приспособил выражения для простой системы, соорудив из них совсем не тривиальные соотношения, описывающие поведение системы сложной.
Иными словами, она может идентифицировать и важные механические величины, которых в исходных данных нет. Как пишут учёные, эти величины несложно сделать «алфавитом» её физического языка, который может развиваться при решении одной проблемы за другой. Правда, она не умеет придумывать им красивые названия вроде «энергии» или «момента импульса». Но неужели наше отличие от компьютерного алгоритма укладывает в рамки примитивного номинализма?
По словам самих учёных — конечно, нет.
Липсон и Шмидт сравнивают свою программу с оракулом.
Ему можно задать любой вопрос, и он обязательно даст ответ — полезный или не очень. Но, даже если ответ окажется полезным, потом придётся ещё долго думать, что он означает.
И здесь машина пока не может заменить человека. Ей не ведом физический смысл всплывших в ходе её работы математические соотношений, как неизвестно ей, что такое «физический смысл» вообще. Отсюда, впрочем, недалеко и до вопроса, известно ли это понятие большинству выпускников физических факультетов. А при желании и до общих вопросов о природе научных поисков, которые явно не укладываются в рамки газетной заметки.
Подбирать не только параметры известных соотношений, но и настоящие аналитические функции, компьютеры научились не сегодня. Как правило, такие формулы представляются компьютером в виде графа (см. врез). Работать с такими графами аналитически – преобразовывать, упрощать, брать производные, подставлять одни значения вместо других и так далее – соответствующие программы умеют. А компьютерные «генетические» алгоритмы, стартующие с совершенно случайных и даже бессмысленных функций, умеют сходиться к хорошим формулам, если только дать программе алгоритм вычисления «хорошести» каждой функции. В видеоролике, где Майкл Шмидт рассказывает о своей программе (на английском языке), можно посмотреть, как происходят эти превращения.
Однако в приложении всей этой алгоритмики к описанию реальных физических систем есть две основных проблемы. Во-первых, важно не скатиться в бесконечное число тривиальных соотношений, которым ряды данных с большой точностью удовлетворяют, но которые ничего не говорят о реальных связях между переменными. Липсону и Шмидту удалось сформулировать принцип, который позволяет избежать поворота на эту бесплодную стезю, математически. (Технически, они потребовали близости отношения конечных разностей наблюдательных параметров к частным производным, вычисленным аналитические по формуле-кандидату, при подстановке данных).
А дальше оставалось лишь смотреть, как программа раз за разом находит всё новые и новые соотношения между измеренными величинами.
Другая проблема – нащупать баланс между простотой и точностью формулы, описывающей реальные данные, с неизбежными в ходе эксперимента ошибками. Достаточно длинной формулой можно описать сколь угодно сложный ряд экспериментальных данных с любой заданной точностью, но это уже задача не физики, а интерполяции данных. Если мы хотим найти физический закон, надо уметь замечать важное и не обращать внимания на шум.
И здесь учёным помог рисунок. Они нанесли все свои формулы на график, где по горизонтали отложена простота формулы (обратная длина), а по вертикали – точность (обратная ошибка). Граница региона, заполненного формулами, называется фронтом Парето. Точки, где фронт Парето резко уходит вверх – это как раз те соотношения, которые резко увеличивают точность описания системы, не слишком увеличивая его сложность. Список формул на таких «обрывах» фронта Парето и выдаёт программа.
Реально же полезной программа должна стать в тех науках, где есть очень много данных, но недостаточно понимания, что они означают.
В числе таких отраслей знания Липсон и Шмидт назвали астрономию, биологию и социальные науки.
По признанию Липсона и Шмидта, они уже попробовали применить свой алгоритм к биологическим данным, описывающим обмен различных веществ в клетке. И выявились не только хорошо знакомые биологам химические реакции, но и какие-то странные соотношения. По словам учёных, новые закономерности уверенно предсказывают обмен веществ во всё новых и новых экспериментах, устроенных для их проверки, однако их не могут объяснить специалисты по клеточному метаболизму, с которыми удалось пообщаться. Впрочем, сообщить подробности этих исследований корнельские специалисты отказались, сославшись на подготовку новой работы на этот счёт.