The Lottery Ticket Hypothesis: Finding Sparse, Trainable Neural Networks
Jonathan Frankle, Michael Carbin
CSAIL MIT
Статья:
https://arxiv.org/abs/1803.03635
#CNN, #FFNN, #optimization, #pruning, #ICLR 2019
Статья немного про природу вещей. Рассматривают dense feed-forward neural networks, полносвязные и/или CNN. Известно, что методы network pruning позволяют эффективно ужать уже обученную сеть -- выкинуть заметную часть параметров (связей) без потерь качества (в ряде случаев удаётся снизить объём на 90%). Известно, кроме того, что сразу научить такую уменьшенную сеть до того же качества не выходит.
Авторы выдвигают гипотезу "лотерейного билета": любая случайно инициализированная плотная сеть, обучаемая на заданный таргет, содержит некоторую подсеть, которая, будучи обученной на тот же таргет, даст качество не хуже за то же или меньшее число итераций обучения. В целом, это утверждение имеет как минимум тривиальное подтверждение, но авторы утверждают, что это эффективная подсеть обычно существенно меньше основной. Такие эффективные подсети называют "winning tickets".
Интуиция тут такая: Начиная обучать случайно инициализированную сеть, оптимизатор просто ищет уже готовый подходящий канал внутри случайной сети, а дальше уже именно этот путь оптимизируется, а остальная сеть не очень то и нужна. В плотной сети число возможных путей от входа к выходу растёт с числом нейронов существенно надлинейно. Поэтому, чем больше сеть взять в начале, тем больше шансов сразу получить подходящий подграф.
Проводят серию экспериментов для подтверждения этой гипотезы:
1) Возьмём большую случайно инициализированную сеть Х, сохраним её копию С.
2) Обучим Х, применим к ней pruning, получим редуцированную обученную сеть У (размером 10-20% от Х).
3) Вернёмся к сохранённой копии С, редуцируем её до тех же параметров, что остались в У, но веса оставим случайными (из С) -- это будет сеть Z.
4) Обучим Z и сравним сходимость с Х. Качество должно получиться не хуже, а сходимость -- не медленнее.
5) Затем вернёмся к Z и вновь переинициализируем её случайным образом, пусть это будет сеть R. Опять сравним с X и Z. Если гипотеза верна, всё должно ухудшиться.
6) Ещё можно сравниться со случайным подграфом Х того же размера что Z.
В целом, результаты экспериментов скорее подтверждают гипотезу, по крайней мере для простых топологий. Дальше в статье идёт разбор таких экспериментов для некоторого числа разных задач, топологий и методов оптимизации.
Общие выводы:
- текущая схема обучения сетей не очень эффективна, есть куда улучшаться, например, в сторону более эффективной начальной инициализации (но не очень понятно как),
- можно попробовать определять winning tickets на ранних стадиях обучения большой сети и делать ранний pruning к ним -- это может повысить эффективность обучения на практике.