อนุพันธ์ของการสูญเสียเอนโทรปีใน word2vec


10

ฉันกำลังพยายามหาทางแก้ไขปัญหาชุดแรกของเนื้อหาหลักสูตรออนไลน์ของ cs224d stanford และฉันมีปัญหาบางอย่างเกี่ยวกับปัญหา 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

สิ่งนี้ถูกต้องหรือไม่ ฉันต้องการลองให้แน่ใจว่าฉันอยู่ในเส้นทางที่ถูกต้องเนื่องจากแนวทางแก้ไขปัญหาไม่ได้โพสต์ออนไลน์ รวมถึงการได้รับมอบหมายงานเขียนที่ถูกต้องมีความสำคัญต่อความสามารถในการทำงานการเขียนโปรแกรมได้อย่างถูกต้อง


โปรดเพิ่มแท็กการเรียนรู้ด้วยตนเองในคำถาม
— Dawny33

เครื่องหมายลบที่สองในตัวตนบันทึกแรกควรเป็นเครื่องหมายบวก พยายามแก้ไขให้คุณ แต่การแก้ไขจะต้องมีอย่างน้อย 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

เหตุใดจึงต้องจัดทำดัชนีผลรวมด้วยตัวแปรต่าง ๆ
— Yamaneko

1
เพียงเพื่อหลีกเลี่ยงความสับสน ในทางคณิตศาสตร์มันหมายถึงสิ่งเดียวกัน แต่เป็นการดีที่จะเปลี่ยนป้ายชื่อดัชนีเมื่อเพิ่มผลรวมใหม่
— FatalMojo
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.