2014 dxdy logo

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

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


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


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



Начать новую тему Ответить на тему На страницу 1, 2  След.
 
 Матричные производные
Сообщение13.01.2019, 15:15 
Аватара пользователя


17/10/13
790
Деревня
Пытаюсь взять производную у функции:
$$L = f \cdot y;  f = X \cdot W + b$$
Размерности матриц $X.shape=(1, m), W.shape=(m,10), b.shape=(1, 10), y.shape=(10, 1)$
Надо найти $\frac{\partial L}{\partial W}$
Чтобы найти, использую цепное правило:
$$\frac{\partial L}{\partial W} = \frac{\partial L}{\partial f}  \frac{\partial f}{\partial W} $$

Тогда берем производную, по формуле с википедии: $$ \frac{\partial L}{\partial f}  = y$$
И находим $$ \frac{\partial f}{\partial W} = X$$
И проблема в том, что размерность всей производной $\frac{\partial L}{\partial W} $ получается $(10, m)$. Хотя понятно, то размерность должна совпадать с размерностью $W$. Подскажите, в чем ошибка?

 Профиль  
                  
 
 Re: Матричные производные
Сообщение13.01.2019, 15:33 
Заслуженный участник
Аватара пользователя


31/01/14
11064
Hogtown
MestnyBomzh в сообщении #1368269 писал(а):
Хотя понятно, то размерность должна совпадать с размерностью $W$
Понятно, что вам непонятно. И скажите на милость, зачем брать производную линейной функции? И, кстати, поскольку аргумент матричный, то очень важен порядок сомножителей. Например, производная (а лучше говорить о дифференциале!) $X^2$ будет $d(X^2)= X(dX) + (dX)X$, а $dX^{-1}=-X^{-1}(dx)X^{-1}$ и никак не иначе

 Профиль  
                  
 
 Re: Матричные производные
Сообщение13.01.2019, 15:41 
Аватара пользователя


17/10/13
790
Деревня
Red_Herring в сообщении #1368272 писал(а):
зачем брать производную линейной функции?

Я реализую в нейронной сети функционал прокидывания градиентов через слои. Слои там линейные, отсюда и необходимость.
Red_Herring в сообщении #1368272 писал(а):
очень важен порядок сомножителей

То есть в моём случае будет так?
$$\frac{\partial L}{\partial W} = \frac{\partial (f \cdot y) }{\partial W} = \frac{\partial (XW+b) }{\partial W} y $$

 Профиль  
                  
 
 Re: Матричные производные
Сообщение13.01.2019, 15:48 
Заслуженный участник
Аватара пользователя


31/01/14
11064
Hogtown
MestnyBomzh Не надо писать производных, пишите дифференциалы. Потому что дифференциал это линейная функция аргумента $dW$, а производная это коэффициент. И для матричных функций совсем неясно из такой записи с пропущенным $dW$, где $dW$ должен стоять--справа, слева или вообще в середке.

 Профиль  
                  
 
 Re: Матричные производные
Сообщение13.01.2019, 16:12 
Аватара пользователя


17/10/13
790
Деревня
Red_Herring в сообщении #1368277 писал(а):
для матричных функций совсем неясно из такой записи с пропущенным $dW$, где $dW$ должен стоять--справа, слева или вообще в середке.

Согласен, я как раз тут и запутался.

Окей, тогда я использую формулу: $d(AXB) = A(dX)B$
И у меня получается вот так:
$$ d(L) = d(f \cdot y) = d(f) \cdot y = d (X \cdot W + b)y = X \cdot dW \cdot y $$
И теперь размерности не бьются, матрицу $X$ не получится умножить на $y$.

 Профиль  
                  
 
 Re: Матричные производные
Сообщение13.01.2019, 16:21 
Заслуженный участник
Аватара пользователя


31/01/14
11064
Hogtown
MestnyBomzh в сообщении #1368288 писал(а):
И теперь размерности не бьются, матрицу $X$ не получится умножить на $y$.
А с чего вдруг их надо умножать? Между ними всегда прослойка в виде $W$ или $dW$.

 Профиль  
                  
 
 Re: Матричные производные
Сообщение13.01.2019, 16:37 
Аватара пользователя


17/10/13
790
Деревня
Да, согласен. Но это мы нашли дифференциал $L$, а производная - это коэффициент перед дифференциалом. Но тут, когда дифференциал стоит между двух множителей как-то не особо понятно как привести к виду $K \cdot dW$

 Профиль  
                  
 
 Re: Матричные производные
Сообщение13.01.2019, 22:49 
Аватара пользователя


17/10/13
790
Деревня
MestnyBomzh в сообщении #1368301 писал(а):
Между ними всегда прослойка в виде $W$ или $dW$.

Интуитивно я понимаю, что её можно опустить, чтобы получить производную. Но как это обосновать строго?

 Профиль  
                  
 
 Re: Матричные производные
Сообщение13.01.2019, 22:53 
Заслуженный участник
Аватара пользователя


31/01/14
11064
Hogtown
MestnyBomzh в сообщении #1368432 писал(а):
Интуитивно я понимаю, что её можно опустить, чтобы получить производную.
Вот и неправильно понимаете. Матричной производной не существует. И дело не только в размерностях, а в том, что матрицы не коммутируют. Существуют только частные производные по отдельным элементам $W$.

 Профиль  
                  
 
 Re: Матричные производные
Сообщение13.01.2019, 22:58 
Аватара пользователя


17/10/13
790
Деревня
Red_Herring в сообщении #1368434 писал(а):
Существуют только частные производные по отдельным элементам $W$.

Да, понял. Просто обозначение $ \frac{\partial L}{\partial W}$ часто вводит в заблуждение, будто это производная по матрице.
Так а как дальше действовать, после того, как я нашёл дифференциал?

 Профиль  
                  
 
 Re: Матричные производные
Сообщение13.01.2019, 23:08 
Заслуженный участник
Аватара пользователя


31/01/14
11064
Hogtown
MestnyBomzh в сообщении #1368437 писал(а):
Так а как дальше действовать, после того, как я нашёл дифференциал?
Радоваться жизни. А в чем проблема?

 Профиль  
                  
 
 Re: Матричные производные
Сообщение13.01.2019, 23:13 
Аватара пользователя


17/10/13
790
Деревня
Red_Herring в сообщении #1368442 писал(а):
А в чем проблема?

Ну я же хотел найти подтверждение тому, что $ \frac{\partial L}{\partial W}$ действительно имеет размерность $(m, 10)$
Плюс мне нужно $ \frac{\partial L}{\partial W}$ для вычислений (шаг градиентного спуска)

 Профиль  
                  
 
 Re: Матричные производные
Сообщение14.01.2019, 00:26 
Заслуженный участник
Аватара пользователя


31/01/14
11064
Hogtown
MestnyBomzh в сообщении #1368444 писал(а):
Ну я же хотел найти подтверждение тому, что...
Ну он не существует.

Цитата:
Плюс мне нужно ... для вычислений (шаг градиентного спуска)
Так вам нужны частные производные по $W_{jk}$, а вовсе никакая не матричная производная (и при этом производные и первого, и второго порядков)

 Профиль  
                  
 
 Re: Матричные производные
Сообщение14.01.2019, 00:35 
Аватара пользователя


17/10/13
790
Деревня
Red_Herring в сообщении #1368476 писал(а):
производные по $W_{jk}$

Мне нужно сделать шаг градиентного спуска: $$ W_{i+1} = W_{i} - l \cdot    \frac{\partial L}{\partial W}$$ Где $ \frac{\partial L}{\partial W}$ - эта матрица частных производных. Так вот, мне и надо найти эту матрицу и убедиться, что она имеет нужную размерность
Не искать же мне её покомпонентно, по каждой компоненте $i$ и $k$

 Профиль  
                  
 
 Re: Матричные производные
Сообщение14.01.2019, 00:53 
Заслуженный участник
Аватара пользователя


31/01/14
11064
Hogtown
MestnyBomzh в сообщении #1368483 писал(а):
Не искать же мне её покомпонентно, по каждой компоненте
Именно покомпонентно. Но какую функцию вы минимизируете? Не линейную же по $W$?

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 22 ]  На страницу 1, 2  След.

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



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

Сейчас этот форум просматривают: dgwuqtj


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

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