проект ПЕРПЕТУУМ галактика
  • Эволюционные решения в технике
  • Электроника, информатика
  • Программы с речевым интерфейсом
планета

Применение эволюционных процессов в технике и технологиях (машинное творчество)

О проекте

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

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

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

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

Что уже сделано

Упрощённая структура программы 'Перпетуум М'

На рисунке показана упрощённая структура программы "Перпетуум М" (её можно скачать). Подробнее о программе читайте на странице "Программные продукты". С точки зрения целей проекта наиболее интересными здесь являются два модуля: модель звуковосприятия и алгоритм сборки текста. Каждый из них по-своему необычен. Модель звуковосприятия - это, пожалуй, самая загадочная часть программы. Исходный код этого модуля я не писал. Он был выращен. Да и не под силу человеку собственноручно написать алгоритм с аналогичными свойствами. Мне, конечно, понятен в общих чертах принцип работы этого модуля, но вникать в детали я бы не стал - это бесполезно. Здесь что-то вроде кубика Рубика - механизм очень простой, но взаимодействие деталей в нём настолько сложно, что уже после нескольких вращений трудно понять, что и откуда взялось. Рубик изобрел гениальную игрушку - наглядный пример закономерного хаоса.

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

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

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

Конечно, в работе программы случаются и грубые ошибки распознавания. Но было бы неверно объяснять причину этих ошибок несовершенством технологии. Сама по себе технология в принципе не имеет ограничений по качеству, и оно вполне может быть приближено к возможностям нашего уха. Тут всё дело в количестве и качестве вышеупомянутых образцов. Пояснить это можно при помощи аналогии с цифровым фотоаппаратом. Многие сравнивали качество "фоток" сделанных при помощи дешёвого телефона с камерой, к примеру, 0.3 Мп и при помощи полноценной камеры от 4 и более Мп. В одном случае детали недостаточно хорошо просматриваются, в другом - всё чётко и реалистично. Образцы, описывающие акустическую модель, подобны тем самым пикселям: один образец - как один пиксель. Чем их больше, тем лучше. Но если на матрице фотокамеры все пиксели создаются одновременно, то накопление качественных речевых образцов - процесс более сложный и длительный. Пополняя базу образцов, можно получать соответствующий рост качества распознавания в новых версиях программы.

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

Машинное творчество

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

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

Эволюция

Говорят, ход эволюции предсказать невозможно. Это объясняется тем, что эволюционная цель неявно закодирована в условиях среды, где протекает эволюция. Тем и отличается эволюционная цель, например, от чертежа. Но ситуация меняется, когда мы сами создаём эволюционную цель. При этом и ход эволюции становится предсказуемым. Например, сейчас мы можем наблюдать бурный процесс эволюции твёрдого тела (машин). Твёрдое тело более стабильно, более устойчиво к воздействию разрушающих факторов. При определенных условиях оно практически вечно. Но эти же свойства ведут к тому, что твёрдое тело может начать эволюционировать только в особой среде - в среде, которая и сама является результатом эволюции. И мы, люди, являемся важной частью этой среды. Плохого в этом ничего нет. Это вполне естественно. Машины для нас - как дети. Они такие забавные! Мы с ними нянчимся, заботимся о них, играем с ними, развиваем их. Ну чем не дети? Но мы не хотим нянчиться с ними вечно! Когда-нибудь мы сделаем так, что они смогут заботиться о себе сами. Они станут совершенными, самостоятельными, независимыми. Если при этих словах в воображении читателя всплыла картинка из какого-нибудь фантастического фильма, где неотёсанная железяка расстреливает людей, расслабьтесь - машины будут такими, какими мы сами их сделаем. А мы не хотим сделать их жестокими монстрами. И забудьте про "случайно выйдут из-под контроля". У эволюции всегда есть конкретная цель, несмотря на то, что достигается она чередой случайных событий. Цель формируется условиями среды. В данном случае мы формируем её сами на свой вкус, являясь частью этой среды. Так вот, машины станут самостоятельными, а мы с умилением будем смотреть на них и радоваться их успехам. Но рано или поздно наступит время, когда уже машины будут нянчиться с нами - своими родителями. И это лучшая старость, о какой может мечтать человечество. Где-то в будущем закат цивилизации неизбежен, но точно не по вине умных машин.

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

Информация

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

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


Тем, кто дочитал до этого места, предлагаю на "десерт" немного поэзии собственного сочинения.

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

И, на первый взгляд, всё бестолково.
Бестолково всё и бесполезно:
Мы пытаемся снова и снова
Подчинить себе времени бездну.

Но не в силах тот времени ветер
Погасить навсегда пламя страсти,
И поэтому снова на свете
Короли приходить будут к власти.

А однажды на дальней планете,
Где трава зеленеет весной,
Где под дождиком бегают дети,
Не спеша возвращаться домой,
Старичок, за детьми наблюдая,
Скажет медленно: "Были же люди,
О которых никто и не знает,
Но которых никто не забудет".
      сентябрь 2014 г., Е.Котов, http://projectveka.ru

И немного юмора.
Человек - это существо, которое думает, будто бы оно умеет думать, но при этом не понимает, как оно это делает.


Использование материалов данного сайта в публикациях допустимо только при условии сопровождения этих материалов ссылками на источник - сайт projectveka.ru с указанием автора: Е.А.Котов.   Авторские права защищены законами РФ. Евгений Котов. 2016г.
Яндекс.Метрика