Функция изучения смещения совести
[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 | 1 |
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 для данного нейрона первым обновлением совести каждого нейрона, i.e., рабочее среднее значение его выхода:
c = (1-lr)*c + lr*a
Совесть затем используется для расчета смещение в нейроне, который является самым большим для меньших значений совести.
b = exp(1-log(c)) - b
(learncon восстанавливает C от значений смещения каждый раз это называется.)