Ознакомительная версия. Доступно 21 страниц из 101
Алгоритмы решают всё
Если говорить о заблуждениях в отношении компьютерных технологий, от которых давно пора избавиться, в первую очередь следует упомянуть глубокую веру в то, что компьютеры строго подчиняются заданной программе. Как мы видели, алгоритмы машинного обучения ежедневно обрабатывают горы данных, выявляя статистические связи и, по существу, создавая собственные программы на основе результатов поиска. Но и это еще не все — в некоторых случаях компьютеры выходят за рамки привычного, проникая в сферы, которые, по убеждению подавляющего большинства людей, являются исключительной прерогативой человеческого сознания: машины начинают демонстрировать признаки любопытства и творчества.
В 2009 г. Ход Липсон, возглавляющий Лабораторию креативных машин при Корнельском университете, и аспирант Майкл Шмидт построили систему, которая оказалась способна самостоятельно открывать фундаментальные законы природы. Липсон и Шмидт начали с монтажа двойного маятника — хитроумного механизма, состоящего из двух прикрепленных друг к другу маятников. Когда оба маятника колеблются, они движутся по очень сложным траекториям, которые кажутся хаотичными. Далее экспериментаторы использовали датчики и камеры для фиксации движения маятников, получив в результате поток данных. Наконец, они предоставили своему ПО возможность самостоятельно задавать начальную позицию маятника. Другими словами, разработчики создали исследователя с искусственным интеллектом, который может проводить собственные эксперименты.
Они дали программе полную свободу: она могла самостоятельно отпускать маятник, а затем тщательно изучать полученные данные о его перемещениях с целью вычисления математических уравнений, описывающих поведение маятника. Алгоритм контролировал все аспекты эксперимента; при каждом повторении он случайным образом выбирал положение, из которого маятник должен был начать движение, а затем выполнял анализ и выбирал новое положение, которое с наибольшей вероятностью должно было приблизить его к пониманию законов, определяющих движение маятника. Липсон отмечает, что система «не является пассивным алгоритмом, который выступает в роли простого наблюдателя. Она задает вопросы. Это — любопытство»{147}. Программе, которая позже получила название «Эврика», хватило несколько часов, чтобы сформулировать ряд физических законов, описывающих движение маятника, включая второй закон Ньютона; при этом она смогла сделать это, не получив предварительно никакой информации о физике или законах движения и не будучи запрограммированной на их изучение.
В «Эврике» применяется генетическое программирование — метод, повторяющий принципы биологической эволюции. Алгоритм начинает с составления уравнений путем случайного сопоставления различных строительных блоков, состоящих из математических выражений, а затем проверяет, насколько хорошо получившиеся уравнения соответствуют данным[31]. Уравнения, которые не проходят проверку, отбраковываются, а те, которые демонстрируют определенный потенциал, перекомпоновываются таким образом, чтобы в конечном итоге из них могла получиться точная математическая модель{148}. Процесс нахождения уравнения, описывающего поведение естественной системы, уж точно нельзя назвать пустячной задачей. По словам Липсона: «[П]режде на создание одной прогнозирующей модели у [ученого] могла уйти целая жизнь»{149}. Шмидт добавляет: «[Ф]изики вроде Ньютона и Кеплера могли бы запустить этот алгоритм на компьютере и всего после нескольких часов вычислений получить законы, объясняющие падение яблока или движение планет»{150}.
Когда Шмидт и Липсон опубликовали статью с описанием своего алгоритма, на них обрушился шквал запросов на получение доступа к их программе от других ученых. В связи с этим в конце 2009 г. они решили сделать «Эврику» доступной через Интернет. За прошедшее с того момента время с помощью этой программы удалось получить интересные результаты в ряде областей науки, включая упрощенный вариант уравнения, описывающего биохимическую природу бактерий, которую ученые до сих пор не могут до конца понять{151}. В 2011 г. Шмидт основал в районе Бостона стартап Nutonian, Inc. с целью коммерциализации «Эврики» в качестве инструмента анализа больших данных как в бизнесе, так в научной сфере. Одним из результатов проделанной работы стал перенос «Эврики» — по примеру системы Watson компании IBM — в облачную среду и превращение ее в приложение, которое доступно другим разработчикам ПО в виде встраиваемого модуля.
Большинство из нас склонны — что вполне естественно — связывать идею творчества исключительно с мозгом человека, но будет нелишним напомнить, что сам наш мозг — несомненно самое сложное «изобретение» из всех ныне существующих — является продуктом эволюции. С этой точки зрения вряд ли стоит удивляться тому, что очень часто при попытке создания способных к творчеству машин используются методы генетического программирования. Суть генетического программирования заключается в том, чтобы научить компьютерные алгоритмы проектировать самих себя путем естественного отбора в соответствии с описанными Дарвином принципами. Все начинается с генерирования случайного компьютерного кода, который затем многократно редактируется с помощью методов, имитирующих процесс полового размножения. Время от времени в код вбрасывается случайная мутация, в результате чего процесс его формирования может пойти совершенно другим путем. Появляющиеся новые алгоритмы подвергаются проверке на пригодность, в результате которой они либо выживают, либо — что происходит намного чаще — умирают. Одним из ведущих исследователей в этой области является профессор Стэнфордского университета, специалист в области информационных технологий и консалтинга Джон Коза. Он проделал большую работу по использованию генетических алгоритмов в качестве «средств автоматизации изобретательской деятельности»[32]. Коза привел по меньшей мере семьдесят шесть примеров того, как в результате использования генетических алгоритмов были получены результаты, способные конкурировать с плодами работы инженеров и ученых. Приведенные им примеры относились к самым разным областям, включая проектирование электрических цепей, механические системы, оптику, восстановление ПО и гражданское строительство. В большинстве из них алгоритмы воспроизвели существующие разработки, но по крайней мере в двух случаях генетические программы сумели создать патентоспособные изобретения{152}. По мнению Коза, генетические алгоритмы обладают неоспоримым преимуществом перед разработчиками-людьми, поскольку не ограничены рамками сложившихся представлений; другими словами, они с большей вероятностью могут найти принципиально новый подход к решению проблемы{153}.
Ознакомительная версия. Доступно 21 страниц из 101