Контроллер управления обучением нейронной сети с генетическим алгоритмом

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

 

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

Известен патент США: US 6553357 В2 «Устройство для улучшения архитектуры нейронной сети с помощью эволюционного алгоритма» (МПК G06N 3/08, G06N 3/04). Данное устройство состоит из входящего процессора (Input processor), блока нейронной сети, блока эволюционного алгоритма и выходящего процессора. На входящий процессор поступает сигнал, который включает или новые данные, или оценку вычислений, или обучающую выборку. От входящего процессора идет сигнал на блок нейронной сети, нейронная сеть связана выходным сигналом с выходящим процессором и блоком эволюционного алгоритма, от блока эволюционного алгоритма идет три сигнала на блок нейронной сети (параметры обучения нейронной сети, архитектура нейронной сети, параметры инициализации нейронной сети).

Наиболее близким техническим решением является патент США US 5140530 (А) «Генетический алгоритм синтеза нейронной сети». Данное устройство состоит из блока генетического алгоритма, блока оценки производительности нейронной сети, блока нейронной сети и блока обучения нейронной сети. Принцип работы устройства по патенту США US 5140530 (А) следующий - на вход устройства поступает новая задача в виде двух наборов: обучающей и тестовой выборок. Блок генетического алгоритма формирует популяцию хромосом нейронных сетей (в виде основных параметров - количество входов, выходов, слоев и нейронов в них), далее из хромосом формируются новые нейронные сети, которые обучаются блоком обучения нейронных сетей. После обучения каждая нейронная сеть оценивается в блоке оценки производительности нейронных сетей и оценка передается в блок генетического алгоритма, который в зависимости от достижения критерия качества работы нейронной сети либо формирует новую популяцию, либо останавливает работу поиска нейронной сети и выдает на выход нейронную сеть с лучшими показателями работы.

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

Задача - усовершенствование контроллера управления обучением нейронной сети с генетическим алгоритмом.

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

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

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

Отметим, что в патенте US 6553357 В2 используется эволюционный алгоритм, а в патенте G06F 15/18 5140530 - генетический. В то же время генетический алгоритм является дальнейшим развитием эволюционного, и оба алгоритма входят в эволюционные модели (см., например, Ярушкина Н.Г. Основы теории нечетких и гибридных систем: Учеб. пособие. - М.: Финансы и статистика, 2004. - 320 с.). В данном изобретении применен базовый генетический алгоритм, но в общем случае можно применять и базовый эволюционный алгоритм.

На фиг. 1 изображена схема контроллера управления обучением нейронной сети с генетическим алгоритмом.

Система состоит из нескольких структурных компонентов: объекта управления 1, блока обучения нейронной сети 2, блока оценки производительности нейронной сети 3, блока данных 4, блока нейронной сети 5, блока управления 6, блока генетического алгоритма 7, блока истории хромосом 8 и блока оценки хромосом 9.

Также в системе присутствуют следующие связи - от объекта управления 1 идет сигнал 10 на блок данных 4, от блока нейронной сети 5 идет сигнал 11 на объект управления 1, от блока данных 4 идет сигнал 12 на блок оценки производительности нейронной сети 3, от блока оценки производительности нейронной сети 3 идет сигнал 13 на блок данных 4, от блока данных 4 идет сигнал 14 на блок обучения нейронной сети 2, блок обучения нейронной сети 2 связан по сигналу 15 с блоком данных 4, от блока нейронной сети 5 идет сигнал 16 на блок обучения нейронной сети 2, от блока обучения нейронной сети 2 идет сигнал 17 на блок нейронной сети 5, от блока нейронной сети 5 идет сигнал 18 на блок оценки производительности нейронной сети 3, от блока оценки производительности нейронной сети 3 идет сигнал 19 на блок нейронной сети 5, от блока оценки производительности нейронной сети 3 идет сигнал 20 на блок оценки хромосом 9 и сигнал 21 на блок управления 6, от блока данных 4 идет сигнал 22 на блок нейронной сети 5, от блока управления 6 идет сигнал 23 на блок данных 4, от блока данных 4 идет сигнал 24 на блок управления 6, от блока нейронной сети 5 идет сигнал 25 на блок управления 6, от блока генетического алгоритма 7 идет сигнал 26 на блок нейронной сети 5, от блока нейронной сети 5 идет сигнал 27 на блок оценки хромосом 9, от блока управления 6 идет сигнал 28 на блок генетического алгоритма 7, от блока генетического алгоритма 7 идет сигнал 29 на блок управления 6 и сигнал 30 на блок истории хромосом 8, от блока истории хромосом 8 идет сигнал 31 на блок генетического алгоритма 7, от блока генетического алгоритма 7 идет сигнал 32 на блок оценки хромосом 9, от блока оценки хромосом 9 идет сигнал 33 на блок управления 6 и сигнал 34 на блок истории хромосом 8.

Блок обучения нейронной сети 2 предназначен для обучения нейронной сети с помощью алгоритма обратного распространения ошибки (см. Rumelhart, D.Е., Hinton G.Е., Williams R.J., "Learning internal representations by error propagation,", in D.E. Rumelhart and J.L. McClelland, eds. Parallel Data Processing, vol. 1, Cambridge, MA: The M.I.T. Press, pp. 318-362, 1986), созданной блоком генетического алгоритма 7 нейронной сети.

Блок оценки производительности нейронной сети 3 служит для оценки обучения нейронной сети блоком обучения нейронной сети 2.

Блок данных 4 получает и сохраняет параметры объекта управления 1.

Блок нейронной сети 5 реализует нейронную сеть типа многослойный персептрон.

Блок управления 6 предназначен для управления процессом поиска параметров нейронной сети блоком генетического алгоритма 7.

Блок генетического алгоритма 7 реализует заданный генетический алгоритм для поиска структуры нейронной сети.

Блок истории хромосом 8 предназначен для сохранения лучших хромосом, созданных блоком генетического алгоритма 7.

Блок оценки хромосом 9 предназначен для оценки найденных хромосом блоком генетического алгоритма 7.

Заявленное устройство работает следующим образом. Выделим две фазы работы устройства:

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

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

Алгоритм работы устройства в «исследовательском режиме» состоит из следующих шагов:

1. От объекта управления 1 в блок данных 4 по сигналу 10 поступают данные о задаче, которую необходимо решить с помощью нейронной сети (временные ряды, возможные входы и выходы, допустимая ошибка при решении задачи). Блок данных 4 посылает сигнал по связи 24 на блок управления 6.

2. Блок управления 6 подает сигнал по связи 28 в блок генетического алгоритма 7 на формирование хромосом. При этом рассчитываются (или устанавливаются разработчиком) предельные количества популяций нейронных сетей и хромосом в них.

3. Блок генетического алгоритма 7, используя встроенный генератор случайных чисел, формирует заданное количество хромосом. После формирования каждой хромосомы параметры хромосомы для формирования новой нейронной сети подаются в блок нейронной сети 5 по связи 26, далее подается сигнал по связи 27 в блок оценки хромосом 9 на ожидание данных о работе созданной нейронной сети.

4. Блок нейронной сети 5 подает сигнал по связи 16 на блок обучения нейронной сети 2. Блок обучения нейронной сети 2 обучает нейронную сеть. При этом блок обучения нейронной сети 2 запрашивает у блока данных 4 по связи 15 выборку для обучения. После получения выборки по связи 14 блок обучения нейронной сети 2 обучает нейронную сеть, сформированную в блоке нейронной сети 5, подавая пример из обучающей выборки по связи 17 и получая ответ нейронной сети по связи 16. После окончания обучения подается сигнал по связи 17 на блок нейронной сети 5, который запрашивает у блока оценки производительности нейронной сети 3 оценку качества обучения по сигналу 18.

5. Блок оценки производительности нейронной сети 3, получив сигнал 18 от блока нейронной сети 5, запрашивает валидационную выборку для оценки работы нейронной сети у блока данных 4 по связи 13. Блок данных 4 по связи 12 передает в блок оценки производительности нейронной сети 3 валидационную выборку. Получив валидационную выборку, блок оценки производительности нейронной сети 3 проводит тестирование полученной нейронной сети, подавая пример по связи 19 на блок нейронной сети 5. Блок нейронной сети 5 получает пример и отрабатывает его, получая на выходе значения, которые по связи 18 передаются в блок оценки производительности нейронной сети 3, который сравнивает полученный ответ с тем, что должно было получится. Данное тестирование проводится по всем примерам из валидационной выборки. После окончания тестирования накопленная ошибка из блока оценки производительности нейронной сети 3 по связи 20 подается на блок оценки хромосом 9, параллельно по связи 19 идет сигнал на блок нейронной сети 5 о передаче хромосомы текущей нейронной сети в блок оценки хромосом 9. Блок нейронной сети 5, получив данный сигнал, передает хромосому нейронной сети по связи 27 в блок оценки хромосом 9, в котором оценивается качество хромосомы.

6. Блок оценки хромосом 9 проверяет по заданному критерию качества полученную нейронную сеть. Если нейронная сеть удовлетворяет заданному промежуточному критерию, то хромосома данной нейронной сети записывается в блок истории хромосом 8 по связи 34. Если хромосома удовлетворяет конечному критерию качества, то происходит остановка работы блока генетического алгоритма 7 путем выставления блоком оценки хромосом 9 сигнала по связи 33 на блок управления 6. Блок управления 6, получив сигнал 33 об остановке поиска хромосом, подает сигнал по связи 28 на блок генетического алгоритма 7 остановить поиск хромосом и записать найденную хромосому в блок нейронной сети 5. Хромосома нейронной сети, удовлетворяющая конечному критерию, ищется по номеру после получения сигнала по связи 30 в блоке истории хромосом 8, подается в блок генетического алгоритма 7 по связи 31, который передает хромосому в блок нейронной сети 5 по связи 26. Блок нейронной сети 5, сформировав нейронную сеть по полученной хромосоме, переводит устройство в режим работы «в реальном времени», выставляя сигнал по связи 25 на блок управления 6.

7. После того как блок генетического алгоритма 7 сформировал заданное количество хромосом и ни одна из них не удовлетворила конечному критерию, то блок генетического алгоритма 7 посылает сигнал по связи 29 в блок управления 6 об окончании формирования популяции.

8. Блок управления 6, после формирования каждой популяции, проводит отбор хромосом из блока истории хромосом 8 в новую популяцию по принципу «рулетки» и запускает формирование новой популяции (переход на Шаг 2). Отбор удовлетворяющих заданному критерию хромосом идет по запросу от блока генетического алгоритма 7 по свзяи 30. Удовлетворяющие критерию хромосомы посылаются от блока истории хромосом 8 в блок генетического алгоритма 7 по связи 31 (алгоритм «рулетка» см. Рутковский Д., Пилиньский М., Рутковский Л. Нейронные сети, генетические алгоритмы и нечеткие системы: Пер. с польск. И.Д. Рудинского. - М.: Горячая линия - Телеком. 2006. - 452 с.)

Алгоритм работы устройства в «режиме реального времени»:

1. На устройство поступают текущие параметры отслеживаемого процесса (поставленной задачи). Данные от объекта управления 1 поступают по связи 10 и записываются в блок данных 4, который передает их в блок нейронной сети 5 по связи 22;

2. Блок нейронной сети 5 рассчитывает для текущих параметров управляющий сигнал и подает его на объект управления 1 по связи 11;

3. Объект управления 1 отрабатывает управляющий сигнал, поступивший по связи 11, и подает новые параметры отслеживаемого процесса на блок данных 4 по связи 10, который передает их в блок оценки производительности нейронной сети 3 по связи 12 для проверки качества управления;

4. Блок оценки производительности нейронной сети 3 рассчитывает ошибку управления, т.е. разницу между тем, что рассчитывал блок нейронной сети 5, и тем, что получилось после выполнения сигнала управления по связи 11. Если ошибка больше заданной, то блок оценки производительности нейронной сети 3 посылает сигнал 21 на блок управления 6 о поиске новой нейронной сети.

5. Блок управления 6, получив сигнал на поиск новой нейронной сети, переводит устройство в «исследовательский режим», выставляя сигнал 23 на блок данных 4. При поступлении новых данных на блок данных 4, если система находится в «исследовательском режиме», данные только записываются в блок данных 4, не требуя обработки со стороны блока нейронной сети 5.

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



 

Похожие патенты:

Изобретение относится к способу осуществления выбора признаков, основанного на генетическом алгоритме. .

Изобретение относится к области оптимизатора производства для управления цепочками поставок. .

Изобретение относится к аппаратным системам, реализующим эволюционные алгоритмы с нечеткими операторами, используемые в эволюционных инструментальных комплексах, исследованиях при проектировании виртуальных аппаратных средств (Virtual Hardware) и в области самоадаптирующихся и реконфигурируемых аппаратных средств (Self-Adapting and Reconfigurable Hardware).

Изобретение относится к аппаратным системам, реализующим вероятностные генетические алгоритмы. .

Изобретение относится к области кибернетики и может быть использовано для моделирования искусственного интеллекта. .

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

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

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

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

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

Изобретение относится к области сетей и телекоммуникаций и может быть использовано в иерархических протоколах беспроводной сенсорной сети (БСС). Техническим результатом является автоматическое построение и поддержание работоспособности структуры сети.

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

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

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

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

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

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

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

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

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