Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Нейросетевые ядерные методы

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.

Нейросетевые ядерные методы

Avatar for Machinelearner

Machinelearner

October 22, 2020
Tweet

More Decks by Machinelearner

Other Decks in Education

Transcript

  1. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Нейросетевые ядерные методы Максим Юрьевич Винниченко 22 октября 2020 г. Винниченко М.Ю. Ядерные методы 1/29
  2. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ядерный трюк Есть объекты X, которые плохо разделимы линейной моделью. Переведём объекты X в пространство φ(X), где они хорошо разделяются линейной моделью. Для обучения линейной модели нужно уметь считать только функцию k ”ядро” [4]: k(z, x) = ⟨φ(z), φ(x)⟩ Винниченко М.Ю. Ядерные методы 2/29
  3. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Kernel Regression [4] Обучаем модель на объектах X и соответствующих ответах Y. Обозначения: K(Z, X) = φ(Z)φ(X)T, K = K(X, X) Матрицу K назовём матрицей ядра Обучение линейной модели: α = K−1Y Предсказание линейной модели на объектах Z: f(Z) = K(Z, X)α Винниченко М.Ю. Ядерные методы 3/29
  4. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Случай необратимой матрицы Обучение линейной модели: α = (K + λE)−1Y Предсказание линейной модели на объектах Z: f(Z) = K(Z, X)α Винниченко М.Ю. Ядерные методы 4/29
  5. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Откуда формулы? Линейная модель f с параметрами θ: f(x) = ⟨x, θ⟩ Ядерный трюк: θ = n ∑ i=1 xiαi f(x) = ⟨x, θ⟩ = ⟨x, n ∑ i=1 xiαi⟩ = ∑ ⟨x, xi⟩αi f(X) = XXTα α = ( XXT ) −1 Y Винниченко М.Ю. Ядерные методы 5/29
  6. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Связь с нейронными сетями Есть связь между широкими нейронными сетями и ядерными методами [3]. Обучение бесконечно широкой сети – это обучение ядерной модели с ядром NTK [2]: k(z, x) = Eθ⟨∇θ f(z, θ), ∇θ f(x, θ)⟩. Обучение нейросетевого гауссовского процесса – это обучение ядерной модели с ядром NNGP: k(z, x) = Eθ f(z, θ) · f(x, θ) Винниченко М.Ю. Ядерные методы 6/29
  7. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Neural tangent kernel f(x; θt) – нейронная сеть с параметрами θt, где t – число итераций обучения Разложим в ряд Тейлора: f(x; θt) ≈ f(x; θ0) + ⟨∇θ0 f(x; θ0), θt − θ0⟩ f(x; θ0) + ⟨∇θ0 f(x; θ0), θt − θ0⟩ - линейная модель. Соответствующее ядро: NTKf(x, y) = ⟨∇θ0 f(x; θ), ∇θ0 f(y; θ)⟩ Винниченко М.Ю. Ядерные методы 7/29
  8. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Аналитическое вычисление NNGP ядра Двухслойная сеть f, с весами W и линейным классификатором θ: f(x, θ, W) = θTWx √ n Обучаем последний слой методом kernel regression: k(x, y) = lim n→∞ ⟨ 1 √ n Wnx, 1 √ n Wny ⟩ = ⟨x, y⟩ Доказательство: lim n→∞ ⟨ 1 √ n Wnx, 1 √ n Wny ⟩ = lim n→∞ 1 n ∑n i=1 ⟨x, wi⟩⟨y, wi⟩ = Ew ⟨x, w⟩ · ⟨y, w⟩ = E ∑ ij wi xi · wj yj = E ∑ i w2 i xi yj = ∑ i xi · yi = ⟨x, y⟩ Винниченко М.Ю. Ядерные методы 8/29
  9. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Активации Добавим функцию активации φ: f(x, θ, W) = θTφ(Wx) √ n k(x, y) = lim n→∞ ⟨ φ(Wnx) √ n , φ(Wny) √ n ⟩ Для ||x|| = ||y|| = 1: активация φ(z) скалярное произведение k(x, y) identity z ⟨x, y⟩ relu max(0, z) √ 2 1 π (sin β + (π − β) cos β), где β = arccos⟨x, y⟩ rff eiz e⟨x,y⟩−1 Винниченко М.Ю. Ядерные методы 9/29
  10. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Neural Kernels without Tangents Что делают? Предобработка данных с помощью ZCA. Вводят операции для расчёта ядер на многомерных массивов. Строят ядро, опираясь на архитектуру MyrtleCNN. Показывают, что их ядро лучше остальных ядер на CIFAR-10 Винниченко М.Ю. Ядерные методы 10/29
  11. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Их результаты на Cifar10 Винниченко М.Ю. Ядерные методы 11/29
  12. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Проблемы Плохо масштабируются на большие обучающие выборки. Пусть N – размер обучающей выборки, P – число пикселей в изображении, тогда: сложность вычисления ядра аналитически O(N2P2) сложность обращения ядра O(N3) Винниченко М.Ю. Ядерные методы 12/29
  13. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Моё исследование: цели и задачи Цель: улучшить масштабируемость нейросетевых ядерных методов. Задачи: Научиться работать с необратимой матрицей ядра Избавиться от кубической сложности работы с матрицей ядра Построить приближение аналитического ядра Винниченко М.Ю. Ядерные методы 13/29
  14. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Решение задачи 1: Градиентный спуск c непрерывным шагом Обучаем линейную модель f с параметром θ на объектах X и ответах Y. Градиентный спуск c функций потерь L(F) = 1 2 ||F − Y||2: fi(X) = φ(X)θi θi+1 = θi − η dL(fi(X)) dθ Это приближённое решение дифференциального уравнения [3]: ft(X) = φ(X)θt ˙ θt = −η dL(ft(X)) dθ Винниченко М.Ю. Ядерные методы 14/29
  15. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Решаем диффур ˙ θt = −η dL(ft(X)) dθ = −η ⟨ ∂ft(X) ∂θ , ∂L ∂f ⟩ = −η φT(X)(ft(X) − Y) ˙ ft(X) = φ(X) ˙ θt = −η φ(X)φT(X) (ft(X) − Y) d(ft(X) − Y) dt = −ηK(ft(X) − Y) ft(X) − Y = e−ηKt(f0(X) − Y) ft(X) = (e−ηKt − E)(−Y) + e−ηKtf0(X) Винниченко М.Ю. Ядерные методы 15/29
  16. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Решение дифференциального уравнения Введём двойственные переменные αt: αt = K−1(e−ηKt − E)(−Y) Точное решение диффура: ft(Z) = K(Z, X)αt θt = φT(X)αt Винниченко М.Ю. Ядерные методы 16/29
  17. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Вычисление решения Вычислим двойственные переменные αt = K−1(e−ηKt − E)(−Y) Заметим, что: ( · K−1(e−ηKt − E) · · ) = −ηt exp ( −ηtK E 0 0 ) Теорема верна для необратимой матрицы K. Винниченко М.Ю. Ядерные методы 17/29
  18. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Идея доказательства exp(M) = E 0! + M 1! + M2 2! + . . . M−1(eM − E) = E 1! + M 2! + M2 3! + . . . Винниченко М.Ю. Ядерные методы 18/29
  19. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Леммы Лемма1: ( M E 0 0 )k = ( Mk Mk−1 0 0 ) Лемма2: exp ( M E 0 0 ) = ( eM M−1 ( eM − E ) 0 E ) Доказательство теоремы: подставляем M = −ηtK Винниченко М.Ю. Ядерные методы 19/29
  20. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Граниентный бустинг [1] Регрессор Fn(Z) на n-м шаге является линейной комбинацией слабых регрессоров fi : Fn(Z) = n ∑ i=1 βj fj(Z) Определим остатки: y_resi(x) = − δL(Fi−1 (x)) δFi−1 Обучение: fi = optimizef ||f(X) − y_resi(X)||2 Fi = Fi−1 + β · fi Винниченко М.Ю. Ядерные методы 20/29
  21. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Задача2: Избавляемся от O(N3) Итерация обучения: Разобьём обучающую выборку X на подмножества X(1) ⊔ X(2) ⊔ . . . ⊔ X(l) ⊔ Xleftover В качестве слабого регрессора на шаге i выступает модель fi(Z) = φ(Z)θi с усреднённым 1 параметром θi : θi = 1 l l ∑ j=1 θij θij = φ(X(j))T α(j) Комментарий: Из-за линейности моделей можем усреднять параметр, вместо усреднения предсказаний регрессоров. 1усреднение производится по результатам обучения на подмножествах: X(1), X(2), . . . , X(m) Винниченко М.Ю. Ядерные методы 21/29
  22. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Результаты Точность классификации на СIFAR-10 Ядро 2 Бустинг Kernel Ridge 3 Myrtle10 Gaussian Kernel 88.0 88.2 Myrtle10 Gaussian Kernel + Flips 89.5 89.8 Сложность обучения O(steps NM2) O(N3) Таблица: Точность классификации (accuracy) на СIFAR-10. 2Используются аналитические ядра из материалов статьи ”Neural Kernels Without Tangents” [5] 3Колонка Kernel Ridge взята из результатов же статьи. Винниченко М.Ю. Ядерные методы 22/29
  23. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Задача3: Приближение аналитического ядра Построим огромную 4 нейросетевую модель, как конкатенацию маленьких моделей. Обучаем только последний слой (Linear). 4размер выхода последнего слоя достигает 800 тыс. значений. Винниченко М.Ю. Ядерные методы 23/29
  24. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Архитектуры моделей Рис.: Архитектура Myrtle5 Винниченко М.Ю. Ядерные методы 24/29
  25. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Архитектуры моделей Рис.: Архитектуры Myrtle7 и Myrtle10 соответственно Винниченко М.Ю. Ядерные методы 25/29
  26. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Результаты на подмножествах CIFAR-10 Точность классификации на подмножествах размера 1280 Ядро Оценка ядра Аналитическое ядро 5 Myrtle5 64.2 ± .3 61.9 ± .7 Myrtle7 65.3 ± .8 - Myrtle10 66.6 ± .8 64.4 ± .5 Таблица: Точность классификации (accuracy) на случайных подмножествах СIFAR-10, состоящих 1280 объектов. 5Колонка аналитическое ядро взята из статьи ”Neural Kernels Without Tangents”. [5] Винниченко М.Ю. Ядерные методы 26/29
  27. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Результаты на CIFAR-10 Точность классификации на СIFAR-10 Ядро Широкая сеть Оценка ядра Аналитическое ядро 6 Myrtle7 - 85.1 86.6 Myrtle10 ≤ 80. 7 86.1 87.5 Время - ≤ 9 ч ≈ 200 ч Таблица: Точность классификации (accuracy) на СIFAR-10. Замечание: сравниваемся на ядре, заданном relu, а не на гауссовском ядре. 6Колонка аналитическое ядро взята статьи ”Neural Kernels Without Tangents”. [5] 7https://twitter.com/Vaishaal/status/1248293486228459520 Винниченко М.Ю. Ядерные методы 27/29
  28. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Выводы Теория о нейросетевых гауссовских процессах из статьи Wide Neural Networks of Any Depth [3] применима на практике. Разработан метод машинного обучения с меньшей вычислительной сложностью. Приближение ядра превосходит аналитическое ядро на небольших обучающих выборках. Однако, приближение не даёт ту же точность на всём CIFAR-10 и нуждается в дальнейшей доработке. Винниченко М.Ю. Ядерные методы 28/29
  29. . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Список литературы I Jerome H Friedman. “Stochastic gradient boosting”. В: Computational statistics & data analysis 38.4 (2002), с. 367—378. Arthur Jacot, Franck Gabriel и Clément Hongler. “Neural tangent kernel: Convergence and generalization in neural networks”. В: Advances in neural information processing systems. 2018, с. 8571—8580. Jaehoon Lee и др. “Wide neural networks of any depth evolve as linear models under gradient descent”. В: Advances in neural information processing systems. 2019, с. 8570—8581. Craig Saunders, Alexander Gammerman и Volodya Vovk. “Ridge regression learning algorithm in dual variables”. В: (1998). Vaishaal Shankar и др. “Neural Kernels Without Tangents”. В: arXiv preprint arXiv:2003.02237 (2020). Винниченко М.Ю. Ядерные методы 29/29