นี่คือฟังก์ชัน f(x) = sin(x):

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

นี่เป็นตัวอย่างพื้นฐานของวิธีใช้โครงข่ายประสาทเทียม ในความเป็นจริง เราจะไม่ใช้ฟังก์ชันที่ซับซ้อนเช่นนี้เพียงเพื่อประมาณค่า sin(x) เท่านั้น

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

และเอาต์พุตเป็น 7

นี่เป็นปัญหา MNIST แบบคลาสสิก ซึ่งเป็นปัญหาที่ส่วนใหญ่แก้ไขได้ตั้งแต่การกำเนิดของโครงข่ายประสาทเทียมเชิงลึก

ประเด็นก็คือฟังก์ชันดังกล่าวไม่ใช่เรื่องง่ายที่จะตั้งโปรแกรมอย่างชัดเจน ตัวอย่างเช่น ฟังก์ชัน sin(x) สามารถคำนวณเป็นความยาวใดก็ได้โดยการขยาย Taylor ต่อไปนี้:

แต่คุณจะเขียนโปรแกรมเพื่อถ่ายภาพและส่งออกรูปภาพที่แสดงถึงตัวเลขใด? นี่คือปัญหาประเภทต่างๆ ที่โครงข่ายประสาทเทียมระดับลึกตั้งเป้าที่จะแก้ไข

ขั้นต่ำระดับโลก

ปัญหาที่เกิดขึ้นกับโครงข่ายประสาทเทียมคือปัญหา 'ขั้นต่ำทั่วโลก' นี่เป็นปัญหาที่มาพร้อมกับโครงข่ายประสาทเทียมที่ซับซ้อนมากขึ้นเรื่อยๆ เนื่องจากจำนวนตัวแปรที่อธิบายฟังก์ชันจะเพิ่มพื้นที่ของสมมติฐานที่เป็นไปได้ สมมุติฐาน พื้นที่ก็เพิ่มขนาดเช่นกัน แม้ว่าจะมีปัญหาง่ายๆ เช่น MNIST คุณก็ยังต้องมี Multilayer-Perceptron (MLP) ที่ค่อนข้างใหญ่เพื่อจำแนกตัวเลขที่เขียนด้วยลายมือได้ดี ส่งผลให้มีพื้นที่สมมติฐานมากขึ้น

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

หลายๆ คนสันนิษฐานว่าหากเราค้นหาค่าต่ำสุดทั่วโลกในพื้นที่สมมติฐาน เราก็พบการแมปที่เหมาะสมที่สุดที่อธิบายกระบวนการสร้างข้อมูลแล้ว ตัวอย่างเช่น หากเรามีค่าต่ำสุดทั่วโลกใน MLP ที่มีข้อผิดพลาดในการวางนัยทั่วไปเป็นศูนย์ในงานจำแนกตัวเลขที่เขียนด้วยลายมือ นี่จะแสดงการแมปที่มนุษย์มีสำหรับตัวเลขที่เขียนด้วยลายมือ (ซึ่งในกรณีนี้ คือการแจกแจงที่สร้างข้อมูล) ). มีปัญหาหลายประการกับมุมมองนี้

ลองใช้ตัวอย่างข้างต้นของการประมาณค่า sin(x) MLP ประมาณค่าได้ค่อนข้างดี แต่ฟังก์ชัน sin(x) เป็นฟังก์ชันที่ทำซ้ำอย่างไม่สิ้นสุด! ฟังก์ชันพื้นฐาน f: x -› sin(x) ไม่ได้อยู่ในปริภูมิสมมติฐานของ MLP ดังนั้นค่าต่ำสุดโดยรวมจึงไม่ใกล้เคียงกับการแทนฟังก์ชันการสร้างข้อมูลพื้นฐาน แน่นอนว่าเราจะไม่ฝึก MLP หากเราต้องการได้ฟังก์ชันที่เหมาะกับ sin(x) จริงๆ แต่นี่เป็นเพียงเพราะเราเข้าใจการโยงจาก x ถึง sin(x)

ปัญหา

เมื่อพยายามปรับฟังก์ชันที่ไม่ค่อยเข้าใจ เช่น การจัดประเภทตัวเลขที่เขียนด้วยลายมือ ปัญหาในการเลือกพื้นที่สมมติฐานที่เหมาะสมจะกลายเป็นปัญหาที่ใหญ่กว่ามาก การใช้ MLP หรือสถาปัตยกรรมแบบ Convolution บน MNIST คือการกล่าวอย่างตรงไปตรงมาโดยพลการ อย่าเข้าใจฉันผิด มันใช้งานได้และทำงานได้ดี อย่างไรก็ตาม ไม่น่าเป็นไปได้อย่างยิ่งที่สถาปัตยกรรมเหล่านี้จะสามารถแสดงให้เห็นว่ามนุษย์คิดอย่างไรกับปัญหาประเภทเดียวกันได้ และในความเป็นจริงแล้ว ฟังก์ชั่นนี้อาจง่ายกว่าที่เราคาดไว้มาก

สิ่งนี้ใช้ได้กับ MNIST ซึ่งเป็นที่ยอมรับว่าเป็นปัญหาธรรมดา ใช้แอปพลิเคชันที่ทันสมัย: การสร้างข้อความซึ่งโมเดล Transformer ครอบงำในทางปฏิบัติ ความก้าวหน้าล่าสุดใน Chat-GPT สะท้อนถึงความสามารถที่เพิ่มขึ้นของโมเดลเหล่านี้ และสิ่งที่ทำได้ก็น่าทึ่งมาก อย่างไรก็ตาม ไม่น่าเป็นไปได้ที่เมื่อได้รับมอบหมายให้คาดเดาคำถัดไปจากข้อความบางส่วน มนุษย์ต้องใช้พารามิเตอร์ในการคำนวณถึง 175 พันล้านพารามิเตอร์ เพื่อแสดงความน่าจะเป็นในภาษาอังกฤษทั้งหมด (มนุษย์มีเซลล์ประสาทประมาณ 86 พันล้านเซลล์)

บางที หากเราต้องการสร้างระบบที่ชาญฉลาดอย่างแท้จริง เราต้องเริ่มคิดแตกต่างออกไป เกี่ยวกับวิธีการค้นหาสมมติฐานของเรา