- •Кафедра АиПэ
- •Содержание
- •Предисловие
- •Домашнее задание №1
- •1. Цели и задачи домашнего задания
- •2. Содержание домашнего задания
- •3. Порядок выполнения домашнего задания
- •4. Требования к оформлению домашнего задания
- •Домашнее задание №2
- •1. Цели и задачи домашнего задания
- •2. Содержание домашнего задания
- •3. Порядок выполнения домашнего задания
- •4. Требования к оформлению домашнего задания
- •Список литературы
- •. Приложение
- •Еременко Юрий Иванович Полещенко Дмитрий Александрович нейроуправление
. Приложение
Опрераторы программы
Функция NEWFF Сеть прямой передачи FF
Синтаксис:
net = newff(PR,[S1 S2...SNI],{TF1 TF2...TFNI},btf,blf,pf)
Описание:
Функция newff предназначена для создания многослойных нейронных сетей прямой передачи сигнала с заданными функциями обучения и настройки, которые используют метод обратного распространения ошибки.
Функция net = newff(PR, [SI S2 ... SN1], (TF1 TF2 ... TFN1}, btf, blf, pf) формирует многослойную нейронную сеть.
Входные аргументы:
PR - массив размера Rx2 минимальных и максимальных значений для R векторов входа;
Si - количество нейронов в слое i;
TFi - функция активации слоя i, по умолчанию tansig;
btf - обучающая функция, реализующая метод обратного распространения, по умолчанию trainlm;
blf- функция настройки, реализующая метод обратного распространения, по умолчанию learngdm;
pf- критерий качества обучения, по умолчанию mse.
Выходные аргументы:
net - объект класса network object многослойной нейронной сети.
Свойства сети:
Функциями активации могут быть любые дифференцируемые функции, например tansig, logsig или purelin.
Обучающими функциями могут быть любые функции, реализующие метод обратного распространения: trainlm, trainbfg, trainrp, traingd и др.
Функция trainlm является обучающей функцией по умолчанию, поскольку обеспечивает максимальное быстродействие, но требует значительных ресурсов памяти. Если ресурсы памяти недостаточны, воспользуйтесь следующими рекомендациями:
• установите значение свойства net.trainParam.mеm_reduc равным 2 или более, что снизит требования к памяти, но замедлит обучение;
• воспользуйтесь обучающей функцией trainbfg, которая работает медленнее, но требует меньшей памяти, чем М-функция trainlm;
• перейдите к обучающей функции trainrp, которая работает медленнее, но требует меньшей памяти, чем М-функция trainbi'g.
Функциями настройки могут быть функции, реализующие метод обратного распространения: learngd, learngdm.
Критерием качества обучения может быть любая дифференцируемая функция: mse, msereg.
Пример:
Создать нейронную сеть, чтобы обеспечить следующее отображение последовательности входа Р в последовательность целей Т:
Р= [0 1 2 3 4 5 6 7 8 9 10] ;
Т= [0 1 2 3 4 3 2 1 2 3 4];
Архитектура нейронной сети: двухслойная сеть с прямой передачей сигнала; первый слой - 5 нейронов с функцией активации tansig; второй слой - 1 нейрон с функцией активации purelin; диапазон изменения входа [0 10].
net = newff([0 10],[5 1],{‘tansig’ ‘purelin’});
gensim(net)
Выполним моделирование сети и построим графики сигналов выхода и цели.
Y = sim(net,P);
plot(P, Т, P, Y, 'о')
Обучим сеть в течение 50 циклов:
net.trainParam.epochs = 50;
net = train(net,P,T);
NEWFFTD Динамическая нейронная сеть FFTD
Сеть прямой передачи с запаздыванием
Синтаксис:
net = newfftd(PR, ID, [S1 S2 ... SNI], {TF1 TF2 ... TFNI}, btf, blf, pf)
Описание:
Функция newfftd предназначена для создания многослойных нейронных сетей прямой передачи сигнала с линиями задержки и заданными функциями обучения и настройки, использующими метод обратного распространения ошибки.
Функция net = newfftd(PR, ID, [SI S2 ... SNI], {TF1 TF2 ... TFNI}, btf, blf, pf) формирует динамическую многослойную нейронную сеть.
Входные аргументы:
PR - массив размера Rx2 минимальных и максимальных значений для R векторов входа;
ID - вектор параметров линии задержки на входе сети;
Si - количество нейронов в слое г;
TFi - функция активации слоя /, по умолчанию tansig;
btf - обучающая функция, реализующая метод обратного распространения, по умолчанию trainlm;
blf- функция настройки, реализующая метод обратного распространения, по умолчанию learngdm;
pf- критерий качества обучения, по умолчанию mse.
Выходные аргументы:
net - объект класса network object динамической многослойной нейронной сети.
Свойства сети:
Функциями активации могут быть любые дифференцируемые функции, например tansig, logsig или purelin.
Обучающими функциями могут быть любые функции, реализующие метод обратного распространения: trainlm, trainbfg, trainip, traingd и др.
TRAIN Обучение нейронной сети
Синтаксис:
[net, TR] = train(net,P,T,Pi,Ai)
[net, TR] = train(net,P,T,Pi,Ai,VV,TV)
Описание:
Функция [net, TR] = train(net, P, T, Pi, Ai) является методом для объектов класса network object, который реализует режим обучения нейронной сети. Эта функция характеризуется следующими входными и выходными аргументами.
Входные аргументы:
net - имя нейронной сети;
Р - массив входов;
Т - вектор целей, по умолчанию нулевой вектор;
Pi - начальные условия на линиях задержки входов, по умолчанию нулевой вектор;
Ai - начальные условия на линиях задержки слоев, по умолчанию нулевой вектор.
Выходные аргументы:
net - структура объекта network object после обучения; TR - характеристики процедуры обучения:
TR.timesteps - длина последней выборки;
TR.perf - значения функции качества на последнем цикле обучения.
Заметим, что входной аргумент Т используется только при наличии целевых выходов. Аргументы Pi и Pf используются только в случае динамических сетей, имеющих линии задержки на входах или в слоях.
Входные аргументы Р и Т могут иметь 2 формата: cell array и double array. Формат cell aray наиболее прост для понимания и соответствует последовательному представлению данных.
GENSIM Формирование S-модели нейронной сети
Синтаксис:
gensim(net, ST)
Описание:
Функция gensim(net, ST) формирует S-модель нейронной сети с именем net для ее запуска в среде системы моделирования; аргумент ST задаст такт дискретности, который необходим для моделирования динамических сетей. Если сеть не имеет ЛЗ, т. е. является статической системой, то значение ST следует задать равным -1, что соответствует неопределенному такту дискретности.
Функции активации:
Purelin – реализует линейную функцию активации во всем диапазоне изменения входного аргумента.
Logsig – реализует сигмоидальную функцию активации
Tansig - реализует гиперболическую тангенциальную функцию активации
Блоки для моделирования системы управления
Transport delay
Блок фиксированной задержки – обеспечивает временную задержку входного сигнала на заданное время.
Параметры блока:
Time delay – время задержки;
Initial input – начальный уровень входа;
Transfer Fcn
Блок передаточной характеристики – создает передаточную функцию H(s)=y(s)/u(s) в виде отношения полиномов заданной степени.
Numerator – вектор коэффициентов полиномов числителя;
Denominator - вектор коэффициентов полиномов знаменателя.
Пример: (s2+2s+3)/(s3+s2+3s+4)
Numerator = [1 2 3];
Denominator = [1 1 3 4].
Ramp
Источник линейно нарастающего воздействия вида F(t)=k*t.
Параметры источника:
Slope — угловой коэффициент временной зависимости k;
Start time — время, начиная с которого воздействие нарастает;
Initial value — начальный уровень воздействия.
Step
Источник воздействия в виде одиночного перепада.
Параметры источника:
Step time — время появления перепада (скачка);
Initial value — начальное значение воздействия (до перепада);
Final value — конечное значение воздействия (после перепада);
Sample time — эталонное время.
Перепад можно задавать как положительным, так и отрицательным. Для задания отрицательного перепада начальное значение должно быть больше, чем конечное. Эти значения могут быть как положительными, так и отрицательными.
Scope
Виртуальный осциллограф позволяет представить результаты моделирования в виде временных диаграмм с оцифрованной масштабной сеткой.
основные параметры вкладки General:
Number of axes — число осей (каналов) осциллографа, позволяет превратить одноканальный осциллограф в многоканальный. При этом осциллограф приобретает несколько входных портов, к которым можно подключать различные сигналы;
Time range — пределы временного интервала;
Tick labels — вывод/скрытие отметок по осям;
Sampling — установка временных соотношений: Decimation (в десятичных долях времени со значением по умолчанию 1) или Sample Time (в тактах эталонного времени, по умолчанию 0).
На вкладке Data history можно задать максимальное число точек осциллограмм для хранения и задать параметры хранения осциллограмм.
То Workspace
Блок позволяет записывать входные данные в виде матриц. На каждом такте моделирования формируется колонка, содержащая время такта и входные данные.
Блок То Workspace записывает указанную матрицу (но без строки отсчетов времени) в рабочее пространство. Необходимо использовать представление данных в виде массива – Array.
Mux
Блок реализует функцию мультиплексора.
Учебное издание