การแพร่ย้อนกลับผ่านสองชั้น
โครงการเรียนรู้เพนกวิน
โครงการใช้ข้อมูลเพนกวิน Palmer ที่สมบูรณ์ 342 แถว: ชุดฝึก 240 และชุดทดสอบ 102 แถว แถวฝึกที่เลือกกำหนดการปรับสเกลและพารามิเตอร์ CSV ต้นฉบับ
โครงการนี้ฝึกน้ำหนักด้วย softmax ต่างจากแล็บในหน้าแรกที่ใช้ค่าเฉลี่ยของสายพันธุ์ที่ใกล้ที่สุด ข้อมูลวัดเพนกวินชุดเดียวกัน แต่วิธีจำแนกต่างกัน คำทำนายอาจต่างกันได้
ฟังก์ชันและอนุพันธ์ · อธิบายการจับคู่และการเปลี่ยนแปลงของผลลัพธ์
เวกเตอร์โครงการมีสองคุณลักษณะ เมทริกซ์ฝึกมี n แถวและสองคอลัมน์ ใช้เครื่องมือเมื่อสมมติฐานตรงกัน
พิจารณาแนวคิดนี้ร่วมกับโครงการ สมมติฐานของต้นฉบับอาจต่างกัน ข้อมูลชุดนี้ไม่พิสูจน์ทฤษฎีบท
ข้อมูลเข้า: 12 × 2; ประเมินชุดทดสอบ: 102 · #58 · 40.6 มม., 193 มม.. คำตอบที่ทราบ: อาเดลี; ค่าทำนาย: อาเดลี · [≈0.7383, ≈0.2444, ≈0.01737].
ใช้ในส่วนต้นฉบับเหล่านี้: 2.3 เส้นทางการฝึกมีผล
กฎลูกโซ่คูณการตอบสนองของแต่ละขั้นต่อการเปลี่ยนเล็กน้อย ในตัวอย่างสเกลาร์ตัวประกอบเหล่านี้เป็นจำนวนธรรมดา
ให้ Φ(x)=v·ReLU(ux) เมื่อห่างจาก ux=0 อนุพันธ์เทียบกับ u คือ v·ReLU′(ux)·x
การแพร่ย้อนกลับคำนวณว่าพารามิเตอร์ส่งผลต่อผลลัพธ์อย่างไร
ตัวอย่างสูตรต้นฉบับ
ภาพประกอบ · การคำนวณสเกลาร์นี้อยู่ห่างจากจุดเปลี่ยน ReLU และไม่ได้คำนวณเกรเดียนต์เมทริกซ์เต็มของเครือข่ายทั่วไป
สัญลักษณ์
- เมทริกซ์น้ำหนักของชั้น ℓ
- อนุพันธ์ฟังก์ชันกระตุ้น ณ จุดที่นิยามได้
ตัวอย่างสูตรต้นฉบับ
ตัวอย่างต้นฉบับนี้ใช้ข้อมูลเข้าและสมมติฐานของตัวเอง การแก้ไขไม่เปลี่ยนโครงการ
แก้ค่าหรือโค้ด แล้วกดรัน ตัวอย่างนี้เป็นการคำนวณจำนวนจำกัด ไม่ใช่การพิสูจน์ทฤษฎีบท
ลำดับข้อมูลในตัวอย่างนี้
โค้ดเปลี่ยนแล้ว กดรีเซ็ตเพื่อคืนลำดับข้อมูลของตัวอย่าง
คุณเลือก
input.u= 2input.x= 1input.v= 3
คำนวณที่นี่
นิพจน์ผลลัพธ์: {
preactivation,
activation,
activationDerivative,
output,
gradientU,
gradientMatrix: [[gradientU]],
gradientShape: [1, 1],
}
preactivation=input.u * input.xใช้:input.u,input.xactivation=Math.max(0, preactivation)ใช้:preactivationactivationDerivative=preactivation > 0 ? 1 : 0ใช้:preactivationoutput=input.v * activationใช้:input.v,activationgradientU=input.x * input.v * activationDerivativeใช้:input.x,input.v,activationDerivative
ส่งกลับ
preactivation- 2
activation- 2
activationDerivative- 1
output- 6
gradientU- 3
gradientMatrix- อาร์เรย์ (1 รายการ): [อาร์เรย์ (1 รายการ): [3]]
gradientShape- อาร์เรย์ (2 รายการ): [1, 1]
อ่านตัวเลขจาก input แล้วคืนค่าผลลัพธ์ พื้นฐาน JavaScript.
ผลลัพธ์
ข้อความทางเทคนิค
ต้นฉบับใช้กฎลูกโซ่กับเครือข่ายไม่มีไบแอสที่ให้ผลสเกลาร์ โดยแสดงเกรเดียนต์รูปทรง N_(ℓ−1) คูณ N_ℓ ตัวอย่างมีข้อมูลเข้าสเกลาร์หนึ่งค่าและหน่วยซ่อนหนึ่งหน่วย เกรเดียนต์ที่แสดงจึงมีรูปทรง 1 คูณ 1 ReLU ไม่มีอนุพันธ์เอกลักษณ์ที่ศูนย์และโค้ดปฏิเสธกรณีนั้น
แหล่งอ้างอิง: นิพจน์จากแหล่งต้นฉบับ