сеть

Создайте пользовательскую мелкую нейронную сеть

Синтаксис

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

numLayers-by-1 булев вектор, нули

inputConnect

numLayers-by-numInputs Булева матрица, нули

layerConnect

numLayers-by-numLayers Булева матрица, нули

outputConnect

1 numLayers булевым вектором, нулями

и возвращается

net

Новая сеть с данными значениями свойств

Свойства

Свойства архитектуры

net.numInputs

0 или положительное целое число

Количество входных параметров.

net.numLayers

0 или положительное целое число

Количество слоев.

net.biasConnect

numLayer-by-1 булев вектор

Если net.biasConnect(i) равняется 1, то слой i имеет смещение, и net.biases{i} является структурой, описывающей то смещение.

net.inputConnect

numLayer-by-numInputs булев вектор

Если net.inputConnect(i,j) равняется 1, то слой i имеет вес, прибывающий из входа j, и net.inputWeights{i,j} является структурой, описывающей тот вес.

net.layerConnect

numLayer-by-numLayers булев вектор

Если net.layerConnect(i,j) равняется 1, то слой i имеет вес, прибывающий из слоя j, и net.layerWeights{i,j} является структурой, описывающей тот вес.

net.outputConnect

1 numLayers булевым вектором

Если net.outputConnect(i) равняется 1, то сеть имеет вывод от слоя i, и net.outputs{i} является структурой, описывающей тот вывод.

net.numOutputs

0 или положительное целое число (только для чтения)

Количество сетевых выходных параметров согласно net.outputConnect.

net.numInputDelays

0 или положительное целое число (только для чтения)

Максимальная входная задержка согласно всему net.inputWeights{i,j}.delays.

net.numLayerDelays

0 или положительное число (только для чтения)

Максимальная задержка слоя согласно всему net.layerWeights{i,j}.delays.

Свойства подструктуры объекта

net.inputs

numInputs-by-1 массив ячеек

net.inputs{i} является входом i определения структуры.

net.layers

numLayers-by-1 массив ячеек

net.layers{i} является слоем i определения структуры.

net.biases

numLayers-by-1 массив ячеек

Если net.biasConnect(i) равняется 1, то net.biases{i} является структурой, задающей смещение для слоя i.

net.inputWeights

numLayers-by-numInputs массив ячеек

Если net.inputConnect(i,j) равняется 1, то net.inputWeights{i,j} является структурой, задающей вес к слою i от входа j.

net.layerWeights

numLayers-by-numLayers массив ячеек

Если net.layerConnect(i,j) равняется 1, то net.layerWeights{i,j} является структурой, задающей вес к слою i от слоя j.

net.outputs

1 numLayers массивом ячеек

Если net.outputConnect(i) равняется 1, то net.outputs{i} является структурой, задающей сетевой вывод от слоя i.

Функциональные свойства

net.adaptFcn

Имя сетевой функции адаптации или ''

net.initFcn

Имя сетевой функции инициализации или ''

net.performFcn

Имя функции производительности сети или ''

net.trainFcn

Имя сетевой учебной функции или ''

Свойства параметра

net.adaptParam

Сетевые параметры адаптации

net.initParam

Сетевые параметры инициализации

net.performParam

Параметры производительности сети

net.trainParam

Сетевые учебные параметры

Вес и свойства значения смещения

net.IW

numLayers-by-numInputs массив ячеек входных значений веса

net.LW

numLayers-by-numLayers массив ячеек значений веса слоя

net.b

numLayers-by-1 массив ячеек значений смещения

Другие свойства

net.userdata

Структура можно использовать, чтобы сохранить полезные значения

Примеры

Создайте сеть с одним входом и двумя слоями

Этот пример показывает, как создать сеть без любых входных параметров и слоев, и затем определить ее номера входных параметров и слоев к 1 и 2 соответственно.

net = network
net.numInputs = 1
net.numLayers = 2

Также можно создать ту же сеть с одной строкой кода.

net = network(1,2)

Создайте сеть Feedforward и просмотрите свойства

Этот пример показывает, как создать с одним входом, 2D слой, feedforward сеть. Только первый слой имеет смещение. Входной вес соединяется со слоем 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)

Представлено до R2006a