ตอนนี้ผมก็ได้จบจาก ม.6 เพื่อเข้าศึกษาต่อมหาวิทยาลัยปี 1 แล้ว ซึ่งหลายๆท่านก็คงทราบกันดีว่าการเรียนมหาวิทยาลัยนั้น เมื่ออยู่ปี 4 จำเป็นจะต้องมีโปรเจคจบ ผมนั้นเรียนต่อในสาขาคณิตศาสตร์ ซึ่งผมไม่ได้รู้สึกถูกชะตากับมันเท่าไรนักแม้ว่าผมจะเจอมันมาตลอดตั้งแต่เด็กจนโต

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

เข้าเรื่องเลยดีกว่า ตอนนี้ผมสนใจบางอย่างที่เรียกว่า "Machine Learning" อยู่ตัวอย่างของ Machine Learning ที่เด่นชัดสุดตอนนี้ก็คงหนี้ไม่พ้น how-old.net แม้ว่าตอนนี้ผมจะได้สร้างแอปวัดหน้าขาวขึ้นมาแต่มันกลับมีความแม่นยำที่น้อยมาก ต่างจาก how-old ที่สามารถหาใบหน้าได้อย่างแม่นยำพร้อมยังหาอายุที่ใกล้เคียงกับอายุจริงให้ ซึ่งนี่ละคือพลังของ Machine Learning

แต่ว่าข่าวร้ายคือตอนนี้ผมพยายามอ่าน Text ของ Machine Learning แต่ว่าที่หาเจอทั้งหมดเป็นภาษาอังกฤษ ซึ่งมันเข้าใจยากมาก จนบอกๆด้เลยว่าตอนนี้ผมยังแทบไม่เข้าใจมันเลยด้วยซ้ำว่ามันทำงานยังไง

ที่ผมเข้าใจในตอนนี้คือ Machine Learning นั้นมีความสามารถหลากหลายแบบ ซึ่งตัวที่ผมกำลังสนใจตอนนี้คือความสามารถในการคาดเดา (Prediction) มันคือการที่ให้คอมพิวเตอร์เดาคำตอบที่เราต้องการล่วงหน้าจากการตอบคำถามของเราก่อนหน้าได้

ถามว่ามันจะเดาคำตอบที่เราต้องการล่วงหน้าได้อย่างไร ผมมีตัวอย่างนึงที่น่าสนใจและเขาใจง่ายมาให้ดูครับ ลองเล่นได้ที่ harthur.github.io/brain/


โดยเว็บนี้จะมีกล่องขึ้นมา 2 กล่อง ถามว่าแบบไหนอ่านง่ายกว่ากันระหว่างตัวอักษรดำบนพื้นสีกับตัวอักษรขาวบนพื้นสี เมื่อคลิกเลือกแล้ว ต้องคลิกเลือกต่อไปอย่างน้อย 5 กล่อง เพื่อเป็นคำตอบที่เราต้องการจากนั้นจะมีปุ่ม train neural network เพื่อ "ฝึก" ให้คอมพิวเตอร์คาดเดาคำตอบที่เร่าต้องการล่วงหน้า ซึ่งยิ่งจำนวนของคำตอบของเรามากขึ้น โปรแกรมก็จะสามารถคาดเดาล่วงหน้าได้แม่นยำยิ่งขึ้น


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


ถึงตอนนี้ผมจะยังไม่เข้าใจความหมายของภาพกราฟนี้เท่าไรนักแต่ผมบอกได้เลยว่ามันเกี่ยวกับคณิตศาสตร์แน่ๆ ถ้าคุณสังเกตในภาพจะเห็นจุดสีแดงกับสีน้ำเงินที่เป็น +1 กับ -1 พรอมเส้นยึกยือไปมาคอยแบ่งเขตระหว่างแดงกับน้ำเงิน

ถ้าลองเทียบกับตัวอย่าง Machine Learning ก่อนหน้าที่ได้ลองเล่นไป แทนจุดสีแดงเมื่อเราตอบว่าตัวหนังสือสีดำอ่านง่ายกว่า แทนจุดสีน้ำเงินเมื่อตัวหนังสือสีขาวอ่านง่ายกว่า เมื่อเราลองลงสีอานาเขต เราก็จะได้ภาพประมาณนี้ออกมา

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

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

สิ่งมี่ผมจะทำคือลองสร้างวิธีในการหาคำตอบของ Machine Learning ไม่สิ ต้องเรียกว่า สมการเพื่อ prediction ขึ้นมาในรูปแบบของตัวเอง

ซึ่งวิธีการนี่เอง เราก็จะนำไปประยุกต์สร้าง NPC แบบ Siri หรือ Cortana ได้ อ้าวงั้น มันซ้ำนะสิ แล้วจะทำทำเพื่อ?

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

 #ฝันต่อไป ไม่รู้จะถึงรึเปล่า
02 กรกฏาคม 2558

คลังบทความ