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