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

เงื่อนไขความลึกและความกว้าง

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

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

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

การประมาณและความลึก · ศึกษาความผิดพลาดในการประมาณและขนาดเครือข่ายภายใต้เงื่อนไข

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

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

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

ใช้ในส่วนต้นฉบับเหล่านี้: 3.2 ส่วนตรงง่าย ๆ กับหลายชั้น

ทฤษฎีบทให้ขอบเขตล่างของความผิดพลาดการประมาณสม่ำเสมอที่ดีที่สุดเมื่อเครือข่าย ReLU มีขนาดเล็กเกินไปภายใต้เงื่อนไขความกว้างที่ระบุ

โค้ดคำนวณเกณฑ์ความกว้างนั้นสำหรับข้อมูลประกอบตัวอย่าง

สำหรับฟังก์ชันเรียบที่ไม่ใช่แอฟไฟน์บางชนิด ความลึกและขนาดที่จำกัดจำกัดความแม่นยำการประมาณ

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

inf⁡θ∈RP(N)∥Φa(⋅,θ)−g∥L∞([0,1]d)≥ε.\inf_{\theta\in{\mathbb{R}}^{P(N)}}\|\Phi_{{a}}(\cdot,\theta)-g\|_{L^{\infty}([0,1]^{d})}\geq{\varepsilon}.

ภาพประกอบ · โค้ดคำนวณเงื่อนไขขนาดที่ระบุด้วยค่าคงที่ประกอบตัวอย่าง ไม่ได้สร้างเครือข่ายหรือคำนวณความผิดพลาดการประมาณที่ดีที่สุด

สัญลักษณ์

gg
ฟังก์ชันที่ดิฟเฟอเรนเชียลต่อเนื่องสองครั้งและไม่ใช่แอฟไฟน์บน [0,1]ᵈ
LL
ความลึกเครือข่ายจำนวนเต็มอย่างน้อย 2
εε
ระดับความผิดพลาดบวกที่ต่ำกว่า 1

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

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

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

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

คุณเลือก

  • input.c = 1
  • input.epsilon = 0.25
  • input.depth = 2
  • input.neurons = 2

คำนวณที่นี่

นิพจน์ผลลัพธ์: { threshold, sizeCondition: neurons <= threshold, statedErrorLowerBound: epsilon, }

  • c = input.c ใช้: input.c
  • epsilon = input.epsilon ใช้: input.epsilon
  • depth = input.depth ใช้: input.depth
  • neurons = input.neurons ใช้: input.neurons
  • threshold = c * epsilon ** (-1 / (2 * (depth - 1))) ใช้: c, epsilon, depth

ส่งกลับ

ผลลัพธ์ตัวอย่าง
threshold
2
sizeCondition
จริง
statedErrorLowerBound
0.25

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

ผลลัพธ์

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

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

สำหรับมิติบวก d ความลึก L ≥ 2 และ g ที่ไม่ใช่แอฟไฟน์ใน C²([0,1]ᵈ) แต่ละค่า ต้นฉบับยืนยันว่ามี c บวก สำหรับทุก ε ใน (0,1) และสถาปัตยกรรม ReLU ผลลัพธ์สเกลาร์ L ชั้นที่จำนวนนิวรอนรวม ‖N‖₁ ไม่เกิน c ε^(−1/(2(L−1))) ความผิดพลาดการประมาณสม่ำเสมอที่ดีที่สุดอย่างน้อย ε ต้นฉบับไม่ให้ค่า c และตัวอย่างไม่ได้ยืนยันสมมติฐาน

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