Обложка канала

tldr_arxiv

Короткий и четкий разбор свежих и нашумевших статей по deep learning

tldr_arxiv

8 лет назад
Открыть в
On the importance of single directions for generalization
https://openreview.net/pdf?id=r1iuQjxCZ
Когда - 16 февраля 2018

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

Подробности
✏️Факт 1
Для сетей, которые запоминают,конкретные ячейки(например, нейроны) важнее, чем для генерализующих
🔎Пруф
Первую сеть, которая на наш взгляд неплохо генерализует, обучаем на обычном датасете. Потом искажаем наш датасет, случайно перемешивая метки классов и пытаемся обучить на нем вторую сеть. В таком датасете заметно меньше логики, поэтому второй сети придется его запоминать. Важность конкретных ячеек для обеих сетей мы сравниваем, фиксируя активации для части ячеек в этих сетях и наблюдая за ухудшением качества. В запоминающей сети качество ухудшилось сильнее.

✏️Факт 2
Чтобы понимать, какую модель выбрать и когда останавливаться, необязательно использовать отложенный датасет(который круто было бы использовать для тренировки)
🔎Пруф
Авторы строят график зависимости AUC от эпохи обучения, фиксируя ячейки в сети. Приходят к выводу, что эта кривая начинает менять характер своего поведения, когда начинается переобучение(начинает расти лосс на отложенной выборке).

✏️Факт 3
Dropout не панацея и не обеспечивает гарантированной генерализации
🔎Пруф
При использовании dropout, сеть, обученная на датасете с перемешанными лейблами(негенерализующая) запоминает примеры многими методами, вместо того, чтобы обобщиться, что можно наблюдать при фиксации большого числа ячеек, чем при выкидывании в dropout.

✏️Факт 4
А batchnorm похоже панацея при генерализации :)
🔎Пруф
Авторы обучают сети с batchnorm(нормализуют входные сигналы для нелинейностей в каждом скрытом слое) и без него, и смотрят, насколько качество предсказаний ухудшается с фиксацией части ячеек. Оказывается, что сети с batchnorm заметно более устойчивы к такому воздействию, а значит лучше генерализуют(см факт1)

✏️Факт 5
Batchnorm способствует преобладанию ячеек с информацией сразу о многих классах
🔎Пруф
Авторы исследуют так называемый class selectivity - прогоняют через сеть данные из разных классов и смотрят, насколько средние активации ячеек рознятся между классами. Выясняется, что при применении batchnorm они рознятся заметно меньше, что означает, что в такой сети информация о всех классах распределена по сети более равномерно, а значит вся система в целом стабильней.

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