Опыт эволюции в создании искусственного интеллекта

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

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

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

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

Генетические алгоритмы начинаются с совпадения

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

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

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

Обезьяны стучат по клавишам

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

Например, аналог обезьяны может быть использован для случайного нажатия клавиш на клавиатуре. Вероятность того, что обезьяна введет ровно первые 15 000 цифр числа Pi, абсурдно мала, и она уменьшается экспоненциально с желаемым количеством цифр. Если вместо этого вы интерпретируете нажатия клавиш как компьютерную программу для создания Pi, шансы на успех значительно улучшаются. Причина проста: программа для генерации первых 15 000 цифр числа Пи на языке программирования С обычно требует не более 133 символов кода. Другими словами, алгоритмическая вероятность того, что обезьяна генерирует число пи со своими случайными входами, возрастает.

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

Оптимальная программа не предсказуема

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

Из-за этого ограничения алгоритмическая теория информации долгое время была нишей в мире чистой математики. Там она использовалась для исследования связанных теорем и для определения понятий случайности и структуры. Практические применения казались маловероятными.

«С математической точки зрения алгоритмическая информация — это простая и красивая мера сложности», — говорит Грегори Чайтин. Известный математик является одним из основателей теории и работал в Центре IBM Томаса Дж. Уотсона и в Федеральном университете Рио-де-Жанейро. «Но теория казалась недоступной для реальных приложений».

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

Стремление к простоте

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

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

«Биологическое творчество — это термин, который не встречается в этой математически красивой теории».
(Григорий Чайтин)

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

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

Создание искусственных генетических сетей эволюционным путем

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

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

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

«ДНК чрезвычайно важна. Но вне клетки, организма или экосистемы это не имеет смысла ».
(Джузеппе Лонго)

Зенил также хочет выяснить, следует ли биологическая эволюция тем же правилам расчета, что и искусственная эволюция в его генных сетях. У большинства экспертов есть свои сомнения там. Главным образом потому, что до сих пор неясно, какой механизм в природе отвечает за уменьшение алгоритмической сложности. Более того, неправильно полагать, что жизнь полностью описывается четырьмя буквами кода ДНК, говорит Джузеппе Лонго, математик из Национального научного центра Франции. «ДНК чрезвычайно важна. Но это не имеет смысла вне клетки, организма или экосистемы ». Другие взаимодействия играли аналогичную роль. Однако применение Zenil алгоритмической информации не может охватить всю сложность.

Тем не менее, эта концепция уже вызвала некоторый интерес — тем более что этот новый способ мышления об эволюции (как процесс расчета), по-видимому, имеет хоть какое-то отношение к генетическому программированию. Действительно, есть некоторые интригующие ссылки на связь между идеями Чайтина и Зенила о колмогоровской сложности и методах генетического программирования. Еще в 2001 году исследовательская группа сообщила, что сложность Колмогорова может ограничить сложность вывода генетической программы.

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

«Думать о жизни как о разработке программного обеспечения — это идея с потенциалом»
(Григорий Чайтин)

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

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

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

Учиться у жизни

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

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

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

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

Leave a comment

Your email address will not be published. Required fields are marked *