การไล่ระดับสีไม่ทำงานตามที่คุณแนะนำ แต่อาจเกิดปัญหาคล้ายกัน
เราไม่คำนวณการสูญเสียเฉลี่ยจากแบทช์เราคำนวณการไล่ระดับสีเฉลี่ยของฟังก์ชันการสูญเสีย การไล่ระดับสีเป็นอนุพันธ์ของการสูญเสียที่เกี่ยวกับน้ำหนักและในเครือข่ายประสาทเทียมการไล่ระดับสีสำหรับน้ำหนักหนึ่งขึ้นอยู่กับอินพุตของตัวอย่างเฉพาะนั้นและมันยังขึ้นอยู่กับน้ำหนักอื่น ๆ อีกมากมายในแบบจำลอง
หากแบบจำลองของคุณมีน้ำหนัก 5 น้ำหนักและคุณมีขนาดเล็กเป็นกลุ่ม 2 คุณอาจได้รับสิ่งนี้:
การไล่ระดับสี= ( 1.5 , - 2.0 , 1.1 , 0.4 , - 0.9 )
การไล่ระดับสี= ( 1.2 , 2.3 , - 1.1 , - 0.8 , - 0.7 )
( 1.35 , 0.15 , 0 , - 0.2 , - 0.8 )
0
แก้ไขเพื่อตอบสนองต่อความคิดเห็น:
kLผมWJ
วิธีที่ฉันเขียนมันในตัวอย่างของฉันฉันเฉลี่ยแต่ละการไล่ระดับสีเช่น:∂L∂WJ= 1kΣki = 1∂Lผม∂WJ
รหัสบทช่วยสอนที่คุณเชื่อมโยงในความคิดเห็นใช้ Tensorflow เพื่อลดการสูญเสียโดยเฉลี่ย
Tensorflow ตั้งเป้าที่จะลด1kΣki = 1Lผม
เพื่อลดสิ่งนี้มันคำนวณการไล่ระดับสีของการสูญเสียเฉลี่ยที่เกี่ยวกับน้ำหนักแต่ละตัวและใช้การไล่ระดับสีเพื่อปรับปรุงน้ำหนัก:
∂L∂WJ= ∂∂WJ1kΣki = 1Lผม
ความแตกต่างสามารถนำมารวมกันได้ดังนั้นมันจึงเหมือนกับการแสดงออกจากแนวทางในตัวอย่างของฉัน
∂∂WJ1kΣki = 1Lผม= 1kΣki = 1∂Lผม∂WJ