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

Эти свойства определяют основные функции сети. Свойства подобъекта нейронной сети описывают свойства, которые определяют детали сети.

Общая информация

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

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-му слою обозначено значением 1 (или 0) при

net.biasConnect(i)

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

net.inputConnect

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

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

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

net.layerConnect

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

net.layerConnect(i,j)

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

net.outputConnect

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

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

net.numВыходные параметры (только для чтения)

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

net.inputs{i}

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

net.input

Входные свойства.  Описание входных свойств см. в разделе «Входные параметры».

net.layers

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

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

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

net.outputs

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

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

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

net.output

Выходные свойства.  Описание свойств Выходов см. в выход.

net.biases

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

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

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

net.inputWeights

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

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

Входы веса.  Описание свойств Входа веса см. в разделе входа Weights.

net.layerWeights

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

Структура, определяющая свойства веса, переходящего на i-й слой с j-го слоя (или матрицы null []) расположен по адресу 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)

Значения веса и смещения

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

чистый. IW

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

Матрица веса для веса, идущего на i-й слой с j-го входа (или нулевая матрица []) расположен по адресу 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

чистый. LW

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

Матрица веса для веса, переходящего на i-й слой с j-го слоя (или матрица null []) расположен по адресу 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-го слоя (или нулевой матрицы []) расположен по адресу net.b{i} если net.biasConnect(i) Значение 1 (или 0).

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

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

net.biases{i}.size