У меня довольно простой ANN, используя Tensorflow и AdamOptimizer для проблемы регрессии, и теперь я хочу настроить все гиперпараметры.
Пока я видел много разных гиперпараметров, которые мне нужно настроить:
- Уровень обучения: начальная скорость обучения, распад обучения
- AdamOptimizer нуждается в 4 аргументах (скорость обучения, beta1, beta2, epsilon), поэтому нам нужно настроить их - по крайней мере, epsilon
- размер партии
- nb итераций
- Lambda L2 - параметр регуляризации
- Количество нейронов, количество слоев
- какая функция активации для скрытых слоев, для выходного уровня
- параметр отсечки
У меня есть 2 вопроса:
1) Видите ли вы какой-либо другой гиперпараметр, который я мог бы забыть?
2) На данный момент моя настройка довольно "ручная", и я не уверен, что я не делаю все правильно. Есть ли специальный заказ для настройки параметров? Например, скорость обучения сначала, затем размер партии, тогда... Я не уверен, что все эти параметры независимы - на самом деле, я совершенно уверен, что некоторые из них не являются. Какие из них явно независимы и какие из них явно не являются независимыми? Должны ли мы затем настроить их вместе? Есть ли какая-либо бумага или статья, в которой говорится о правильной настройке всех параметров в специальном порядке?
EDIT: Вот графики, которые я получил для разных начальных скоростей обучения, размеров партии и параметров регуляризации. Фиолетовая кривая для меня совершенно странная... Потому что стоимость так же медленно уменьшается, как и другие, но она застревает с меньшей точностью. Возможно ли, что модель застряла в локальном минимуме?
Для скорости обучения я использовал распад: LR (t) = LRI/sqrt (epoch)
Спасибо за вашу помощь ! Павел