Нейросетевое воплощение


Мы уже построили нейросеть для важной задачи принятия решений и вручили ее заказчику — дяде Рамзаю.

Теперь еще раз тщательно проследим за применением принципа динамического совмещения обучения системы управления с получением решений и установим в схеме на рис. 6.2 целесообразность, место и способ использования нейронной сети как основного реального средства искусственного интеллекта. Прежде всего заметим, что основным естественным и целесообразным местом применения нейросети здесь является база знаний, ранее реализованная с помощью ассоциативной памяти (см. рис. 6.1). Надо только позаботиться о том, чтобы там находились не численные значения информации, а ее вес или достоверность, т. е. не сама информация должна обрабатываться нейросетью, а ее логический эквивалент. Ведь принцип искусственного интеллекта направлен на параллельную обработку логических высказываний, а вовсе не на числовую обработку информации, как это делается при решении «нейроподобных» задач с использованием нейросети в роли спецпроцессора.

Пусть нейросеть в качестве базы знаний имеет вид, представленный на рис. 6.3.

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

 



Как указано выше, при обучении


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

После обучения с помощью различных эталонов методом трассировки можно добиться соответствия вида {Входы Нейросетевое воплощение 2 

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

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

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

Например, известна реакция сети на значения х = 2, х = 5, х = 6, а модель сгенерировала значение х = 5,7.

Это может означать необходимость (реализуется некоторая процедура) формирования значений возбуждения







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




и устанавливаем, удовлетворяет ли нас




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

Для этого придется ввести в действие новые рецепторы в соответствии с теми значениями исходных данных или их диапазонами, которые ранее не были представлены. Например, придется ввести рецептора соответствии со значением х = 5,7.

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

Таким образом, сеть может обучаться до тех, пор, пока не прекратятся сбои, что маловероятно. Следовательно, в таком режиме она должна работать в течение всего жизненного цикла, реализуя известную пословицу «Век живи — век учись».

Здесь наглядно представлена замечательная возможность нейросети: табличная аппроксимация функции многих переменных, дополненная процедурой интерполяции (экстраполяции) для нахождения произвольного значения вектора аргумента и приближенного значения векторной функции. При этом входной вектор возбуждений рецепторов преобразуется в максимальное или усредненное значение, возбуждения нейронов выходного слоя, указывающее на соответствующее значение вектора функции. Практически столь простым способом мы построили аппроксимацию векторной функции от векторного аргумента!


в более явном виде, ибо


Такая аппроксимация выполняется и в более явном виде, ибо каждая
Следовательно, сеть строится и обучается так, чтобы заданное значение X =

Нейросетевое воплощение 4  к максимальному (или усредненному) значению возбуждения другого нейрона выходного слоя, указывающего на значение



В результате выходной слой разбивается на области, каждая из которых закреплена за своим Нейросетевое воплощение 4 

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



Пусть мы пользуемся значениями функции


Пусть мы пользуемся значениями функции у =f(x).

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

Предположим, та же функция довольно сложна, а ее вычисление — важный элемент алгоритма управления в реальном времени. В таком случае зададим эту функцию таблично, а для ускорения выборки включим в ВС ассоциативную память. Предусмотрим операции, позволяющие производить простейшую интерполяцию, а именно для данного значения х найти наибольшее и наименьшее НЕЙРОСЕТЕВЫЕ САМООБУЧАЮЩИЕСЯ СИСТЕМЫ 2 > х. Выбрать для них





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

Как, например, определить, на сколько повернуть рулевое колесо, чтобы остаться на дороге? Ведь первый раз мы въезжали в бордюр! Видимо, в нашем сознании постепенно сложилась и зафиксировалась некая таблица.

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

После занятия огневой позиции подготовка установок для ведения огня занимает много времени. На рассчитанных установках по каждой цели производится пристрелка, когда цель захватывается в широкую вилку, затем по наблюдениям вилка «половинится» до тех пор, пока на середине узкой вилки не переходят на поражение. После стрельбы следует замечательная команда «Стой, записать...», по которой наводчик на щите орудия пишет номер цели и пристрелянные по ней установки. Такая работа проделывается и по фиктивным целям — реперам. Постепенно на данной местности запоминаются пристрелянные установки по многим целям и реперам. Тогда подготовка данных по вновь появляющимся целям резко упрощается, так как сводится к переносу огня от ближайшей цели или репера, т.е. к внесению поправок по дальности и направлению. Доказано, что при этом достаточно сразу назначить захват цели в узкую вилку, что сокращает время пристрелки. Правила стрельбы существуют века, однако вряд ли кто то осознавал, что речь идет о реализации самообучающейся системы, аналога которой не существует.

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


Пусть исходная ситуация характеризуется вектором


Пусть исходная ситуация характеризуется вектором

X — НЕЙРОСЕТЕВЫЕ САМООБУЧАЮЩИЕСЯ СИСТЕМЫ 3 ..., ...,

По значению X, т.е. по его компонентам, принимается решение Y, также представляющее собой вектор

 Y= {y1, ..., yп}.

Компоненты векторов X и Y могут быть целыми и вещественными числами, а также булевыми. Изначально они даже могут иметь нечисловую природу: «темнее — светлее», «правее — левее», «ласковее — суровее» и т.д. Проблема численной оценки качественных или эмоциональных категорий здесь не рассматривается.

Структура ассоциативной памяти (АП) и общий вид ее обработки показаны на рис. 6.1.




X необходимо найти решение Y.


Пусть для входной ситуации X необходимо найти решение Y. В АП находятся два вектора

НЕЙРОСЕТЕВЫЕ САМООБУЧАЮЩИЕСЯ СИСТЕМЫ 4  и НЕЙРОСЕТЕВЫЕ САМООБУЧАЮЩИЕСЯ СИСТЕМЫ 4  выполняется условие

НЕЙРОСЕТЕВЫЕ САМООБУЧАЮЩИЕСЯ СИСТЕМЫ 4  =

 



 

Где НЕЙРОСЕТЕВЫЕ САМООБУЧАЮЩИЕСЯ СИСТЕМЫ 4  — расстояния между векторами НЕЙРОСЕТЕВЫЕ САМООБУЧАЮЩИЕСЯ СИСТЕМЫ 4  а  также  




Y достаточна, принципиально возможно дополнение


Если точность Y достаточна, принципиально возможно дополнение АП новой строкой "X— Y", т.е. информацией о новом опыте.

Впрочем, динамика развития и уточнения АП, как базы знаний, представляется иной. Далеко не всегда целесообразно развивать базу знаний только тогда, когда принято ошибочное решение. «Учение на ошибках» может привести к трагедии (или к срыву процесса управления), особенно на этапе обучения системы.

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