Свойства объектов нейронной сети

Эти свойства задают основные характеристики сети. Подсвойства объектов Нейронной сети описывают свойства та сеть define детали.

Общий

Вот общие свойства нейронных сетей.

net.name

Это свойство состоит из строки, задающей сетевое имя. Сетевые функции создания, такой как feedforwardnet, задайте это соответственно. Но это может быть установлено в любую строку, как желаемый.

net.userdata

Это свойство предоставляет место пользователям, чтобы добавить пользовательскую информацию в сетевой объект. Только одно поле предопределено. Это содержит секретное сообщение всем пользователям Deep Learning Toolbox™:

net.userdata.note

Архитектура

Эти свойства определяют количество сетевых подобъектов (которые включают входные параметры, слои, выходные параметры, цели, смещения и веса), и как они соединяются.

net.numInputs

Это свойство задает количество входных параметров, которые получает сеть. Это может быть установлено в 0 или положительное целое число.

Разъяснение.  Количество сетевых входных параметров и размер сетевого входа не являются тем же самым. Количество входных параметров задает, сколько наборов векторов сеть получает, как введено. Размер каждого входа (т.е. число элементов в каждом входном векторе) определяется входным размером (net.inputs{i}.size).

Большинство сетей имеет только один вход, размер которого определяется проблемой.

Побочные эффекты.  Любое изменение в этом свойстве приводит к изменению в размере матричных связей определения со слоями от входных параметров, (net.inputConnect) и размер массива ячеек входных подобъектов (net.inputs).

net.numLayers

Это свойство задает количество слоев, которые имеет сеть. Это может быть установлено в 0 или положительное целое число.

Побочные эффекты.  Любое изменение в этом свойстве изменяет размер каждой из этих булевых матриц, которые задают связи с и от слоев:

net.biasConnect
net.inputConnect
net.layerConnect
net.outputConnect

и изменяет размер каждого массива ячеек подструктур объекта, размер которых зависит от количества слоев:

net.biases
net.inputWeights
net.layerWeights
net.outputs

и также изменяет размер каждого из свойств корректируемого параметра сети:

net.IW
net.LW
net.b

net.biasConnect

Это свойство задает, какие слои имеют смещения. Это может быть установлено в любой N-by-1 матрица булевых значений, где Nl является количеством слоев сети (net.numLayers). Присутствие (или отсутствие) смещения к i th слой обозначается 1 (или 0) в

net.biasConnect(i)

Побочные эффекты.  Любое изменение в этом свойстве изменяет присутствие или отсутствие структур в массиве ячеек смещений (net.biases) и, в присутствии или отсутствии векторов в массиве ячеек, векторов смещения (net.b).

net.inputConnect

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

Это может быть установлено в любой Nl × матрица Ni булевых значений, где Nl является количеством слоев сети (net.numLayers), и Ni является количеством сетевых входных параметров (net.numInputs). Присутствие (или отсутствие) веса, идущего в i th слой от j th вход, обозначается 1 (или 0) в net.inputConnect(i,j).

Побочные эффекты.  Любое изменение в этом свойстве изменяет присутствие или отсутствие структур в массиве ячеек входных подобъектов веса (net.inputWeights) и присутствие или отсутствие матриц в массиве ячеек входных матриц веса (net.IW).

net.layerConnect

Это свойство задает, какие слои имеют веса, прибывающие из других слоев. Это может быть установлено в любой Nl × матрица Nl булевых значений, где Nl является количеством слоев сети (net.numLayers). Присутствие (или отсутствие) веса, идущего в i th слой от j th слой, обозначается 1 (или 0) в

net.layerConnect(i,j)

Побочные эффекты.  Любое изменение в этом свойстве изменяет присутствие или отсутствие структур в массиве ячеек подобъектов веса слоя (net.layerWeights) и присутствие или отсутствие матриц в массиве ячеек матриц веса слоя (net.LW).

net.outputConnect

Это свойство задает, какие слои генерируют сетевые выходные параметры. Это может быть установлено в любую 1 × матрицу Nl булевых значений, где Nl является количеством слоев сети (net.numLayers). Присутствие (или отсутствие) сетевого выхода от i th слой обозначается 1 (или 0) в net.outputConnect(i).

Побочные эффекты.  Любое изменение в этом свойстве изменяет количество сетевых выходных параметров (net.numOutputs) и присутствие или отсутствие структур в массиве ячеек выходных подобъектов (net.outputs).

net.numOutputs (только для чтения)

Это свойство указывает, сколько выходных параметров имеет сеть. Это всегда равно числу единиц в net.outputConnect.

net.numInputDelays (только для чтения)

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

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

net.numLayerDelays (только для чтения)

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

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

net.numWeightElements (только для чтения)

Это свойство указывает на количество веса и значений смещения в сети. Это - сумма числа элементов в матрицах, сохраненных в этих двух массивах ячеек:

net.IW
new.b

Подструктуры объекта

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

Свойства для каждого вида подобъекта описаны в Подсвойствах объектов Нейронной сети.

net.inputs

Это свойство содержит структуры свойств для каждых из входных параметров сети. Это всегда - массив ячеек Ni × 1 входных структур, где Ni является количеством сетевых входных параметров (net.numInputs).

Структура, задающая свойства i th сетевой вход, расположена в

net.inputs{i}

Если нейронная сеть имеет только один вход, то можно получить доступ к net.inputs{1} без обозначения массива ячеек можно следующим образом:

net.input

Входные свойства.  Смотрите Входные параметры для описаний входных свойств.

net.layers

Это свойство содержит структуры свойств для каждого из слоев сети. Это всегда - массив ячеек Nl × 1 структур слоя, где Nl является количеством слоев сети (net.numLayers).

Структура, задающая свойства i th слой, расположена в net.layers{i}.

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

net.outputs

Это свойство содержит структуры свойств для каждых из выходных параметров сети. Это всегда - 1 × массив ячеек Nl, где Nl является количеством сетевых выходных параметров (net.numOutputs).

Структура, задающая свойства выхода от i th слой (или пустой матричный []) расположен в net.outputs{i} если net.outputConnect(i) 1 (или 0).

Если нейронная сеть имеет только один выход на слое i, затем можно получить доступ к net.outputs{i} без обозначения массива ячеек можно следующим образом:

net.output

Выходные свойства.  Смотрите Выходные параметры для описаний выходных свойств.

net.biases

Это свойство содержит структуры свойств для каждого из смещений сети. Это всегда - массив ячеек Nl × 1, где Nl является количеством слоев сети (net.numLayers).

Структура, задающая свойства смещения, сопоставленного с i th слой (или пустой матричный []) расположен в net.biases{i} если net.biasConnect(i) 1 (или 0).

Сместите Свойства.  Смотрите Смещения для описаний свойств смещения.

net.inputWeights

Это свойство содержит структуры свойств для каждого из входных весов сети. Это всегда - Nl × массив ячеек Ni, где Nl является количеством слоев сети (net.numLayers), и Ni является количеством сетевых входных параметров (net.numInputs).

Структура, задающая свойства веса, идущего в i th слой от j th вход (или пустой матричный []) расположен в net.inputWeights{i,j} если net.inputConnect(i,j) 1 (или 0).

Введите Свойства Веса.  Смотрите Входные Веса для описаний введенных свойств веса.

net.layerWeights

Это свойство содержит структуры свойств для каждого из весов слоя сети. Это всегда - Nl ×Nl массив ячеек, где Nl является количеством слоев сети (net.numLayers).

Структура, задающая свойства веса, идущего в i th слой от j th слой (или пустой матричный []) расположен в net.layerWeights{i,j} если net.layerConnect(i,j) 1 (или 0).

Свойства Веса слоя.  Смотрите Веса Слоя для описаний свойств веса слоя.

Функции

Эти свойства задают алгоритмы, чтобы использовать, когда сеть должна адаптироваться, должна быть инициализирована, должна была измерить свою эффективность или должна быть обучена.

net.adaptFcn

Это свойство задает функцию, которая будет использоваться, когда сеть адаптируется. Это может быть установлено в имя любой сети, адаптируют функцию. Сеть адаптируется, функция используется, чтобы выполнить адаптацию каждый раз, когда adapt называется.

[net,Y,E,Pf,Af] = adapt(NET,P,T,Pi,Ai)

Для списка функций введите help nntrain.

Побочные эффекты.  Каждый раз, когда это свойство изменено, параметры адаптации сети (net.adaptParam) набор должен содержать параметры и значения по умолчанию новой функции.

net.adaptParam

Это свойство задает параметры, и значения тока адаптируют функцию. Вызовите help на токе адаптируют функцию, чтобы получить описание того, что означает каждое поле:

help(net.adaptFcn)

net.derivFcn

Это свойство задает производную функцию, которая будет использоваться, чтобы вычислить ошибочные градиенты и Якобианы, когда сеть обучена с помощью контролируемого алгоритма, такого как обратная связь. Можно установить это свойство на имя любой производной функции.

Для списка функций введите help nnderivative.

net.divideFcn

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

Для списка функций введите help nndivision.

Побочные эффекты.  Каждый раз, когда это свойство изменено, параметры адаптации сети (net.divideParam) набор должен содержать параметры и значения по умолчанию новой функции.

net.divideParam

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

help(net.divideFcn)

net.divideMode

Это свойство задает целевые размерности данных, чтобы разделиться, когда функция деления данных вызвана. Его значением по умолчанию является 'sample' для статических сетей и 'time' для динамических сетей. Это может также быть установлено в 'sampletime' разделить цели и к демонстрационному и к такту, 'all' разделить цели на каждое скалярное значение или 'none' не разделить данные вообще (в этом случае все данные используются для обучения, ни одного для валидации или тестирующий).

net.initFcn

Это свойство задает функцию, используемую, чтобы инициализировать матрицы веса сети и векторы смещения.. Функция инициализации используется, чтобы инициализировать сеть каждый раз, когда init называется:

net = init(net)

Побочные эффекты.  Каждый раз, когда это свойство изменено, параметры инициализации сети (net.initParam) набор должен содержать параметры и значения по умолчанию новой функции.

net.initParam

Это свойство задает параметры и значения текущей функции инициализации. Вызовите help на текущей функции инициализации, чтобы получить описание того, что означает каждое поле:

help(net.initFcn)

net.performFcn

Это свойство задает функцию, используемую, чтобы измерить уровень сети. Функция эффективности используется, чтобы вычислить производительность сети во время обучения каждый раз, когда train называется.

[net,tr] = train(NET,P,T,Pi,Ai)

Для списка функций введите help nnperformance.

Побочные эффекты.  Каждый раз, когда это свойство изменено, эксплуатационные параметры сети (net.performParam) набор должен содержать параметры и значения по умолчанию новой функции.

net.performParam

Это свойство задает параметры и значения текущей функции эффективности. Вызовите help на текущей функции эффективности, чтобы получить описание того, что означает каждое поле:

help(net.performFcn)

net.plotFcns

Это свойство состоит из массива ячейки строки строк, задавая функции построения графика, сопоставленные с сетью. Окно обучения нейронной сети, которое открыто train функция, показывает кнопку для каждой функции построения графика. Нажмите кнопку во время или после обучения открыть желаемый график.

net.plotParams

Это свойство состоит из массива ячейки строки структур, задавая параметры и значения каждой функции построения графика в net.plotFcns. Вызовите help на каждой функции построения графика, чтобы получить описание того, что означает каждое поле:

help(net.plotFcns{i})

net.trainFcn

Это свойство задает функцию, используемую, чтобы обучить сеть. Это может быть установлено в имя любой из учебных функций, которая используется, чтобы обучить сеть каждый раз, когда train называется.

[net,tr] = train(NET,P,T,Pi,Ai)

Для списка функций введите help nntrain.

Побочные эффекты.  Каждый раз, когда это свойство изменено, параметры обучения сети (net.trainParam) набор должен содержать параметры и значения по умолчанию новой функции.

net.trainParam

Это свойство задает параметры и значения текущей учебной функции. Вызовите help на текущей учебной функции, чтобы получить описание того, что означает каждое поле:

help(net.trainFcn)

Вес и значения смещения

Эти свойства задают корректируемые параметры сети: его матрицы веса и векторы смещения.

net.IW

Это свойство задает матрицы веса весов, идущих в слои от сетевых входных параметров. Это всегда - Nl × массив ячеек Ni, где Nl является количеством слоев сети (net.numLayers), и Ni является количеством сетевых входных параметров (net.numInputs).

Матрица веса для веса, идущего в i th слой от j th вход (или пустой матричный []) расположен в net.IW{i,j} если net.inputConnect(i,j) 1 (или 0).

Матрица веса имеет столько же строк сколько размер слоя, в который это переходит (net.layers{i}.size). Это имеет столько же столбцов сколько продукт входного размера с количеством задержек, сопоставленных с весом:

net.inputs{j}.size * length(net.inputWeights{i,j}.delays)

Функция предварительной обработки net.inputs{i}.processFcns задан как 'removeconstantrows' по умолчанию в некоторых сетях. В этом случае, если сетевой вход X содержит m строки, где все элементы строки имеют то же значение, матрица веса, имеют m меньше столбцов, чем вышеупомянутый продукт. Для получения дополнительной информации о сетевом входе X, смотрите train.

Эти размерности могут также быть получены из входных свойств веса:

net.inputWeights{i,j}.size

net.LW

Это свойство задает матрицы веса весов, идущих в слои от других слоев. Это всегда - Nl × массив ячеек Nl, где Nl является количеством слоев сети (net.numLayers).

Матрица веса для веса, идущего в i th слой от j th слой (или пустой матричный []) расположен в net.LW{i,j} если net.layerConnect(i,j) 1 (или 0).

Матрица веса имеет столько же строк сколько размер слоя, в который это переходит (net.layers{i}.size). Это имеет столько же столбцов сколько продукт размера слоя, из которого это прибывает с количеством задержек, сопоставленных с весом:

net.layers{j}.size * length(net.layerWeights{i,j}.delays)

Эти размерности могут также быть получены из свойств веса слоя:

net.layerWeights{i,j}.size

net.b

Это свойство задает векторы смещения для каждого слоя со смещением. Это всегда - массив ячеек Nl × 1, где Nl является количеством слоев сети (net.numLayers).

Вектор смещения для i th слой (или пустой матричный []) расположен в net.b{i} если net.biasConnect(i) 1 (или 0).

Число элементов в векторе смещения всегда равно размеру слоя, с которым это сопоставлено (net.layers{i}.size).

Эта размерность может также быть получена из свойств смещения:

net.biases{i}.size