Эти свойства определяют основные функции сети. Свойства подобъекта нейронной сети описывают свойства, определяющие сведения о сети.
Вот общие свойства нейронных сетей.
Это свойство состоит из строки, определяющей сетевое имя. Функции создания сети, такие как 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
Эти свойства состоят из массивов ячеек структур, которые определяют каждый из входов, уровней, выходов, целей, смещений и весов сети.
Свойства для каждого вида подобъекта описаны в Neural Network Subobject Properties.
Это свойство содержит структуры свойств для каждого из входов сети. Это всегда массив ячеек 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-го уровня (или нулевая матрица []) находится в 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-го входного сигнала (или нулевая матрица []) находится в net.inputWeights{i,j} если net.inputConnect(i,j) равно 1 (или 0).
Входные весовые свойства. Описание свойств веса ввода см. в разделе Веса ввода.
Это свойство содержит структуры свойств для каждого веса слоя сети. Это всегда массив ячеек Nl × Nl, где Nl - количество сетевых уровней (net.numLayers).
Структура, определяющая свойства веса, идущего в i-й слой от j-го слоя (или нулевая матрица []) находится в 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-го слоя (или нулевая матрица []) находится в 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