Функция изучения смещения совести
[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 |
|
P |
|
Z |
|
N |
|
A |
|
T |
|
E |
|
gW |
|
gA |
|
D |
|
LP | Изучая параметры, ни один, |
LS | При изучении состояния, первоначально должен быть = |
и возвращается
dB |
|
LS | Новое состояние изучения |
Изучение происходит согласно изучению learncon
параметра, показанного здесь с его значением по умолчанию.
LP.lr - 0.001 | Темп обучения |
info = learncon('
возвращается полезная информация для каждого поддержала вектор символов code
')code
:
'pnames' | Имена изучения параметров |
'pdefaults' | Параметры изучения значения по умолчанию |
'needg' | Возвращается 1, если эта функция использует |
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
,
Установите net.trainFcn
на 'trainr'
. (net.trainParam
автоматически становится параметрами trainr
по умолчанию.)
Установите net.adaptFcn
на 'trains'
. (net.adaptParam
автоматически становится параметрами trains
по умолчанию.)
Установите net.inputWeights{i}.learnFcn
на 'learncon'
Установите каждый net.layerWeights{i,j}.learnFcn
на 'learncon'
.. (Каждый вес, изучающий свойство параметра, автоматически установлен в параметры learncon
по умолчанию.)
Обучать сеть (или позволять ему адаптироваться),
Установите net.trainParam
(или net.adaptParam
) свойства, как желаемый.
Вызовите train
(или adapt
).
learncon
вычисляет изменение смещения db
для данного нейрона первым обновлением совести каждого нейрона, т.е. рабочего среднего значения ее вывода:
c = (1-lr)*c + lr*a
Совесть затем используется, чтобы вычислить смещение для нейрона, который является самым большим для меньших значений совести.
b = exp(1-log(c)) - b
(learncon
восстанавливает C
со значений смещения каждый раз, когда это называется.)