- Pen & Paper คือ ชุดแบบฝึกหัดพร้อมคำอธิบายอย่างละเอียด ที่ออกแบบมาสำหรับผู้อ่านที่เคยเรียนทฤษฎีและแนวคิดของแมชชีนเลิร์นนิงมาแล้ว เพื่อให้เข้าใจลึกซึ้งขึ้นผ่านการแก้โจทย์
- เมื่อแบบฝึกหัดในตำราหรือการบรรยายมีคำอธิบายสั้นเกินไปหรือไม่มีเลย โอกาสในการเรียนรู้ก็มักเปลี่ยนเป็นความท้อแท้ได้ง่าย จึงตั้งเป้าให้มี ความละเอียดของคำอธิบาย ที่ผู้อ่านสามารถตามกระบวนการแก้ได้
- แม้การเขียนโค้ดและการจำลองจะสำคัญ แต่โจทย์ส่วนใหญ่ถูกออกแบบให้แก้ได้ด้วย ปากกาและกระดาษ เพื่อเน้นการเสริมสร้างการคิดเชิงคณิตศาสตร์
- โจทย์ต่าง ๆ รวบรวมหลัก ๆ มาจากแบบฝึกหัดในรายวิชา “Unsupervised Machine Learning” ของ University of Helsinki และ “Probabilistic Modelling and Reasoning” ของ University of Edinburgh โดยขอบเขตเน้นที่ วิธีการแบบไม่มีผู้สอน·การอนุมาน·การเรียนรู้
- Michael Gutmann หวังว่าชุดโจทย์นี้จะขยายต่อไปเรื่อย ๆ พร้อมเปิดเผยซอร์ส LaTeX, การรายงานข้อผิดพลาดผ่าน GitHub issue และการติดต่อโดยตรงสำหรับการมีส่วนร่วมที่มากขึ้น
หนังสือที่ทำให้เข้าใจลึกขึ้นผ่านแบบฝึกหัด
- ดังเช่นสำนวน “use it or lose it” ทักษะต่าง ๆ หากไม่ฝึกใช้ก็จะฝืดลง และเมื่อเรียนรู้ทักษะใหม่ก็จำเป็นต้องนำไปใช้ซ้ำ ๆ
- ตำราและการบรรยายจำนวนมากมีแบบฝึกหัดให้ แต่หากคำอธิบายสั้นเกินไปหรือไม่มีเลย การแก้โจทย์ก็อาจกลายเป็น สาเหตุของความท้อแท้ จนถูกข้ามไปได้ง่าย
- หนังสือเล่มนี้คือ ชุดแบบฝึกหัดที่มาพร้อมวิธีทำอย่างละเอียด
- ตั้งเป้าระดับความละเอียดให้ผู้อ่านสามารถตามวิธีทำและเข้าใจเทคนิคที่ใช้ได้
- ไม่ได้มีไว้เพื่อทดแทนตำราหรือการบรรยายด้านแมชชีนเลิร์นนิง
- เหมาะกับสถานการณ์ที่ผู้อ่านได้เห็นทฤษฎีและแนวคิดที่เกี่ยวข้องมาแล้ว และต้องการทำความเข้าใจให้แน่นขึ้นผ่านการแก้โจทย์
โครงสร้างที่เน้นปากกาและกระดาษ
- ในแมชชีนเลิร์นนิง การเขียนโค้ดและการจำลองด้วยคอมพิวเตอร์ มีความสำคัญมาก
- อย่างไรก็ตาม โจทย์ในหนังสือเล่มนี้ส่วนใหญ่สามารถแก้ได้ด้วย ปากกาและกระดาษ
- การจัดโครงสร้างโดยเน้นปากกาและกระดาษช่วยลดความยาวและทำให้คำอธิบายเรียบง่ายขึ้น
- ช่วยเสริมสร้างความสามารถทางคณิตศาสตร์
- หากใช้ควบคู่กับการฝึกปฏิบัติบนคอมพิวเตอร์ ก็จะช่วยให้เข้าใจแนวคิดได้ลึกยิ่งขึ้น
หัวข้อและขอบเขตที่ครอบคลุม
- โจทย์ต่าง ๆ ส่วนใหญ่เป็นการรวมสื่อที่พัฒนาจากสองรายวิชา
- “Unsupervised Machine Learning” ของ University of Helsinki
- “Probabilistic Modelling and Reasoning” ของ University of Edinburgh
- ไม่ได้ครอบคลุมแมชชีนเลิร์นนิงทั้งหมด
- จุดเน้นอยู่ที่ วิธีการแบบไม่มีผู้สอน, การอนุมาน, และ การเรียนรู้ อย่างชัดเจน
- ในเนื้อหาที่ให้มา มีตัวอย่างจากบทที่ 1 Linear Algebra คือโจทย์เรื่อง Gram–Schmidt orthogonalization
- ตรวจสอบด้วย inner product ว่า
u1,u2ที่สร้างจากเวกเตอร์สองตัวตั้งฉากกัน - หาก
a2เป็นพหุคูณของa1แล้วu2จะกลายเป็นเวกเตอร์ศูนย์ในกระบวนการทำให้ออร์โธกอนัล - แสดงให้เห็นว่าการรวมเชิงเส้นใด ๆ ของ
a1,a2ที่เป็นอิสระเชิงเส้น สามารถเขียนใหม่ด้วยu1,u2ได้
- ตรวจสอบด้วย inner product ว่า
การขยายต่อและวิธีการมีส่วนร่วม
- ชุดโจทย์นี้มีเป้าหมายที่จะเติบโตขึ้นเรื่อย ๆ ผ่านการ เพิ่มโจทย์ใหม่ ตามกาลเวลา
- ซอร์สโค้ด LaTeX เปิดเผยไว้ใน GitHub repository
- สามารถรายงานความผิดพลาดหรือคำผิดผ่าน GitHub issue ได้
- หากต้องการมีส่วนร่วมในระดับที่มากขึ้น ก็มีการแนะนำให้ติดต่อโดยตรง
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
ดูน่าสนใจมาก แต่สิ่งที่น่าหงุดหงิดที่สุดเวลาเรียนแมชชีนเลิร์นนิงคือ ต่อให้ขุดทฤษฎีลึกแค่ไหน ก็ยังมองไม่ค่อยเห็นว่ามันเชื่อมกับการตัดสินใจจริงอย่างไร
เช่น อยากรู้ว่าทฤษฎีช่วยตัดสินใจเรื่องจำนวน neuron ในแต่ละชั้น จำนวนชั้น activation function หรือว่าจะใช้ neural network หรือเทคนิคอื่นได้อย่างไร
เป็นสาขาที่ลองสุ่มทำโน่นทำนี่เพื่อหาว่าอะไรใช้ได้ แล้วก็ลอกไอเดียกันไปมา จนเกิดแนวทางคร่าว ๆ ที่ยังคลุมเครือ
ถ้าต้องการสิ่งที่มีเหตุผลและอธิบายได้ นี่แทบจะเป็นสาขาที่แย่ที่สุด ส่วนใหญ่คือการติด label ให้ dataset จ่ายค่า compute แล้วหวังว่ามันจะเวิร์ก
ในแมชชีนเลิร์นนิง เราไม่สามารถอนุมานทุกอย่างจากทฤษฎีได้ ถ้าทำได้จริง เราคงไม่ประหลาดใจกับประสิทธิภาพของ large language model ขนาดใหญ่มากขนาดนั้น
ในขณะเดียวกัน ถ้าให้เหตุผลด้วยคณิตศาสตร์ที่เกี่ยวข้องไม่ได้ ก็ยากจะเข้าใจว่าทำไมมันไม่เวิร์ก หรือมีทางเลือกอะไรบ้าง มีปัจจัยมากมายพันกันอยู่ ทั้ง architecture, loss function, activation function, วิธี optimization, hyperparameter, เวลาและทรัพยากรในการเทรน ฯลฯ
ผมมองว่าคุณค่าของทฤษฎีอยู่ที่การให้กรอบแนวคิดทั่วไป คล้ายกับที่ทฤษฎีเชิง asymptotic ของ algorithm ในปัจจุบันไม่ได้บอกชัด ๆ ว่าควรใช้ algorithm ไหน แต่ช่วยชี้ทิศทางกว้าง ๆ ได้
ถ้าคำนึงถึง regularization term ที่สมเหตุสมผล ความเสี่ยง overfitting ก็ไม่มากนัก แต่น่าเศร้าที่ไม่มี rule สำหรับค่าขั้นต่ำนั้น เลยต้องลองผิดลองถูก ในทางกลับกัน ถ้าขยาย network แบบไม่คิดก็จะไม่มีประสิทธิภาพและสุดท้ายช้าลง
สำหรับ activation function ใน output layer โดยมากจะถูกกำหนดจากปัญหาที่จะแก้ ส่วน layer ภายในมักเริ่มจาก ReLU แล้วค่อยลอง variant ที่พบบ่อยตาม heuristic ที่เหมาะกับปัญหา
แน่นอนว่าควรพิจารณาใช้ model อื่นที่เคยสำเร็จกับปัญหาคล้ายกันเป็นจุดตั้งต้นด้วย
เรียบร้อยดีมาก นึกถึงแบบฝึกหัด AI By Hand ของ Tom Yeh: https://www.byhand.ai/
ตัว material เองยอดเยี่ยมสำหรับคนที่รู้อยู่แล้วจริง ๆ
ดูเรียบร้อยดี แต่เสียดายที่มีคำตอบอยู่ถัดจากโจทย์ทันที ทำให้อ่านคำตอบของข้อถัดไปก่อนจะได้คิดเองแทบเลี่ยงไม่ได้
ดีมากจริง ๆ ผมทำงานด้านแมชชีนเลิร์นนิงอยู่ แต่ยังมี impostor syndrome เรื่องพื้นฐานคณิตศาสตร์ โดยเฉพาะ linear algebra และการคำนวณ matrix/tensor
อยากรู้ว่ามีชุดโจทย์อื่น ๆ ที่โฟกัสทักษะพื้นฐานของ deep learning ไหม วิธีที่เหมาะกับผมที่สุดคือทำเองทีละนิดทุกวัน และเรียนจากมุมมองของผู้สอนหลาย ๆ คน
ในหมู่คนทำงานจริงที่กำลังสร้างแมชชีนเลิร์นนิงที่ “มีประโยชน์” อยู่ตอนนี้ จะมีสักกี่คนที่แก้โจทย์บางส่วนนี้ได้? แล้วจำเป็นต้องทำได้ไหม?
แบบฝึกหัดแบบนี้มีประโยชน์ต่อ ความเป็นผู้ใหญ่ทางคณิตศาสตร์ ที่นำไปสู่ intuition ที่จำเป็นในการพัฒนา algorithm ใหม่หรือ low-level optimization
กรณีทั่วไปที่แค่เทรน deploy และใช้งาน algorithm แมชชีนเลิร์นนิงที่มีอยู่แล้ว ไม่จำเป็น
ทั้งสองแนวทางมีส่วนร่วมและนำไปสู่ความสำเร็จได้ แต่รูปแบบต่างกัน
ลองกวาดตาดูเอกสารแล้วแทบทั้งหมดพอจำได้ แต่ถ้าถูกถามแบบไม่มีบริบท คงนึกหัวข้อหลายอย่างไม่ออก ครั้งหนึ่งอาจเคยทำได้ก็ได้
อยากรู้ว่าคนอื่น ๆ จำเรื่องพวกนี้ได้ประมาณไหน ไม่รู้ว่าผมเป็นพวกหลอกลวงที่เดิมทีก็ไม่เก่งคณิตศาสตร์อยู่แล้ว หรือเป็นเรื่องปกติที่ถ้าไม่ได้ใช้เป็นประจำก็ลืมไปตามเวลา
สวยงามตรงที่มีคำตอบให้ด้วย สนใจถ้ามี แบบฝึกหัดใช้กระดาษกับปากกา แบบนี้ในหัวข้ออื่น ๆ อีก
ถ้าเป็นปริศนาแนวคณิตศาสตร์อื่น ๆ ก็ดู “The colossal book of short puzzles and problems” กับ “The art and craft of problem solving” ได้
เคยมีการถกกันมาก่อน: Pen and paper exercises in machine learning (2021) - https://news.ycombinator.com/item?id=31913057 - มิถุนายน 2022, 55 ความคิดเห็น
ตลกดีที่นักคณิตศาสตร์พยายามยัด linear algebra กับทฤษฎี matrix เข้ามาในแมชชีนเลิร์นนิงอยู่เสมอ ถ้าไม่รู้มาก่อนคงคิดว่าวงการวิชาการเป็นคนคิดค้น large language model และเป็นผู้เชี่ยวชาญที่ควรไปขอคำปรึกษา
ตรงกันข้าม ผมคิดว่าวงการวิชาการและนักทฤษฎีทำให้แมชชีนเลิร์นนิงล่าช้า และดูถูกเทคนิคเชิงคำนวณมากเกินไป จนบังคับนักศึกษาบัณฑิตหลายรุ่นให้ทำ proof เชิงสัญลักษณ์แบบตัวอย่างนี้
มีใครบ้างที่มีส่วนร่วมได้ทั้งที่ไม่คล่อง linear algebra?
แล้วก็สงสัยด้วยว่าทำไมถึงสรุปทั้งสาขาเหลือแค่ large language model
arXiv ไม่ใช่ที่สำหรับ paper ระดับงานวิจัยหรอกหรือ? แปลกใจที่ material แบบนี้ถูกอัปขึ้นไปที่นั่น