คณิตศาสตร์สมัยใหม่ของการเรียนรู้เชิงลึกอธิบายสำหรับผู้ที่ไม่ใช่นักคณิตศาสตร์

นอร์มเกรเดียนต์หลังทำให้เป็นบรรทัดฐานแบบกลุ่ม

โครงการเรียนรู้เพนกวิน

โครงการใช้ข้อมูลเพนกวิน Palmer ที่สมบูรณ์ 342 แถว: ชุดฝึก 240 และชุดทดสอบ 102 แถว แถวฝึกที่เลือกกำหนดการปรับสเกลและพารามิเตอร์ CSV ต้นฉบับ

โครงการนี้ฝึกน้ำหนักด้วย softmax ต่างจากแล็บในหน้าแรกที่ใช้ค่าเฉลี่ยของสายพันธุ์ที่ใกล้ที่สุด ข้อมูลวัดเพนกวินชุดเดียวกัน แต่วิธีจำแนกต่างกัน คำทำนายอาจต่างกันได้

การปรับมาตรฐานชุดข้อมูล · อธิบายการปรับมาตรฐานชุดข้อมูลและอนุพันธ์

โครงการใช้กฎเชิงเส้นกับสองคุณลักษณะ น้ำหนักที่ฝึกให้คะแนนหรือมวลที่ปรับสเกล

พิจารณาแนวคิดนี้ร่วมกับโครงการ สมมติฐานของต้นฉบับอาจต่างกัน ข้อมูลชุดนี้ไม่พิสูจน์ทฤษฎีบท

ข้อมูลเข้า: 12 × 2; ประเมินชุดทดสอบ: 102 · #58 · 40.6 มม., 193 มม.. คำตอบที่ทราบ: อาเดลี; ค่าทำนาย: อาเดลี · [≈0.7383, ≈0.2444, ≈0.01737].

ใช้ในส่วนต้นฉบับเหล่านี้: 6.4 ปรับตัวเลขให้เทียบกันได้

สูตรเกรเดียนต์นำทิศทางค่าเฉลี่ยและทิศทางชุดที่ทำให้เป็นบรรทัดฐานออกจากเกรเดียนต์ขาเข้า

การดำเนินการเหล่านี้กำหนดชั้นโครงข่ายที่มีโครงสร้างและการวิเคราะห์ชั้นเหล่านั้น

ตัวอย่างสูตรต้นฉบับ

∥∇(r∘B(β,γ))(b)∥22=γ2σb2(∥∇r(b)∥2−1m⟨1,∇r(b)⟩2−1m⟨B(0,1)(b),∇r(b)⟩2),\|\nabla(r\circ\mathcal{B}^{(\beta,\gamma)})({b})\|_{2}^{2}=\frac{\gamma^{2}}{\sigma_{b}^{2}}\big(\left\|\nabla r({b})\right\|^{2}-\frac{1}{m}\langle\mathbf{1},\nabla r({b})\rangle^{2}-\frac{1}{m}\langle\mathcal{B}^{(0,1)}({b}),\nabla r({b})\rangle^{2}\big),

ภาพประกอบ · ข้อมูลจำกัดที่สร้างขึ้นแสดงนิพจน์นี้ ไม่ได้พิสูจน์เอกลักษณ์ ขอบเขต หรือการมีอยู่ทั่วไป

สัญลักษณ์

bb
เวกเตอร์ชุดจำนวนจริงความยาว m
σbσb
ส่วนเบี่ยงเบนมาตรฐานชุดบวก
γγ
มาตราส่วนจำนวนจริง
rr
ความสูญเสียสเกลาร์ที่หาอนุพันธ์ได้
B(0,1)B⁽⁰,¹⁾
ชุดที่ทำให้เป็นบรรทัดฐานโดยใช้ค่าเลื่อนศูนย์และมาตราส่วนหนึ่ง
11
เวกเตอร์หนึ่ง

ตัวอย่างสูตรต้นฉบับ

ตัวอย่างต้นฉบับนี้ใช้ข้อมูลเข้าและสมมติฐานของตัวเอง การแก้ไขไม่เปลี่ยนโครงการ

แก้ค่าหรือโค้ด แล้วกดรัน ตัวอย่างนี้เป็นการคำนวณจำนวนจำกัด ไม่ใช่การพิสูจน์ทฤษฎีบท

ลำดับข้อมูลในตัวอย่างนี้

คุณเลือก

  • input.gamma = 1

ค่าเริ่มต้นในโค้ด

  • g = [1, 0, 1]

คำนวณที่นี่

นิพจน์ผลลัพธ์: { gradient, squaredNorm, rightSide }

  • sigma = Math.sqrt(2 / 3)
  • z = [-1 / sigma, 0, 1 / sigma] ใช้: sigma
  • meanComponent = dot([1, 1, 1], g) / 3 ใช้: dot, g
  • normalizedComponent = dot(z, g) / 3 ใช้: dot, z, g
  • gradient = g.map( (v, i) => (input.gamma / sigma) * (v - meanComponent - normalizedComponent * z[i]), ) ใช้: g, input.gamma, sigma, meanComponent, normalizedComponent, z
  • squaredNorm = dot(gradient, gradient) ใช้: dot, gradient
  • rightSide = (input.gamma ** 2 / (sigma * sigma)) * (dot(g, g) - dot([1, 1, 1], g) ** 2 / 3 - dot(z, g) ** 2 / 3) ใช้: input.gamma, sigma, dot, g, z

ส่งกลับ

ผลลัพธ์ตัวอย่าง
gradient
อาร์เรย์ (3 รายการ): [≈0.4082, ≈-0.8165, ≈0.4082]
squaredNorm
1
rightSide
1

อ่านตัวเลขจาก input แล้วคืนค่าผลลัพธ์ พื้นฐาน JavaScript.

ผลลัพธ์

เปิด JavaScript เพื่อรันตัวอย่างนี้

ข้อความทางเทคนิค

ใช้ชุด [−1,0,1], r(z) = z₁+z₃ และ γ ตามที่แสดง เกรเดียนต์ของความสูญเสียเชิงเส้นนี้เป็น [1,0,1] ทุกแห่ง จึงเท่ากันที่ b และผลลัพธ์หลังทำให้เป็นบรรทัดฐาน โค้ดคำนวณเกรเดียนต์ตามกฎลูกโซ่ด้วยจาโคเบียนและทั้งสองด้านของเอกลักษณ์นอร์มกำลังสอง ข้อเสนอในต้นฉบับกำหนด m ≥ 2, β และ γ เป็นจำนวนจริง และ r หาอนุพันธ์ได้ สูตรต้องมี σb > 0 แม้ข้อความต้นฉบับที่แสดงระบุทุกชุด เพราะชุดคงที่ทำให้ตัวส่วนเป็นศูนย์ ต้นฉบับที่พิมพ์ใช้ ∇r(b) สำหรับ r ไม่เชิงเส้นทั่วไป กฎลูกโซ่ปกติประเมินเกรเดียนต์ขาเข้าที่ B(b) จึงอาจต้องชี้แจงอาร์กิวเมนต์ที่พิมพ์

แหล่งอ้างอิง: นิพจน์ในต้นฉบับ