exponenta event banner

learncon

Функция обучения предвзятости совести

Синтаксис

[dB,LS] = learncon(B,P,Z,N,A,T,E,gW,gA,D,LP,LS)
info = learncon('code')

Описание

learncon - функция обучения смещению совести, используемая для увеличения сетевого входа в нейроны, которые имеют самый низкий средний выход, пока каждый нейрон не реагирует приблизительно на равный процент времени.

[dB,LS] = learncon(B,P,Z,N,A,T,E,gW,gA,D,LP,LS) принимает несколько входов,

B

Sоколо-1 вектор смещения

P

1около-Q один вектор

Z

Sоколо-Q взвешенные входные векторы

N

Sоколо-Q чистые входные векторы

A

Sоколо-Q выходные векторы

T

Sоколо-Q целевые векторы слоев

E

Sоколо-Q векторы ошибок слоев

gW

Sоколо-R градиент в отношении производительности

gA

Sоколо-Q выходной градиент по производительности

D

Sоколо-S расстояния нейронов

LP

Параметры обучения, нет, LP = []

LS

Состояние обучения, первоначально должно быть = []

и возвращает

dB

Sоколо-1 матрица изменения веса (или смещения)

LS

Новое состояние обучения

Обучение происходит в соответствии с learnconПараметр learning, показанный здесь со значением по умолчанию.

LP.lr - 0.001

Уровень обучения

info = learncon('code') возвращает полезную информацию для каждого поддерживаемого code символьный вектор:

'pnames'

Названия параметров обучения

'pdefaults'

Параметры обучения по умолчанию

'needg'

Возвращает 1, если эта функция используется gW или gA

Совместимость Deep Learning Toolbox™ 2.0: LP.lr описанный выше равен 1 минус постоянная времени смещения, используемая trainc в программном обеспечении Deep Learning Toolbox 2.0.

Примеры

Здесь определяется случайный вывод A и вектор смещения W для слоя с тремя нейронами. Также определяется уровень обучения. LR.

a = rand(3,1);
b = rand(3,1);
lp.lr = 0.5;

Поскольку learncon только эти значения необходимы для вычисления изменения смещения (см. «Алгоритм» ниже), используйте их для этого.

dW = learncon(b,[],[],[],a,[],[],[],[],[],lp,[])

Использование в сети

Подготовка смещения слоя i пользовательской сети для изучения с помощью learncon,

  1. Набор net.trainFcn кому 'trainr'. (net.trainParam автоматически становится trainrПараметры по умолчанию.)

  2. Набор net.adaptFcn кому 'trains'. (net.adaptParam автоматически становится trainsПараметры по умолчанию.)

  3. Набор net.inputWeights{i}.learnFcn кому 'learncon'

  4. Установить каждый net.layerWeights{i,j}.learnFcn кому 'learncon'. (Для каждого свойства параметра weight learning автоматически устанавливается значение learnconПараметры по умолчанию.)

Обучение сети (или возможность ее адаптации),

  1. Набор net.trainParam (или net.adaptParam) требуемые свойства.

  2. Звонить train (или adapt).

Алгоритмы

learncon вычисляет изменение смещения db для данного нейрона путем предварительного обновления совести каждого нейрона, то есть среднего значения его выхода:

c = (1-lr)*c + lr*a

Затем совесть используется для вычисления смещения для нейрона, которое является наибольшим для меньших значений совести.

b = exp(1-log(c)) - b

(learncon приходит в себя C от значений смещения при каждом вызове.)

См. также

| | |

Представлен до R2006a