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