แฉความลับของ AI Model (4/5)
🤔 AI มันตอบคำถามเราได้ยังไง? มาดูการทำงานที่แท้จริงของมันกัน
Last updated
🤔 AI มันตอบคำถามเราได้ยังไง? มาดูการทำงานที่แท้จริงของมันกัน
Last updated
หลังจากที่เราทำทุกอย่างจนสุดท้าย AI ของเราก็ฉลาดจนมันสามารถทายผลหรือตอบโจทย์เราได้แม่นยำ 99.99% หรืออะไรก็แล้วแต่ หลายๆคนก็อาจจะมีคำถามว่าจริงๆแล้ว AI มันรู้คำตอบพวกนั้นได้ยังไง? เบื้องหลังจริงๆมันคำนวณยังไงกันนะ? ดังนั้นในบทความนี้เราจะมีแฉกันแบบหมดเปลือกว่าจริงๆแล้ว AI มันทำงานยังไงกัน
แนะนำให้อ่าน บทความนี้เป็นส่วนหนึ่งของบทความ 👶 Data Scientist หากเพื่อนๆสนใจอยากรู้หลักการของพวก Data science ทั้งหมดแนะนำให้ไปอ่านบทความหลักได้โดยการจิ้มชื่อสีฟ้าๆนั้นเลยนะครับ ส่วนใครที่อยากลองสร้าง AI เป็นของตัวเองก็สามารถดูตัวอย่างได้จากบทความด้านล่างนี้ครับ สร้าง AI ตัดสินใจอนุมัติบัตรเครดิต 💳
จากบทความ การเตรียมข้อมูลให้ AI (2/5) เราจะพบว่า เราต้องเอา Data + Algorithms ส่งไปให้ AI มันเรียนรู้ จนสุดท้ายเราก็จะได้สิ่งที่เรียกว่า Model
ขึ้นมา ซึ่งเจ้า model นี่แหละคือตัวตัดสินว่า AI มันจะฉลาดขนาดไหนนั่นเอง ดังนั้นเวลาที่เราโยนคำถามให้ AI เช่น ข้อมูลรถยนต์เป็นแบบนี้แล้วราคารถน่าจะประมาณซักเท่าไหร่? สิ่งที่เจ้า AI ทำจริงๆก็คือ มันจะเอาโจทย์ของเราโยนไปให้กับ 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)