1151 คำ
6 นาที
AI 101 EP.08 — Algorithm กับ Hyperparameter — อัลกอริทึมคืออะไร ปรับจูนทำไม
สารบัญ
ลองนึกภาพฉากนี้ดูครับ ทำไมผมถึงคิดว่าเจ้าของกิจการควรรู้สองคำนี้ Algorithm คืออะไร — “สูตรหรือวิธีที่โมเดลใช้เรียน” อัลกอริทึมมีหลายแบบ เหมือนวิธีสอนมีหลายสไตล์ ระวังสับสน — อัลกอริทึม ไม่เท่ากับ โมเดล แล้ว Hyperparameter ล่ะ — “ปุ่มที่คนตั้ง ก่อนปล่อยให้มันเรียน” ปุ่มที่ 1 — “ให้มันเรียนเร็วแค่ไหน” ปุ่มที่ 2 — “ให้มันทบทวนบทเรียนกี่รอบ” ปุ่มที่ 3 — “ให้มันดูข้อมูลทีละกี่ชิ้น” ปุ่มที่ 4 — “ให้โครงสร้างมันใหญ่แค่ไหน” ขอรวบปุ่มทั้งหมดไว้ในตารางเดียว เผื่อกลับมาเปิดดู สรุปความต่าง ให้เห็นภาพชัดๆ ในตารางเดียว แล้ว “การจูน” คืออะไร ทำไมถึงสำคัญนัก ลองดูว่าการจูนหนึ่งรอบมันเป็นยังไง ทำไมจูนถึงยาก — เพราะปุ่มมันเยอะ และมันกวนกันเอง จูนดี กับ จูนไม่ดี ต่างกันแค่ไหน สองหลุมพรางที่การจูนคอยระวัง — “เรียนไม่พอ” กับ “ท่องจำเกิน” มันคืองาน “ลองผิดลองถูก” ที่ต้องใช้ทั้งประสบการณ์และความอดทน ”สามวัตถุดิบ” ที่ทำให้ AI ตัวหนึ่งออกมาดีหรือแย่ ทำไมเจ้าของกิจการอย่างเราต้องรู้เรื่องนี้ คำถามที่ผมมักโดนถามบ่อยเรื่องนี้ สรุปสั้นๆ ส่งท้าย

AI 101 — ปัญญาประดิษฐ์ฉบับภาษาคน · Part 1 (เบื้องหลัง: AI ทำงานยังไง) ซีรีส์นี้ผมเขียนให้เจ้าของกิจการกับคนทำงานทั่วไปที่ไม่ใช่สาย IT อ่านสนุกๆ แต่ได้ของกลับไปใช้จริง ไม่มีศัพท์ยากๆ ขู่ให้กลัว ไม่มีคณิตศาสตร์มาหลอน ตอนนี้เป็นเรื่อง “Algorithm กับ Hyperparameter” — สองคำที่คนทำ AI พูดกันทั้งวัน แต่เจ้าของกิจการอย่างเราฟังแล้วงงว่ามันคืออะไร แล้วมันเกี่ยวอะไรกับเงินที่เราจ่าย (สารบัญเต็มของซีรีส์จะตามมาทีหลังนะครับ)

ลองนึกภาพฉากนี้ดูครับ#

สมมติว่าคุณเปิดร้านขนมเล็กๆ แล้วอยากได้สูตรเค้กช็อกโกแลตที่อร่อยที่สุดในย่าน คุณเลยไปจ้างเชฟมาคนหนึ่งให้ช่วยคิดสูตร

เชฟคนนี้ไม่ได้เสกสูตรออกมาจากอากาศนะครับ เขามี “วิธีคิดสูตร” ของเขาอยู่ คือเขาจะลองอบเค้กออกมาหนึ่งถาด ชิม จดว่าหวานไปไหม แห้งไปไหม แล้วปรับส่วนผสมรอบถัดไป อบใหม่ ชิมใหม่ ปรับใหม่ วนแบบนี้ไปเรื่อยๆ จนกว่าจะได้เค้กที่ลงตัว — “วิธีลอง-ชิม-ปรับ-วนซ้ำ” ตรงนี้แหละครับ คือสิ่งที่ในโลก AI เขาเรียกว่า “อัลกอริทึม”

ทีนี้ก่อนเชฟจะเริ่มทำงาน คุณในฐานะเจ้าของร้านต้องไปตั้งกติกาให้เขาก่อน เช่น “แต่ละรอบให้ปรับส่วนผสมทีละนิดนะ อย่าใจร้อนเทน้ำตาลเพิ่มทีละครึ่งถุง” หรือ “ให้ลองอบทั้งหมดกี่รอบถึงจะพอ” หรือ “เตาให้เปิดร้อนแค่ไหน” — กติกาที่คุณตั้งให้เชฟ ก่อนที่เขาจะลงมือ ตรงนี้แหละครับคือสิ่งที่เขาเรียกว่า “hyperparameter”

เห็นไหมครับว่ามันเป็นคนละเรื่องกัน อย่างหนึ่งคือ “วิธีที่เชฟใช้คิดสูตร” อีกอย่างคือ “ปุ่มที่คุณหมุนตั้งค่าให้เชฟก่อนเริ่ม” สองตัวนี้คนชอบเอามาปนกัน วันนี้ผมจะแยกให้เห็นภาพชัดๆ แบบไม่ต้องแตะเลขสักตัวเลยครับ

ทำไมผมถึงคิดว่าเจ้าของกิจการควรรู้สองคำนี้#

ก่อนจะลงรายละเอียด ผมขออธิบายก่อนว่าทำไมถึงเอาสองคำนี้มาเล่า เพราะบางคนอาจจะคิดว่า “เรื่องเทคนิคลึกๆ แบบนี้ ปล่อยให้ทีมไอทีปวดหัวไปเถอะ ฉันเป็นเจ้าของร้าน ฉันรู้ทำไม”

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

เรื่อง AI ก็เหมือนกันครับ คุณไม่จำเป็นต้องลงไปทำเองหรือเขียนโปรแกรมเป็น แต่ถ้าคุณรู้จัก “คำหลักๆ” ไม่กี่คำ พอให้คุยกับทีมหรือ vendor รู้เรื่อง คุณจะถามคำถามได้ตรงจุด รู้ว่าเขากำลังทำอะไรอยู่ และที่สำคัญที่สุด — ไม่โดนป้ายยาง่ายๆ สองคำที่ผมเลือกมาเล่าวันนี้ คือคำที่คุณจะได้ยินบ่อยที่สุดเวลาทีมเทคพูดถึงการสร้างหรือปรับปรุง AI ครับ รู้ไว้ไม่เสียหาย

Algorithm คืออะไร — “สูตรหรือวิธีที่โมเดลใช้เรียน”#

เริ่มที่ตัวแรกก่อน Algorithm (อ่านว่า อัล-กอ-ริ-ทึม แปลแบบบ้านๆ คือ “สูตร” หรือ “ขั้นตอนวิธีทำงาน”) ครับ

จริงๆ คำนี้ไม่ได้มีอะไรลึกลับเลยนะครับ อัลกอริทึมก็คือ ลำดับขั้นตอนที่บอกว่า “ทำอะไรก่อน-หลัง เพื่อให้ได้ผลลัพธ์ที่ต้องการ” เหมือนสูตรทำอาหารที่บอกว่าตอกไข่ก่อน ตามด้วยตีให้ขึ้นฟู แล้วค่อยเทแป้ง — ทำตามลำดับนี้แล้วจะได้ขนม นั่นแหละครับอัลกอริทึมในชีวิตประจำวัน

ที่จริงคุณใช้อัลกอริทึมอยู่ทุกวันโดยไม่รู้ตัวด้วยซ้ำครับ เวลาคุณสอนพนักงานใหม่ว่า “ลูกค้าเข้ามา ให้ทักทายก่อน ถามว่าหาอะไร ถ้ามีของก็พาไปดู ถ้าไม่มีก็แนะนำตัวใกล้เคียง” — นั่นก็คืออัลกอริทึมการต้อนรับลูกค้าที่คุณคิดขึ้นมาเอง เป็นลำดับขั้นตอนที่ทำตามแล้วได้ผลที่ต้องการ ฉะนั้นพอเจอคำนี้ในข่าวหรือในที่ประชุม ไม่ต้องตกใจครับ มันแค่แปลว่า “วิธีทำงานเป็นขั้นเป็นตอน” เท่านั้นเอง

แต่ในโลก AI อัลกอริทึมที่เราพูดถึง มันคือ “วิธีที่โมเดลใช้เรียนรู้จากข้อมูล” ครับ ผมขอเน้นคำว่า “เรียนรู้” เพราะนี่คือหัวใจ

ลองนึกภาพแบบนี้ครับ — สมมติคุณมีรูปแมวกับรูปหมาอยู่เป็นพันรูป แล้วคุณอยากสอนให้คอมพิวเตอร์ดูรูปออกเองว่าอันไหนแมวอันไหนหมา คุณจะไม่ได้นั่งเขียนกฎเป๊ะๆ ว่า “ถ้าหูแหลม + หนวดยาว = แมว” หรอกครับ เพราะมันมีข้อยกเว้นเต็มไปหมด

สิ่งที่คุณทำคือ คุณเอา “อัลกอริทึมการเรียน” มาตัวหนึ่ง แล้วป้อนรูปทั้งพันให้มันดู อัลกอริทึมตัวนี้จะค่อยๆ “จับสังเกตเอง” ว่าลักษณะแบบไหนมักจะเป็นแมว ลักษณะแบบไหนมักจะเป็นหมา มันเดาผิดบ้างในตอนแรก แล้วก็ค่อยๆ ปรับความเข้าใจของตัวเองให้แม่นขึ้นเรื่อยๆ ทุกครั้งที่เดาผิด — เหมือนเชฟที่ชิมแล้วปรับสูตรนั่นแหละครับ

ผมขอเล่าให้ละเอียดขึ้นอีกนิดว่ามัน “เรียน” ยังไง เพราะตรงนี้คือหัวใจที่ทำให้ AI ต่างจากโปรแกรมธรรมดา ลองนึกภาพว่าคุณเอารูปแรกให้มันดู มันยังไม่รู้อะไรเลย ก็เดามั่วไปก่อนว่า “หมา” แต่เฉลยจริงคือ “แมว” พอรู้ว่าเดาผิด อัลกอริทึมก็จะ ขยับความเข้าใจของตัวเองนิดนึง ให้รอบหน้าเดาใกล้เคียงคำตอบที่ถูกขึ้น แล้วก็ดูรูปต่อไป เดา เช็คเฉลย ขยับอีกนิด วนแบบนี้ไปเป็นพันเป็นหมื่นรอบ จนพอเดาแม่นขึ้นเรื่อยๆ

จุดที่ผมอยากให้สังเกตคือ เราไม่ได้บอกมันตรงๆ เลยนะครับว่า “แมวคืออะไร” เราแค่เอาตัวอย่างเยอะๆ ให้ดู แล้วปล่อยให้อัลกอริทึมไปสรุปกฎเกณฑ์เอาเอง ว่าอะไรทำให้รูปนึงเป็นแมว นี่แหละครับคือความมหัศจรรย์ของ “การเรียนรู้” ในแบบของ AI มันไม่ใช่การจำกฎที่คนเขียนให้ แต่เป็นการ ค้นหากฎเองจากตัวอย่าง และอัลกอริทึมก็คือ “วิธีค้นหากฎ” นั้นเองครับ

💡 มุมเจ้าของกิจการ: อัลกอริทึมเปรียบเหมือน “วิธีการสอน” ของครู ส่วน “โมเดล” ที่ได้ออกมา เปรียบเหมือน “นักเรียนที่เรียนจบแล้ว” — ครูคนเดียวกัน (อัลกอริทึมเดียวกัน) ถ้าเอาไปสอนเด็กคนละกลุ่ม (ข้อมูลคนละชุด) ก็ได้นักเรียนที่เก่งคนละแบบกัน เวลามี vendor บอกว่า “เราใช้อัลกอริทึมตัวเทพ” คุณถามต่อได้เลยครับว่า “แล้วเอาข้อมูลอะไรไปสอนมัน” เพราะข้อมูลสำคัญพอๆ กับวิธีสอนเลย

อัลกอริทึมมีหลายแบบ เหมือนวิธีสอนมีหลายสไตล์#

ในโลก AI ไม่ได้มีอัลกอริทึมแค่ตัวเดียวนะครับ มันมีหลายตระกูล เหมือนครูแต่ละคนมีสไตล์การสอนต่างกัน บางคนชอบให้ท่องจำ บางคนชอบให้ลองผิดลองถูก บางคนชอบวาดแผนภาพ

ผมไม่อยากให้คุณไปจำชื่อมันเป๊ะๆ หรอกครับ เดี๋ยวปวดหัวเปล่าๆ แต่ขอยกตัวอย่างให้เห็นภาพว่ามันต่างสไตล์กันยังไง พอเป็นน้ำจิ้ม —

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

ที่ผมยกตารางนี้ขึ้นมา ไม่ได้จะให้ท่องนะครับ แค่อยากให้เห็นว่า “การเลือกอัลกอริทึม” ก็เหมือนการเลือกครูให้ตรงกับวิชา — จะสอนเด็กให้เก่งวาดรูป คุณคงไม่เอาครูคณิตไปสอน ใช่ไหมครับ คนทำ AI เขาก็ต้องเลือกอัลกอริทึมให้เข้ากับงานเหมือนกัน

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

ระวังสับสน — อัลกอริทึม ไม่เท่ากับ โมเดล#

ตรงนี้เป็นจุดที่คนงงบ่อยมาก ผมขอแยกให้ชัดเลยครับ เพราะมันมักถูกพูดปนกัน —

  • อัลกอริทึม = “วิธีเรียน” คือสูตรหรือกระบวนการที่ใช้ในการเรียนรู้ (ยังไม่ได้เรียนอะไร เป็นแค่วิธี)
  • โมเดล = “ผลลัพธ์ที่เรียนจบแล้ว” คือสิ่งที่ได้ออกมาหลังจากเอาอัลกอริทึมไปป้อนข้อมูลจนเรียนเสร็จ พร้อมใช้งานจริง

เปรียบให้เห็นภาพ — อัลกอริทึมเหมือน “หลักสูตรการสอนทำอาหาร” ส่วนโมเดลเหมือน “เชฟที่เรียนจบหลักสูตรนั้นแล้ว” หลักสูตรเดียวกัน เอาไปสอนคนละคน ฝึกกับวัตถุดิบคนละแบบ ก็ได้เชฟที่ถนัดคนละอย่าง คนนึงเก่งของหวาน อีกคนเก่งอาหารทะเล

เวลาเราใช้งาน ChatGPT หรือแอป AI ต่างๆ สิ่งที่เราคุยด้วยจริงๆ คือ “โมเดล” (เชฟที่เรียนจบแล้ว) ไม่ใช่ “อัลกอริทึม” (หลักสูตร) ครับ อัลกอริทึมมันทำงานหน้าที่ของมันไปแล้วตั้งแต่ตอนสร้าง — เปรียบเหมือนหลักสูตรที่ใช้ปั้นเชฟเสร็จไปแล้ว เราเลยไม่เห็นมันตอนใช้งาน

สรุปหัวใจของอัลกอริทึม: มันคือ “วิธี” หรือ “สูตร” ที่โมเดลใช้เรียนรู้จากข้อมูล มันคือกระบวนการลอง-ผิด-ปรับ-จนเก่งขึ้น ตัวมันเองคนทำ AI เป็นคนเลือกว่าจะใช้สไตล์ไหน แต่พอเลือกแล้ว มันจะเรียนเอง สังเกตเอง ปรับตัวเองไปเรื่อยๆ จนกลายเป็น “โมเดล” ที่พร้อมใช้งาน

แล้ว Hyperparameter ล่ะ — “ปุ่มที่คนตั้ง ก่อนปล่อยให้มันเรียน”#

ทีนี้มาถึงตัวที่คนสับสนกับอัลกอริทึมบ่อยที่สุด คือ Hyperparameter (อ่านว่า ไฮ-เปอร์-พา-รา-มิ-เตอร์ แปลแบบบ้านๆ คือ “ค่าตั้งต้น” หรือ “ปุ่มปรับที่คนหมุนเอง”)

ผมเข้าใจว่าคำนี้มันยาวและฟังดูน่ากลัวมาก แต่ใจความจริงๆ ง่ายนิดเดียวครับ —

hyperparameter คือ “ปุ่มหรือค่าต่างๆ ที่คนทำ AI ต้องตั้งเอาไว้เอง ก่อนที่จะปล่อยให้อัลกอริทึมเริ่มเรียน”

จำเชฟทำเค้กตอนต้นเรื่องได้ไหมครับ? วิธีลอง-ชิม-ปรับของเชฟ = อัลกอริทึม แต่กติกาที่คุณตั้งให้เชฟก่อนเริ่ม เช่น “ปรับส่วนผสมทีละนิดนะ” “ลองอบกี่รอบ” “เตาร้อนแค่ไหน” — พวกนี้แหละครับคือ hyperparameter มันคือ “ค่าที่อัลกอริทึมเรียนเองไม่ได้ ต้องมีคนมานั่งตั้งให้”

ผมว่าจริงๆ แล้วคุณคุ้นเคยกับเรื่อง “ตั้งค่าก่อนเริ่ม” แบบนี้มากกว่าที่คิดนะครับ ลองนึกถึงตอนคุณตั้งหม้อหุงข้าวดูสิ — ก่อนกดปุ่ม คุณต้องตัดสินใจก่อนว่าจะใส่น้ำแค่ไหน เลือกโหมดข้าวสวยหรือข้าวต้ม พวกนี้คุณตั้งเอง หม้อมันตั้งเองไม่ได้ พอกดเริ่มแล้ว หม้อก็ทำงานของมันไปตามที่คุณตั้งไว้ ทีนี้ “ค่าที่คุณตั้งก่อนกดเริ่ม” นั่นแหละครับคือสิ่งที่เทียบได้กับ hyperparameter ส่วน “กลไกการหุงข้าวข้างในหม้อ” ก็เทียบได้กับอัลกอริทึม เห็นไหมครับว่ามันไม่ได้ไกลตัวเลย เราตั้งค่าแบบนี้กันอยู่ทุกวันโดยไม่รู้ตัว

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

ผมขอยกปุ่มที่เจ้าของกิจการพอจะนึกภาพออกมาให้ดูสัก 4 ปุ่ม โดยใช้คำบ้านๆ นะครับ (ของจริงเขามีชื่อทางเทคนิคของมัน แต่ผมจะแปลให้เป็นภาษาคน) —

ปุ่มที่ 1 — “ให้มันเรียนเร็วแค่ไหน”#

ปุ่มนี้น่าจะเป็นปุ่มที่ดังที่สุดและเข้าใจง่ายที่สุดครับ ชื่อทางเทคนิคเขาเรียกว่า learning rate (เลิร์นนิ่งเรท แปลตรงตัวคือ “อัตราการเรียนรู้”)

ลองนึกภาพแบบนี้ครับ — สมมติคุณกำลังหัดเดินลงเขาในที่มืด เป้าหมายคือเดินไปให้ถึงจุดต่ำสุดของหุบเขา

  • ถ้าคุณ ก้าวทีละก้าวใหญ่ๆ คุณจะลงเร็วก็จริง แต่เสี่ยงก้าวข้ามจุดต่ำสุดไปเลย แล้วเดินวนไปวนมาหาไม่เจอสักที
  • ถ้าคุณ ย่องทีละก้าวเล็กๆ คุณจะค่อยๆ คลำหาจุดต่ำสุดได้แม่นมาก แต่กว่าจะถึงก็ใช้เวลานานมหาศาล

“ขนาดของก้าว” ตรงนี้แหละครับคือ learning rate ถ้าคนทำ AI ตั้งให้มันเรียนเร็วเกินไป (ก้าวใหญ่ไป) โมเดลจะมั่ว เรียนไม่นิ่งสักที แต่ถ้าตั้งให้ช้าเกินไป (ก้าวเล็กไป) ก็เสียเวลาและเสียเงินค่าเครื่องไปเปล่าๆ กว่าจะเรียนจบ — เป้าหมายคือหา “ก้าวที่พอดี” ครับ

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

ปุ่มที่ 2 — “ให้มันทบทวนบทเรียนกี่รอบ”#

อีกปุ่มที่เข้าใจง่ายคือ “จะให้โมเดลดูข้อมูลทั้งกองวนซ้ำกี่รอบ” ครับ

เหมือนเด็กอ่านหนังสือสอบนั่นแหละครับ —

  • อ่าน รอบเดียว ก็อาจจะยังจำไม่หมด ทำข้อสอบได้ไม่ดี (ในวงการเรียกอาการนี้ว่า underfitting หรือ “เรียนไม่พอ”)
  • แต่ถ้าอ่าน ซ้ำเป็นร้อยรอบ จนท่องได้ทุกตัวอักษร พอเจอข้อสอบที่ถามพลิกนิดเดียว กลับทำไม่ได้ เพราะเอาแต่ท่องจำ ไม่ได้เข้าใจจริง (อาการนี้เรียกว่า overfitting หรือ “ท่องจำจนเกินไป จำเฉพาะของเดิม พอเจอของใหม่ก็จ๋อย”)

เห็นไหมครับว่ามันต้อง “พอดีๆ” อีกแล้ว ตั้งน้อยไปก็เรียนไม่พอ ตั้งมากไปก็ท่องจำเกินจนใช้กับของจริงไม่ได้ คนทำ AI ต้องคอยดูตรงนี้

ปุ่มที่ 3 — “ให้มันดูข้อมูลทีละกี่ชิ้น”#

ปุ่มสุดท้ายที่ผมขอยกเป็นตัวอย่าง คือ “แต่ละครั้งที่โมเดลปรับตัว ให้มันดูข้อมูลทีละกี่ชิ้น” ครับ

เหมือนการตรวจการบ้านนักเรียนนั่นแหละ — จะตรวจทีละใบแล้วให้คอมเมนต์ทันที (ละเอียดดีแต่ช้า) หรือจะรวบมาตรวจทีละปึกใหญ่ๆ แล้วค่อยให้คอมเมนต์รวม (เร็วกว่าแต่หยาบกว่านิดหน่อย) ตรงนี้ก็เป็นปุ่มที่คนต้องเลือกตั้งเหมือนกัน

ปุ่มที่ 4 — “ให้โครงสร้างมันใหญ่แค่ไหน”#

ปุ่มสุดท้ายที่ผมอยากเล่า คือเรื่อง “ขนาด” หรือ “ความซับซ้อน” ของโมเดลครับ พูดง่ายๆ คือ เราจะให้สมองของมันใหญ่แค่ไหน มีชั้นการคิดซ้อนกันกี่ชั้น

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

โมเดล AI ก็เหมือนกัน ตั้งให้ “สมองเล็กไป” มันก็เรียนงานยากๆ ไม่ไหว แต่ตั้งให้ “สมองใหญ่เกินงาน” ก็เปลืองทรัพยากร ฝึกช้า แถมยังเสี่ยงไปจำขยะรายละเอียดที่ไม่จำเป็นอีก (ปัญหาท่องจำเกินที่ผมจะเล่าต่อไป) ความพอดีอีกแล้วครับ

ผมยกมา 4 ปุ่มพอเป็นน้ำจิ้มนะครับ ของจริงมันมีปุ่มให้หมุนเยอะกว่านี้อีกเยอะมาก แต่ใจความสำคัญที่ผมอยากให้จำคือ ปุ่มพวกนี้ “อัลกอริทึมตั้งเองไม่ได้” ต้องมีคนมานั่งหมุนเอง และการหมุนให้ลงตัวนี่แหละคือศิลปะ สังเกตไหมครับว่าเกือบทุกปุ่มที่ผมเล่ามา มันมีคำว่า “พอดี” โผล่มาตลอด ไม่ใช่ยิ่งมากยิ่งดี ไม่ใช่ยิ่งเร็วยิ่งดี แต่เป็นการหา “จุดพอดี” ของแต่ละปุ่ม และนี่แหละครับคือเหตุผลที่งานจูนถึงได้ยากนัก

ขอรวบปุ่มทั้งหมดไว้ในตารางเดียว เผื่อกลับมาเปิดดู#

ปุ่ม (ภาษาคน)ชื่อเทคนิคที่อาจได้ยินตั้งน้อยไปตั้งมากไปเป้าหมาย
เรียนเร็วแค่ไหนlearning rateช้า เปลืองเวลามั่ว เรียนไม่นิ่งก้าวที่พอดี
ทบทวนกี่รอบจำนวนรอบฝึกเรียนไม่พอท่องจำเกินรอบที่พอดี
ดูทีละกี่ชิ้นขนาดชุดข้อมูลต่อรอบช้าแต่ละเอียดเร็วแต่หยาบสมดุลเร็ว-ละเอียด
สมองใหญ่แค่ไหนขนาด/ความซับซ้อนโมเดลเรียนงานยากไม่ไหวเปลือง+ท่องจำเกินพอดีกับงาน

(ย้ำว่าตารางนี้ผมเขียนคำเป็นภาษาบ้านๆ เองนะครับ ไม่ใช่ศัพท์ทางการเป๊ะ ตั้งใจให้เจ้าของกิจการอ่านรู้เรื่องเป็นหลัก)

สรุปความต่าง ให้เห็นภาพชัดๆ ในตารางเดียว#

ผมรู้ว่าอ่านมาถึงตรงนี้บางคนอาจจะเริ่มงงว่าตกลงสองตัวนี้ต่างกันตรงไหนกันแน่ ผมขอสรุปเทียบให้เห็นในตารางเดียวเลยครับ

Algorithm (อัลกอริทึม)Hyperparameter (ค่าตั้งต้น)
มันคืออะไรวิธี/สูตรที่โมเดลใช้เรียนรู้ปุ่ม/ค่าที่คนตั้งให้ก่อนเริ่มเรียน
ใครเป็นคนกำหนดคนเลือกว่าจะใช้สไตล์ไหน แต่พอเริ่มแล้วมันเรียน-ปรับตัวเองคนตั้งเองล้วนๆ มันตั้งเองไม่ได้
เปรียบเหมือน”วิธีลอง-ชิม-ปรับ” ของเชฟ”กติกา/คำสั่ง” ที่เจ้าของร้านตั้งให้เชฟก่อนลงมือ
ตัวอย่างสไตล์ตั้งคำถามไล่ทีละข้อ / สไตล์เลียนแบบสมองคนจะเรียนเร็วแค่ไหน / ทบทวนกี่รอบ / ดูทีละกี่ชิ้น
ตั้งตอนไหนเลือกตอนเริ่มออกแบบตั้งก่อนเริ่มเรียน แล้วคอยหมุนปรับไปเรื่อยๆ

เส้นแบ่งที่ผมอยากให้จำง่ายที่สุดคือ — อัลกอริทึมคือ “วิธีเรียน” ที่โมเดลทำเอง ส่วน hyperparameter คือ “ปุ่ม” ที่คนหมุนให้ก่อน ตัวหนึ่งเครื่องทำ อีกตัวคนทำ จำแค่นี้พอครับ

แล้ว “การจูน” คืออะไร ทำไมถึงสำคัญนัก#

มาถึงพระเอกของตอนนี้แล้วครับ — คำว่า “จูน” (มาจาก tuning ที่แปลว่า “ปรับแต่งให้เข้าที่” เหมือนจูนสายกีตาร์ให้เสียงตรง)

“การจูน hyperparameter” ก็คือ การที่คนทำ AI นั่งหมุนปุ่มต่างๆ ที่ผมเล่าไป ลองตั้งค่าแบบนี้ดูผล ไม่ดีก็เปลี่ยนค่า ลองใหม่ วนแบบนี้ไปเรื่อยๆ จนกว่าจะเจอชุดค่าที่ทำให้โมเดลเก่งที่สุด

ฟังดูเหมือนง่ายใช่ไหมครับ แค่หมุนปุ่ม แต่จริงๆ มันคืองานที่กินเวลาและกินสมองคนทำ AI มากที่สุดงานหนึ่งเลยล่ะครับ ผมจะเล่าให้ฟังว่าทำไม

ลองดูว่าการจูนหนึ่งรอบมันเป็นยังไง#

เพื่อให้เห็นภาพ ผมขอเล่าเป็นฉาก สมมติ ว่าคนทำ AI เขานั่งจูนกันยังไงนะครับ (สมมติล้วนๆ เพื่อให้เข้าใจขั้นตอน) —

  1. เขาตั้งปุ่มชุดแรกตามที่เดาว่าน่าจะดี เช่น เรียนความเร็วระดับกลาง ทบทวนสัก 10 รอบ
  2. กดปุ่มฝึก แล้วก็… รอ ครับ บางทีรอเป็นชั่วโมง บางงานใหญ่ๆ รอเป็นวันก็มี เพราะเครื่องต้องประมวลผลข้อมูลกองโต
  3. พอฝึกเสร็จ เอาโมเดลไปลองทดสอบดูว่าทายแม่นแค่ไหน — อ้าว ยังไม่ค่อยดี
  4. เขาก็มานั่งคิดว่า “เอ๊ะ มันท่องจำเกินไปหรือเปล่า ลองลดรอบทบทวนลงดีไหม” หรือ “ลองขยับความเร็วการเรียนดูไหม”
  5. ปรับปุ่ม กดฝึกใหม่ รอใหม่ ทดสอบใหม่ — วนแบบนี้ไปเรื่อยๆ

เห็นไหมครับว่าแต่ละรอบมันไม่ได้เร็วเลย มี “การรอ” คั่นอยู่ตลอด และกว่าจะเจอชุดปุ่มที่ลงตัว อาจจะต้องวนหลายสิบรอบ นี่แหละครับคือเหตุผลที่การจูนกินเวลา ไม่ใช่เพราะคนทำงานช้า แต่เพราะธรรมชาติของมันคือ “ลองแล้วรอ ลองแล้วรอ”

ทำไมจูนถึงยาก — เพราะปุ่มมันเยอะ และมันกวนกันเอง#

ลองนึกภาพเครื่องเสียงรุ่นเก่าที่มีปุ่มหมุนเป็นสิบๆ ปุ่ม — เบส แหลม กลาง เสียงสะท้อน บลาๆ ครับ ทีนี้คุณอยากได้เสียงที่เพราะที่สุด

ปัญหาคือ พอคุณหมุนปุ่มเบสเพิ่ม เสียงแหลมดันเพี้ยนตาม พอแก้แหลม กลางก็พังอีก — ปุ่มมันส่งผลกระทบถึงกันหมด หมุนตัวนึงกระทบอีกตัว เลยหาจุดที่ลงตัวพร้อมกันทุกปุ่มได้ยากมาก

การจูน hyperparameter ก็เป็นแบบนั้นเป๊ะเลยครับ ปุ่ม “เรียนเร็วแค่ไหน” กับปุ่ม “ทบทวนกี่รอบ” มันส่งผลถึงกัน คุณจะหมุนทีละปุ่มแยกกันไม่ได้ ต้องลองหลายๆ ชุดผสมกัน แล้วดูว่าชุดไหนให้ผลดีที่สุด — ซึ่งจำนวนชุดที่เป็นไปได้มันเยอะมหาศาล

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

💡 มุมเจ้าของกิจการ: เวลาทีมเทคบอกคุณว่า “ขอเวลาอีกหน่อยครับ กำลังจูนโมเดลอยู่” — เขาไม่ได้อู้งานนะครับ การจูนนี่แหละคือขั้นที่ทำให้โมเดลตัวเดิมๆ จากที่ใช้งานได้พอใช้ กลายเป็นใช้งานได้ดีจริง มันเหมือนช่างที่กำลังนั่งเซ็ตอัพรถแข่งให้ลงตัวก่อนออกสนาม เครื่องเดียวกัน แต่จูนดีกับจูนแย่ วิ่งคนละเรื่องเลยครับ

จูนดี กับ จูนไม่ดี ต่างกันแค่ไหน#

ผมขอยกตัวอย่าง สมมติ ให้เห็นภาพนะครับ (ย้ำว่าเป็นตัวอย่างที่ผมแต่งขึ้นเองเพื่อให้เห็นภาพ ไม่ใช่ตัวเลขจริงจากที่ไหน) —

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

สังเกตนะครับว่าผมไม่ได้ใส่ตัวเลขเป๊ะๆ ว่าแม่นขึ้นกี่เปอร์เซ็นต์ เพราะมันขึ้นอยู่กับงาน ข้อมูล และอีกหลายปัจจัย ผมเลยขอเล่าเป็นทิศทางว่า “จากใช้ไม่ค่อยได้ กลายเป็นใช้ได้จริง” ก็พอ ใครมาบอกคุณว่า “จูนแล้วแม่นขึ้น 47% เป๊ะๆ” โดยไม่บอกที่มา ก็ฟังหูไว้หูนะครับ

สองหลุมพรางที่การจูนคอยระวัง — “เรียนไม่พอ” กับ “ท่องจำเกิน”#

ผมเอ่ยถึงสองคำนี้ไปแล้วประปราย แต่ขอรวบมาเล่าให้ชัดตรงนี้เลย เพราะมันคือสองหลุมที่คนจูนต้องคอยหลบตลอดเวลา และมันอธิบายได้ด้วยภาษาคนล้วนๆ ครับ

ลองนึกถึงเด็กสองคนที่เตรียมตัวสอบ —

  • เด็กคนแรก อ่านหนังสือน้อยไป พอเข้าห้องสอบก็ทำไม่ค่อยได้ เพราะความรู้ไม่พอ — อาการนี้เรียกว่า “เรียนไม่พอ” (underfitting) โมเดลแบบนี้คือมันยังจับแก่นของงานไม่ได้ ทายอะไรก็มั่วๆ ทั้งของเก่าของใหม่
  • เด็กคนที่สอง ท่องหนังสือจนจำได้ทุกตัวอักษร แต่ท่องแบบนกแก้วนกขุนทอง ไม่ได้เข้าใจจริง พอข้อสอบถามพลิกนิดเดียวจากที่ท่องมา ก็ทำไม่ได้ทันที — อาการนี้เรียกว่า “ท่องจำเกิน” (overfitting) โมเดลแบบนี้คือมันเก่งมากกับข้อมูลเก่าที่เคยเห็น แต่พอเจอเคสใหม่จริงๆ กลับจ๋อย

นี่คือสาเหตุที่ผมบอกว่าทุกปุ่มมีคำว่า “พอดี” — เพราะถ้าจูนพลาดไปทางหนึ่ง ก็ตกหลุม “เรียนไม่พอ” ถ้าพลาดอีกทาง ก็ตกหลุม “ท่องจำเกิน” คนจูนเก่งๆ คือคนที่เดินอยู่บนเส้นบางๆ ตรงกลางระหว่างสองหลุมนี้ได้

💡 มุมเจ้าของกิจการ: หลุม “ท่องจำเกิน” นี่อันตรายแบบเงียบๆ ครับ เพราะเวลาทีมเทคโชว์ผลให้คุณดู มันอาจจะดูสวยหรูมาก “ทดสอบแล้วแม่นเกือบร้อยเปอร์เซ็นต์เลยครับ!” แต่นั่นอาจเป็นเพราะมันทดสอบกับข้อมูลชุดเดิมที่มันเคยเห็นตอนเรียน (เหมือนเอาข้อสอบที่เด็กเคยท่องมาให้ทำ) พอเอาออกไปเจอลูกค้าจริงที่ไม่เคยเห็น กลับมั่วซะงั้น คำถามที่คุณควรถามคือ “ทดสอบกับข้อมูลที่มันไม่เคยเห็นมาก่อนหรือเปล่า” นี่แหละครับคือคำถามเด็ดที่แยกของจริงออกจากของหลอกตาได้เลย

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

โมเดล AI ก็ใช้ทริกเดียวกันเป๊ะครับ กันข้อมูลส่วนหนึ่งไว้เป็น “ข้อสอบลับ” สำหรับวัดผล พอเข้าใจตรงนี้ คุณจะรู้ทันทีว่าทำไมการถามว่า “ทดสอบกับข้อมูลที่ไม่เคยเห็นไหม” ถึงสำคัญ — เพราะถ้าเขาเอาข้อสอบให้เด็กดูก่อนสอบ คะแนนเต็มก็ไม่ได้แปลว่าเด็กเก่งจริงนี่ครับ จริงไหม

มันคืองาน “ลองผิดลองถูก” ที่ต้องใช้ทั้งประสบการณ์และความอดทน#

หัวใจที่ผมอยากให้เข้าใจคือ การจูนมันไม่ใช่ว่ามีสูตรสำเร็จกดปุ่มเดียวจบ มันคืองาน ลองผิดลองถูกอย่างมีหลักการ ครับ คนที่เก่งคือคนที่มีประสบการณ์พอจะเดาได้ว่า “ปุ่มนี้น่าจะหมุนทางไหนก่อน” ทำให้ลองน้อยครั้งกว่า เสียเวลาเสียเงินค่าเครื่องน้อยกว่า

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

”สามวัตถุดิบ” ที่ทำให้ AI ตัวหนึ่งออกมาดีหรือแย่#

อ่านมาถึงตรงนี้ ผมอยากชวนคุณถอยออกมามองภาพรวมสักนิดครับ จะได้เห็นว่าสิ่งที่เราคุยกันทั้งตอนนี้ มันต่อกันเป็นภาพเดียวยังไง

ผมมองว่า AI ตัวหนึ่งที่ออกมาดีหรือแย่ มันมาจาก “สามวัตถุดิบ” ผสมกัน เหมือนทำอาหารเลยครับ —

วัตถุดิบเปรียบเหมือนถ้าของไม่ดีจะเกิดอะไร
ข้อมูล ที่เอาไปสอนวัตถุดิบในครัววัตถุดิบเน่า ปรุงเก่งแค่ไหนก็ออกมาไม่อร่อย
อัลกอริทึม ที่ใช้เรียนสูตร/วิธีปรุงเลือกสูตรผิดกับเมนู ก็เพี้ยน
hyperparameter ที่ตั้งไว้ไฟแรง-อ่อน เวลาในการปรุงไฟแรงไป-อ่อนไป อาหารไหม้หรือไม่สุก

เห็นไหมครับว่ามันต้องดีพร้อมกันทั้งสามอย่าง — วัตถุดิบดี (ข้อมูลดี) + เลือกสูตรเหมาะ (อัลกอริทึมเหมาะ) + คุมไฟดี (จูน hyperparameter ดี) ขาดอย่างใดอย่างหนึ่ง อาหารก็ออกมาไม่อร่อย

ที่ผมเน้นเรื่องนี้เพราะ vendor หลายเจ้าชอบโม้แต่เรื่องเดียว เช่น “เราใช้อัลกอริทึมล้ำสุดในตลาด!” — แต่ถ้าข้อมูลที่เขาเอาไปสอนมันห่วย หรือจูนไม่เป็น ผลลัพธ์ก็ยังแย่อยู่ดีครับ เก่งสูตรอย่างเดียวแต่ใช้วัตถุดิบเน่า ก็จบเห่

ทำไมเจ้าของกิจการอย่างเราต้องรู้เรื่องนี้#

ถึงตรงนี้บางคนอาจจะคิดว่า “เรื่องปุ่มๆ จูนๆ เนี่ย มันเรื่องของทีมเทคไม่ใช่เหรอ ฉันต้องรู้ทำไม” — ผมว่ารู้ไว้มีประโยชน์กับกระเป๋าเงินเราจริงๆ ครับ ขอสรุปเป็น 3 ข้อ

หนึ่ง — เข้าใจว่าทำไม AI ถึงไม่ได้ “เสร็จในวันเดียว”

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

สอง — รู้ว่า “โมเดลเดียวกัน” คุณภาพไม่เท่ากันได้

สองเจ้าอาจจะใช้อัลกอริทึมตัวเดียวกันเป๊ะ แต่ของเจ้าหนึ่งใช้ดี อีกเจ้าใช้ไม่ค่อยได้ ส่วนต่างมักอยู่ที่ฝีมือการจูนและคุณภาพข้อมูลที่เอาไปสอนนี่แหละครับ ฉะนั้นเวลาเปรียบเทียบ vendor อย่าดูแค่ “เขาใช้อัลกอริทึมอะไร” ให้ดูผลงานจริงด้วย

สาม — ถามคำถามที่ตรงจุดได้

พอคุณเข้าใจสองคำนี้ เวลาคุยกับทีมเทคหรือ vendor คุณจะถามได้ตรงจุดขึ้น เช่น “ตอนนี้ติดอยู่ที่ขั้นจูนหรือยัง” “โมเดลมันท่องจำข้อมูลเก่ามากเกินไปจนใช้กับเคสใหม่ไม่ได้หรือเปล่า” — คำถามพวกนี้ทำให้อีกฝ่ายรู้ว่าคุณพอเข้าใจ และคุยกันรู้เรื่องขึ้นเยอะครับ

ผมขอลองยกฉาก สมมติ ว่าถ้าคุณเข้าใจเรื่องวันนี้แล้ว บทสนทนากับ vendor มันจะเปลี่ยนไปยังไง (สมมติเพื่อให้เห็นภาพนะครับ) —

vendor: “ระบบ AI ของเราใช้อัลกอริทึมที่ทันสมัยที่สุด รับรองว่าแม่นยำสูงมากครับ” คุณ (แบบเข้าใจแล้ว): “ดีครับ แล้วตอนทดสอบความแม่น ทดสอบกับข้อมูลที่โมเดลไม่เคยเห็นมาก่อนหรือเปล่า? แล้วข้อมูลที่เอาไปสอนมา มันใกล้เคียงกับลูกค้าจริงของผมแค่ไหน?”

เห็นความต่างไหมครับ? คำถามแบบนี้ไม่ได้ทำให้คุณดูเก่งกาจอะไรหรอก แต่มันบอก vendor กลายๆ ว่า “คนนี้ป้ายยายากนะ” และที่สำคัญ มันดึงบทสนทนากลับมาที่ “ผลลัพธ์จริง” แทนที่จะหลงไปกับคำหรูๆ ครับ

สี่ — เผื่อต้องตัดสินใจเรื่องเวลาและงบ

สุดท้าย พอคุณรู้ว่าการสร้าง AI ที่ดีมันมีขั้น “จูน” ที่กินเวลา คุณจะวางแผนธุรกิจได้สมจริงขึ้น เวลามีคนมาเสนอว่า “ทำเสร็จใน 3 วันครับ” กับงานที่ฟังดูซับซ้อน คุณจะเริ่มเอ๊ะได้ว่ามันเร็วเกินจริงไหม หรือเขาข้ามขั้นจูนไปหรือเปล่า — ความเข้าใจตรงนี้ช่วยให้คุณไม่ตั้งกำหนดส่งที่เป็นไปไม่ได้ และไม่โดนหลอกด้วยคำสัญญาที่สวยเกินจริง

คำถามที่ผมมักโดนถามบ่อยเรื่องนี้#

ก่อนสรุป ผมขอเก็บตกคำถามที่เพื่อนๆ เจ้าของกิจการชอบถามเวลาผมเล่าเรื่องนี้ให้ฟัง เผื่อตรงกับที่คุณสงสัยอยู่พอดีนะครับ

“แล้วเราในฐานะเจ้าของร้าน ต้องไปนั่งจูนเองไหม?”

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

“ถ้าจูนดีแล้ว แปลว่าใช้ได้ตลอดไปเลยไหม?”

อันนี้เป็นคำถามที่ดีมากครับ คำตอบคือไม่เสมอไป เพราะโลกมันเปลี่ยน พฤติกรรมลูกค้าเปลี่ยน สินค้าใหม่เข้ามา โมเดลที่เคยจูนไว้ดีเมื่อปีก่อน พอเวลาผ่านไปอาจจะเริ่มเพี้ยน เพราะมันเรียนจากข้อมูลเก่าที่อาจไม่ตรงกับสถานการณ์ใหม่แล้ว (เหมือนเชฟที่เก่งสูตรเดิม แต่รสนิยมลูกค้าเปลี่ยนไปแล้ว) ฉะนั้นของจริงเขาต้องคอยกลับมาดูแลและจูนใหม่เป็นระยะ ไม่ใช่ทำทีเดียวจบ เรื่องนี้สำคัญกับการวางงบระยะยาวด้วยนะครับ AI ไม่ใช่ของที่ “ซื้อทีเดียวจบ” แต่มีค่าดูแลต่อเนื่องเหมือนรถที่ต้องเข้าศูนย์เป็นระยะ

“งั้นถ้าจ่ายแพงขึ้น จะได้ของที่จูนมาดีกว่าเสมอไหม?”

ไม่จำเป็นครับ แพงไม่ได้แปลว่าจูนดีเสมอไป เพราะอย่างที่เล่าไป มันขึ้นกับ “สามวัตถุดิบ” — ข้อมูล อัลกอริทึม และการจูน บางเจ้าคิดแพงเพราะแบรนด์ดัง ไม่ใช่เพราะของดีกว่า เคล็ดลับคือดู “ผลงานจริง” กับงานที่ใกล้เคียงของคุณ มากกว่าดูป้ายราคาหรือคำโฆษณาครับ

สรุปสั้นๆ ส่งท้าย#

ถ้าให้ผมย่อทั้งตอนนี้เหลือไม่กี่บรรทัดเอาไว้จำง่ายๆ คือแบบนี้ครับ —

  • Algorithm (อัลกอริทึม) = สูตร/วิธีที่โมเดลใช้เรียน เหมือน “วิธีลอง-ชิม-ปรับ” ของเชฟ มีหลายสไตล์ คนเลือกตอนเริ่ม แล้วมันเรียนเอง
  • Hyperparameter (ค่าตั้งต้น) = ปุ่มที่คนหมุนเอง ก่อนปล่อยให้มันเรียน เช่น จะเรียนเร็วแค่ไหน ทบทวนกี่รอบ — อัลกอริทึมตั้งเองไม่ได้ ต้องมีคนตั้งให้
  • เส้นแบ่ง: อัลกอริทึมคือ “วิธีเรียน” ที่เครื่องทำ ส่วน hyperparameter คือ “ปุ่ม” ที่คนหมุน
  • การจูน = นั่งหมุนปุ่มหาชุดที่ลงตัวที่สุด ยากเพราะปุ่มเยอะและกวนกันเอง เป็นงานลองผิดลองถูกที่กินเวลาและสมองมากที่สุดงานหนึ่ง
  • จูนดี vs จูนแย่ ทำให้โมเดลตัวเดียวกันใช้ได้จริง หรือใช้ไม่ค่อยได้ ต่างกันลิบเลย

ผมไม่ใช่ผู้เชี่ยวชาญด้าน AI อะไรหรอกนะครับ เป็นแค่เจ้าของกิจการคนนึงที่โดนศัพท์พวกนี้รุมล้อมจนต้องนั่งหาความเข้าใจเอง แล้วก็เลยอยากเล่าให้เพื่อนเจ้าของกิจการด้วยกันฟังแบบภาษาคนๆ ตรงไหนผมเข้าใจคลาดเคลื่อนไป ทักท้วงกันเข้ามาได้เลยนะครับ ยินดีมากๆ

ตอนหน้าของซีรีส์ AI 101 ผมว่าจะเล่าต่อเรื่องที่หลายคนสงสัย — ตอนที่ AI มัน “เรียนจบ” แล้วเนี่ย เราจะรู้ได้ยังไงว่ามันเก่งจริงหรือแค่ทำท่าเก่ง แล้วทำไมบางทีมันเทสต์ในห้องแล็บได้ดีมาก แต่พอเอาออกมาใช้จริงกลับจ๋อยซะงั้น ไว้เจอกันตอนหน้าครับ