Описание архитектуры

Архитектура нейронной сети характеризуется количеством входов, слоев, выходов, целей, смещений, а также топологией их соединения. Перечисленные ниже поля массива записей net определяют свойства нейронной сети, связанные с ее архитектурой.

  net Тип Размер Значение по умолчанию Имя поля
¾ .numInputs Integer >= 0 1´1   Количество входов сети
¾ .numLayers Integer >= 0 1´1   Количество слоев
¾ .biasConnect Boolean array NumLayers´1 [ ] Матрица связности для смещений
¾ .inputConnect Boolean array NumLayers ´ NumInputs [ ] Матрица связности для входов
¾ .layerConnect Boolean array NumLayers ´ NumLayers [ ] Матрица связности для слоев
¾ .outputConnect Boolean array 1´NumLayers [ ] Матрица связности для выходов
¾ .targetConnect Boolean array 1´NumLayers [ ] Матрица связности для целей
¾ .numOutputs Integer >= 0 (только для чтения) 1´1 0 Количество выходов сети
¾ .numTargets Integer >= 0 (только для чтения) 1´1 0 Количество целей сети
¾ .numInputDelays Integer >= 0 (только для чтения) 1´1 0 Максимальное значение задержки для входов сети
¾ .numLayerDelays Integer >= 0 (только для чтения) 1´1 0 Максимальное значение задержки для слоев сети

numInputs число входов

Количество векторов входа сети. Количество векторов входа следует отличать от количества элементов вектора входа. Число входов задается целым положительным числом и указывает, как много векторов входа подано на сеть; по умолчанию 0. В свою очередь, количество элементов каждого входного вектора задается свойством inputs{i}.size. Любое изменение свойства numInputs будет влиять на размеры матрицы связности inputConnect
и массивов ячеек inputs{i}.

numLayers число слоев

Количество слоев. Число слоев задается целым положительным числом; по умолчанию 0. Любое изменение этого свойства будет влиять на размер матриц связности biasConnect, inputConnect, layerConnect, outputConnect, targetConnect, а также размеры массивов весов
и смещений IW, LW, b.

biasConnect матрица связности

Матрица связности для смещений. Это одномерная булева матрица размера Nl´1, где Nl количество слоев, определяемых свойством numLayers. Наличие или отсутствие смещения в слое i отмечается в элементе вектора biasConnect(i) как 1 или 0 соответственно.
Наличие смещения означает, что в массивах ячеек biases{ i } и b{ i } будут созданы структуры, задающие все характеристики смещения.

inputConnect матрица связности

Матрица связности для входов. Это булева матрица размера Nl´Ni, где Nl – количество слоев, определяемых свойством numLayers, и Ni – количество входов, определяемых свойством numInputs. Наличие или отсутствие веса при связывании слоя i со слоем j отмечается в элементе матрицы inputConnect(i, j) как 1 или 0 соответственно. Наличие веса означает, что в массивах ячеек inputWeights{i} и IW{i} будут созданы структуры, задающие характеристики весов входа.

layerConnect матрица связности

Матрица связности для слоев. Это булева матрица размера Nl´Nl, где Nl количество слоев, определяемых свойством numLayers. Наличие или отсутствие веса в слое i по входу j отмечается в элементе матрицы layerConnect(i, j) как 1 или 0 соответственно. Наличие веса означает, что в массивах ячеек layerWeights{ i } и LW{i} будут созданы структуры, задающие характеристики весов слоя.

outputConnect матрица связности

Матрица связности для выходов. Это одномерная булева матрица размера 1´Nl, где Nl – количество слоев, определяемых свойством numLayers. Наличие или отсутствие выхода в слое i отмечается в элементе вектора outputConnect(i) как 1 или 0 соответственно. Наличие выхода изменяет значение свойства numOutputs и означает, что в массиве ячеек outputs{ i } будет сформирована структура, задающая характеристики выхода.

targetConnect матрица связности

Матрица связности для целей. Это одномерная булева матрица размера 1´Nl, где Nl – количество слоев, определяемых свойством numLayers. Наличие или отсутствие целевого выхода в слое i отмечается в элементе вектора targetConnect(i) как 1 или 0 соответственно. Наличие цели изменяет значение свойства numTargets и означает, что в массиве ячеек targets{ i } будет сформирована структура, задающая характеристики целевого выхода.

numOutputs число выходов (только для чтения)

Количество выходов. Число выходов определяется количеством единиц в матрице связности для выходов; по умолчанию 0. Оно может быть вычислено следующим образом:

numOutputs = sum(outputConnect)

numTargets число целей (только для чтения)

Количество целевых выходов. Число целей определяется количеством единиц в матрице связности для целей; по умолчанию 0. Оно может быть вычислено следующим образом

numOutputs = sum(targetConnect)

numInputDelays максимальное значение задержки (только для чтения)

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

numInputDelays = 0;

for i=1:net.numLayers

for j=1:net.numInputs

if net.inputConnect(i,j)

numInputDelays = max(...

[numInputDelays net.inputWeights{i,j}.delays]);

end

end

end

numLayerDelays максимальное значение задержки (только для чтения)

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

numLayerDelays = 0;

for i=1:net.numLayers

for j=1:net.numLayers

if net.layerConnect(i,j)

numLayerDelays = max(...

[numLayerDelays net.layerWeights{i,j}.delays]);

end

end

end


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



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