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

ทำไมต้องมีหลายชั้น?

หนึ่งชั้นรวมเบาะแสง่าย ๆ ได้ แล้วชั้นที่สอง สาม หรือสิบจะช่วยสร้างกฎบางแบบโดยใช้เซลล์ประสาทน้อยกว่าชั้นเดียวที่กว้างมากได้ไหม?

เราจะวาดเส้นคล้ายหลังคาเต็นท์ แล้วใช้ผลลัพธ์เป็นข้อมูลเข้าของกฎเดิมอีกครั้ง ลองดูว่าการทำซ้ำไม่กี่ขั้นสร้างยอดเพิ่มขึ้นอย่างไร

3.1 กฎที่ขึ้นกับระยะทาง

การประมาณฟังก์ชันแนวรัศมี · หน้าในบทความ 29–31

ทำไมเครือข่ายจึงอาจต้องมีหลายชั้น ลองนึกถึงโคมไฟกลางสวนวงกลม แสงที่ดอกไม้ได้รับขึ้นอยู่กับระยะจากโคมเท่านั้น ไม่ได้ขึ้นอยู่กับว่าอยู่ทางซ้ายหรือขวา

พิจารณากฎสมมติที่คืนระยะจากจุดกำเนิด จุด (3, 4) และ (0, 5) อยู่ที่รัศมีเท่ากัน

จุดสองจุดอยู่ห่างจากจุดกำเนิดเท่ากัน แม้ตำแหน่งจะแตกต่างกัน

นิยาม / กฎในบทความ

f(x)=∥x∥2=x12+x22f(x)=\|x\|_2=\sqrt{x_1^2+x_2^2}
f(3,4)=9+16=5,f(0,5)=5f(3,4)=\sqrt{9+16}=5,\quad f(0,5)=5
function distances(firstPoint, secondPoint) {
  const first = Math.sqrt(firstPoint[0] ** 2 + firstPoint[1] ** 2);
  const second = Math.sqrt(secondPoint[0] ** 2 + secondPoint[1] ** 2);
  return { first, second };
}
const result = distances([3, 4], [0, 5]);

เลือกการเปลี่ยนแปลง ทำนาย แล้วกดรัน

ผลลัพธ์:
เปิด JavaScript เพื่อรันตัวอย่างนี้

ศึกษาเพิ่มเติมในคลังแนวคิด หน้าในบทความ 29

โคมไฟกับดอกไม้

ตัวอย่างสมมติ

สำรวจ

หาตำแหน่งอื่นที่ได้แสงเท่าตำแหน่ง 2

แตะภาพหรือใช้ปุ่ม

โคมไฟสวนระยะ 3 · แสง 2
ตำแหน่งดอกไม้

ตำแหน่ง: 2; ระยะ: 3; ความสว่าง: 2

สำหรับจุด (3, 4) ยกกำลังสองแล้วบวก: 3×3 + 4×4 = 25 เพราะ 5×5 = 25 รากที่สองจึงเป็น 5 ซึ่งคือระยะจาก (0, 0) กิจกรรมหลอดไฟใช้จุดศูนย์กลางอีกแบบที่ตำแหน่ง 5 ดอกไม้ที่ 3 และ 7 อยู่ห่างเท่ากัน 2 หน่วย จึงได้รับแสงเท่ากัน

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

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

3.2 ส่วนตรงง่าย ๆ กับหลายชั้น

โครงข่ายเรลูเชิงลึก · หน้าในบทความ 31–32

ReLU ใช้เพียงส่วนเส้นตรง: คงค่าบวกไว้และตัดค่าลบเป็นศูนย์ การรวมพจน์ ReLU หลายพจน์ทำให้เส้นขึ้น เปลี่ยนทิศ แล้วลงได้เหมือนเต็นท์เล็ก ๆ

รวม ReLU สองพจน์ในฟังก์ชันรูปหมวกของบทความ ซึ่งกำหนดสำหรับข้อมูลเข้าตั้งแต่ 0 ถึง 1 ลองใช้ 0, 0.5 และ 1

ส่วนของเส้นตรงต่อกันเป็นรูปหลังคาเต็นท์ การประกอบกฎลักษณะนี้ซ้ำทำให้มีช่วงเส้นตรงเพิ่มขึ้นได้

สูตรจากบทความ

h(x)=2ϱR(x)−4ϱR(x−12),x∈[0,1]h(x)=2\varrho_R(x)-4\varrho_R(x-\tfrac12),\quad x\in[0,1]
h(0)=0,h(0.5)=1,h(1)=0h(0)=0,\quad h(0.5)=1,\quad h(1)=0
function tent(value) {
  return 2 * Math.max(0, value) - 4 * Math.max(0, value - 0.5);
}
function tentExamples(value, inputs) {
  const examples = [];
  for (const input of inputs) examples.push(tent(input));
  return { output: tent(value), examples };
}
const result = tentExamples(0.5, [0, 0.5, 1]);

เลือกการเปลี่ยนแปลง ทำนาย แล้วกดรัน

ผลลัพธ์:
เปิด JavaScript เพื่อรันตัวอย่างนี้

ศึกษาเพิ่มเติมในคลังแนวคิด หน้าในบทความ 31

กฎของโคมไฟ

ตัวอย่างสมมติ

สำรวจ

หาตำแหน่งที่สว่างที่สุดจาก 0 ถึง 4

แตะภาพหรือใช้ปุ่ม

โคมไฟตั้งโต๊ะความสว่าง 1กฎความสว่างตัวเลื่อน 1
ตำแหน่งโคม

ตำแหน่ง: 1; ความสว่าง: 1

ลอง x = 0.25 ส่วนแรกให้ 2×0.25 = 0.5 ส่วนที่สองรับ 0.25 − 0.5 = −0.25 ดังนั้น ReLU เปลี่ยนเป็น 0 จึงได้ h(0.25) = 0.5 เมื่อ x = 0.75 ทั้งสองส่วนให้ 1.5 และ 4×0.25 = 1 จึงได้ h(0.75) = 0.5 เช่นกัน นำ 0.5 กลับเข้าไป จะได้ h(0.5) = 1 การใช้กฎซ้ำอาจเพิ่มจำนวนยอดเป็นสองเท่า

ภาพหลอดไฟแสดงการขึ้นและลงคล้ายกันในขนาดที่ต่างกัน คือจาก 0 ถึง 4 โดยมียอดที่ 2 ส่วนเต็นท์ในบทความอยู่ระหว่าง 0 ถึง 1 และมียอดที่ 0.5 ในกิจกรรมถัดไปจะนำผลของเต็นท์ช่วง 0 ถึง 1 ผ่านกฎเดิมอีกครั้ง

ประสิทธิภาพนี้ช่วยให้เครือข่ายลึกบางชนิดประมาณฟังก์ชันโค้ง รวมถึงการคูณ โดยประกอบส่วนเส้นตรงสั้น ๆ จำนวนมากเข้าด้วยกัน นี่เป็นข้อความเกี่ยวกับการแทนฟังก์ชัน ไม่ได้หมายถึงการหาน้ำหนักระหว่างฝึกโดยอัตโนมัติ

3.3 วิธีอื่นในการวัดความสามารถในการแทนฟังก์ชัน

แนวคิดอื่นเกี่ยวกับความสามารถในการแทนฟังก์ชัน · หน้าในบทความ 32–34

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

เดินจาก 0 ไป 3 แล้วกลับมาที่ 1 คือเดินไปข้างหน้าสามก้าวและกลับสองก้าว บวกระยะทั้งสองเพื่อวัดเส้นทางทั้งหมด ไม่ใช่แค่ระยะระหว่างจุดเริ่มกับจุดสิ้นสุด

เส้นทางยาว 5 หน่วย ทั้งที่จุดต้นและจุดปลายห่างกันเพียง 1 หน่วย

นิยาม / กฎในบทความ

ℓ=∑i∣xi+1−xi∣\ell=\sum_i |x_{i+1}-x_i|
ℓ=∣3−0∣+∣1−3∣=5,∣1−0∣=1\ell=|3-0|+|1-3|=5,\quad |1-0|=1
function journey(middle, end) {
  const length = Math.abs(middle) + Math.abs(end - middle);
  return { length, netChange: end };
}
const result = journey(3, 1);

เลือกการเปลี่ยนแปลง ทำนาย แล้วกดรัน

ผลลัพธ์:
เปิด JavaScript เพื่อรันตัวอย่างนี้

ศึกษาเพิ่มเติมในคลังแนวคิด หน้าในบทความ 33

พับเส้นทาง

ตัวอย่างสมมติ

สำรวจ

ประกอบการพับให้ได้ 8 ชิ้นตรง

แตะภาพหรือใช้ปุ่ม

รูปด้านข้างกระดาษพับส่วนเส้นตรง 2 ส่วน←→
จำนวนครั้งที่พับ
1

จำนวนขั้น: 1; จำนวนชิ้น: 2

เต็นท์หนึ่งอันมีส่วนเส้นตรงสองส่วน เมื่อนำผลลัพธ์ผ่านกฎเต็นท์อีกครั้งจะได้สี่ส่วน และอีกครั้งจะได้แปดส่วน หลังทำซ้ำ k ครั้ง กฎที่สร้างนี้มี 2^k ส่วน ตัวเลขนี้ไม่ได้บอกจำนวนทุกฟังก์ชันที่เครือข่าย k ชั้นสร้างได้

นิวรอน ReLU แต่ละตัวเปลี่ยนพฤติกรรมเมื่อข้อมูลเข้าที่ถ่วงน้ำหนักข้ามศูนย์ การซ้อนชั้นสามารถแบ่งและพับปริภูมิเป็นหลายบริเวณที่เครือข่ายใช้กฎเส้นตรงต่างกัน

บทความยังศึกษาว่าเส้นโค้งที่วาดในปริภูมิข้อมูลเข้าสามารถยืดออกอย่างไรเมื่อผ่านชั้นสุ่ม ผลเช่นนี้ต้องมีสมมติฐานเฉพาะเกี่ยวกับการกำหนดค่าเริ่มต้น การเห็นเส้นโค้งซับซ้อนในภาพเพียงอย่างเดียวไม่ใช่ทฤษฎีบท

ความลึกช่วยให้โครงข่ายแทนฟังก์ชันบางชนิดได้อย่างมีประสิทธิภาพขึ้นด้วยการนำการคำนวณย่อยมาใช้ซ้ำ แต่ไม่ได้รับประกันว่าทำนายแม่นหรือฝึกได้ง่าย ต่อไปเราจะถามว่าเกิดอะไรขึ้นเมื่อข้อมูลเข้ามีพิกัดนับร้อย

ลองแบบทดสอบท้ายบท

1. ความลึกของโครงข่ายคืออะไร?

2. เรลูให้ผลลัพธ์เท่าไรเมื่อข้อมูลเข้าติดลบ?

3. เครื่องวาดรูปวาดบางรูปได้แต่บางรูปไม่ได้ สิ่งนี้บอกอะไร?

คำอธิบายเพื่อการศึกษาอย่างอิสระจาก คณิตศาสตร์สมัยใหม่ของการเรียนรู้เชิงลึก — จูเลียส แบร์เนอร์, ฟิลิปป์ โกรส์, กิตตา คูทินิออค, ฟิลิปป์ ปีเตอร์เซน. ตัวอย่างใช้ตัวเลขสมมติ เว้นแต่จะระบุแหล่งข้อมูลที่วัดจริง