exponenta event banner

сеть

Создание неглубокой нейронной сети

Синтаксис

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около-numInputs Логическая матрица, нули

layerConnect

numLayersоколо-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около-numInputs Логический вектор

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

net.layerConnect

numLayerоколо-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около-numInputs массив ячеек

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

net.layerWeights

numLayersоколо-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около-numInputs массив ячеек входных значений веса

net.LW

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

net.b

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

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

net.userdata

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

Примеры

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

В этом примере показано, как создать сеть без входных данных и слоев, а затем установить ее количество входных данных и слоев на 1 и 2 соответственно.

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

Также можно создать один и тот же сетевой график с одной строкой кода.

net = network(1,2)

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

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