Обновить

Методы оптимизации в машинном и глубоком обучении. От простого к сложному

Уровень сложностиСложный
Время на прочтение29 мин
Охват и читатели17K
Всего голосов 23: ↑22 и ↓1+29
Комментарии7

Комментарии 7

Статья очень качественная как всегда, но хотелось бы видеть ещё про Lion от Google Brain который использует генетические алгоритмы, ибо по их исследованию он значительно лучше чем Adam(W).

Спасибо :). Честно говоря, изначально я планировал рассказать про большее количество алгоритмов (в том числе и про не градиентные методы, а также про самые последние оптимизаторы) с их реализацией с нуля на питоне, но в последний момент решил этого не делать. Дело в том, что очень часто бывает так, что на бумаге алгоритм работает хорошо, а через год-два появляются контрпримеры, на которых ломаются его доказательства. Обычно проходит несколько лет, чтобы оптимизатор хорошо зарекомендовал себя на практике.

Такое явление даже можно встретить в учебных пособиях от более опытных авторов, когда в более поздних изданиях они просят забыть про то, что говорили ранее, поэтому я решил обойтись наиболее важными концепциями, чтобы потом случайно никого не ввести в заблуждение. Возможно, в будущем выпущу ещё одну статью на эту тему, но это не точно :)

Спасибо за статью! Бриллиант среди работ тут. Согласен с комментатором выше, хотелось бы услышать про современные подходы по оптимизации, например AdaBelief - за 4 года пока не видел статей с его недостатками)

Спасибо :) Возможно, в будущем выпущу ещё одну статью, если будет большая активность со стороны аудитории на эту тему. К сожалению, пока что на это нет времени, поскольку на данный момент я работаю над другими статьями и проектами.

Только SVD - это сингулярное разложение, а не спектральное, но из него можно получить спектральное. В остальном очень интересно, спасибо

Всё верно, просто возникло недопонимание). По сути, SVD является обобщением спектрального разложения и одним из его популярных примеров. Проще говоря, в скобках SVD указан не как расшифровка, а как один из примеров. Этот момент я только что подправил в статье, чтобы не было недопониманий. Спасибо за хорошее замечание.

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

Небольшое техническое исправление:

"называется вектором первого момента, поскольку масса в данном случае равна 1".
Здесь нужно исправить, что "первый момент" не потому, что масса равна 1.

Вектор первого момента — это «взвешенная сумма положений», показывающая, в какую сторону и как далеко смещено основное количество массы относительно начала координат.

Вектор первого момента — это векторная величина, компоненты которой являются первыми моментами распределения (массы, вероятности, яркости) по соответствующим осям координат. Он указывает на центр тяжести этого распределения.

По аналогии (чтобы понять смысл):

В физике твёрдого тела аналогом «второго момента» является тензор инерции.

Его компоненты содержат произведения координат (x^2,y^2,z^2,xy,xz,yzx^2,y^2,z^2,xy,xz,yz), умноженные на массы.

В статистике и теории вероятностей (Матрица ковариации)

Здесь «второй момент» случайного вектора — это матрица ковариации (или корреляции).

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации