28 ม.ค. 2023 เวลา 10:07 • วิทยาศาสตร์ & เทคโนโลยี

สรุปหนังสือ AI and Machine Learning for Coders

แต่งโดย “หัวหน้าทีมวิจัย AI” ของ Google และหนึ่งในผู้คิดค้น TensorFlow
2
วิศวกร AI ส่วนใหญ่ มักพูดจายาก ฟังไม่ค่อยรู้เรื่อง แต่ “ลอเรนซ์ โมโรนีย์” กลับใช้ภาษาที่เข้าใจง่าย สั้น และรัดกุม อ่านปุ๊บสร้างโมเดล AI ได้ปั๊บตั้งแต่บทที่ 2 ทำให้การสร้างโมเดล AI เป็นเรื่องสนุกและง่ายกว่าที่คิด เหมาะสำหรับผู้เริ่มต้นไปจนถึงผู้เชี่ยวชาญ ..แค่รู้ภาษา Python ก็สร้างแอพ AI ได้โดยไม่ต้องจบดอกเตอร์ ที่สำคัญ ไม่ต้องทรมานใจกับคณิตศาสตร์ชั้นสูงและสูตรสถิติ ที่คอยบั่นทอนจิตใจคนรักโค้ด
1
หนังสือเล่มนี้ เหมาะเป็น “ก้าวแรก เพื่อเข้าวงการ AI” สำหรับหลายๆ คน และเหมาะเป็นคู่มือเพื่อต่อยอดไปยัง AI ขั้นสูง เช่น เรื่อง Reinforcement Learning, Transformer, Generative Adversarial Networks ฯลฯ และ..เมื่อ(ใจ)พร้อม ก็จะย้อนกลับมาเติมเต็มคณิตศาสตร์ชั้นสูงและสถิติได้ง่ายขึ้น เพราะเข้าใจ..ทำไมต้องมีกระบวนการคณิตศาสตร์เหล่านี้ และ..นึกภาพออก เพราะเคยลงมือปฏิบัติมาแล้ว
อีก 2 สาเหตุที่ทำให้เล่มนี้อ่านง่าย เพราะ โมโรนีย์ เป็นครูของเหล่าวิศวกรใน Google เขาเป็นหัวหน้าทีมวิจัยพัฒนา AI ของ Google ที่ชื่อว่า AI Advocacy นอกจากนี้ยังเป็นครูสอนวิชา AI ที่ Coursera, สาเหตุที่สอง เพราะโมโรนีย์ เคยประสบปัญหาความยากในการใช้งาน AI ตั้งแต่สมัยที่ยังใช้ C++ (สมัยนั้น TensorFlow ยังใช้ชื่อเก๋ๆ ว่า DisBelief) จากนั้นจึงเปลี่ยนมาใช้ภาษา Python
เขายังเห็นความยากในการเขียนโค้ด กว่าจะเริ่มงานแต่ละโปรเจกต์ มีความลำบากมาก จึงพยายามรวบรวมสูตรคณิตศาสตร์ต่างๆ มาเป็นชุดคำสั่งฟังก์ชันสำเร็จรูป เพื่อเรียกใช้ง่ายๆ ซึ่งนั่น...จึงเป็นที่มาของเฟรมเวิร์ก TensorFlow รวมทั้งผนวกเอาไลบรารี Keras เข้าเสริม ทำให้ TensorFlow กลายเป็นเฟรมเวิร์กอันดับหนึ่ง และใช้งานได้ง่ายพอๆ กับ PyTorch
นอกจากนี้ โรโมนีย์ยังพบปัญหาความยากในการปรับใช้โมเดล (deployment) ในโลกความเป็นจริงที่ไม่ใช่แค่งานวิจัย พบว่าเฟรมเวิร์กส่วนใหญ่ไม่เป็น end-to-end solution สำหรับองค์กร ไม่มีกลไกวิเคราะห์เดต้า, ปัญหาการบำรุงรักษา, การสเกล, การแปลงไปแพลตฟอร์มอื่น ฯลฯ จึงปรับปรุง TensorFlow ให้สามารถใช้โค้ดเดียว แต่รันบนหลายแพลตฟอร์มได้ มีรันไทม์สนับสนุนตั้งแต่คลาวด์ เซิร์ฟเวอร์ บราวเซอร์ ไปจนถึงมือถือ และทำงานร่วมกับ Java, JavaScript, iOS และ Android ได้
ด้วยความเป็นครู อยากทำให้ทุกอย่างง่ายและข้ามแพลตฟอร์มได้ จึงกลายมาเป็นหนังสือเล่มนี้ “AI and ML for Coders” หนังสือเล่มนี้มี 20 บท โดยแบ่งเป็น 2 ส่วน ส่วนแรกเกี่ยวกับการ “สร้างโมเดล” เริ่มตั้งแต่บทที่ 1 สอนให้เข้าใจว่าโปรแกรมดั้งเดิมมีข้อจำกัดอย่างไร แล้ว ML เข้ามาแก้ปัญหาได้อย่างไร ตามมาด้วย TensorFlow คืออะไร มีเครื่องมืออะไรบ้าง จากนั้นสอนวิธีการโหลดใช้ TensorFlow ซึ่งอยากแนะนำให้ใช้บน Google Colab เพราะง่าย ไลบรารีครบ และสะดวกที่สุด
บทที่ 2 เป็นเรื่องคอมพิวเตอร์วิชั่น, เรื่องคอนโวลูชันนอลนิวรอนเน็ตเวิร์ก (CNN) ซึ่งผมไม่เคยเห็นใครอธิบายคำว่า convolution ได้ง่ายและชัดเจนเท่านี้มาก่อน ส่วนใหญ่มักจะแปล “ทับศัพท์” โดยไม่บอกที่มาของชื่อ โมโรนีย์อธิบายได้ง่ายในฉบับภาษาอังกฤษว่า มันคือ "การกรอง” A convolution is simply "a filter" of weights ส่วนเล่มฉบับภาษาไทย ทำได้ดีไปกว่านั้นอีก เมื่อผู้แปลเรียบเรียงหนังสือ ค้นคว้าและเขียนเพิ่มเติมจากฉบับภาษาอังกฤษว่า
...convolute ในทางคณิตศาสตร์ หมายถึงการผสมรวมฟังก์ชั่นที่อิงเวลา 2 ฟังก์ชั่นขึ้นไปเข้าด้วยกัน ...ซึ่งช่วยขยายสัญญาณที่ต้องการ และลดสัญญาณส่วนที่ไม่ต้องการได้ ...แต่ในกรณีของ CNN จะเป็นการผสมรวมข้อมูลเมทริกซ์ 2 ชุดแล้วได้ข้อมูลใหม่ เพื่อกรองสัญญาณที่ต้องการ ให้ชัดเจน เล็ก และเร็วต่อการประมวลผล...
จากหนังสือฉบับภาษาไทย
บทที่ 3 ถึง 11 เนื้อหาครอบคลุมตั้งแต่เรื่อง augmentation เทคนิคเพิ่ม-เสริมจำนวนข้อมูลที่ไม่เพียงพอ, การลดขนาดข้อมูลแบบ pooling, การถ่ายโอนความรู้ transfer learning ไม่ต้องสร้างโมเดลโดยเริ่มจากศูนย์, การเพิ่มประสิทธิภาพโมเดลในแบบต่างๆ, การสุ่มออก dropout, เทคนิคปรับปรุงประสิทธิภาพการเทรน, การทำ tokenization สำหรับโมเดลภาษา, การจับความรู้สึกข้อความ ด้วยเทคนิค embedding,
การลดโอเวอร์ฟิตและเรคกิวลาไรเซชันทั้งสำหรับโมเดลภาษาแบบ LSTM และ RNN, การแต่งบทกวีด้วย TensorFlow, โมเดลอนุกรมเวลาและลำดับโดยใช้คอนโวลูชันและรีเคอร์เรนต์ ซึ่งเป็นพื้นฐานก่อนที่จะไปศึกษาเรื่อง Transformer ซึ่งเป็นรากฐานของ GPT-3 หรือ ChatGPT ของ OpenAI อนึ่ง เล่มนี้ยังไม่มีเรื่องของ position embedding, attention และ self-attention ของ Transformer
ส่วนที่ 2 ของหนังสือตั้งแต่บทที่ 12-20 เกี่ยวข้องกับ “วิธีการนำโมเดล ไปใช้กับแพลตฟอร์มต่างๆ” การแปลงโมเดลให้เล็กเพื่อไปรันบนคอมพิวเตอร์ขนาดเล็ก และโอเอสมือถือค่ายต่างๆ ด้วย TensorFlow Lite, การแปลงโมเดลไปใช้บนบราวเซอร์โดยใช้ TensorFlow.js และบนเซิร์ฟเวอร์โดยใช้ TensorFlow Serving และเรื่องจริยธรรมการใช้ AI, การใช้ Federated Learning สอนวิธีสร้างแอพมือถือ โดยไม่ต้องรู้ข้อมูลส่วนตัวยูสเซอร์ แต่สามารถสกัดฟีเจอร์ข้อมูลที่จำเป็นได้ เพื่อนำไปเทรนโมเดล
แม้หนังสือเล่มนี้ ยังไม่มีเรื่อง reinforcement learning, GAN, Transformer, feedforward RBFN ฯลฯ แต่ถ้าอ่านหนังสือเล่มนี้จบ ก็คงไม่ยากที่จะหาความรู้เพิ่มเติมเองได้ที่ Kaggle, GitHub, Reddit ฯลฯ ส่วนการเริ่มต้นด้วย TensorFlow แล้วจะขยับไปใช้เฟรมเวิร์กอื่นอย่าง PyTorch, AWS, Azure, MX Net, ONNX ฯลฯ ก็ไม่น่าจะยากใดๆ เพราะผ่านเรื่องที่ยากกว่านั้นมาแล้ว !
อนึ่ง หนังสือเล่มนี้ ถ้าเป็นเวอร์ชันภาษาอังกฤษประมาณ 37 ดอลลาร์ แต่ขายในไทยประมาณ 2 พันต้นๆ ถ้าฉบับภาษาไทย ราคาจะถูกกว่าสัก 2 เท่า อย่างที่กล่าวไว้ตอนต้น เล่มนี้แต่งโดยหัวหน้า AI ของกูเกิ้ลและหนึ่งในผู้สร้าง TensorFlow ที่สำคัญ อ่านง่าย เพราะเขียนด้วยอารมณ์ของความเป็นครูของโมโรนีย์ จึง..เหมาะเป็น “ก้าวแรก เพื่อเข้าสู่วงการ AI” สำหรับหลายๆ คนอย่างแท้จริง
2
โฆษณา