Обратная связь градиентного спуска
net.trainFcn = 'traingd' устанавливает сеть trainFcn свойство.
[ обучает сеть с trainedNet,tr] = train(net,...)traingd.
traingd сетевая учебная функция, которая обновляет вес и значения смещения согласно градиентному спуску.
Обучение происходит согласно traingd параметры обучения, показанные здесь с их значениями по умолчанию:
net.trainParam.epochs — Максимальное количество эпох, чтобы обучаться. Значение по умолчанию 1000.
net.trainParam.goal — Цель эффективности. Значение по умолчанию 0.
net.trainParam.lr — Скорость обучения. Значение по умолчанию 0.01.
net.trainParam.max_fail — Максимальные отказы валидации. Значением по умолчанию является 6.
net.trainParam.min_grad — Минимальный градиент эффективности. Значением по умолчанию является 1e-5.
net.trainParam.show — Эпохи между отображениями (NaN ни для каких отображений). Значение по умолчанию равняется 25.
net.trainParam.showCommandLine — Сгенерируйте командную строку выход. Значением по умолчанию является false.
net.trainParam.showWindow — Покажите учебный графический интерфейс пользователя. Значением по умолчанию является true.
net.trainParam.time — Максимальное время, чтобы обучаться в секундах. Значением по умолчанию является inf.
traingd может обучить любую сеть пока ее вес, сетевой вход, и передаточные функции имеют производные функции.
Обратная связь используется, чтобы вычислить производные эффективности perf относительно веса и переменных X смещения. Каждая переменная настроена согласно градиентному спуску:
dX = lr * dperf/dX
Обучение останавливается, когда любое из этих условий происходит:
Максимальное количество epochs (повторения) достигнуты.
Максимальная сумма time превышен.
Эффективность минимизирована к goal.
Градиент эффективности падает ниже min_grad.
Эффективность валидации увеличила больше, чем max_fail времена с прошлого раза это уменьшилось (при использовании валидации).