Я читал об оптимизаторе Адама для Deep Learning и натолкнулся на следующее предложение в новой книге « Deep Learning » Бенджо, Гудфеллоу и Курвилля:
Адам, как правило, считается достаточно устойчивым к выбору гиперпараметров, хотя скорость обучения иногда необходимо изменить по сравнению с предложенным значением по умолчанию.
если это правда, то это большое дело, потому что гиперпараметрический поиск может быть очень важным (по моему опыту, по крайней мере) в статистической эффективности системы глубокого обучения. Таким образом, мой вопрос: почему Адам Робаст обладает такими важными параметрами? Специально и ?
Я читал статью Адама, и она не дает никакого объяснения тому, почему он работает с этими параметрами или почему он устойчив. Они оправдывают это в другом месте?
Кроме того, когда я читаю статью, кажется, что число гиперпараметров, которые они пробовали, было очень маленьким, для только 2 и только для 3. Как это может быть тщательным эмпирическим исследованием, если оно работает только для гиперпараметров 2x3 ?
источник
Ответы:
Что касается доказательств в отношении претензии, я считаю, что единственное доказательство, подтверждающее претензию, можно найти на рисунке 4 в их документе . Они показывают окончательные результаты в диапазоне различных значений для , и .β1 β2 α
Лично я не нахожу их аргументы убедительными, в частности потому, что они не дают результатов по целому ряду проблем. С учетом сказанного, отмечу , что я использовал ADAM для различных проблем, и мой личный вывод , что значения по умолчанию и сделать , кажется удивительно надежным, хотя хорошая сделка возился с требуется.β1 β2 α
источник
Это находится в огромном контрасте со стоковым ванильным стохастическим градиентным спуском, где:
Адам не единственный оптимизатор с адаптивными показателями обучения. Как говорится в статье Адама, она тесно связана с Adagrad и Rmsprop, которые также чрезвычайно нечувствительны к гиперпараметрам. Тем более, Rmsprop работает довольно хорошо.
Но Адам вообще лучший. С очень немногими исключениями Адам будет делать то, что вы хотите :)
Есть несколько довольно патологических случаев, когда Адам не будет работать, особенно для некоторых очень нестационарных распределений. В этих случаях Rmsprop является отличным резервным вариантом. Но, вообще говоря, для большинства непатологических случаев Адам работает очень хорошо.
источник
Глядя на формулы ADAM, кажется немного загадочным, что после очень большого числа пакетных итераций (скажем, ~ 400 КБ) величина градиента, основанного на исходной ошибке, сама по себе не играет никакой реальной роли в предпринятом шаге, который, похоже, стремится к параметр конфигурации скорости обучения в соответствующем знаке.
Возможно, ADAM контролирует адаптацию веса лучше, чем простую SGD во время первых итераций / эпок, но в будущем обновление кажется сведенным к чему-то несколько наивному (?) Кто-нибудь может дать некоторую интуицию о том, почему это действительно желательно и / или имеет тенденцию работать хорошо?
источник