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

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

О проекте

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Эволюция

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

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

Информация

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

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


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

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

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

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

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

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


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