я шару i від шару j.
. Проаналізував всі параметри кожного блоку структурної схеми розглянутої нейронної мережі і в разі необхідності звернутися до довідкової системи пакету NNT.
. Задав нульові послідовності сигналів для входів=[0 0; 0 0]
і справив моделювання мережі=sim (net, P)
. Задав діапазони вхідних сигналів і вагові матриці за допомогою наступних присвоювань:
net.inputs {1} .range=[0 1] ;. inputs {2} .range=[0 1];.b {1}=- 0,25; .IW {1, 1}=[0.5] ;. IW {1, 2}=[0.5];
net.LW {2, 1}=[0.5] ;. LW {3, 2}=[0.5].
Виконав команду gensim (net) і перевірив параметри блоку.
Рис. 6. Графік роботи нейронної мережі
. Вивів на екран поля обчислювальної моделі і їх вміст, використовуючи функцію celldisp. Переконався в правильності значень полів моделі. {1}=
exampleInput: [0 1]
name: Input
processFcns: {}
processParams: {}
processSettings: {1x0 cell}
... {2}=
exampleInput: [0 1]
name: Input
processFcns: {}
processParams: {}
processSettings: {1x0 cell}
...
. Промоделювати створену статичну мережу, т. Е. Мережу без ліній затримки, використовую групове і послідовне уявлення вхідних сигналів
PG=[0.5 1; 1 0.5];={[0.5 1] [1 0.5]};=sim (net, PG);
PS1=sim (net, PS)
Переконався, що для статичної мережі групове і послідовне представлення вхідних сигналів дають один і той же результат.
. Доповнив архітектуру створеної нейронної мережі лініями затримки для вхідних сигналів і для сигналів між 2-м і 3-м шарами, перетворивши, таким чином, статичну мережу в динамічну: .inputWeights {1, 1} .delays=[0 1] ;. inputWeights {1, 2} .delays=[0 1] ;. layerWeights {3, 2} .delays=[0 1 2].
. Скорегував вагові матриці: .IW {1, 1}=[0.5 0.5] ;. IW {1, 2}=[0.5 0.25] ;. LW {3, 2}=[0.5 0.25 1].
. Промоделювати динамічну мережу, використовуючи групове і послідовне уявлення вхідних сигналів:
AG=sim (net, PG); =Sim (net, PS).
Групове уявлення вхідних сигналів спотворює результат, так як в цьому випадку робота однієї мережі замінюється паралельною роботою двох (по числу послідовностей) однакових мереж з нульовими початковими значеннями сигналів на виходах ліній затримки.
Рис. 7. Графік динамічної багатошарової нейронної мережі
. Вивів на друк поля обчислювальної моделі і їх вміст, використовуючи функцій celldisp.
ans {1}=
exampleInput: [0 0,5]
name: Input
processFcns: {0,5 0,5}
processParams: {0,5 0,25}
processSettings: {1x0 cell}
... {2}=
exampleInput: [0 0,5]
name: Input
processFcns: {0,5 0,5}
processParams: {0,5 0,25 1}
processSettings: {1x0 cell}
...
. Зберіг вміст командного вікна в М-файлі для подальшого використання.
Завдання 2.
Створити точно таку ж динамічну мережу asgnet, використовуючи конструктор класу network без параметрів і задаючи значення відповідних полів обчислювальної моделі за допомогою операторів присвоювання. Переконатися в ідентичності мереж net і asgnet.
Порівняти результати роботи отриманих мереж.
Порядок виконання.
1. Створив динамічну мережу asgnet використовую порожній конструктор network
=network ();
. Задав всі параметри і значення полів за допомогою присвоєння
asgnet.numInputs=2
asgnet.numLayers=3.biasConnect=[1; 0; 0] .inputConnect=[1 1, 0 0; 0 0] .layerConnect=[0 0 0; 1 0 0; 0 1 0] .outputConnect=[0 0 1]
Рис. 8. Структурна схема нейронної мережі asgnet
P1=[0 0; 0 0]=sim (asgnet, P1) .inputs {1} .range=[0 1] ;. inputs {2} .range=[0 1]; =[0.5 1; 1 0.5];={[0.5 1]; [1 0.5]};=sim (asgnet, PG1); =Sim (asgnet, PS1) ;. b {1}=- 0,25; .inputWeights {1, 1} .delays=[0 1] ;. inputWei...