Модели сетей

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.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: