network

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

Синтаксис

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-by- 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-by- 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-by- 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)

Создание Сети прямого распространения и View свойств

Этот пример показов, как создать одно-, двухслойную сеть прямого распространения. Смещение имеет только первый слой. Входной вес соединяется с слоем 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