4 คะแนน โดย GN⁺ 2025-03-22 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • 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 ได้

การขยายต่อและวิธีการมีส่วนร่วม

  • ชุดโจทย์นี้มีเป้าหมายที่จะเติบโตขึ้นเรื่อย ๆ ผ่านการ เพิ่มโจทย์ใหม่ ตามกาลเวลา
  • ซอร์สโค้ด LaTeX เปิดเผยไว้ใน GitHub repository
  • สามารถรายงานความผิดพลาดหรือคำผิดผ่าน GitHub issue ได้
  • หากต้องการมีส่วนร่วมในระดับที่มากขึ้น ก็มีการแนะนำให้ติดต่อโดยตรง

1 ความคิดเห็น

 
GN⁺ 2025-03-22
ความคิดเห็นจาก Hacker News
  • ดูน่าสนใจมาก แต่สิ่งที่น่าหงุดหงิดที่สุดเวลาเรียนแมชชีนเลิร์นนิงคือ ต่อให้ขุดทฤษฎีลึกแค่ไหน ก็ยังมองไม่ค่อยเห็นว่ามันเชื่อมกับการตัดสินใจจริงอย่างไร
    เช่น อยากรู้ว่าทฤษฎีช่วยตัดสินใจเรื่องจำนวน neuron ในแต่ละชั้น จำนวนชั้น activation function หรือว่าจะใช้ neural network หรือเทคนิคอื่นได้อย่างไร

    • อาจช่วยได้: https://github.com/google-research/tuning_playbook
    • การที่แทบทุก paper ด้านแมชชีนเลิร์นนิงต้องมี ablation study ขนาดใหญ่ สำหรับเรื่องอย่างจำนวน neuron ต่อชั้น จำนวนชั้น activation function ฯลฯ น่าจะเป็นสัญญาณว่าเอาจริง ๆ ไม่มีใครรู้แน่ชัดในส่วนนั้น
      เป็นสาขาที่ลองสุ่มทำโน่นทำนี่เพื่อหาว่าอะไรใช้ได้ แล้วก็ลอกไอเดียกันไปมา จนเกิดแนวทางคร่าว ๆ ที่ยังคลุมเครือ
      ถ้าต้องการสิ่งที่มีเหตุผลและอธิบายได้ นี่แทบจะเป็นสาขาที่แย่ที่สุด ส่วนใหญ่คือการติด label ให้ dataset จ่ายค่า compute แล้วหวังว่ามันจะเวิร์ก
    • ส่วนใหญ่เรียนรู้จากทฤษฎีล้วนหรือภาคปฏิบัติล้วนไม่ได้ และแทบทุกอย่างที่เกี่ยวกับงานสมัยใหม่ก็เป็นแบบเดียวกัน
      ในแมชชีนเลิร์นนิง เราไม่สามารถอนุมานทุกอย่างจากทฤษฎีได้ ถ้าทำได้จริง เราคงไม่ประหลาดใจกับประสิทธิภาพของ large language model ขนาดใหญ่มากขนาดนั้น
      ในขณะเดียวกัน ถ้าให้เหตุผลด้วยคณิตศาสตร์ที่เกี่ยวข้องไม่ได้ ก็ยากจะเข้าใจว่าทำไมมันไม่เวิร์ก หรือมีทางเลือกอะไรบ้าง มีปัจจัยมากมายพันกันอยู่ ทั้ง architecture, loss function, activation function, วิธี optimization, hyperparameter, เวลาและทรัพยากรในการเทรน ฯลฯ
    • ตอนนี้ งานปฏิบัติด้านแมชชีนเลิร์นนิง นำหน้าทฤษฎีไปไกลมาก แม้ทฤษฎีจะตามทัน คำตอบของคำถามก็น่าจะขึ้นอยู่กับลักษณะของกระบวนการที่สร้างข้อมูล สุดท้ายจึงต้องตอบเชิงประจักษ์อยู่ดี
      ผมมองว่าคุณค่าของทฤษฎีอยู่ที่การให้กรอบแนวคิดทั่วไป คล้ายกับที่ทฤษฎีเชิง asymptotic ของ algorithm ในปัจจุบันไม่ได้บอกชัด ๆ ว่าควรใช้ algorithm ไหน แต่ช่วยชี้ทิศทางกว้าง ๆ ได้
    • ในมุมมือใหม่ แก่นที่ได้จากคอร์ส Coursera ของ Andrew Ng โดยเฉพาะส่วน neural network คือ การใส่ neuron และชั้นมากกว่า “ปริมาณขั้นต่ำที่จำเป็น” มักจะไม่เป็นไร
      ถ้าคำนึงถึง regularization term ที่สมเหตุสมผล ความเสี่ยง overfitting ก็ไม่มากนัก แต่น่าเศร้าที่ไม่มี rule สำหรับค่าขั้นต่ำนั้น เลยต้องลองผิดลองถูก ในทางกลับกัน ถ้าขยาย network แบบไม่คิดก็จะไม่มีประสิทธิภาพและสุดท้ายช้าลง
      สำหรับ activation function ใน output layer โดยมากจะถูกกำหนดจากปัญหาที่จะแก้ ส่วน layer ภายในมักเริ่มจาก ReLU แล้วค่อยลอง variant ที่พบบ่อยตาม heuristic ที่เหมาะกับปัญหา
      แน่นอนว่าควรพิจารณาใช้ model อื่นที่เคยสำเร็จกับปัญหาคล้ายกันเป็นจุดตั้งต้นด้วย
  • เรียบร้อยดีมาก นึกถึงแบบฝึกหัด AI By Hand ของ Tom Yeh: https://www.byhand.ai/

    • กำลังหวังว่าจะเจออะไรแบบนี้อยู่พอดี ขอบคุณมาก paper ในโพสต์ต้นฉบับก็ดี แต่รู้สึกว่าเข้าใจดีเฉพาะคนที่รู้อยู่แล้ว
      ตัว material เองยอดเยี่ยมสำหรับคนที่รู้อยู่แล้วจริง ๆ
  • ดูเรียบร้อยดี แต่เสียดายที่มีคำตอบอยู่ถัดจากโจทย์ทันที ทำให้อ่านคำตอบของข้อถัดไปก่อนจะได้คิดเองแทบเลี่ยงไม่ได้

  • ดีมากจริง ๆ ผมทำงานด้านแมชชีนเลิร์นนิงอยู่ แต่ยังมี impostor syndrome เรื่องพื้นฐานคณิตศาสตร์ โดยเฉพาะ linear algebra และการคำนวณ matrix/tensor
    อยากรู้ว่ามีชุดโจทย์อื่น ๆ ที่โฟกัสทักษะพื้นฐานของ deep learning ไหม วิธีที่เหมาะกับผมที่สุดคือทำเองทีละนิดทุกวัน และเรียนจากมุมมองของผู้สอนหลาย ๆ คน

  • ในหมู่คนทำงานจริงที่กำลังสร้างแมชชีนเลิร์นนิงที่ “มีประโยชน์” อยู่ตอนนี้ จะมีสักกี่คนที่แก้โจทย์บางส่วนนี้ได้? แล้วจำเป็นต้องทำได้ไหม?

    • ผมว่าไม่ ไม่จำเป็นต้องแก้ได้หรือควรต้องทำได้
      แบบฝึกหัดแบบนี้มีประโยชน์ต่อ ความเป็นผู้ใหญ่ทางคณิตศาสตร์ ที่นำไปสู่ intuition ที่จำเป็นในการพัฒนา algorithm ใหม่หรือ low-level optimization
      กรณีทั่วไปที่แค่เทรน deploy และใช้งาน algorithm แมชชีนเลิร์นนิงที่มีอยู่แล้ว ไม่จำเป็น
    • ข่าวดีคือ ถ้าไม่ได้สนใจจะต่อยอดเทคนิกล่าสุด และแค่อยาก เรียก API ก็ไม่จำเป็นต้องเรียนแมชชีนเลิร์นนิงลึก ๆ
    • ขึ้นอยู่กับว่านิยาม “ผู้ปฏิบัติงานด้านแมชชีนเลิร์นนิง”, “สร้าง”, และ “แมชชีนเลิร์นนิง” อย่างไร ถ้าดูส่วน optimization จะเห็นว่าบางคนเข้าใจเรื่องนี้ดีมากจนสามารถวนคิดในหัวได้เร็ว ๆ ว่า loss function แบบไหนเป็นไปได้ วิธี update parameter เป็นอย่างไร และจุดไหนอาจล้มเหลว
    • บางคนมองการเรียนเป็นงานจุกจิก และอยากเรียนแค่ขั้นต่ำที่จำเป็นเพื่อทำงานให้เสร็จ ส่วนบางคนได้ insight และความสนุกจากการเรียน ชอบแก้โจทย์และอ่าน material
      ทั้งสองแนวทางมีส่วนร่วมและนำไปสู่ความสำเร็จได้ แต่รูปแบบต่างกัน
    • ผมก็สงสัยเรื่องเดียวกัน ทำงานเป็น machine learning engineer มาหลายปี และมีปริญญาในสาขานี้อยู่สองสามใบ
      ลองกวาดตาดูเอกสารแล้วแทบทั้งหมดพอจำได้ แต่ถ้าถูกถามแบบไม่มีบริบท คงนึกหัวข้อหลายอย่างไม่ออก ครั้งหนึ่งอาจเคยทำได้ก็ได้
      อยากรู้ว่าคนอื่น ๆ จำเรื่องพวกนี้ได้ประมาณไหน ไม่รู้ว่าผมเป็นพวกหลอกลวงที่เดิมทีก็ไม่เก่งคณิตศาสตร์อยู่แล้ว หรือเป็นเรื่องปกติที่ถ้าไม่ได้ใช้เป็นประจำก็ลืมไปตามเวลา
  • สวยงามตรงที่มีคำตอบให้ด้วย สนใจถ้ามี แบบฝึกหัดใช้กระดาษกับปากกา แบบนี้ในหัวข้ออื่น ๆ อีก

    • ไม่แน่ใจว่าหมายถึงหัวข้ออื่นแบบไหน แต่แค่ “1000 exercises in probability” ก็ทำให้ยุ่งไปได้พักใหญ่แล้ว หา PDF ออนไลน์ได้
      ถ้าเป็นปริศนาแนวคณิตศาสตร์อื่น ๆ ก็ดู “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
    • เป็นมุมมองที่น่าสนใจ แนะนำ material ที่ให้ความสำคัญกับเทคนิคเชิงคำนวณมากกว่า proof เชิงสัญลักษณ์ ได้ไหม?
    • น่าสนใจ ช่วยแชร์ตัวอย่างแบบนั้นสักอันได้ไหม?
  • arXiv ไม่ใช่ที่สำหรับ paper ระดับงานวิจัยหรอกหรือ? แปลกใจที่ material แบบนี้ถูกอัปขึ้นไปที่นั่น