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


10

ฉันกำลังพยายามหาทางแก้ไขปัญหาชุดแรกของเนื้อหาหลักสูตรออนไลน์ของ cs224d stanford และฉันมีปัญหาบางอย่างเกี่ยวกับปัญหา 3A: เมื่อใช้แบบจำลองข้าม word2vec กับฟังก์ชั่นการทำนายแบบ softmax และฟังก์ชั่นการสูญเสียเอนโทรปี ต้องการคำนวณการไล่ระดับสีเทียบกับเวกเตอร์คำที่คาดคะเน เมื่อได้รับฟังก์ชั่น softmax:

wi^=Pr(wordir^,w)=exp(wiTr^)j|V|exp(wjTr^)

และฟังก์ชั่นข้ามเอนโทรปี:

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

เราจำเป็นต้องคำนวณCEr^

ขั้นตอนของฉันมีดังนี้:

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^))

CEr^=wi+1j|V|exp(wjTr^)j|V|exp(wjTr^)wj

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


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

เครื่องหมายลบที่สองในตัวตนบันทึกแรกควรเป็นเครื่องหมายบวก พยายามแก้ไขให้คุณ แต่การแก้ไขจะต้องมีอย่างน้อย 6 ตัวอักษร: \
FatalMojo

คำตอบ:


7

CEr^=wi+1j|V|exp(wjTr^)j|V|exp(wjTr^)wj
สามารถเขียนใหม่เป็น หมายเหตุผลรวมจะถูกจัดทำดัชนีโดย j แต่ควรเป็น 2 ตัวแปรที่แตกต่างกัน สิ่งนี้จะเหมาะสมกว่า ซึ่งแปลเป็น
CEr^=wi+j|V|(exp(wjr^)j|V|exp(wjTr^)wj)
CEr^=wi+x|V|(exp(wxr^)j|V|exp(wjTr^)wx)
CEr^=wi+x|V|Pr(wordxr^,w)wx

1
มีความเกี่ยวข้องเขาจะอธิบายรายละเอียดในบทบรรยายที่ 2 @ 38:00
FatalMojo

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

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