Свойства подобъектов нейронной сети
Автор материала - Ю.П.Маслобоев.
Входы
Эти свойства определяют структуру i-го сетевого вxода. - net.inputs{i}
-
range - определяет диапазоны изменения каждого из элементов i-го входа сети
net.inputs{i}.range - значение этого свойства может быть установлено в виде матрицы , где - число элементов входа (net.inputs{i}.size), и каждый элемент в cтолбце 1 меньше чем элемент, следующий за ним в столбце 2.
Каждая j-ая строка определяет минимальное и максимальное значения j-го входного элемента, в следующем порядке:
net.inputs{i}(j,:)
Использование.
Некоторые функции инициализации используют диапазоны входных значений для вычисления соответствующих начальных значений матриц входных весов.
Сопутствующие эффекты.
Всякий раз, когда число строк в этом свойстве изменяется, размерности входов (net.inputs{i}.size) изменяются таким образом, чтобы избежать несоответствий. Количество весовых коэффициентов каждого ввода (net.inputWeights{:,i}.size) и размерности их весовых матриц (net.IW{:,i}) также изменяются.
-
size - определяет число элементов в i-ом входе сети
net.inputs{i}.size - может принимать значение 0 или положительное целое число.
Сопутствующие эффекты.
Всякий раз, когда это свойство изменено, диапазоны входов (net.inputs{i}.ranges), входные веса (net.inputWeights{:,i}.size) и матрицы весов (net.IW{:,i}) изменяют размерности чтобы избежать несоответствий.
-
userdata - предоставляет место для пользователей, чтобы ввести дополнительную информацию об i-м входе сети.
net.inputs{i}.userdata
Одно поле предопределено. Оно содержит сообщение ко всем пользователям Neural Network Toolbox:
net.inputs{i}.userdata.note
Слои
Эти свойства определяют структуру каждого i-го слоя сети - net.layers{i}
-
dimensions - определяет физические размеры i-го слоя нейронов. Возможность упорядочивать нейроны слоя многомерным способом важна для самоорганизующихся карт.
net.layers{i}.dimensions - может быть присвоено значение вектора-строки из нулей или положительных целых элементов. При этом произведение всех элементов равно числу нейронов в слое (net.layers{i}.size).
Использование.
Размерности слоя используются, чтобы вычислять позиции нейронов в слое (net.layers{i}.positions) c помощью функция топологии слоя (net.layers{i}.topologyFcn).
Сопутствующие эффекты.
Всякий раз, когда это свойство изменено, размеры слоев (net.layers{i}.size) изменяются, чтобы избежать несоответствий. Позиции нейронов в слоях (net.layers{i}.positions) и расстояния между нейронами (net.layers{i}.distances) также модифицируются.
-
distanceFcn - определяет функцию, используемую для вычисления расстояния между нейронами в i-ом слое (net.layers{i}.distances) по их позициям в слое (net.layers{i}.positions). Расстояния между нейронами используются самоорганизующимися картами.
net.layers{i}.distanceFcn - название любой функции расстояния, из набора функций тулбокса:
Функции расстояний |
|
boxdist |
Расстояние между двумя векторами положения. |
dist |
Весовая функция Евклидова расстояния |
linkdist |
Связанная функция расстояния |
mandist |
Весовая функция расстояния Манхеттена |
Сопутствующие эффекты.
Всякий раз, когда это свойство изменяется, расстояние между нейронами слоя (net.layers{i}.distances) модифицируется.
-
distances (только для чтения) - определяет расстояния между нейронами в i-ом слое. Эти расстояния используются самоорганизующимися картами.
net.layers{i}.distances - возвращает значение результата применения функции расстояния слоя (net.layers{i}.distanceFcn) к позициям нейронов слоя (net.layers{i}.positions)
-
initFcn - это свойство определяет функцию инициализации, используемую для инициализации i-го слоя, в случае, если функция инициализации сети (net.initFcn) – initlay.
net.layers{i}.initFcn - название любой функции инициализации слоя из тулбокса.
Функции инициализации слоя |
|
initnw |
Функция инициализации Нгуен-Видроу (Nguyen-Widrow) |
initwb |
Функция инициализации по весам и смещениям |
Если установлена функция инициализации сети initlay, то функция указанная этим свойством используется, чтобы инициализировать веса и смещения слоя в случае, когда вызывается функция init:
net=init(net)
-
netInputFcn - это свойство определяет использование входной функции сети для вычисления i-го входа слоя сети задаваемого взвешенными входами и смещениями.
net.layers{i}.netInputFcn – название любой входной функции сети из тулбокса.
Входные функции сети |
|
netprod |
Функция произведения входов |
netsum |
Функция суммирования входов |
Входная функция сети используется для моделирования сети, когда вызывается функция sim:
[Y,Pf,Af]=sim(net,P,Pi,Ai)
-
positions (только для чтения) - это свойство определяет позиции нейронов в i-ом слое. Эти позиции используются самоорганизующимися картами.
net.layers{i}.positions - возвращает значение результата применения функции топологии слоя (net.layers{i}.topologyFcn) к позициям размерности слоя (net.layers{i}.dimensions).
Графическое представление.
Используйте plotsom, чтобы нарисовать картину расположения нейронов слоя.
Например, если нейроны первого слоя сети размещены с размерностями (net.layers{1}.dimensions) = [4 5] и функция топологии (net.layers{1}.topologyFcn) = hextop, то позиции нейронов расположены так, как показано на рисунке, полученном в результате выполнения функции:
plotsom(net.layers{1}.positions)
-
size - определяет число нейронов в i-ом слое.
net.layers{i}.size - можно присваивать значения 0 или положительное целое число.
Сопутствующие эффекты.
Всякий раз, когда это свойство изменяется, размеры входных весов к слою (net.inputWeights{i,:}.size) весовых коэффициенты к слою (net.layerWeights{i,:}.size), или от слоя (net.inputWeights{i,:}.size), а также смещений слоя (net.biases{i}.size) изменяются.
Размерности соответствующих весовых матриц (net.IW{i,:}, net.LW{i,:}, net.LW{:,i}) и смещений (net.b {i}) также изменяются.
Изменение этого свойства также изменяет размер выхода слоя (net.outputs{i}.size) и размерность вектора эталона (net.targets{i}.size) если они присутствуют.
Наконец, когда это свойство изменено, размерность нейронов слоя (net.layers{i}.dimension) устанавливается на то же самое значение. (Это приводит к одномерному расположению нейронов. Если требуется другое расположение, установите свойство размерности непосредственно, вместо того, чтобы использовать size.)
-
topologyFcn – это свойство определяет функцию, используемую для вычисления позиций нейронов i-го слоя по размерностям слоя (net.layers{i}.dimensions).
net.topologyFcn - название любой функции топологии из тулбокса
Топологические функции |
|
gridtop |
Топологическая функция в виде сеточного слоя |
hextop |
Топологическая функция в виде гексагонального слоя |
randtop |
Топологическая функция в виде случайного слоя |
Сопутствующие эффекты.
Всякий раз, когда это свойство изменяется, позиции нейронов слоя (net.layers{i}.positions) модифицируются.
Графическое представление.
Используйте plotsom, чтобы нарисовать картину расположения нейронов слоя.
Например, если нейроны первого слоя сети размещены с размерностями (net.layers{1}.dimensions) = [8 10] и функция топологии (net.layers{1}.topologyFcn) = randtop, то позиции нейронов расположены так, как показано на рисунке, полученном в результате выполнения функции:
plotsom(net.layers{1}.positions)
-
transferFcn - эта функция определяет функцию активации, используемую для вычисления выхода i-го слоя по известному входу слоя.
net.layers{i}.transferFcn - качестве этой функции можно использовать любую функцию активации из тулбокса:
Функции активации |
|
compet |
Конкурирующая функция активации |
hardlim |
Ступенчатая функция активации |
hardlims |
Ступенчатая симметричная функция активации |
logsig |
Сигмоидная (логистическая) функция активации |
poslin |
Положительная линейная функция активации |
purelin |
Линейная функция активации |
radbas |
Радиальная базисная функция активации |
satlin |
Насыщающаяся функция активации |
satlins |
Симметричная насыщающаяся линейная функция активации |
softmax |
Функция активации, уменьшающая диапазон входных значений |
tansig |
Функция активации гиперболический тангенс |
tribas |
Треугольная функция активации |
Функция активации используется, чтобы моделировать сеть когда вызывается функция sim:
[Y,Pf,Af] = sim(net,P,Pi,Ai)
-
userdata - это свойство предоставляет место для пользователей, чтобы ввести дополнительную информацию об i-м слое сети.
net.layers{i}.userdata
Одно поле предопределено. Оно содержит сообщение ко всем пользователям Neural Network Toolbox.
net.layers{i}.userdata.note
Выходы
-
size (только для чтения) - возвращает число элементов в i-м выходе слоя
net.outputs{i}.size - возвращает размер i-го слоя (net.layers{i}.size)
-
userdata - это свойство предоставляет место для пользователей, чтобы ввести дополнительную информацию об i-м слое сети.
net.outputs{i}.userdata
Одно поле предопределено. Оно содержит сообщение ко всем пользователям Neural Network Toolbox.
net.outputs{i}.userdata.note
Эталоны
-
size (только для чтения) - возвращает число элементов в эталоне i-го слоя
net.targets{i}.size - возвращает размер i-го слоя (net.layers{i}.size)
-
userdata - это свойство предоставляет место для пользователей, чтобы ввести дополнительную информацию об эталоне i-го слоя сети.
net.targets{i}.userdata
Одно поле предопределено. Оно содержит сообщение ко всем пользователям Neural Network Toolbox.
net.targets{i}.userdata.note
Смещения
-
initFcn - это свойство определяет функцию, используемую для инициализации вектора смещений i-го слоя в случае, если используется функция инициализации сети initlay и функция инициализации слоя - initwb
net.biases{i}.initFcn – задается в виде названия функции инициализации смещений из настоящего тулбокса:
Функции инициализации смещений |
|
initcon |
“Сознательная” функция инициализации |
initzero |
Инициализация с установкой нулевых значений смещений и весов |
rands |
Инициализация с установкой симметричных случайных значений весов и смещений |
Эта функция используется, чтобы вычислять начальное значение вектора смещений для i-го слоя (net.b{i}), при вызове init в том случае, когда в качестве функции инициализации сети (net.initFcn) выбрана initlay и в качестве функции инициализации i-го слоя (net.layers{i}.initFcn) выбрана initwb.
net = init(net)
-
learn – это свойство определяет, будет ли изменен i-й вектор смещения в процессе обучения и адаптации.
net.biases{i}.learn – может быть установлен в 0 или 1, разрешая или запрещая модификацию смещений при вызове функций adapt или train:
[net,Y,E,Pf,Af] = adapt(NET,P,T,Pi,Ai)
[net,tr] = train(NET,P,T,Pi,Ai)
-
learnFcn - это свойство определяет функцию, используемую для модификации вектора весов i-го слоя в процессе тренировки, в случае, если в качестве функции тренировки сети выбраны trainb, trainc, или trainr а также в процессе адаптации, если в качестве функции адаптации сети выбрана trains.
net.biases{i}.learnFcn – название функции обучения из настоящего тулбокса.
Функции обучения |
|
learncon |
Обучающая функция смещений |
learngd |
Обучающая функция градиентного спуска |
learngdm |
Обучающая функция Хэбба |
learnp |
Обучающая функция смещений и весов перцептрона |
learnpn |
Обучающая функция нормализованных смещений и весов перцептрона |
learnwh |
Правило обучения Уидроу-Хоффа (Widrow-Hoff) |
Функция обучения модифицирует i-й вектор смещения (net.b {i}) при вызове train, в случае, если в качестве функции тренировки (net.trainFcn) выбраны trainb, trainc, или trainr, а также при вызове adapt, если в качестве функции адаптации (net.adaptFcn) выбрана trains.
[net,Y,E,Pf,Af] = adapt(NET,P,T,Pi,Ai)
[net,tr] = train(NET,P,T,Pi,Ai)
Сопутствующие эффекты.
Всякий раз, когда это свойство изменено, параметры обучения смещений (net.biases{i}.learnParam) установливаются таким образом, чтобы содержать поля и значения по умолчанию новой функции.
-
learnParam - это свойство определяет параметры значения обучения для текущей функции обучения смещений i-го слоя.
net.biases{i}.learnParam
Поля этого свойства зависят от текущей функции обучения (net.biases{i}.learnFcn). Вызовите вышеупомянутую ссылку, чтобы ознакомиться с полями текущей функции обучения.
Вызовите справку для текущей функции обучения, чтобы получить описание каждого из полей:
help(net.biases{i}.learnFcn)
-
size (только для чтения) - возвращает размер вектора смещения i-го слоя.
net.biases{i}.size –всегда возвращает размер i-го слоя (net.layers{i}.size).
-
userdata - это свойство предоставляет место для пользователей, чтобы ввести дополнительную информацию об эталоне i-го слоя сети.
net.biases{i}.userdata
Одно поле предопределено. Оно содержит сообщение ко всем пользователям Neural Network Toolbox.
net.biases{i}.userdata.note
Входные веса
-
delays - это свойство определяет дискретную задержку между j-м входом и его коэффициентом связи (весом) с
i – м слоем.
net.inputWeights{i,j}.delays – может принимать значение в виде вектора-строки из нулей или целых положительных чисел.
Сопутствующие эффекты.
Всякий раз, когда это свойство изменено, размер весов (net.inputWeights{i,j}.size) и размерность матрицы весов (net.IW{i,j}) также изменяются.
-
initFcn – это свойство определяет функцию, используемую для инициализации матрицы весовых коэффициентов (весов) между j-м входом и i-м слоем, в случае когда в качестве функции инициализации сети используется initlay а в качестве функции инициализации i-го слоя используется initwb.
net.inputWeights{i,j}.initFcn - задается в виде названия функции инициализации веса из настоящего тулбокса.
Функции инициализации весов |
|
initzero |
Инициализация с установкой нулевых значений весов и смещений |
midpoint |
Инициализация с установкой средних значений весов |
randnc |
Инициализация с установкой нормализованных значений столбцов весовых матриц. |
randnr |
Инициализация с установкой нормализованных значений строк весовых матриц. |
rands |
Инициализация с установкой симметричных случайных значений весов и смещений. |
Эта функция используется, для вычисления исходной матрицы для весовых коэффициентов (весов) между j-м входом и i-м слоем (net.IW{i,j}) когда вызвана функция init в том случае, если в качестве функции инициализации сети (net.initFcn) используется initlay а в качестве функции инициализации i-го слоя (net.layers{i}.initFcn) используется initwb.
net = init(net)
-
learn - это свойство определяет будет ли матрица весов к i-му слою от j-го входа изменена в процессе обучения и адаптации.
net.inputWeights{i,j}.learn – устанавливается в 0 или 1, разрешая или запрещая модификацию весов в процессе обучения, если вызваны adapt или train.
[net,Y,E,Pf,Af] = adapt(NET,P,T,Pi,Ai)
[net,tr] = train(NET,P,T,Pi,Ai)
-
learnFcn - это свойство определяет функцию, используемую для модификации матрицы весов к i-му слою от j-го входа в процессе тренировки, в случае, если в качестве функции тренировки сети выбраны trainb, trainc, или trainr а также в процессе адаптации, если в качестве функции адаптации сети выбрана trains.
net.inputWeights{i,j}.learnFcn - задается в виде названия функции обучения весов из настоящего тулбокса
Функции обучения весов |
|
learngd |
Обучающая функция градиентного спуска |
learngdm |
Обучающая функция градиентного спуска с учетом моментов |
learnh |
Обучающая функция Хэбба |
learnhd |
Обучающая функция Хэбба с учетом затухания |
learnis |
Обучающая функция instar |
learnk |
Обучающая функция Кохонена |
learnlv1 |
Обучающая функция LVQ1 |
learnlv2 |
Обучающая функция LVQ2 |
learnos |
Обучающая функция outstar |
learnp |
Обучающая функция смещений и весов перцептрона |
learnpn |
Обучающая функция нормализованных смещений и весов перцептрона |
learnsom |
Обучающая функция самоорганизующейся карты весов |
learnwh |
Обучающая функция Уидроу-Хоффа (Widrow-Hoff) |
Функция обучения модифицирует весовую матрицу i-го слоя от j-го входа (net.IW{i,j}) при вызове train, в случае, если в качестве функции тренировки (net.trainFcn) выбраны trainb, trainc, или trainr, а также при вызове adapt, если в качестве функции адаптации (net.adaptFcn) выбрана trains.
[net,Y,E,Pf,Af] = adapt(NET,P,T,Pi,Ai)
[net,tr] = train(NET,P,T,Pi,Ai)
-
learnParam - это свойство определяет параметры и значения обучения для текущей функции обучения веса i-го слоя от j-го входа.
net.inputWeights{i,j}.learnParam - поля этого свойства зависят от текущей функции обучения (net.inputWeights{i,j}.learnFcn). Обратитесь к вышеупомянутой ссылке чтобы увидеть поля текущей функции обучения.
Вызовите help на текущей функции обучения, чтобы получить описание каждого из полей:
help(net.inputWeights{i,j}.learnFcn)
-
size (только для чтения) - это свойство определяет размерность матрицы весов i-го слоя от j-го входа сети.
net.inputWeights{i,j}.size - оно всегда устанавливается в виде двухэлементного вектора-строки, указывающего число строк и столбцов соответствующей матрицы весов (net.IW{i,j}). Первый элемент равен размеру i-го слоя (net.layers{i}.size).
Второй элемент равен произведению длины векторов задержек весов на размер j-го входа.
length(net.inputWeights{i,j}.delays) * net.inputs{j}.size
-
userdata - это свойство предоставляет место для пользователей, чтобы ввести дополнительную информацию об эталоне i-го слоя сети.
net.inputWeights{i}.userdata
Одно поле предопределено. Оно содержит сообщение ко всем пользователям Neural Network Toolbox.
net.inputWeights{i}.userdata.note
-
weightFcn - это свойство определяет функцию, используемую для применения к весам от входа к j-му слою.
net.inputWeights{i,j}.weightFcn - задается в виде названия функции весов из настоящего тулбокса
Весовые функции |
|
dist |
Евклидово расстояние |
dotprod |
Весовая функция в виде скалярного произведения |
mandist |
Весовая функция – расстояние Манхеттена |
negdist |
Весовая функция – отрицательное расстояние |
normprod |
Нормированное скалярное произведение |
Весовые функции используются, когда вызывается функция sim для моделирования сети.
[Y,Pf,Af] = sim(net,P,Pi,Ai)
Веса слоев
-
delays – это свойство определяет дискретную задержку между j-м слоем и его коэффициентом связи (весом) с i – м слоем.
net.layerWeights{i,j}.delays – может принимать значение в виде вектора-строки из нулей или целых положительных чисел.
-
initFcn - это свойство определяет функцию, используемую для инициализации матрицы весовых коэффициентов (весов) между j-м слоем и i-м слоем, в случае когда в качестве функции инициализации сети используется initlay а в качестве функции инициализации i-го слоя используется initwb.
net.layerWeights{i,j}.initFcn - задается в виде названия функции инициализации веса из настоящего тулбокса.
Функции инициализации весов |
|
initzero |
Инициализация с установкой нулевых значений весов и смещений |
midpoint |
Инициализация с установкой средних значений весов |
randnc |
Инициализация с установкой нормализованных значений столбцов весовых матриц. |
randnr |
Инициализация с установкой нормализованных значений строк весовых матриц. |
rands |
Инициализация с установкой симметричных случайных значений весов и смещений. |
Эта функция используется, для вычисления исходной матрицы для весовых коэффициентов (весов) между i-м слоем и j-м слоем (net.LW{i,j}) когда вызвана функция init в том случае, если в качестве функции инициализации сети (net.initFcn) используется initlay а в качестве функции инициализации i-го слоя (net.layers{i}.initFcn) используется initwb.
net = init(net)
-
learn - это свойство определяет будет ли матрица весов к i-му слою
от j-го слоя изменена в процессе обучения и адаптации.
net.layerWeights{i,j}.learn – устанавливается в 1 или 0, разрешая или запрещая модификацию весов в процессе обучения, если вызваны adapt или train.
[net,Y,E,Pf,Af] = adapt(NET,P,T,Pi,Ai)
[net,tr] = train(NET,P,T,Pi,Ai)
-
learnFcn - это свойство определяет функцию, используемую для модификации матрицы весов к i-му слою от j-го слоя в процессе тренировки, в случае, если в качестве функции тренировки сети выбраны trainb, trainc, или trainr а также в процессе адаптации, если в качестве функции адаптации сети выбрана trains.
net.inputWeights{i,j}.learnFcn - задается в виде названия функции обучения весов из настоящего тулбокса
Функции обучения весов |
|
learngd |
Обучающая функция градиентного спуска |
learngdm |
Обучающая функция градиентного спуска с учетом моментов |
learnh |
Обучающая функция Хэбба |
learnhd |
Обучающая функция Хэбба с учетом затухания |
learnis |
Обучающая функция instar |
learnk |
Обучающая функция Кохонена |
learnlv1 |
Обучающая функция LVQ1 |
learnlv2 |
Обучающая функция LVQ2 |
learnos |
Обучающая функция outstar |
learnp |
Обучающая функция смещений и весов перцептрона |
learnpn |
Обучающая функция нормализованных смещений и весов перцептрона |
learnsom |
Обучающая функция самоорганизующейся карты весов |
learnwh |
Обучающая функция Уидроу-Хоффа (Widrow-Hoff) |
Функция обучения модифицирует весовую матрицу i-го слоя от j-го слоя (net.LW{i,j}) при вызове train, в случае, если в качестве функции тренировки (net.trainFcn) выбраны trainb, trainc, или trainr, а также при вызове adapt, если в качестве функции адаптации (net.adaptFcn) выбрана trains.
[net,Y,E,Pf,Af] = adapt(NET,P,T,Pi,Ai)
[net,tr] = train(NET,P,T,Pi,Ai)
-
learnParam - это свойство определяет параметры и значения обучения для текущей функции обучения веса i-го слоя от j-го слоя.
net.layerWeights{i,j}.learnParam
Поля этого свойства зависят от текущей функции обучения
(net.layerWeights{i,j}.learnFcn).
Вызовите help на текущей функции обучения, чтобы получить описание каждого из полей.
help(net.layerWeights{i,j}.learnFcn)
-
size (только для чтения) – это свойство определяет размерность матрицы весов i-го слоя от j-го слоя сети.
net.layerWeights{i,j}.size - устанавливается в виде двухэлементного вектора-строки, указывающего число строк и столбцов соответствующей матрицы весов (net.LW{i,j}). Первый элемент равен размеру i-го слоя (net.layers{i}.size).
Второй элемент равен произведению длины векторов задержек весов на размер j-го слоя.
length(net.layerWeights{i,j}.delays) * net.inputs{j}.size
-
userdata - это свойство предоставляет место для пользователей, чтобы ввести дополнительную информацию об (i,j)-весах слоев.
net.layerWeights{i}.userdata
Одно поле предопределено. Оно содержит сообщение ко всем пользователям Neural Network Toolbox.
net.layerWeights{i}.userdata.note
-
weightFcn – это свойство определяет функцию, используемую для применения к весам от i-го слоя к j-му слою.
net.layerWeights{i,j}.weightFcn - задается в виде названия функции весов из настоящего тулбокса
Весовые функции |
|
dist |
Евклидово расстояние |
dotprod |
Весовая функция в виде скалярного произведения |
mandist |
Весовая функция – расстояние Манхеттена |
negdist |
Весовая функция – отрицательное расстояние |
normprod |
Нормированное скалярное произведение |
Весовые функции используются, когда вызывается sim для моделирования сети:
[Y,Pf,Af] = sim(net,P,Pi,Ai)
Комментарии