- หนังสือแนะนำดีปเลิร์นนิงเชิงคณิตศาสตร์ เล่มนี้จัดทำขึ้นเพื่อช่วยให้นักศึกษา·นักวิทยาศาสตร์ที่ไม่มีพื้นฐานมาก่อน และผู้ปฏิบัติงานที่ต้องการความเข้าใจที่เข้มงวดยิ่งขึ้น วางรากฐานของ อัลกอริทึมดีปเลิร์นนิง ได้อย่างมั่นคง
- โครงข่ายประสาทเทียมถูกนิยามเป็นการประกอบซ้ำของ ฟังก์ชันกระตุ้น และฟังก์ชันแอฟไฟน์ และเมื่อความลึกของการประกอบเพิ่มขึ้น ก็จะกลายเป็นคลาสของฟังก์ชันที่จัดการด้วย deep ANN
- โครงสร้างโดยรวมเริ่มจากโครงสร้างและการคำนวณของ ANN แล้วต่อเนื่องไปสู่ ทฤษฎีการประมาณค่า, การหาค่าเหมาะที่สุด, ความคลาดเคลื่อนของการทำให้ทั่วไป, การวิเคราะห์ความคลาดเคลื่อนโดยรวม, ไปจนถึงการแก้ PDE
- ส่วนการหาค่าเหมาะที่สุดครอบคลุม gradient flow ODE, GD, SGD, แบ็กโพรพาเกชัน (backpropagation), แนวทาง Kurdyka–Łojasiewicz, batch normalization และการกำหนดค่าเริ่มต้นแบบสุ่ม
- สามารถดาวน์โหลดซอร์สโค้ด Python ได้จากที่เก็บ GitHub สาธารณะและหน้า arXiv และใช้ ชื่อไฟล์ ในคำบรรยายของแต่ละ listing เพื่อจับคู่เนื้อหาในหนังสือกับโค้ดได้
วิธีนิยามดีปเลิร์นนิงในเชิงคณิตศาสตร์
- หนังสือเล่มนี้มอง อัลกอริทึมดีปเลิร์นนิง เป็นวิธีการคำนวณที่ใช้ deep ANN และข้อมูลซ้ำ ๆ เพื่อประมาณความสัมพันธ์ ฟังก์ชัน หรือปริมาณที่กำหนด
- ANN คือคลาสของฟังก์ชันที่ประกอบขึ้นจากการประกอบหลายชั้นของ ฟังก์ชันกระตุ้นแบบไม่เชิงเส้น และฟังก์ชันแอฟไฟน์ที่กำหนด
- ความลึกของ ANN สอดคล้องกับจำนวนครั้งของการประกอบ และเมื่อมีการประกอบของฟังก์ชันไม่เชิงเส้นกับฟังก์ชันแอฟไฟน์มากกว่า 2 ตัว ก็เริ่มเรียกว่า deep ANN
- กลุ่มผู้อ่านเป้าหมายคือนักศึกษา·นักวิทยาศาสตร์ที่ไม่มีพื้นฐานด้านดีปเลิร์นนิงเลยแต่ต้องการพื้นฐานที่มั่นคง และผู้ปฏิบัติงานที่ต้องการเข้าใจวัตถุและวิธีการของดีปเลิร์นนิงให้ชัดเจนยิ่งขึ้น
Part I–II: โครงสร้างโครงข่ายประสาทและทฤษฎีการประมาณค่า
- หลังบทนำสั้น ๆ เนื้อหาหลักแบ่งออกเป็น 6 พาร์ตคือ Part I–VI
-
Part I: โครงข่ายประสาทเทียม
- Chapter 1 นำเสนอ ANN หลายประเภทในเชิงคณิตศาสตร์
- fully-connected feedforward ANN
- convolutional ANN (CNN)
- recurrent ANN (RNN)
- residual ANN (ResNet)
- Chapter 2 ว่าด้วย แคลคูลัส (calculus) สำหรับ fully-connected feedforward ANN
- Chapter 1 นำเสนอ ANN หลายประเภทในเชิงคณิตศาสตร์
-
Part II: การประมาณค่า
- กล่าวถึง ผลลัพธ์ทางคณิตศาสตร์ หลายประการที่วิเคราะห์ว่า ANN สามารถประมาณฟังก์ชันที่กำหนดได้ดีเพียงใด
- Chapter 3 เพื่อให้อ่านง่ายขึ้น จึงเริ่มโฟกัสที่ฟังก์ชันหนึ่งมิติจากจำนวนจริงไปยังจำนวนจริงก่อน
- Chapter 4 ขยายขอบเขตไปสู่ผลการประมาณค่าของ ANN สำหรับฟังก์ชันหลายตัวแปร
Part III: การหาค่าเหมาะที่สุดและอัลกอริทึมการเรียนรู้
- แก่นสำคัญของอัลกอริทึมดีปเลิร์นนิงอยู่ที่การสร้างแบบจำลองหรือจัดรูปปัญหาใหม่ให้เป็น ปัญหาการหาค่าเหมาะที่สุด ที่เหมาะสมและมี deep ANN รวมอยู่ด้วย
- พาร์ตนี้ว่าด้วยปัญหาการหาค่าเหมาะที่สุดและอัลกอริทึมที่ใช้แก้โดยประมาณ ซึ่งโดยทั่วไปจะเป็นปัญหาการทำให้ต่ำสุดด้วย วิธีหาค่าเหมาะที่สุดแบบอิงกราเดียนต์
- วิธีแบบอิงกราเดียนต์คือวิธีคำนวณที่แก้ปัญหาผ่านขั้นตอนต่อเนื่องตามทิศทางของกราเดียนต์ลบของฟังก์ชันที่ต้องการหาค่าเหมาะที่สุด
- Chapter 5 กล่าวถึง gradient flow (GF) ODE และการประยุกต์ใช้ เพื่อทำความเข้าใจวิธีตระกูล GD และ SGD
- Chapter 6 ทบทวนและวิเคราะห์วิธีหาค่าเหมาะที่สุดแบบอิงกราเดียนต์เชิงกำหนดแน่นอน เช่น gradient descent (GD)
- Chapter 7 ทบทวนและวิเคราะห์วิธีหาค่าเหมาะที่สุดแบบอิงกราเดียนต์เชิงสุ่ม เช่น stochastic gradient descent (SGD)
- Chapter 8 อนุมานและอธิบายอย่างละเอียดถึง แบ็กโพรพาเกชัน ซึ่งเป็นวิธีที่ใช้กันอย่างแพร่หลายในการคำนวณกราเดียนต์อย่างชัดแจ้งในการฝึก ANN
- แม้ว่าการวิเคราะห์ใน Chapter 5–7 จะมีข้อจำกัดในการจัดการปัญหาการหาค่าเหมาะที่สุดสำหรับการฝึก ANN ในกรณีส่วนใหญ่ แต่ แนวทาง Kurdyka–Łojasiewicz (KL) ใน Chapter 9 สามารถใช้กับปัญหาเหล่านี้ได้
- Chapter 10 ตรวจสอบอย่างเข้มงวดถึง batch normalization (BN) ซึ่งเป็นวิธีที่มุ่งเร่งขั้นตอนการฝึก ANN ในปัญหาการเรียนรู้จากข้อมูล
- Chapter 11 ศึกษาแนวทางการหาค่าเหมาะที่สุดของฟังก์ชันวัตถุประสงค์ด้วย การกำหนดค่าเริ่มต้นแบบสุ่ม ที่แตกต่างกัน
Part IV–VI: การวิเคราะห์ความคลาดเคลื่อนและการประยุกต์กับ PDE
-
Part IV: ความคลาดเคลื่อนของการทำให้ทั่วไป
- การวิเคราะห์ดีปเลิร์นนิงในเชิงคณิตศาสตร์ไม่ได้จบเพียงการประเมินความสามารถในการประมาณค่าของ ANN และความคลาดเคลื่อนของวิธีหาค่าเหมาะที่สุด
- เมื่อไม่สามารถเข้าถึงการแจกแจงความน่าจะเป็นของปัญหาการเรียนรู้ได้โดยตรง และต้องประมาณด้วยค่าที่สังเกตได้แบบจำกัด·ข้อมูลแบบจำกัด ก็จำเป็นต้องมีการประเมิน ความคลาดเคลื่อนของการทำให้ทั่วไป
- Chapter 12 ทบทวนการประเมินความคลาดเคลื่อนของการทำให้ทั่วไปเชิงความน่าจะเป็น
- Chapter 13 กล่าวถึงการประเมินความคลาดเคลื่อนของการทำให้ทั่วไปแบบ strong Lp
-
Part V: การวิเคราะห์ความคลาดเคลื่อนโดยรวม
- แสดงตัวอย่างวิธีรวมการประเมินความคลาดเคลื่อนจากการประมาณค่าใน Part II, ความคลาดเคลื่อนจากการหาค่าเหมาะที่สุดใน Part III และความคลาดเคลื่อนของการทำให้ทั่วไปใน Part IV
- ตัวอย่างคือการฝึก ANN บนพื้นฐานของ วิธีหาค่าเหมาะที่สุดตระกูล SGD ที่ใช้การกำหนดค่าเริ่มต้นแบบสุ่มอิสระจำนวนมาก
- Chapter 14 นำเสนอการแยกองค์ประกอบความคลาดเคลื่อนโดยรวมที่เหมาะกับปัญหาการเรียนรู้แบบมีผู้สอน
- Chapter 15 ใช้ผลลัพธ์บางส่วนจาก Parts II, III, IV ร่วมกัน เพื่อจัดทำการวิเคราะห์ความคลาดเคลื่อนโดยรวมในเชิงตัวอย่าง
-
Part VI: ดีปเลิร์นนิงสำหรับ PDE
- วิธีดีปเลิร์นนิงไม่ได้ใช้เฉพาะกับปัญหาการเรียนรู้จากข้อมูลเท่านั้น แต่ยังใช้ในการแก้ สมการเชิงอนุพันธ์ย่อย (PDE) แบบประมาณได้ด้วย
- Part VI ทบทวนและนำไปใช้จริงกับวิธีดีปเลิร์นนิงยอดนิยม 3 วิธีสำหรับ PDE
- Chapter 16 กล่าวถึง physics-informed neural networks (PINNs) และ deep Galerkin methods (DGMs)
- Chapter 17 กล่าวถึง deep Kolmogorov methods (DKMs)
วิธีเข้าถึงโค้ดและเอกสาร
- หนังสือเล่มนี้มี ซอร์สโค้ด Python หลายชุดรวมอยู่ด้วย
- สามารถดาวน์โหลดซอร์สโค้ดได้จากที่เก็บ GitHub สาธารณะ introdeeplearning/book
- บนหน้า arXiv ก็สามารถรับซอร์สโค้ดได้เช่นกัน โดยกด “Other formats” แล้วเลือก “Download source”
- คำบรรยายของแต่ละ source listing มี ชื่อไฟล์ซอร์ส ที่สอดคล้องกันอยู่ ทำให้ง่ายต่อการอ่านตามทั้งสมการ·ตัวอย่างในหนังสือและโค้ดควบคู่กันไป
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
ดูเหมือนเป็นชุดเนื้อหาที่ดีที่แนะนำ เทคนิคแมชชีนเลิร์นนิง มาตรฐานด้วยสัญกรณ์คณิตศาสตร์ที่ค่อนข้างเป็นเอกภาพและมีบทพิสูจน์จำนวนมาก แต่เป็นงานใหญ่มากจริง ๆ เพราะยาวถึง 600 หน้า
อย่างไรก็ตาม รู้สึกว่าให้น้ำหนักกับ ส่วนที่ทำให้เป็นรูปแบบทางการได้ง่าย มากกว่าส่วนที่น่าจะน่าสนใจเมื่อเข้าใจแล้ว
ตัวอย่างเช่น บท SGD ถูกเลือกเพราะการหาค่าเหมาะที่สุดเป็นพื้นที่ที่นักคณิตศาสตร์สามารถมีส่วนช่วยต่อแมชชีนเลิร์นนิงได้อย่างมีอิทธิพลจริง ๆ แต่บทพิสูจน์ส่วนใหญ่ค่อนข้างพื้นฐาน เช่น การแยกส่วน bias-variance หรืออสมการ Jensen ส่วนทฤษฎีบทที่น่าสนใจเกี่ยวกับการลู่เข้าก็เพียงอ้างอิงวรรณกรรมและไม่ได้เชื่อมต่อกับเลมมาก่อนหน้า ขณะที่วิธีที่น่าสนใจในทางปฏิบัติอย่าง ADAM แทบไม่มีบทพิสูจน์หรือทฤษฎี
หลังอ่านบทนี้แล้ว คงจะเข้าใจวิธี SGD สมัยใหม่และพัฒนาการของมันได้ดี แต่ดูเหมือนจะยากที่จะรู้ว่าทำไมวิธีเหล่านั้นจึงทำงานได้ เกินกว่าสัญชาตญาณที่ได้รับการยืนยันด้วยการทดลองเชิงตัวเลข
ถ้าอย่างนั้น แทนที่จะพิสูจน์เนื้อหาพื้นฐานจำนวนมากอย่าง E(XY)=E(X)E(Y) สำหรับตัวแปรสุ่มอิสระ ผมคิดว่าการใช้พื้นที่กับบทพิสูจน์การลู่เข้าของ ADAM ที่มีอยู่แล้วน่าจะมีประโยชน์กว่า
บท ANN ก็มีหลายส่วนที่พิสูจน์เนื้อหาพื้นฐานและไม่น่าสนใจนักอย่างยืดยาว และแม้บทความเรื่อง physics-informed neural networks จะดี แต่ก็มีปัญหาคล้ายกันอยู่บ้าง
แนวทางที่พยายามอธิบายวิธีการแมชชีนเลิร์นนิงให้เข้มงวดและเป็นเอกภาพมากขึ้นนั้นดี แต่ผมมีข้อสงสัยกับวิธีที่ขีดเส้นว่าอะไรควรใส่หรือควรตัดออก
บทพิสูจน์การลู่เข้าของ ADAM ก็ไม่ได้อธิบายว่าเหตุใด ADAM จึงมีแนวโน้มทำงานได้ดีกว่าวิธีอื่น
คงยากจะตำหนิว่าอธิบายสิ่งที่ปัจจุบันยังไม่มีใครเข้าใจไม่ได้ แต่ถ้าเป็นทฤษฎีที่ทำนายสิ่งสำคัญในทางปฏิบัติไม่ได้ แนวคิดเรื่องการสอนที่เน้นทฤษฎีก็อ่อนแรงลงเอง
ถ้าอยากมองดีปเลิร์นนิงในเชิงคณิตศาสตร์อย่างลึกซึ้ง หนังสือของ Francois Fleuret ที่ https://fleuret.org/francois/lbdl.html ก็น่าอ่าน
PDF ฟรี และฉบับพิมพ์ก็น่ารักทีเดียว
ทุกครั้งที่ลอง เครื่องพิมพ์สองหน้าจะมีปัญหาหนึ่งแผ่นเว้นหนึ่งแผ่นที่กลับหัวกลับหาง
สงสัยว่าคนอ่านหนังสือแบบนี้ ตั้งแต่ต้นจนจบ กันจริง ๆ หรือเปล่า
ตอนนี้กำลังดู PRML ของ Bishop อยู่ และการอ่านหนังสือให้จบอย่างจริงจังพร้อมทำแบบฝึกหัดทั้งหมดใช้เวลามหาศาล
เคยเห็นคนที่ทำแบบเดียวกันเขียนในบล็อกว่าใช้เวลามากกว่า 1,500 ชั่วโมง
ในหลักสูตรปริญญาโทของผม ไม่มีใครอ่านหนังสือแบบนี้จนจบเลย แค่เข้าเรียน แล้วส่วนที่เหลือที่ต้องใช้ก็ค้นกูเกิลเอา
จากมุมมองของคนที่มีความรู้ด้านโปรแกรมมิงลึกกว่าคณิตศาสตร์ สัญกรณ์คณิตศาสตร์ ในนี้เข้าใจยากกว่าโค้ด
ถึงขั้นรู้สึกว่ายากกว่าโค้ดที่เขียนด้วยภาษาโปรแกรมที่ไม่รู้จักเสียอีก
อยากรู้ว่าคนที่พื้นฐานคณิตศาสตร์แข็งกว่าจะเข้าใจนิพจน์คณิตศาสตร์แบบนี้ได้ง่ายกว่าซอร์สโค้ดหรือไม่
ผมพยายามนำเสนอแนวคิดให้ถูกต้องทางคณิตศาสตร์มากที่สุดเท่าที่ทำได้ แต่สุดท้ายก็หลีกเลี่ยง สัญกรณ์ที่หนักหน่วง แบบในหนังสือนี้ ตัดคณิตศาสตร์ออกไปมากเพื่อให้นักศึกษานำไปใช้ในอุตสาหกรรมได้ และชั้นเรียนจริงมีโค้ดมากกว่าสูตรมาก
ถ้าพยายามเขียนทุกอย่างให้ถูกต้องอย่างยิ่ง มันจะรกขึ้นอย่างรวดเร็ว
ในคณิตศาสตร์ การหาสัญกรณ์ที่ดีสำหรับแนวคิดใหม่เป็นเรื่องยากมาก และสัญกรณ์ที่ภายหลังทุกคนยอมรับว่าชัดเจน เช่น สัญกรณ์ Einstein แผนภาพ Feynman หรือสัญกรณ์เมทริกซ์ ก็มักเป็นสิ่งที่คนเก่งมาก ๆ สร้างขึ้นตั้งแต่แรก
การถอดความสาขา A ไปเป็นสัญกรณ์ของสาขา B ก็ไม่ได้ทำให้มีประโยชน์เสมอไป และการแปลกลศาสตร์ควอนตัมเป็นคณิตศาสตร์อย่างพีชคณิต C* ก็เป็นงานใหญ่ และจนถึงตอนนี้ก็ยังเป็นสาขาวิจัยที่เปิดอยู่ในระดับหนึ่ง
ดังนั้น แม้ความพยายามที่ใช้เขียนหนังสือเล่มนี้จะมหาศาล แต่ผมมองว่าประโยชน์จริงอาจมีน้อย
คนที่อ่านสมการแบบนี้ได้สบาย ๆ โดยทั่วไปก็ไม่จำเป็นต้องใช้สมการเหล่านั้น และเช่น ถ้ารู้จักการแปลงแอฟไฟน์แล้ว ก็แทบไม่จำเป็นต้องเห็นดัชนี ijkl ทั้งหมดของเทนเซอร์ 4 มิติอย่างชัดแจ้ง
ในทางกลับกัน คนที่ไม่ใช่แบบนั้นก็น่าจะกลัวและถอยออกไป
เหตุผลหนึ่งคือมันถูกปรับให้เหมาะกับการเขียนด้วยมือ
การเขียนโค้ดโปรแกรมด้วยมือน่าเบื่อมาก จึงพอเข้าใจได้ว่าทำไมสัญกรณ์คณิตศาสตร์จึงมีหน้าตาแบบนั้น
อีกอย่าง ไม่มีสิ่งที่เหมือน “โค้ดนั้น” ที่สอดคล้องกับสัญกรณ์คณิตศาสตร์โดยตรง
สัญกรณ์คณิตศาสตร์มีไว้เพื่อกล่าวข้อเท็จจริงหรือประพจน์ทางคณิตศาสตร์ ซึ่งต่างจากเป้าหมายของโค้ดที่ใช้ implement อัลกอริทึมดีปเลิร์นนิง
ดังนั้นหัวข้อและวิธีอธิบายจึงเอนเอียงไปทางคนกลุ่มนั้น
ตัวอย่างเช่น ในดีปเลิร์นนิงภาคปฏิบัติ แทบไม่เคยเห็นใครกังวลเรื่องเงื่อนไขการมีอยู่และเอกลักษณ์ของอัลกอริทึมการหาค่าเหมาะที่สุดแบบใช้ gradient แต่ผลลัพธ์ทำนองนี้เป็นหัวข้อที่คนกลุ่มนี้สนใจและเขียนบทความกัน
จากชื่อเรื่องก็บอกอยู่แล้วว่าเป็นหนังสือว่าด้วยรากฐานเชิงทฤษฎีของสาขานี้ วิธีแบบนี้จึงไม่น่าแปลกใจ
หนังสือแบบนี้มักไม่ได้อ่านตั้งแต่ต้นจนจบ แต่จะเจาะลึกเฉพาะไม่กี่บทที่มีเทคนิคเกี่ยวข้องกับงานวิจัยของตัวเอง
ผมเองตอนทำวิจัยก็เคยใช้รวมบทความที่ยืดยาวคล้าย ๆ กัน แต่แก่นที่สนใจจริง ๆ มีประมาณ 20–30 หน้าเท่านั้น
ในแง่ความเข้มงวดและปริมาณเนื้อหา มันยืดยาวเกินรสนิยมของผมมาก
เช่น มีการใส่อสมการ Gronwall เป็นเลมมาและพิสูจน์ด้วย แม้เวอร์ชันที่ใช้จะทั่วไปกว่าที่มักเห็นอยู่เล็กน้อย แต่อสมการ Gronwall เป็นเครื่องมือมาตรฐานมากในการวิเคราะห์สมการเชิงอนุพันธ์สามัญ จนหนังสือทฤษฎีควบคุมที่เข้มงวดของผมก็ยังให้แค่อ้างอิงโดยไม่พิสูจน์ เพื่อหลีกเลี่ยงความรก
ยิ่งตั้งมาตรฐานบทพิสูจน์ไว้สูงและพยายามวางสมมติฐานให้น้อย ความยืดยาวแบบนี้ก็จะเกิดขึ้น
สงสัยว่า ผู้อ่านเป้าหมาย ที่ว่า “นักศึกษาและนักวิทยาศาสตร์” นั้นหมายถึงใครกันแน่
ตั้งแต่ต้นบทที่ 1 ก็มีตัวห้อยอยู่ในตัวห้อย และมีผลรวมที่ตัวห้อยติดอยู่ในตัวยก แล้วก็เข้าไปสู่สายโซ่การประกอบฟังก์ชันขนาดมหึมา
พอไปข้างหลังก็มีตัวห้อยลึกถึง 4 ชั้น สร้างตัวดำเนินการ infix ใหม่อย่างน้อย 3 ตัว และนิยามสัญลักษณ์ใหม่ 30 ตัวจากตัวอักษรสามชุดที่ต่างกัน ทั้งที่ยังไม่ถึง 100 หน้าจากทั้งหมด 600 หน้า
ไม่รู้ว่าสิ่งนี้ทำมาให้ใครติดตามและย่อยเข้าใจได้กันแน่
เคยเห็นหนังสือหลายเล่มที่พยายามอธิบายดีปเลิร์นนิงจากมุมมองคณิตศาสตร์ แต่ก็ยังประหลาดใจอยู่เสมอ
ตอนนี้ดีปเลิร์นนิงเป็น วิทยาศาสตร์เชิงประจักษ์ อย่างชัดเจน และผมคิดว่างานทฤษฎีที่มีอิทธิพลมากพอจะใส่ในหนังสือได้มีไม่มากนัก
ในบรรดาหนังสือเหล่านั้น เล่มนี้ดูเหมือนจะแย่เกือบถึงขั้นสุดอย่างแข็งขัน
ใช้พื้นที่จำนวนมากไปกับการพิสูจน์บทตั้งช่วยที่แทบไม่ได้เพิ่มความเข้าใจ และเกี่ยวข้องกับดีปเลิร์นนิงอย่างหลวม ๆ เท่านั้น ส่วนโค้ดจำนวนมากก็เป็นโค้ดวาดกราฟที่ไม่รู้ว่าใส่มาทำไม
ผมคิดว่าคงมีคนน้อยมากที่จะอ่านส่วนใหญ่ของหนังสือเล่มนี้
ยังคิดว่าตำราที่ดีที่สุดคือ Deep Learning ของ Goodfellow และคณะ กับ Understanding Deep Learning ที่ทันสมัยกว่า (https://udlbook.github.io/udlbook/)
แม้แนวหน้าของดีปเลิร์นนิงจะเป็นเชิงประจักษ์มาก แต่ก็มีงานวิจัยที่น่าสนใจซึ่งพยายามทำความเข้าใจว่า ทำไมมันถึงทำงาน ไม่ใช่แค่วิธีไหนได้ผลดี
การบอกว่าการพิสูจน์ไม่ใช่วิธีที่ดีในการทำความเข้าใจนั้นฟังไม่ขึ้น
มันอาจไม่ใช่วิธีที่ดีสำหรับทุกคน แต่หนังสือชื่อ “บทนำเชิงคณิตศาสตร์เกี่ยวกับ x” ย่อมมีไว้สำหรับคนที่ได้รับการฝึกฝนทางคณิตศาสตร์มาบ้าง และสำหรับผู้อ่านแบบนั้น บทตั้งช่วยกับการพิสูจน์ของมันเป็นวิธีธรรมชาติในการสร้างความเข้าใจ
คณิตศาสตร์ไม่ได้มีแค่การพิสูจน์ แต่ยังเป็นวิธีสื่อสารด้วย
วิธีอธิบายว่าโครงข่ายประสาททำงานอย่างไรมีทั้งภาพ โค้ด คำพูด และสัญกรณ์คณิตศาสตร์ที่ค่อนข้างหนาแน่น
โดยทั่วไป การได้สัญชาตญาณก่อนแล้วค่อยทำความเข้าใจส่วนเทคนิค มักง่ายกว่าการสร้างสัญชาตญาณจากทฤษฎี
เรื่องนี้โดยมากใช้ได้กับวิทยาศาสตร์เชิงแม่นยำ โดยเฉพาะคณิตศาสตร์ และนั่นคือเหตุผลที่ตัวอย่างช่วยได้
สงสัยว่าเหตุผลที่ดีปเลิร์นนิงเป็นวิทยาศาสตร์เชิงประจักษ์ทั้งหมดเป็นเพราะ กลัวคณิตศาสตร์ หรือเปล่า
มันเป็นสาขาที่ลึกซึ้งพอ ๆ กับฟิสิกส์สมัยใหม่ แต่แปลกที่ผู้ปฏิบัติงานส่วนใหญ่ดูเหมือนยังอยากคิดแบบยุคบุกเบิกตะวันตกต่อไป
นักวิจัยดีปเลิร์นนิงที่มีแนวโน้มทางคณิตศาสตร์สูงมากก็มีมากมาย
เหตุผลที่ดีปเลิร์นนิงเป็นวิทยาศาสตร์เชิงประจักษ์คือ เครื่องมือทางคณิตศาสตร์ ที่เรามียังไม่เพียงพอที่จะอธิบายและทำนายปรากฏการณ์ที่สังเกตได้ด้วยทฤษฎีที่เป็นหนึ่งเดียว
การเป็นวิทยาศาสตร์เชิงประจักษ์ไม่ได้หมายความว่าสาขานั้นเป็น “ยุคบุกเบิกตะวันตก”
โมเดลดิปลิร์นนิงสามารถเป็นวัตถุของการทดลองควบคุมที่ทำซ้ำได้ และผ่านสิ่งนี้เราสามารถปรับปรุงความเข้าใจได้ว่าโดยมากจะเกิดอะไรขึ้น
ผู้ปฏิบัติงานที่ดีรู้เรื่องนี้
คุณทำงานได้มากมายโดยไม่ต้องใช้คณิตศาสตร์เกินพีชคณิตเชิงเส้น แคลคูลัส และความน่าจะเป็นระดับปริญญาตรีมากนัก และความรู้นั้นก็ใช้เป็นหลักเพื่อให้สัญชาตญาณและทำให้ปัญหาที่กำลังแก้เป็นทางการขึ้นเล็กน้อย
แม้แทบไม่ใช้คณิตศาสตร์ก็ยังทำผลงานได้ รวมถึงผลลัพธ์ที่น่าประทับใจ
ผลคือผู้คนสาธิตและแก้ปัญหาใหม่ ๆ แบบเชิงประจักษ์ได้เร็วมาก เร็วกว่าความเร็วที่ผลลัพธ์เชิงทฤษฎีซึ่งอธิบายว่าทำไมมันถึงทำงานจะออกมามาก
มีหลายเหตุผลที่ทฤษฎียาก แต่ประเด็นใหญ่ด้วยคือกรณีความสำเร็จจำนวนมากของดีปเลิร์นนิงไม่เข้ากับกรอบเดิม ๆ อย่างสถิติหรือการควบคุมเหมาะที่สุดได้ดี จึงอธิบายยาก
สงสัยว่ามีใครใช้คณิตศาสตร์พวกนี้จริง ๆ หรือเปล่า
เดาของผมคือแทบจะไม่ และถ้ามองในแง่ดีก็เป็นแค่ สิ่งค้ำจุนทางใจ ที่ทำให้นักวิจัยดีปเลิร์นนิงอุ่นใจว่าสิ่งที่ตัวเองพยายามทำไม่ได้เป็นไปไม่ได้
ถ้าผิดก็ยินดียอมรับ
คณิตศาสตร์อาจไม่จำเป็นต่อการสร้างโมเดลที่ดี แต่ถ้าจะรู้ว่า ทำไมโมเดลถึงผิด คุณต้องรู้คณิตศาสตร์
ดังนั้นคณิตศาสตร์จึงจำเป็น
ถ้าไม่มีคณิตศาสตร์ คุณจะหลอกตัวเองได้ว่าแค่เพิ่มขนาดก็ไปถึง AGI ได้
คุณจะใช้ Transformer ไปทุกที่เพราะทุกคนใช้กัน และจะสับสนระหว่างฟังก์ชันกระตุ้นต่าง ๆ
คุณสร้างโมเดลที่ทำงานได้ได้ แต่การมีโมเดลที่ทำงานได้กับการคาดการณ์ได้ว่าโมเดลนั้นจะล้มเหลวตรงไหนและเข้าใจขีดจำกัดของมันนั้นต่างกันมาก
หลายคนดูเหมือนคาดหวังว่าแค่เห็นผลบนชุดทดสอบก็แปลว่าโมเดลไม่ได้ overfit
ยังไม่ต้องพูดถึงการจูนไฮเปอร์พารามิเตอร์ด้วยผลจากชุดทดสอบ
ลองจินตนาการวิทยาการคอมพิวเตอร์ที่ไม่มีทฤษฎีซึ่งพิสูจน์ความถูกต้องและมีคุณสมบัติที่รู้กันดี อย่างอัลกอริทึมจัดเรียงหรืออัลกอริทึมค้นหา
คณิตศาสตร์นี้ทำหน้าที่เหมือน ทฤษฎีวิทยาการคอมพิวเตอร์
ถ้าแค่ฟิตโมเดลในไลบรารีอย่าง Keras ก็ไม่ได้ “ใช้” คณิตศาสตร์นั้นจริง ๆ
ถ้าชุดข้อมูลมีขนาดไม่เกินระดับหนึ่ง ปัญหามีความซับซ้อนไม่เกินระดับหนึ่ง และโมเดลเป็นสิ่งที่ถูกนำไปใช้มาหลายปีจนคุณสมบัติได้รับการศึกษาดีแล้ว การรู้คณิตศาสตร์แบบคร่าว ๆ ก็ทำงานได้มากมาย
คล้ายกับการสร้างเว็บแอปที่ใช้งานได้สมบูรณ์โดยไม่ต้องรู้ลึกว่า runtime ของ Python หรือ Java ทำงานอย่างไร
แต่ถ้าไม่รู้หลักการทำงานจริง ๆ พอเจอสถานการณ์ที่ยังไม่ได้อยู่ในไลบรารี ก็จะติดขัดค่อนข้างหนัก
ถ้าอยากเห็นว่าจะเกิดอะไรขึ้นเมื่อไม่รู้คณิตศาสตร์พื้นฐาน ให้ดูบัณฑิต “วิทยาศาสตร์ข้อมูล” รุ่นปัจจุบันที่ไม่รู้พื้นฐานคณิตศาสตร์และสถิติ
ฝั่งการจ้างงานก็มีปัญหาเยอะ แต่สุดท้ายเหตุผลที่พวกเขาหางานไม่ได้คือไม่เคยถูกบังคับให้เรียนสิ่งนี้ จึงไม่รู้จริง ๆ ว่ากำลังทำอะไรอยู่
ดังนั้นก็มีคนใช้
ในกรณีนี้ มันให้วิธีแก่ผู้ปฏิบัติงานในการตรวจสอบความสอดคล้องทางฟิสิกส์ระหว่างหลายวิธี
ถ้าอย่างนั้นก็น่าจะเป็นสิ่งที่คนทำแมชชีนเลิร์นนิงใช้ทุกวันไม่ใช่หรือ
สงสัยว่าการเอาหนังสือ โดยเฉพาะหนังสือที่เพิ่งออกใหม่ ไปลง ArXiv ทันทีเป็นเรื่องปกติไหม
อย่างน้อยในตำราคณิตศาสตร์และวิทยาการคอมพิวเตอร์ก็เห็นอยู่บ่อย ๆ