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

Yannic Kilcher 22,3 тыс. 19 мин 3 мин 13.04.2020
Главное

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

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

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

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

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

🎫 Почему нельзя просто создать маленькую сеть сразу? 4:07

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

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

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

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

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

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

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

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

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

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

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

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

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

💬 Цитаты

«Случайно инициализированная плотная нейронная сеть содержит подсеть, которая инициализирована так, что при обучении в изоляции она может соответствовать точности оригинала.»

Янник Килчер 05:29

«Избыточность параметров дает нам комбинаторно огромное количество подсетей на выбор, где инициализация может оказаться удачной.»

Янник Килчер 07:18
👥 Спикер
🔗 Упомянутые сайты и проекты
📖 Термины
Прунинг (Pruning)
Метод сокращения размера нейросети путем удаления весов, которые мало влияют на итоговый результат.
Инициализация (theta zero)
Начальные случайные значения весов нейронной сети перед стартом обучения.
Оптимизация SGD
Алгоритм стохастического градиентного спуска, используемый для обучения нейросетей.
Инференс
Этап работы уже обученной модели при предсказании на новых данных.
📊 Цифры
⚖️ Другая сторона
Искусственный интеллект Lottery Ticket Hypothesis нейронные сети pruning Янник Кильхер глубокое обучение