learncon

Функция изучения смещения совести

Синтаксис

[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

S- 1 вектор смещения

P

1- Q вектор единиц

Z

S- Q взвешенные входные векторы

N

S- Q сетевые входные векторы

A

S- Q выходные векторы

T

S- Q целевые векторы слоя

E

S- Q вектора ошибок слоя

gW

S- R градиент относительно эффективности

gA

S- Q выведите градиент относительно эффективности

D

S- S расстояния нейрона

LP

Изучая параметры, ни один, LP = []

LS

При изучении состояния, первоначально должен быть = []

и возвращается

dB

S- 1 вес (или смещение) изменяет матрицу

LS

Новое состояние изучения

Изучение происходит согласно learnconизучение параметра, показанного здесь с его значением по умолчанию.

LP.lr - 0.001

Скорость обучения

info = learncon('code') возвращается полезная информация для каждого поддержала code символьный вектор:

'pnames'

Имена изучения параметров

'pdefaults'

Параметры изучения значения по умолчанию

'needg'

Возвращается 1, если эта функция использует gW или gA

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,

  1. Установите net.trainFcn к 'trainr'. (net.trainParam автоматически становится trainrпараметры по умолчанию.)

  2. Установите net.adaptFcn к 'trains'. (net.adaptParam автоматически становится trainsпараметры по умолчанию.)

  3. Установите net.inputWeights{i}.learnFcn к 'learncon'

  4. Установите каждый net.layerWeights{i,j}.learnFcn к 'learncon'.. (Каждый вес, изучающий свойство параметра, автоматически установлен в learnconпараметры по умолчанию.)

Обучать сеть (или позволять ему адаптироваться),

  1. Установите net.trainParam (или net.adaptParam) свойства, как желаемый.

  2. Вызовите train (или adapt).

Алгоритмы

learncon вычисляет смещение изменяют db для данного нейрона первым обновлением совести каждого нейрона, i.e., рабочее среднее значение его выхода:

c = (1-lr)*c + lr*a

Совесть затем используется для расчета смещение в нейроне, который является самым большим для меньших значений совести.

b = exp(1-log(c)) - b

(learncon восстанавливает C от значений смещения каждый раз это называется.)

Смотрите также

| | |

Представлено до R2006a