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-by-1 смещает вектор

P

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

Z

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

N

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

A

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

T

S-by-Q слой предназначается для векторов

E

S-by-Q вектора ошибок слоя

gW

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

gA

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

D

S-by-S расстояния нейрона

LP

Изучая параметры, ни один, LP = []

LS

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

и возвращается

dB

S- (или смещение) изменяют матрицу

LS

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

Изучение происходит согласно изучению learncon параметра, показанного здесь с его значением по умолчанию.

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'.. (Каждый вес, изучающий свойство параметра, автоматически установлен в параметры 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

Для просмотра документации необходимо авторизоваться на сайте