แฉความลับของ AI Model (4/5)

🤔 AI มันตอบคำถามเราได้ยังไง? มาดูการทำงานที่แท้จริงของมันกัน

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

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

🤔 AI มันรู้คำตอบได้ยังไง ?

จากบทความ การเตรียมข้อมูลให้ AI (2/5) เราจะพบว่า เราต้องเอา Data + Algorithms ส่งไปให้ AI มันเรียนรู้ จนสุดท้ายเราก็จะได้สิ่งที่เรียกว่า Model ขึ้นมา ซึ่งเจ้า model นี่แหละคือตัวตัดสินว่า AI มันจะฉลาดขนาดไหนนั่นเอง ดังนั้นเวลาที่เราโยนคำถามให้ AI เช่น ข้อมูลรถยนต์เป็นแบบนี้แล้วราคารถน่าจะประมาณซักเท่าไหร่? สิ่งที่เจ้า AI ทำจริงๆก็คือ มันจะเอาโจทย์ของเราโยนไปให้กับ model ที่มันมี แล้วมันก็จะได้ผลลัพท์กลับมาตอบเรายังไงล่ะ

🤔 Model มันทำงานยังไง ?

ก่อนที่จะเฉลยผมอยากอธิบายให้เห็นก่อนว่า เวลาที่ AI แก้โจทย์หรือสร้าง Model มันทำยังไง โดยจะจำลองในรูปแบบที่มนุษย์เข้าใจให้ฟังนะ เช่น ถ้าผมอยากรู้ว่าเพชร 1.35 กะรัต มีราคาเท่าไหร่ ผมต้องทำยังไง? (กะรัตคือหน่วยนับของเพชร) หรือถ้าเดินไปถามที่ร้านขายเพชรแล้วจะรู้ได้ยังไงว่าราคาที่เขาบอกว่ามันถูกต้องจริงๆ? เพื่อป้องกันไม่ให้โดนโกงราคาผมก็จะเดินไปถามราคากับร้านขายเพชรหลายๆร้านใช่ไหม และ อาจจะถามราคาของหลายๆกะรัตมาด้วย เช่น เพชร 1.01 กะรัต ราคา $7,366 USD ผมก็จะไปเดินสำรวจมาหลายๆร้านตามรูปด้านล่าง

จากรูปด้านบนก็จะเห็นว่าผมก็จะได้รายกายที่บอกว่า เพชรแต่ละกะรัต ราคาเป็นเท่าไหร่มาแล้ว ซึ่งเจ้าข้อมูลพวกนี้ก็เหมือนกับ Data ที่เราส่งให้ไปกับ AI มันเรียนรู้นั่นแหละ แต่จากในรูปเราจะพบว่ามันไม่มีบอกว่า เพชร 1.35 กะรัต ราคาเท่าไหร่เลยนิน่า ดังนั้นเราก็จะต้องเอาข้อมูลพวกนี้มาใช้คำนวณหาคำตอบของเราต่อ ซึ่งจะเห็นว่าในรูปนั้นจำนวนกะรัตมันอยู่ตั้งแต่ 0 ถึง 2 กะรัตโดยประมาณ ส่วนราคาก็อยู่ตั้งแต่ 0 ถึง ไม่เกิน 20,000 ดังนั้นเราก็จะเอามาเขียนกราฟคร่าวๆได้ราวๆนี้

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

จากรูปด้านบนเราจะเห็นว่าข้อมูลในแต่ละจุดมันกระจายกัน ดังนั้นเราต้องการจะหาของที่พอจะเป็นตัวแทนของข้อมูลเรา โดยการลากเส้นตรง 1 เส้นที่พาดกลางระหว่างข้อมูลทั้งหมด ซึ่งก็จะได้ออกมาเป็นภาพราวๆนี้

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

จากรูปจะเห็นว่าคำตอบคือ เพชรหนัก 1.35 กะรัต ราคาน่าจะอยู่ราวๆ $10,000 USD นั่นเอง แต่ว่าเราจะมั่นใจได้ยังไงว่าราคามันควรเป็นค่านี้จริงๆ ดังนั้นเราเลยต้องทำการประเมิณต่อว่าคำตอบจริงๆมันควรอยู่ในช่วงเท่าไหร่ โดยการแรเงาครอบจุดที่อยู่รวมกันเยอะๆแล้วให้มันครอบเส้นของเราไปด้วย ซึ่งก็จะได้เป็นภาพราวๆนี้

จากภาพจะเห็นว่าเราได้แรเงาข้อมูลอื่นๆที่อยู่รวมกันไปแล้วในเส้นสีม่วง ซึ่งถ้าเราดูเจ้าเส้นสีม่วงเราก็จะได้ค่าสูงสุดและค่าต่ำสุดของจุดตัดของเราออกมาด้วยตามรูปด้านบน ดังนั้นเราก็พอที่จะตอบได้คร่าวๆแล้วว่า เพชร 1.35 กะรัต ราคาควรจะอยู่ราวๆ $8,000 ถึง $12,000 นั่นเอง

ซึ่งจากทั้งหมดที่ร่ายยาวมา การที่เราสามารถหาเส้นที่เป็นตัวแทนมาได้นั้นก็คือสิ่งที่เรียกว่า Model นั่นเอง ซึ่งกระบวนการที่ตัว AI จะได้ model ออกมานั้นมันจำเป็นที่จะต้องใช้ Computation power สูงๆ เพราะมันต้องทำงานกับข้อมูลปริมาณมากๆ เพื่อทำการสร้าง model ออกมาให้เรานั่นเอง ซึ่งเจ้า model ที่ว่านี้มันจะทำงานได้เร็วมาก เพราะจริงๆเจ้า model มันก็คือสูตรทางคณิตศาสตร์ธรรมดาๆนี่เอง ดังนั้นเราเลยสามารถเอา model ไปใช้ที่ไหนก็ได้ขอแค่มีเอาเราแทนค่าต่างๆลงไปใน model ของเราเพียงเท่านั้นเราก็จะได้คำตอบออกมาเลยทันที

🎯 บทสรุป

การที่เราจะได้ Model ออกมานั้นเราจะต้องส่ง AI ไปดูข้อมูลเยอะๆแล้วหาความสัมพันธ์ของข้อมูลที่พวกนั้นออกมา เพื่อไปสร้างสูตรทางคณิตศาสตร์หรือสิ่งที่เรียกว่า Model ออกมานั่นเอง ซึ่งในตัวอย่างนี้คำถามคือ เพชร 1.35 กะรัตราคาเท่าไหร่? ซึ่งลักษณะของคำถามแบบนี้เป็นการถามหาปริมาณ ซึ่งโดนจัดอยู่ในกลุ่ม Regression ส่วนที่เราวาดเส้นตรงนั้นเป็นลักษณของ Linear Regression นั่นเอง ซึ่งจากภาพตัวอย่างด้านล่าง Model ที่เราได้ก็จะมีสูตรง่ายๆเป็น Y = b0 + b1X นั่นเอง ซึ่งถ้าเราทราบค่า Y เราก็จะหาค่า X ได้ หรือ ทราบค่า X ก็จะหาค่า Y ได้ตามพื้นฐานคณิตศาสตร์ธรรมดา

การเลือก Algorithms หากใครสนใจอยากรู้ว่านอกจากกลุ่มของ Regression แล้วยังมีกลุ่มอะไรอีกบ้าง หรือถ้าเราเจอโจทย์แบบนี้เราควรจะเลือก Algorithm แบบไหนให้กับ AI ของเรา สามารถศึกษาได้จากบทความด้านล่างนี้เลยครับ การเลือก Algorithms ให้ AI (1/5)