Что такое градиенты и почему они взрываются?

Что такое градиенты и почему они покоряют мир моды?

Чтение этого поста позволит вам твердо понять самую важную концепцию в глубоком обучении

“Градиентный взрыв”, сделан с помощью MidJourney. Все изображения принадлежат автору, если не указано иное.

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

Кому это полезно? Начинающим и средним ученым в области данных. Я включу некоторые математические ссылки, которые могут быть полезны для более опытных читателей.

Что вы получите из этого поста? Глубокое понимание концепции градиентов, их связи с машинным обучением, проблем, возникающих из-за градиентов, а также подходов, используемых для их устранения.

Содержание

Перейдите по ссылкам для навигации по конкретным разделам

1) Что такое градиент?2) Фактические градиенты (математически)3) Градиенты в простой модели (пример)4) Что такое взрывающиеся и исчезающие градиенты?5) Почему взрывающиеся и исчезающие градиенты плохи?6) Как исправить взрывающиеся и исчезающие градиенты?

Что такое градиент?

содержание

Представьте себе поверхность с холмами и долинами. Эта поверхность определяется многомерной функцией (функцией с несколькими входными значениями).

"""Создание трехмерной поверхности с холмами и долинами, в иллюстративных целях"""import matplotlib.pyplot as plt from matplotlib import cmfrom matplotlib.ticker import LinearLocatorimport numpy as np#creating wide figurefig, ax = plt.subplots(subplot_kw={"projection": "3d"})# Make data.X = np.arange(-5, 5, 0.25)Y = np.arange(-5, 5, 0.25)X, Y = np.meshgrid(X, Y)R = np.sqrt(X**2 + Y**2)Z = 0.2*np.sin(X+Y + R) - 1*np.sin(X/2)# Plot the surface.surf = ax.plot_surface(X, Y, Z, cmap=cm.viridis,                       linewidth=0, antialiased=False)plt.show()

Градиент позволяет определить, для любой заданной точки на поверхности, какое направление приведет к более высокой точке на поверхности, а также насколько крута поверхность в этой точке.