netWORK | Создание шаблона нейронной сети |
Блок SIMULINK:
Синтаксис:
net = network
net = network(numInputs, numLayers, biasConnect, inputConnect,
layerConnect, outputConnect, targetConnect)
Описание:
Функция network – это конструктор класса объектов network object, используемых
в ППП NNT.
Функция net = network создает шаблон нейронной сети net, значения полей которого обнулены.
Функция net = network(numInputs, numLayers, biasConnect, inputConnect, layerConnect, outputConnect, targetConnect) применяется как конструктор класса для написания моделей нейронных сетей.
Выходной аргумент net – имя нейронной сети.
Пример:
Создадим шаблон нейронной сети с двумя входами (numInputs = 2), тремя слоями (numLayers = 3) и следующими матрицами связности:
BiasConnect = [1; 0; 0] размера numLayers´1;
inputConnect = [1 1; 0 0; 0 0] размера numLayers´numInputs;
layerConnect = [0 0 0; 1 0 0; 0 1 0] размера numLayers´numLayers;
outputConnect = [0 0 1] размера 1´ numLayers;
targetConnect = [0 0 1] размера 1´ numLayers.
net = network(2, 3, [1; 0; 0], [1 1; 0 0; 0 0], [0 0 0; 1 0 0; 0 1 0],...
[0 0 1], [0 0 1]);
gensim(net) % Рис.11.1
Получим структуру, представленную на рис. 11.1.
Рис. 11.1
Если раскрыть блок Neural Network, то можно выявить структуру сети, обусловленную матрицами связности inputConnect и layerConnect (рис. 11.2).
Рис. 11.2
Из анализа рис. 11.2 следует, что оба входа p{1} и p{2} действуют только на слой 1,
а слои 1, 2 и 3 соединены последовательно. Выходом слоя 1 является описатель a{1}; выходом слоя 2 – описатель a{2}; выходом слоя 3 – описатель a{3}; выход сети – описатель y{1} – совпадает с выходом слоя 3.
Раскроем слои 1, 2 и 3 (рис. 11.3, а – в).
а |
б |
в |
Рис. 11.3
На рис. 11.3, а показана схема слоя 1 со следующими обозначениями:
p{1} – описатель входа 1 на слое 1;
p{2} – описатель входа 2 на слое 1;
Delays 1 – линия задержки для входа 1;
Delays 2 – линия задержки для входа 2;
IW{1,1} – описатель матрицы весов для входа 1 на слое 1;
IW{1,2} – описатель матрицы весов для входа 2 на слое 1;
b{1} – описатель вектора смещений на слое 1;
netsum – функция накопления для слоя 1;
purelin – функция активации для слоя 1;
a{1} – описатель выхода на слое 1.
На рис. 11.3, б показана схема слоя 2 со следующими обозначениями:
a{1} – описатель входа на слое 2;
Delays 1 – линия задержки;
LW{2,1} – описатель матрицы весов связей слоев 1 и 2;
netsum – функция накопления для слоя 2;
purelin – функция активации для слоя 2;
a{2} – описатель выхода на слое 2.
На рис. 11.3, в показана схема слоя 3 со следующими обозначениями:
a{2} – описатель входа на слое 3;
Delays 1 – линия задержки;
LW{3,2} – описатель матрицы весов связей слоев 2 и 3;
netsum – функция накопления для слоя 3;
purelin – функция активации для слоя 3;
a{3} – описатель выхода на слое 3.
Введем линии задержки для входов 1 и 2, а также для слоя 3 (рис. 11.4):
net.inputWeights{1,1}.delays = [0 1];
net.inputWeights{1,2}.delays = [1 2];
net.layerWeights{3,2}.delays = [0 1 2];
Слой 1 | Слой 2 | Слой 3 |
Рис. 11.4
На рис. 11.4 показаны развернутые блоки задержек для всех слоев сети. На схемах выходы этих блоков обозначаются следующим образом:
pd{1,1} – входная последовательность [p1(t), p1(t–1)] для входа 1 на слое 1;
pd{1,2} – входная последовательность [p2(t–1), p2(t–2)] для входа 2 на слое 1;
pd{2,1} – последовательность сигналов, поступающая со слоя 1 на слой 2;
pd{3,2} – последовательность сигналов, поступающая со слоя 2 на слой 3.
Рассмотрим описатель матрицы весов на примере весов входа для слоя 1 (рис. 11.5).
Рис. 11.5
Эта схема использует следующие обозначения:
pd{1,1} – вектор входной последовательности;
IW{1,1}(1,:) – строка матрицы весов;
dotprod1 – скалярное произведение z = w*p;
iz{1,1} – массив взвешенных входов.
Установим параметры нейронной сети и векторов входа:
net.inputs{1}.range = [0 1];
net.inputs{2}.range = [0 1];
net.b{1}=–1/4;
net.IW{1,1} = [ 0.5 0.5 ]; net.IW{1,2} = [ 0.5 0.25];
net.LW{2,1} = [ 0.5 ];
net.LW{3,2} = [ 0.5 0.25 1];
P = [0.5 1; 1 0.5];
После этого модель нейронной сети может быть промоделирована либо используя
переопределяемый метод network\sim, либо с помощью системы SIMULINK.
Построенная модель будет использована при описании методов sim и gensim.
Справка:
help network/network
Сопутствующие функции: GENSIM.