Создайте пользовательскую мелкую нейронную сеть
net = network
net = network(numInputs,numLayers,biasConnect,inputConnect,layerConnect,outputConnect)
Введите help network/network
.
Совет
Чтобы изучить, как создать нейронную сеть для глубокого обучения, смотрите, Задают Слои Сверточной нейронной сети.
network
создает новые пользовательские сети. Это используется, чтобы создать сети, которые затем настраиваются функциями, такими как feedforwardnet
и narxnet
.
net = network
без аргументов возвращает новую нейронную сеть без входных параметров, слоев или выходных параметров.
net = network(numInputs,numLayers,biasConnect,inputConnect,layerConnect,outputConnect)
берет эти дополнительные аргументы (показанный со значениями по умолчанию):
numInputs | Количество входных параметров, 0 |
numLayers | Количество слоев, 0 |
biasConnect |
|
inputConnect |
|
layerConnect |
|
outputConnect | 1 |
и возвращается
net | Новая сеть с данными значениями свойств |
net.numInputs | 0 или положительное целое число | Количество входных параметров. |
net.numLayers | 0 или положительное целое число | Количество слоев. |
net.biasConnect |
| Если |
net.inputConnect |
| Если |
net.layerConnect |
| Если |
net.outputConnect | 1 | Если |
net.numOutputs | 0 или положительное целое число (только для чтения) | Количество сетевых выходных параметров согласно |
net.numInputDelays | 0 или положительное целое число (только для чтения) | Максимальная входная задержка согласно всему |
net.numLayerDelays | 0 или положительное число (только для чтения) | Максимальная задержка слоя согласно всему |
net.inputs |
|
|
net.layers |
|
|
net.biases |
| Если |
net.inputWeights |
| Если |
net.layerWeights |
| Если |
net.outputs | 1 | Если |
net.adaptFcn | Имя сетевой функции адаптации или |
net.initFcn | Имя сетевой функции инициализации или |
net.performFcn | Имя функции производительности сети или |
net.trainFcn | Имя сетевой учебной функции или |
net.adaptParam | Сетевые параметры адаптации |
net.initParam | Сетевые параметры инициализации |
net.performParam | Параметры производительности сети |
net.trainParam | Сетевые параметры обучения |
net.IW |
|
net.LW |
|
net.b |
|
net.userdata | Структура можно использовать, чтобы сохранить полезные значения |
В этом примере показано, как создать сеть без любых входных параметров и слоев, и затем определить ее номера входных параметров и слоев к 1 и 2 соответственно.
net = network net.numInputs = 1 net.numLayers = 2
В качестве альтернативы можно создать ту же сеть с одной строкой кода.
net = network(1,2)
В этом примере показано, как создать с одним входом, 2D слой, сеть прямого распространения. Только первый слой имеет смещение. Входной вес соединяется со слоем 1 от входа 1. Вес слоя соединяется со слоем 2 от слоя 1. Слой 2 является сетевым выходом и имеет цель.
net = network(1,2,[1;0],[1; 0],[0 0; 1 0],[0 1])
Можно просмотреть сетевые подобъекты со следующим кодом.
net.inputs{1} net.layers{1}, net.layers{2} net.biases{1} net.inputWeights{1,1}, net.layerWeights{2,1} net.outputs{2}
Можно изменить свойства любого из сетевых подобъектов. Этот код изменяет передаточные функции обоих слоев:
net.layers{1}.transferFcn = 'tansig'; net.layers{2}.transferFcn = 'logsig';
Можно просмотреть веса для связи от первого входа до первого слоя можно следующим образом. Веса для связи от входа до слоя хранятся в net.IW
. Если значения еще не установлены, они заканчиваются, пусто.
net.IW{1,1}
Можно просмотреть веса для связи от первого слоя до второго слоя можно следующим образом. Веса для связи от слоя до слоя хранятся в net.LW
. Снова, если значения еще не установлены, результат пуст.
net.LW{2,1}
Можно просмотреть значения смещения для первого слоя можно следующим образом.
net.b{1}
Чтобы изменить число элементов во входе 1 - 2, установите область значений каждого элемента:
net.inputs{1}.range = [0 1; -1 1];
Чтобы симулировать сеть для двухэлементного входного вектора, код может выглядеть так:
p = [0.5; -0.1]; y = sim(net,p)