21693

Обучение контроллера: подход на основе прогнозируемой ошибки выхода

Лекция

Информатика, кибернетика и программирование

Шаг 1. read ; Шаг 2. {Обучение эмулятора} for := downto 0 do begin :=; ; end; Шаг 3. {Генерация управляющего входного сигнала} :=; или :=; :=; Шаг 4.

Русский

2013-08-03

361.5 KB

4 чел.

етоды искусственного интеллекта

Лекция № 10

МЕТОДЫ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА

ЛЕКЦИЯ № 10

На прошлой лекции мы начали заниматься проблемой эффективного управления с помощью нейроконтроллеров. Я напомню, г-н Омату предлагает три метода обучения. Первый — это обучение эмулятора, а другие два — это обучение контроллера, либо на ошибке инверсно-прямого управления, либо на основе прогнозируемой ошибки выхода.

Мы остановились на втором подходе, и пришли к выводу, что он сам по себе даёт плохие результаты: выход нейроконтроллера устанавливается на некоторой постоянной величине, в результате чего ошибка обучения оказывается нулевой, однако характеристики управления оставляют желать лучшего. Этот недостаток присущ всем методам обучения, основанным на минимизации ошибки инверсного управления. Его можно устранить, используя сочетание таких методов управления с другими, непосредственно минимизирующими ошибку системы регулирования.

Мы начали рассматривать пример, который это иллюстрирует.

Пусть р=3, q=2 и только что получена величина у(9). Предположим также, что в памяти имеются аналогичные величины, что и в предыдущем примере: , , …  и , … .

Обозначим через  текущее отображение, выполняемое нейроконтроллером. Равенство  означает, что обучения ещё нет. Входной сигнал для объекта управления  можно вычислить из соотношения , где .

Для обучения в соответствии с подходом на основе ошибки инверсно-прямого управления можно использовать следующие векторы:

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

На рисунке этот подход будет выглядеть так:

{рис. 4.4.1-б, с. 127}

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


3. Обучение контроллера: подход на основе прогнозируемой ошибки выхода

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

Наличие таких данных эквивалентно наличию в памяти  входных векторов . В момент времени  входной управляющий сигнал  определяется следующим образом:

.

Однако с момента времени, когда вектор  был сохранён, до текущего момента времени  было выполнено несколько корректировок нейроконтроллера. Поэтому в момент времени  сохранённый входной вектор  даст следующий виртуальный входной сигнал:

.

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

,

где второй верхний индекс в обозначении  опущен для простоты, а вектор задаётся следующим образом:

{рис. 4.4.2-а, с. 130}

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

.

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

Пример. Пусть ,  и только что получена величина . Предположим, что в памяти имеются значения , а также , и ещё ,  и . Входные векторы нейроконтроллера, используемые для вычисления трёх последних значений входного управляющего сигнала, можно записать в следующей форме:

Возможная процедура обучения для момента времени  показана на следующем рисунке:

{рис. 4.4.2-б, с. 130}

За один период дискретизации выполняется три обучающих итерации.

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

Алгоритмы обучения

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

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

1. Множественное обучение эмулятора

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

Шаг 1.

read ;

Шаг 2. {Обучение эмулятора}

for :=() downto 0 do

begin

:=;

;

end;

Шаг 3. {Генерация управляющего входного сигнала}

:=;

или

:=;

:=;

Шаг 4. Применить  к объекту управления и ждать время .

Шаг 5. {Сдвиг данных}

for :=() downto 1 do

:=;

Шаг 6. {Новейший вектор данных}

:=;

Шаг 7.

:=;

Шаг 8. Переход к шагу 1.

2. Множественное обучение контроллера: инверсно-прямое управление

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

Шаг 1.

read ;

Шаг 2. {Новейший вектор данных}

:=;

Шаг 3. {Обучение контроллера}

for :=() downto 0 do

begin

 :=;

;

end;

Шаг 4. {Генерация управляющего входного сигнала}

:=;

или

:=;

:=;

Шаг 5. Применить  к объекту управления и ждать время .

Шаг 6. {Сдвиг данных}

for :=() downto 1 do

 :=;

Шаг 7.

:=;

Шаг 8. Переход к шагу 1.

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

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

Шаг 1.

read ;

Шаг 2. {Обучение контроллера по прогнозируемым ошибкам}

for :=() downto 1 do

begin

for :=0 to  do

 :=;

{виртуальный входной вектор для эмулятора}

:=;

{виртуальный выход}

:=;

 ;

end;

Шаг 3. {Обычное обучение с использованием новейших данных}

;

Шаг 4. {Сдвиг данных}

for :=() downto 1 do

 :=;

Шаг 5. {Генерация управляющего входного сигнала}

:=;

или

:=;

:=;

Шаг 6. Применить  к объекту управления и ждать время .

Шаг 7.

:=;

Шаг 8. Переход к шагу 1.

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

PAGE  2

Томский политехнический университет,

Дмитрий Афонин, апрель 2006 г.


 

А также другие работы, которые могут Вас заинтересовать

37167. Россия при Иване Четвертом. Избранная Рада. Реформы 17.36 KB
  Борьба эта протекала на глазах малолетнего Ивана IV. вокруг молодого Ивана IV сложился совет близких к нему людей получивший название “Избранная радаâ€. Костомарова который считал что “этот государь всю жизнь находился под влиянием то тех то других†и “что дела составившие славу царствования до падения Сильвестра исходили от этого последнего и его кружка и совершались не только не по его Ивана IV указанию но часто против желанияâ€. Провозглашая эти реформы правительство Ивана IV изображало их как мероприятия цель которых...
37168. Иван Грозный в фильме Эйзенштейна. Опричнина, ее суть и последствия 16.5 KB
  Иван Грозный в фильме Эйзенштейна. Иван Грозный в фильме Эйзенштейна Смотрите фильм в папке Фильм Сергея Эйзенштейна ИВАН ГРОЗНЫЙ 1944 Опричнина К 1557 г. При решении этого вопроса произошел разрыв Ивана Грозного с Избранной Радой которая в отличии от намерений царя завоевать Ливонию предлагала овладеть Крымом. Несогласие в политических взглядах усугубилось смертью жены Ивана Грозного Анастасии в которой обвиняли Сильвестра и Адашева.
37169. Смутное время в истории России. Польско-шведская интервенция. Народные ополчения 24.35 KB
  Смутное время в истории России. В условиях всеобщего недовольства на западных границах России появляется самозванец выдававший себя за чудесно спасшегося в Угличе царевича Дмитрия сына Ивана Грозного. Шведские войска оккупировали значительную часть севера России и захватили Новгород. В России росло недовольство.
37170. Начало династии Романовых. Россия в первой половине XVII в 21.22 KB
  Россия в первой половине XVII в. Россия в XVII в. Главной тенденцией политического развития России в первой половине XVII в. Внешняя политика в XVII в.
37171. Социально-политические изменения в XVII в. Соборное уложение 1649 г. Народные бунты 14.46 KB
  Социальнополитические изменения в XVII в. Общие факты Характерной чертой экономического развития России в XVII веке стало безраздельное господство феодальнокрепостнической системы. Прекратился созыв Земских Соборов которые являлись неотъемлемой частью государственной власти в первой половине XVII в. “Бунташный век†XVII в.
37172. Церковные реформы. Алексей Михайлович Романов и патриарх Никон. Раскол как общественное явление 20.59 KB
  Алексей Михайлович Романов и патриарх Никон. патриархом был избран митрополит Новгородский Никон один из самых крупных могучих русских деятелей XVII века по замечанию историка С. Никон ещё будучи в Новгороде старался привести духовенство к благочестию и соблюдению церковного устава. Став патриархом Никон занялся просмотром патриаршей библиотеки где нашёл древнюю грамоту об учреждении патриаршества в Москве подписанную восточными иерархами.
37173. Предпосылки преобразований в конце XVII века и начало правления Петра I. Вестернизация 34 KB
  Предпосылки преобразований в конце XVII века и начало правления Петра I. Но самое главное отличие от вестернизации Петра Первого то что это мало влияло на обычаи русского народа. Начало правления Петра Первого связанное с европеизацией. Царь отправился в путешествие под именем урядника Преображенского полка Петра Михайлова.
37174. Северная война и ее влияние на внутренне положение России 16.82 KB
  После победы под Нарвой Карл XII решил что разгромленная им русская армия более не сможет продолжать войну. армия получила 268 орудий в том числе 100 полковых а в 1702 г. шведская армия сосредоточилась у Минска где Карл XII уже заручившийся поддержкой Мазепы изменившего русскому царю стал поджидать казачьи войска обещанные гетманом. Но тут русская армия выполняя замысел Петра I начала медленно отступая постоянно тревожить шведов внезапными нападениями и кратковременными стычками.
37175. Реформы Петра Первого 89.44 KB
  Реформы Петра Первого. ВОЕННЫЕ РЕФОРМЫ ПЕТРА I Военные реформы занимают особое место среди Петровских преобразований. Историки насчитывают всего лишь несколько месяцев мирного времени за более чем 35летнее правление Петра. Понятно что именно армия и флот были главным предметом заботы Петра.