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
11065
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
11065
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
11065
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
11065
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
11065
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
11065
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
11065
Hogtown
MestnyBomzh в сообщении #1368483 писал(а):
Не искать же мне её покомпонентно, по каждой компоненте
Именно покомпонентно. Но какую функцию вы минимизируете? Не линейную же по $W$?

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

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



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

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


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

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