• Регистрация
Редактор-сообщества-Экпонента
Редактор-сообщества-Экпонента+1.01
редактор
  • Написать
  • Подписаться

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

Глубокое обучение 
19.09.2019

Автор материала - Ю.П.Маслобоев.

Входы

Слои

Выходы

Эталоны

Смещения

Входные веса

Веса слоев

 

Наверх

Входы

Эти свойства определяют структуру 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)

Теги

  • нейронные сети
    19.09.2019

    Комментарии