Функция обучения с смещением совести
[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
"s параметр обучения, показанный здесь с его значением по умолчанию.
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
из значений смещения каждый раз, когда он вызывается.)