# Янник Килчер: «Огромные нейросети — это лишь способ сорвать джекпот в вычислительной лотерее»

Источник: https://www.youtube.com/watch?v=ZVVnvZdUMUk
Канал: Yannic Kilcher
Опубликовано: 13.04.2020

---

С начала эры глубокого обучения исследователи задавались вопросом: почему нейронные сети требуют так много параметров для эффективной работы? В статье описывается гипотеза «лотерейного билета», предложенная Джонатаном Франклом и Майклом Карбином, которая объясняет этот феномен и предлагает новый взгляд на то, как именно обучаются сложные модели.

## 🧠 Суть гипотезы: выигрыш в вычислительной лотерее
[[JUMP:00:00]]

Традиционно нейронные сети проектируются как избыточные системы. Янник Килчер объясняет, что стандартная полносвязная сеть содержит огромное количество соединений (весов) между слоями [01:07]. Процесс обучения (SGD — стохастический градиентный спуск) настраивает эти веса, чтобы достичь высокой точности, например 90% на тестовом наборе данных [01:35].

Давно известно, что после обучения сеть можно «прунить» (от англ. *pruning* — обрезка) [02:13]. Этот процесс позволяет:

*   Удалить до 90% параметров без потери точности [00:25].
*   Значительно сократить требования к памяти для хранения модели [00:39].
*   Ускорить инференс (выполнение) модели за счет меньшего количества вычислений [03:07].

Однако гипотеза «лотерейного билета» (The Lottery Ticket Hypothesis) идет дальше. Она утверждает, что внутри большой случайно инициализированной сети существует подсеть, которая при правильной инициализации может быть обучена с нуля до той же точности, что и исходная полная сеть, причем за то же или меньшее время [05:29].

## 🎫 Почему нельзя просто создать маленькую сеть сразу?
[[JUMP:04:07]]

Один из главных вопросов, который разбирает Килчер: если 90% параметров лишние, можем ли мы просто с самого начала обучать маленькую сеть? По словам автора, короткий ответ — нет [04:48].

Главное условие успеха «выигрышного билета» заключается не только в структуре (архитектуре) подсети, но и в её начальных весах ($\theta_0$) [06:11]. По мнению Франкла и Карбина, обучение маленькой сети сработает только в том случае, если мы перенесем в неё те же самые значения весов, которые были у этой части нейронов в большой сети в момент её случайной инициализации [04:35].

Янник Килчер приводит аналогию с комбинаторикой:

1.  Большая сеть — это огромное количество потенциальных подсетей (комбинаций параметров) [07:18].
2.  Случайная инициализация — это раздача «лотерейных билетов» каждой из этих подсетей [07:32].
3.  За счет избыточности параметров мы почти гарантированно получаем хотя бы один «выигрышный билет» — подсеть, чья начальная точка в пространстве весов идеально подходит для оптимизации градиентным спуском [07:59].

## 🛠 Алгоритм поиска «выигрышных билетов»
[[JUMP:08:38]]

Процесс идентификации таких эффективных подсетей, описанный в работе, состоит из нескольких этапов:

1.  **Инициализация:** Создается полная нейронная сеть с начальными весами $\theta_0$ [08:53].
2.  **Обучение:** Сеть обучается до достижения определенного результата [08:53].
3.  **Обрезка (Pruning):** Удаляется определенный процент весов (обычно те, чьи абсолютные значения минимальны) [09:06].
4.  **Сброс (Reset):** Оставшиеся веса возвращаются к их исходным значениям $\theta_0$ [09:31]. Теперь у нас есть «выигрышный билет», готовый к повторному обучению в изоляции.

Килчер подчеркивает, что авторы рекомендуют проводить этот процесс итеративно [10:25]. Вместо того чтобы «отрезать» 90% весов за раз, лучше удалять их по частям, проводя промежуточные обучения. По мнению Янника, это позволяет сети перераспределять «ответственность» между оставшимися весами [11:08]. Если удалить слабый нейрон сразу, его функции могут потеряться, но при итеративном подходе соседние нейроны успевают адаптироваться и взять его роль на себя [12:15].

## 📊 Экспериментальные данные и выводы
[[JUMP:13:06]]

Эмпирические результаты исследования показывают удивительные вещи. На графиках зависимости точности от количества оставшихся весов видно:

*   При случайном удалении весов точность падает мгновенно [13:32].
*   При использовании метода «лотерейного билета» точность сохраняется даже при наличии всего 1–2% параметров [14:13].
*   **Удивительный факт:** Подсети с 16% параметров часто показывают точность выше, чем оригинальная полная сеть [14:26].

Кроме того, такие подсети обучаются быстрее [15:08]. Например, сеть с 20% весов достигает пиковой точности за меньшее количество итераций, чем полная модель [15:21].

Важнейшим открытием Килчер называет роль инициализации. Если взять ту же структуру «выигрышной» подсети, но инициализировать её новыми случайными числами вместо оригинальных $\theta_0$, она показывает значительно худшие результаты [16:55]. Это доказывает, что успех нейросети зависит от удачного совпадения конкретной архитектуры и конкретной точки старта в пространстве параметров [17:09].

В завершение Янник упоминает интересный нюанс: веса, попадающие в «выигрышный билет», за время обучения проходят в пространстве оптимизации гораздо большее расстояние, чем «бесполезные» веса [18:28]. Это означает, что SGD сильнее воздействует именно на те параметры, которые изначально были удачно инициализированы, что и делает их ключевыми для работы всей системы [18:42].