Эти свойства определяют основные функции сети. Свойства подобъекта нейронной сети описывают свойства, которые определяют детали сети.
Вот общие свойства нейронных сетей.
Это свойство состоит из строки, определяющей имя сети. Функции создания сетей, такие как feedforwardnet
, определите это соответствующим образом. Но при желании его можно задать в любую строку.
Это свойство предоставляет пользователям место для добавления пользовательской информации к сетевому объекту. Предопределено только одно поле. Он содержит секретное сообщение всем пользователям Deep Learning Toolbox™:
net.userdata.note
Эти свойства определяют количество подобъектов сети (которые включают входы, слои, выходы, цели, смещения и веса) и то, как они связаны.
Это свойство определяет количество входов, которые получает сеть. Это может быть установлено в 0 или положительное целое число.
Разъяснение. Количество входов сети и размер входа сети не одно и то же. Количество входов определяет, сколько наборов векторов получает сеть как вход. Размер каждого входа (т.е. количество элементов в каждом входном векторе) определяется размером входа (net.inputs{i}.size
).
Большинство сетей имеют только один вход, размер которого определяется задачей.
Побочные эффекты. Любое изменение этого свойства приводит к изменению размера матрицы, определяющей связи со слоями из входов, (net.inputConnect
) и размер массива ячеек входа подобъектов (net.inputs
).
Это свойство определяет количество слоев в сети. Это может быть установлено в 0 или положительное целое число.
Побочные эффекты. Любое изменение этого свойства изменяет размер каждой из этих логических матриц, которые определяют соединения со слоями и из них:
net.biasConnect net.inputConnect net.layerConnect net.outputConnect
и изменяет размер каждого массива ячеек подобъекта структур, размер которых зависит от количества слоев:
net.biases net.inputWeights net.layerWeights net.outputs
а также изменяет размер каждого из свойств настраиваемого параметра сети:
net.IW net.LW net.b
Это свойство определяет, какие слои имеют смещения. Его можно задать в любую N -by-1 матрицу булевых значений, где Nl количество слоев сети (net.numLayers
). Наличие (или отсутствие) смещения к i-му слою обозначено значением 1 (или 0) при
net.biasConnect(i)
Побочные эффекты. Любое изменение этого свойства изменяет наличие или отсутствие структур в массиве ячеек смещений (net.biases
) и, при наличии или отсутствии векторов в массиве ячеек, векторов смещения (net.b
).
Это свойство определяет, какие слои имеют веса, исходящие от входов.
Его можно задать в любую Nl × Ni матрицу булевых значений, где Nl количество слоев сети (net.numLayers
), и Ni количество сетевых входов (net.numInputs
). Наличие (или отсутствие) веса, идущего на i-й слой от j-го входа, обозначается символом 1 (или 0) при net.inputConnect(i,j)
.
Побочные эффекты. Любое изменение этого свойства изменяет наличие или отсутствие структур в массиве ячеек входа подобъектов веса (net.inputWeights
) и наличие или отсутствие матриц в массиве ячеек входа весовых матриц (net.IW
).
Это свойство определяет, какие слои имеют веса, исходящие от других слоев. Его можно задать в любую Nl × Nl матрицу булевых значений, где Nl количество слоев сети (net.numLayers
). Наличие (или отсутствие) веса, идущего на i-й слой от j-го слоя, обозначено 1 (или 0) при
net.layerConnect(i,j)
Побочные эффекты. Любое изменение этого свойства изменяет наличие или отсутствие структур в массиве ячеек подобъектов веса слоя (net.layerWeights
) и наличие или отсутствие матриц в массиве ячеек матриц веса слоев (net.LW
).
Это свойство определяет, какие слои генерируют выходы сети. Его можно задать в любую 1 × Nl матрицу булевых значений, где Nl количество слоев сети (net.numLayers
). Наличие (или отсутствие) выходного выхода сети с i-го слоя обозначается символом 1 (или 0) в net.outputConnect(i)
.
Побочные эффекты. Любое изменение этого свойства изменяет количество выходов сети (net.numOutputs
) и наличие или отсутствие структур в клеточном массиве выхода подобъектов (net.outputs
).
Это свойство указывает, сколько выходов имеет сеть. Это всегда равно количеству 1с в net.outputConnect
.
Это свойство указывает количество временных шагов прошлых входов, которые должны быть предоставлены для симуляции сети. Оно всегда устанавливается на максимальное значение задержки, сопоставленное с любым из входных весов сети:
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
Это свойство указывает количество временных шагов выходов прошедшего слоя, которые должны быть предоставлены для симуляции сети. Оно всегда устанавливается на максимальное значение задержки, сопоставленное с любым весом слоя сети:
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.IW new.b
Эти свойства состоят из массивов ячеек структур, которые определяют каждый из входов сети, слоев, выходов, целей, смещений и весов.
Свойства для каждого вида подобъекта описаны в свойствах подобъекта нейронной сети.
Это свойство содержит структуры свойств для каждого из входов сети. Это всегда Ni × 1 массив ячеек входа структур, где Ni - количество сетевых входов (net.numInputs
).
Структура, определяющая свойства входного сигнала i-й сети, расположена в
net.inputs{i}
Если нейронная сеть имеет только один вход, то вы можете получить доступ к net.inputs{1}
без обозначения массива ячеек следующим образом:
net.input
Входные свойства. Описание входных свойств см. в разделе «Входные параметры».
Это свойство содержит структуры свойств для каждого из слоев сети. Это всегда массив ячеек Nl × 1 слоев, где Nl количество слоев сети (net.numLayers
).
Структура, определяющая свойства i-го слоя, расположена на net.layers{i}
.
Свойства слоя. Описание свойств слоев см. в разделе «Слои».
Это свойство содержит структуры свойств для каждого из выходов сети. Это всегда массив ячеек × 1 Nl, где Nl количество выходов сети (net.numOutputs
).
Структура, определяющая свойства выхода из i-го слоя (или матрицы null []
) расположен по адресу net.outputs{i}
если net.outputConnect(i)
Значение 1 (или 0).
Если нейронная сеть имеет только один выход на слое i
, тогда вы сможете получить доступ к net.outputs{i}
без обозначения массива ячеек следующим образом:
net.output
Выходные свойства. Описание свойств Выходов см. в выход.
Это свойство содержит структуры свойств для каждого смещения сети. Это всегда массив ячеек Nl × 1, где Nl количество слоев сети (net.numLayers
).
Структура, определяющая свойства смещения, сопоставленного с i-м слоем (или нулевой матрицей []
) расположен по адресу net.biases{i}
если net.biasConnect(i)
Значение 1 (или 0).
Свойства смещения. Описание свойств смещения смотрите в разделе Смещения.
Это свойство содержит структуры свойств для каждого из входа весов сети. Это всегда Nl × Ni массив ячеек, где Nl количество слоев сети (net.numLayers
), и Ni количество сетевых входов (net.numInputs
).
Структура, определяющая свойства веса, переходящего на i-й слой с j-го входа (или матрицы null []
) расположен по адресу net.inputWeights{i,j}
если net.inputConnect(i,j)
Значение 1 (или 0).
Входы веса. Описание свойств Входа веса см. в разделе входа Weights.
Это свойство содержит структуры свойств для каждого из весов слоев сети. Это всегда Nl × Nl массив ячеек, где Nl количество слоев сети (net.numLayers
).
Структура, определяющая свойства веса, переходящего на i-й слой с j-го слоя (или матрицы null []
) расположен по адресу net.layerWeights{i,j}
если net.layerConnect(i,j)
Значение 1 (или 0).
Свойства веса слоя. Описание свойств веса слоев см. в разделе «Веса слоев».
Эти свойства определяют алгоритмы, которые нужно использовать, когда сеть должна адаптироваться, должна быть инициализирована, должна быть измерена ее эффективность или должна быть обучена.
Это свойство определяет функцию, которая будет использоваться при адаптации сети. Для него может быть задано имя любой сетевой функции адаптации. Функция сетевой адаптации используется для выполнения адаптации всякий раз, когда adapt
вызывается.
[net,Y,E,Pf,Af] = adapt(NET,P,T,Pi,Ai)
Для получения списка функций введите help nntrain
.
Побочные эффекты. Всякий раз, когда это свойство изменяется, параметры адаптации сети (net.adaptParam
) должны содержать параметры и значения по умолчанию новой функции.
Это свойство определяет параметры и значения текущей функции адаптации. Функции help
на текущей функции адаптации, чтобы получить описание того, что означает каждое поле:
help(net.adaptFcn)
Это свойство задает производную функцию, которая будет использоваться для вычисления градиентов ошибок и якобианов, когда сеть обучена с использованием контролируемого алгоритма, такого как обратное распространение. Вы можете задать это свойство как имя любой производной функции.
Для получения списка функций введите help nnderivative
.
Это свойство задает функцию деления данных, которая должна использоваться, когда сеть обучена с использованием контролируемого алгоритма, такого как обратное распространение. Вы можете задать это свойство как имя функции деления.
Для получения списка функций введите help nndivision
.
Побочные эффекты. Всякий раз, когда это свойство изменяется, параметры адаптации сети (net.divideParam
) должны содержать параметры и значения по умолчанию новой функции.
Это свойство определяет параметры и значения текущей функции деления данных. Чтобы получить описание того, что означает каждое поле, введите следующую команду:
help(net.divideFcn)
Это свойство определяет целевые размерности данных, которые нужно разделить, когда вызывается функция деления данных. Его значение по умолчанию является 'sample'
для статических сетей и 'time'
для динамических сетей. Это также может быть установлено на 'sampletime'
чтобы разделить цели как по выборке, так и по времени, 'all'
чтобы разделить цели на каждое скалярное значение, или 'none'
не делить данные вообще (в этом случае все данные используются для обучения, нет для валидации или тестирования).
Это свойство определяет функцию, используемую для инициализации матриц веса сети и векторов смещения.. Функция инициализации используется для инициализации сети всякий раз, когда init
вызывается:
net = init(net)
Побочные эффекты. Всякий раз, когда это свойство изменяется, параметры инициализации сети (net.initParam
) должны содержать параметры и значения по умолчанию новой функции.
Это свойство определяет параметры и значения текущей функции инициализации. Функции help
о текущей функции инициализации, чтобы получить описание того, что означает каждое поле:
help(net.initFcn)
Это свойство определяет функцию, используемую для измерения эффективности сети. Функция эффективности используется для вычисления эффективности сети во время обучения всякий раз, когда train
вызывается.
[net,tr] = train(NET,P,T,Pi,Ai)
Для получения списка функций введите help nnperformance
.
Побочные эффекты. Всякий раз, когда это свойство изменяется, параметры эффективности сети (net.performParam
) должны содержать параметры и значения по умолчанию новой функции.
Это свойство определяет параметры и значения текущей функции эффективности. Функции help
о текущей функции эффективности, чтобы получить описание того, что означает каждое поле:
help(net.performFcn)
Это свойство состоит из массива строк ячеек строк, определяющего функции построения графика, сопоставленные с сетью. Окно обучения нейронной сети, которое открывается train
функция показывает кнопку для каждой функции построения графика. Нажмите кнопку во время или после обучения, чтобы открыть требуемый график.
Это свойство состоит из массива ячеек строк структур, определяющих параметры и значения каждой функции построения графика в net.plotFcns
. Функции help
на каждой функции построения графика, чтобы получить описание того, что означает каждое поле:
help(net.plotFcns{i})
Это свойство определяет функцию, используемую для обучения сети. Для него может быть задано имя любой из функций обучения, которая используется для обучения сети всякий раз, когда train
вызывается.
[net,tr] = train(NET,P,T,Pi,Ai)
Для получения списка функций введите help nntrain
.
Побочные эффекты. Всякий раз, когда это свойство изменяется, параметры обучения сети (net.trainParam
) должны содержать параметры и значения по умолчанию новой функции.
Это свойство определяет параметры и значения текущей функции обучения. Функции help
о текущей функции обучения, чтобы получить описание того, что означает каждое поле:
help(net.trainFcn)
Эти свойства определяют настраиваемые параметры сети: ее весовые матрицы и векторы смещения.
Это свойство определяет весовые матрицы весов, поступающих в слои от входов сети. Это всегда 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
Это свойство определяет весовые матрицы весов, идущих к слоям из других слоев. Это всегда 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
Это свойство определяет векторы смещения для каждого слоя с смещением. Это всегда массив ячеек Nl × 1, где Nl количество слоев сети (net.numLayers
).
Вектор смещения для i-го слоя (или нулевой матрицы []
) расположен по адресу net.b{i}
если net.biasConnect(i)
Значение 1 (или 0).
Количество элементов в векторе смещения всегда равно размеру слоя, с которым оно связано (net.layers{i}.size
).
Эта размерность может быть также получена из свойств смещения:
net.biases{i}.size