Implicit MLE: как обучать нейросети с дискретными алгоритмами

Yannic Kilcher 20,8 тыс. 59 мин 2 мин 27.11.2021
Главное

Implicit MLE: Как обучать нейросети с «необучаемыми» дискретными слоями 🧠 0:00

В современном глубоком обучении часто возникают задачи, где нейронная сеть должна использовать результаты дискретных алгоритмов — например, поиск кратчайшего пути на графе или решение задач целочисленного программирования. Основная проблема заключается в том, что такие операции «непрозрачны» для классического метода обратного распространения ошибки (backpropagation), так как они недифференцируемы. В видео, посвященном статье «Implicit MLE: Backpropagating Through Discrete Exponential Family Distributions» от Матиаса Снайперда, Паскаля Минервини и Луки Франчески, ведущий Янник Кильчер разбирает подход, позволяющий «прокинуть» градиенты через эти дискретные узкие места,.

🧩 Проблема дискретных операций в нейросетях 8:46

Когда нейронная сеть включает в себя дискретный «черный ящик» (например, алгоритм Дейкстры), возникает разрыв в цепочке вычислений.

💡 Framework Implicit MLE: Суть решения 6:36

Авторы статьи предлагают новый подход — Implicit Maximum Likelihood Estimation (IMLE). Идея заключается в том, чтобы рассматривать дискретный алгоритм как распределение из семейства экспоненциальных распределений.

  1. Формулировка задачи: Проблема кодируется как максимизация скалярного произведения между вектором решения $z$ и вектором весов $\theta$ (который является выходом первой части сети, например, описанием графа).
  2. Целевое распределение: Вместо того чтобы пытаться дифференцировать сам алгоритм, авторы предлагают создать «целевое распределение» ($q$), которое в ожидании дает меньшую ошибку (loss), чем текущее распределение ($p$).
  3. Использование градиентного спуска: С помощью одного шага градиентного спуска внутри самого алгоритма они определяют, как нужно изменить «определение проблемы» ($\theta$), чтобы минимизировать итоговую ошибку.

🛠 Метод «Perturb and Map» 39:28

Так как точное вычисление градиентов для таких распределений — задача, требующая колоссальных ресурсов (иногда классифицируемая как #P-hard), авторы используют аппроксимацию:

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

📈 Результаты и применение 58:18

Янник Кильчер отмечает, что реализация довольно проста для интеграции в стандартные фреймворки (PyTorch, TensorFlow). В экспериментах метод Implicit MLE показывает себя эффективнее стандартного Straight-Through Estimator, обеспечивая более стабильное обучение в задачах, где дискретная оптимизация является частью конвейера.

💬 Цитаты

«Это, возможно, один из самых запутанных видеороликов, но я надеюсь, вы все еще с нами.»

Янник Кильчер 36:34

«Мы essentially не имеем понятия, как сделать backprop через алгоритм поиска кратчайшего пути Дейкстры.»

Янник Кильчер 54:22
👥 Спикер
🔗 Упомянутые сайты и проекты
📖 Термины
Implicit MLE
Фреймворк для вычисления градиентов через дискретные распределения семейства экспоненциальных функций.
Straight-Through Estimator
Трюк для обучения с дискретными операциями, при котором градиент в обратном проходе игнорирует дискретность.
Perturb and Map
Метод аппроксимации градиента через добавление шума к параметрам и последующее решение задачи оптимизации.
Распределение Гамбеля
Тип распределения, используемый в методе Perturb and Map для генерации подходящего шума.
📊 Цифры
⚖️ Другая сторона
Искусственный интеллект Implicit MLE Yannic Kilcher Deep Learning Backpropagation