Какой алгоритм оптимизации следует использовать для оптимизации весов многослойного персептрона? - PullRequest
2 голосов
/ 27 августа 2011

На самом деле это 3 вопроса:

Какой алгоритм оптимизации следует использовать для оптимизации весов многослойного персептрона, если бы я знал ...

1) только значение ошибкифункционировать?(черный ящик)

2) градиент?(первая производная)

3) градиент и гессиан?(вторая производная)

Я слышал, что CMA-ES должен работать очень хорошо для 1) и BFGS для 2), но я хотел бы знать, есть ли альтернативы, и я не знаю, какой алгоритм взять для 3).

Ответы [ 2 ]

2 голосов
/ 30 августа 2011

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

Такие проблемы, как работа с пространством непрерывных действий, обычно решаются не путем изменения меры ошибки, а путем изменения архитектуры всей сети. Это позволяет вам продолжать использовать ту же самую информативную информацию об ошибках, в то же время решая проблему, которую вы хотите решить.

Некоторые возможные архитектурные изменения, которые могли бы достичь этого, обсуждаются в решениях этого вопроса . По моему мнению, я бы предложил использовать модифицированную технику Q-обучения, когда пространства состояний и действий представлены самоорганизующимися картами, что обсуждается в статье, упомянутой в ссылке выше.

Надеюсь, это поможет.

0 голосов
/ 13 февраля 2012

Я наконец решил эту проблему: есть несколько эффективных алгоритмов для оптимизации нейронных сетей в обучении подкреплению (с фиксированной топологией), например, CMA-ES ( CMA-NeuroES ) или CoSyNE .

Наилучшим алгоритмом оптимизации для контролируемого обучения представляется Левенберг-Марквардт (LMA).Это алгоритм, который специально разработан для задач наименьших квадратов.Когда есть много соединений и весов, LMA работает не очень хорошо, потому что требуемое пространство огромно.В этом случае я использую Conjugate Gradient (CG).

Гессианская матрица не ускоряет оптимизацию.Алгоритмы, аппроксимирующие 2-ю производную, более быстрые и эффективные (BFGS, CG, LMA).

edit: для крупномасштабных задач обучения часто Stochastic Gradient Descent (SGD) превосходит все остальные алгоритмы.

...