Похідне від поперечної втрати ентропії у word2vec


10

Я намагаюся пропрацювати свій шлях через перший набір проблем навчального матеріалу онлайн-класу cs224d в Інтернеті, і у мене виникають проблеми з проблемою 3A: При використанні пропуску грамової моделі word2vec з функцією прогнозування softmax і функцією перехресної ентропії втрати ми хочемо обчислити градієнти відносно прогнозованих векторів слів. Отже, враховуючи функцію softmax:

wi^=Pr(wordi∣r^,w)=exp⁡(wiTr^)∑j|V|exp(wjTr^)

та перехресна ентропійна функція:

CE(w,w^)=−∑kwklog(wk^)

нам потрібно обчислити ∂CE∂r^

Мої кроки такі:

CE(w,w^)=−∑k|V|wklog(exp⁡(wkTr^)∑j|V|exp(wjTr^))

=−∑k|V|wklog(exp⁡(wkTr^)−wklog(∑j|V|exp(wjTr^))

тепер даний wk - один гарячий вектор, і я - правильний клас:

CE(w,w^)=−wiTr^+log(∑j|V|exp(wjTr^))

∂CE∂r^=−wi+1∑j|V|exp(wjTr^)∑j|V|exp(wjTr^)wj

Це правильно чи це можна було би спростити далі? Я хочу спробувати переконатися, що я на вірному шляху, оскільки рішення задач не розміщуються в Інтернеті. Плюс правильність написання письмових завдань важлива для того, щоб вміти правильно виконувати завдання програмування.


Додайте до питання тег
— самонавчання

2-й знак мінусу в першому ідентифікуванні журналу повинен бути плюсом. Намагався це виправити, але редагування має бути принаймні 6 символів: \
— FatalMojo

Відповіді:


7

∂CE∂r^=−wi+1∑j|V|exp(wjTr^)∑j|V|exp(wjTr^)wj
можна переписати як зауважте, що обидві суми індексуються j, але це дійсно повинно бути 2 різних змінних. Це було б більш доречно що перекладається на
∂CE∂r^=−wi+∑j|V|(exp⁡(wj⊤r^)∑j|V|exp(wjTr^)⋅wj)
∂CE∂r^=−wi+∑x|V|(exp⁡(wx⊤r^)∑j|V|exp(wjTr^)⋅wx)
∂CE∂r^=−wi+∑x|V|Pr(wordx∣r^,w)⋅wx

1
Відповідно, він детально описує це виведення в лекції 2 @ 38:00
— FatalMojo

Чому суми слід індексувати різними змінними?
— Яманеко

1
Тільки, щоб уникнути плутанини. Математично це означає те саме, але корисною практикою змінювати мітку індексу, додаючи нову суму.
— FatalMojo
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.