2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


Посмотреть правила форума



Начать новую тему Ответить на тему
 
 Выражения с градиентами
Сообщение06.07.2019, 07:28 


15/11/14
115
Пусть $g$ - некоторое число, $\bold{v}$ - вектор и $\bold{w} = \dfrac{g}{||\bold{w}||}\bold{v}$.
В данной статье на третьей странице пишут о функции ошибок $L$, указанная без аругментов.
Вопрос следующий. Как вообще получаются такие формулы для градиентов?
$$\nabla_g L = \dfrac{\nabla_{\bold{w}} L \cdot \bold{v}}{||\bold{v}||}$$
$$\nabla_{\bold{v}} L = \dfrac{g}{||\bold{v}||} \nabla_{\bold{w}} L - \dfrac{g\nabla_{g} L}{||\bold{v}||^2} \bold{v}$$


Я впервые с таким встречаюсь, так что я запутался. Из контекста статьи вроде понятно, что $L$ - это функция от весов, то есть $L = L(\bold{w})$ и здесь, как я понимаю, используют аналог цепного правила дифференцирования, но только для градиентов. Дальше я в тупике, как это правило выглядит для градиентов? Как "дописать" аргументы $g$ и $\bold{v}$ в эту функцию $L$?

 Профиль  
                  
 
 Re: Выражения с градиентами
Сообщение06.07.2019, 09:28 
Заслуженный участник
Аватара пользователя


30/01/06
72407
$\nabla_g$ и $\nabla_{\mathbf{w}}$ - это, извините, не градиенты. А что-то, выдуманное авторами статьи. Причём они не объясняют, что.

 Профиль  
                  
 
 Re: Выражения с градиентами
Сообщение06.07.2019, 10:03 
Заслуженный участник
Аватара пользователя


22/01/11
2641
СПб
lantza в сообщении #1403527 писал(а):
Пусть $g$ - некоторое число, $\bold{v}$ - вектор и $\bold{w} = \dfrac{g}{||\bold{w}||}\bold{v}$.
Попытка расшифровки.
Мы искусственным образом представляем функцию вектора $L(\mathbf{w})$ как функцию вектора и скаляра $$L(g,\mathbf{v})=L\left(g\frac{\mathbf{v}}{\|\mathbf{v}\|}\right)$$
Далее, как справедливо отметил Munin, авторы рассматривают некие "объекты": $\nabla_g$ -- производная по скалярному аргументу и $$\nabla_\mathbf{w}L(\mathbf{w}_0)=\frac{\mathbf{w}}{\|\mathbf{w}\|}\left.\frac{d}{dt}\right|_{t=0}L\left(\mathbf{w}_0+t\mathbf{w}\right)$$
При таких определениях равенства, кажется, выполнены.

 Профиль  
                  
 
 Re: Выражения с градиентами
Сообщение06.07.2019, 19:47 


15/11/14
115
В одной книжке по глубокому обучению, которая ссылает на ту статью, я увидел следующие обозначения, что, если $\mathbf{f}, \mathbf{g}$ - векторные функции, причем $\mathbf{f} = f(g_1(\mathbf{x}), \dots, g_k(\mathbf{x}))$, то $$\nabla_{\mathbf{x}}f = \nabla_{\mathbf{x}}\mathbf{g} \cdot\nabla_{\mathbf{g}}f$$
Здесь $\nabla_{\mathbf{x}}\mathbf{g} = \begin{pmatrix}
\dfrac{\partial g_1}{\partial x_1} & \cdots & \dfrac{\partial g_k}{\partial x_1} \\
\vdots & \ & \vdots \\
\dfrac{\partial g_1}{\partial x_n} & \cdots & \dfrac{\partial g_k}{\partial x_n} 
\end{pmatrix}
\qquad$ - матрица Якоби, а $\nabla_{\mathbf{x}}\mathbf{f} = (\dfrac{\partial f}{\partial x_1}, \cdots, \dfrac{\partial f}{\partial x_k})^T$, $\nabla_{\mathbf{g}}\mathbf{f} = (\dfrac{\partial f}{\partial g_1}, \cdots, \dfrac{\partial f}{\partial g_k})^T$ - градиенты в обычном смысле.

Может, и авторы статьи используют примерно похожие обозначения? (Книга, если что, - С. Николенко, А. Кадурин, Е. Архангельская - Глубокое обучение. (2018), страницы 77-78. Сама статья упоминяется на страницах 162-163, где выписаны такие же градиенты).

-- 06.07.2019, 19:47 --

alcoholist в сообщении #1403533 писал(а):
$$\nabla_\mathbf{w}L(\mathbf{w}_0)=\frac{\mathbf{w}}{\|\mathbf{w}\|}\left.\frac{d}{dt}\right|_{t=0}L\left(\mathbf{w}_0+t\mathbf{w}\right)$$

А что это такое? "Производная" по направлению?

 Профиль  
                  
 
 Re: Выражения с градиентами
Сообщение06.07.2019, 20:09 
Заслуженный участник
Аватара пользователя


22/01/11
2641
СПб
lantza в сообщении #1403609 писал(а):
А что это такое?

В некотором смысле. Кстати, может быть, делить на норму и не надо. Проверьте!

 Профиль  
                  
 
 Re: Выражения с градиентами
Сообщение06.07.2019, 20:44 
Заслуженный участник


11/05/08
32166
lantza в сообщении #1403609 писал(а):
если $\mathbf{f}, \mathbf{g}$ - векторные функции, причем $\mathbf{f} = f(g_1(\mathbf{x}), \dots, g_k(\mathbf{x}))$, то $$\nabla_{\mathbf{x}}f = \nabla_{\mathbf{x}}\mathbf{g} \cdot\nabla_{\mathbf{g}}f$$
Здесь $\nabla_{\mathbf{x}}\mathbf{g} = \begin{pmatrix}
\dfrac{\partial g_1}{\partial x_1} & \cdots & \dfrac{\partial g_k}{\partial x_1} \\
\vdots & \ & \vdots \\
\dfrac{\partial g_1}{\partial x_n} & \cdots & \dfrac{\partial g_k}{\partial x_n}
\end{pmatrix}
\qquad$ - матрица Якоби, а $\nabla_{\mathbf{x}}\mathbf{f} = (\dfrac{\partial f}{\partial x_1}, \cdots, \dfrac{\partial f}{\partial x_k})^T$, $\nabla_{\mathbf{g}}\mathbf{f} = (\dfrac{\partial f}{\partial g_1}, \cdots, \dfrac{\partial f}{\partial g_k})^T$ - градиенты в обычном смысле.

Это какая-то чушь. Во-первых, вектор $\mathbf{f}$ никак не может быть скаляром $f$. Во-вторых, если это всё же скаляр, то значок транспонирования при его дифференцировании явно неуместен. В-третьих, дифференцирование по внешнему аргументу должно стоять первым сомножителем, а не вторым (впрочем, по двум последним пунктам не исключено, что авторы придерживаются иногда встречающегося извращения, согласно которому оператор следует ставить после того, на что он действует). Наконец, обзывать наблой любую операцию дифференцирования -- признак крайне дурного тона. (Собственно, это ещё не конец, но и этого довольно.)

Частично оправдывает авторов применение слова "глубокое". Если такое слово присутствует в названии (наряду с синонимами: "продвинутое", "сенсационное" и т.д., говоря обобщённо -- невменяемое), то это достаточно точная самохарактеристика.

 Профиль  
                  
 
 Re: Выражения с градиентами
Сообщение06.07.2019, 21:01 


15/11/14
115
ewert в сообщении #1403613 писал(а):
Во-первых, вектор $\mathbf{f}$ никак не может быть скаляром $f$.

Извините, допустил опечатку: там везде должна стоять векторная функция $\mathbf{f}$.

 Профиль  
                  
 
 Re: Выражения с градиентами
Сообщение06.07.2019, 21:29 
Заслуженный участник


11/05/08
32166
lantza в сообщении #1403617 писал(а):
Извините, допустил опечатку: там везде должна стоять векторная функция $\mathbf{f}$.

Не извиню, т.к. в следующей строчке не могло иметься в виду ничего иного, кроме скаляра.

"Да дело даже не в гусях; а -- всё неладно..." (с)

 Профиль  
                  
 
 Re: Выражения с градиентами
Сообщение06.07.2019, 22:27 
Заслуженный участник


27/04/09
28128
Видимо, лучше было бы сформулировать ту штуку как $d(\mathbf f\circ\mathbf g) = (d\mathbf f\circ\mathbf g)d\mathbf g$, где умножение на самом деле произведение операторов (или матриц) — обычное chain rule, просто для функций из степени $\mathbb R$ в степень $\mathbb R$ (или между банаховыми пространствами). В виде матриц Якоби можно аналогично записать: $\frac{\partial(f_1,\ldots)}{\partial(h_1,\ldots)} = \frac{\partial(f_1,\ldots)}{\partial(g_1,\ldots)} \frac{\partial(g_1,\ldots)}{\partial(h_1,\ldots)}$. Это довольно банальная деталь дифференциального исчисления многих переменных, но её конечно же можно написать множеством странных и непонятных половине форума видов, и может даже действительно неправильных, а может надо просто цитировать авторов до конца и всё окажется корректным.

-- Вс июл 07, 2019 00:46:43 --

То есть про матрицы Якоби, конечно, уже было сказано, но понятно, что если $\mathbf f$ вектор-функция многих аргументов, никакого градиента не будет, $d\mathbf f$ будет оператором, а не ковектором. И можно сколько угодно брать переменных, хоть одну, хоть не одну, и размерность обитания результатов также, у обоих $\mathbf f,\mathbf g$ (лишь бы оставались композируемыми) — общий случай прекрасно всё выдерживает.

 Профиль  
                  
 
 Re: Выражения с градиентами
Сообщение10.07.2019, 21:13 
Заслуженный участник


02/08/11
6874

(Оффтоп)

ewert в сообщении #1403613 писал(а):
Частично оправдывает авторов применение слова "глубокое". Если такое слово присутствует в названии (наряду с синонимами: "продвинутое", "сенсационное" и т.д., говоря обобщённо -- невменяемое), то это достаточно точная самохарактеристика.
"Глубокое обучение" - это, как бы, неразрывный общеупотребляемый термин, deep learning.

 Профиль  
                  
 
 Re: Выражения с градиентами
Сообщение10.07.2019, 21:31 
Заслуженный участник


11/05/08
32166

(Оффтоп)

warlock66613 в сообщении #1404415 писал(а):
"Глубокое обучение" - это, как бы, неразрывный общеупотребляемый термин, deep learning.

Что не делает его менее бессмысленным. Скажем, понятие "непрерывного обучения" -- потенциально осмысленно (хотя смысл его пока что и невнятен). "Глубокое" же -- ни разу.

Вообще много последнее время появилось бессмысленных звукосочетаний. Последний год все принялись вдруг повально музицировать (раньше это, может, и было, но как-то не на слуху; во всяком случае, не так беспардонно). Там губернаторы музицируют с жителями -- кто удачно, а кто нет. Начальство вообще сплошь музицирует с подчинёнными. Разные общественные струпья музицируют друг с дружкой. И т.д.

 Профиль  
                  
 
 Re: Выражения с градиентами
Сообщение11.07.2019, 17:39 
Заслуженный участник
Аватара пользователя


15/10/08
11536

(Оффтоп)

ewert в сообщении #1404416 писал(а):
Последний год все принялись вдруг повально музицировать
Вероятно все стальные способы достучаться до подкорки электората полностью исчерпаны. Ну, хоть там-тамы еще действуют...

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 12 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group