За всем ажиотажем вокруг ИИ, нейронных сетей и глубокого обучения легко подумать, что современные компьютерные технологии состоят только из этого. Однако совершенно другой тип вычислений имеет еще больший потенциал, пишет MIT Technology Review. Он не имитирует мозг человека, как нейросети, а повторяет процесс его создания.
Его цель — генерирование компьютерного кода для решения специфических задач при помощи в чем-то парадоксального подхода.
Обычный способ программирования заключается в написании кода по известным принципам и подразумевает четкую формулировку цели. Эволюционный — совсем другое дело. Процесс начинается с генерации совершенно случайного кода, причем сразу в нескольких экземплярах. Иногда речь идет о сотнях тысяч хаотичных кусков кода. Все они поначалу не способны справиться с задачей, но кое-кто не справляется чуточку меньше. Эти куски кода отбираются для следующего поколения, размножаются — и процесс повторяется.
Конечно, второе поколение не может быть полной копией первого, в подходе должны быть небольшие изменения, своего рода цифровые мутации или рекомбинации. Так программа развивается и становится лучше. Со временем — даже лучше, чем продукт человеческого труда.
Но в 1990-е интерес к этому виду информатики снизился из-за распространения глубокого обучения. И сейчас Дени Вильон и его коллеги решили проверить, как эволюционный алгоритм справляется с аркадными играми, которые были популярны в 80-е — Pong, Space Invaders, Breakout или Kung Fu Master.
Алгоритму поставили задачу научиться играть, имея перед собой только данные с монитора. Он должен был проанализировать игру и придумать, как максимизировать шансы на успех.
Полученный результат удивил ученых. Мало того, что в ряде игр — например, в Kung Fu Master — эволюционный алгоритм превзошел человека, так еще и он обошел по эффективности многие подходы глубокого обучения, а также справился с задачей быстрее.
У такого подхода есть и еще одно преимущество перед нейросетями: небольшие размеры кода позволяют легко понять, как он работает. Напротив, прошедшие процесс машинного обучения нейросети часто сравнивают с «черными ящиками» из-за отсутствия возможности понять, как они принимают те или иные решения.
Примером практического применения эволюционного подхода может стать алгоритм, разработанный испанскими урбанистами. С его помощью они предсказывают вертикальный рост городов по аналогии с алгоритмом предсказания генетических изменений.