fbpx
ครูประถม.คอม
พัฒนาการศึกษาเพื่ออนาคตของเด็กไทย

- Advertisement -

ทำความรู้จักกับ Machine Learning

Spread the love
  •  
  •  
  •  
  •  
  •  
  •  

คุณเคยสงสัยไหมว่า Machine Learning คืออะไร แล้วมีความเกี่ยวข้องอะไรกับ การเรียน Coding คุณคงจะเคยใช้โทรศัพท์มือถือในโหมด Siri ว่าทำไมมันถึงจดจำเสียง คุยตอบโต้  หรือทำงานตามคำสั่งของเราได้เหมือนกับคนจริงๆ ทั้งๆที่มันไม่ใช่คน หรือการที่คุณ search หาร้านกาแฟแถวบ้านใน google แต่พอวันต่อมากลับมีเพจร้านกาแฟบรรยากาศดีโผล่ขึ้นมาบนหน้า Facebookของคุณ แล้ว Facebookรู้ได้ไงว่าคุณสนใจเรื่องนี้ ซึ่งในการเรียน Coding แน่นอนว่าเราจะได้เจอได้เรียนในเรื่อง Machine Learning แล้วมันมีการทำงานยังไง ทำไมมันถึงได้ฉลาดขนาดนี้ แล้วมันมีประโยชน์กับเรายังไงบ้าง เราจะมาหาคำตอบในบทความนี้กัน

ก่อนอื่นเราต้องมาทำความเข้าใจก่อนว่า Machine Learning คือ อะไร

Machine Learning  (ML) คือ การที่คอมพิวเตอร์สามารถเรียนรู้ได้ด้วยตัวของมันเอง โดยที่เราไม่ได้เขียนโปรแกรมสั่งมัน  ซึ่งมันจะมีการเรียนรู้ทั้งหมด 3 แบบ หลักๆ คือ

  • Supervised Learning
  • Unsupervised Learning
  • Reinforcement Learning

ซึ่งการเรียนรู้แต่ละแบบก็จะมีการเรียนรู้ในระดับย่อยที่แตกต่างกันออกไป แต่ในบทความนี้เราจะพูดถึงเฉพาะความแตกต่างระหว่าง Supervised Learning และ Unsupervised Learning  ว่ามันมีการเรียนรู้จากข้อมูลที่ได้แตกต่างกันอย่างไร

Supervised Learning คือ อะไร

Supervised Learning คือ การเรียนรู้ที่ต้องมีคนมาสอนก่อน คอมพิวเตอร์จะสามารถหาคำตอบหรือผลลัพธ์ได้ด้วยตัวมันเอง หลังจากที่ได้เรียนรู้จากข้อมูลที่คุณใส่และสอนมันไปก่อนหน้า เมื่อมันรู้เรียนรู้แล้ว ในรอบต่อไปเมื่อคุณใส่ข้อมูลลงไปมันก็จะบอกผลลัพธ์ได้ทันทีตามที่คุณสอนมัน ซึ่งหากข้อมูลที่คุณสอนมันมีจำนวนมาก ในครั้งต่อไปมันก็จะยิ่งให้ผลลัพธ์ที่แม่นยำมากยิ่งขึ้นเช่นกัน การเรียนรู้แบบ Supervised Learning ที่เราได้ยินบ่อยๆ เช่น Classification, Regression เป็นต้น

การเรียนรู้แบบ Classification คือ การที่คุณสอนให้มันแบ่งกลุ่มข้อมูล ยกตัวอย่างเช่น มีคนไข้ที่เป็นเนื้องอกในสมอง คุณอยากรู้ว่าเขาจะเป็นเนื้องอกร้ายหรือเนื้องอกไม่อันตราย คุณจำเป็นต้องใส่ชุดข้อมูลและสอนมันว่า ขนาดเนื้องอกที่อยู่ระหว่าง 1 – 2 mmคือเนื้องอกไม่อันตราย ขนาดเนื้อ 3-5 mmเป็นเนื้องอกร้าย คอมพิวเตอร์ก็จะเรียนรู้การแบ่งกลุ่มตามที่คุณสอนไป เมื่อมีคนไข้ใหม่ที่เป็นเนื้องอกประมาณ 2 mm คอมพิวเตอร์มันก็จะบอกคุณได้เลยว่าเขาเป็นเนื้องอกไม่อันตราย

แต่! ในความเป็นจริงแล้วการที่จะดูว่าเขาเป็นเนื้องอกไม่อันตรายหรือร้ายนั้นไม่ได้ดูกันที่ขนาดอย่างเดียว แต่เราดูความเข้มของสี รูปทรง ความแข็งของเนื้องอก ตำแหน่งที่อยู่ ลักษณะพื้นผิว และปัจจัยอื่นๆอีกมาก ซึ่งปัจจัยพวกนั้นเยอะมากจนมนุษย์ไม่สามารถนำมาวิเคราะห์เองได้ว่าเป็นเนื้องอกดีหรือเนื้องอกร้ายโดยดูจากฟิล์มเอกซเรย์ แต่ ML ทำได้!! โดยที่เราต้องใส่รายละเอียดข้อมูลทั้งหมดลงไปและสอนมันแยกประเภท ต่อไปมันก็จะสามารถบอกได้ว่าเนื้องอกแบบไหนเป็นเนื้องอกดีหรือเนื้องอกร้าย หากมันพัฒนาไปได้ไกล อนาคตอาจจะมีหมอที่ชื่อว่า ML มาช่วยวินิจฉัยโรคให้คนก็เป็นได้

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

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

ทีนี้เมื่อคอมพิวเตอร์มันได้เรียนรู้แล้วว่าขนาดบ้านและราคามีความสัมพันธ์กันอย่างไร  เมื่อเราต้องการรู้ราคาบ้านของเราว่าจะขายได้เท่าไร เราก็ใส่ข้อมูลขนาดบ้านของเราลงไป เช่น บ้านขนาด 60 ตารางวา คอมพิวเตอร์ก็จะใช้วิธี Regression นี้ ปะมาณราคาบ้านออกมาให้เรา ในที่นี้ก็ประมาณ 610 บาท (อันนี้สมมตินะคะ ราคาบ้านจริงไม่น่าจะถูกขนาดนี้)

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

แต่คุณต้องสอนมันก่อนนะ ไม่งั้นมันก็จะไม่รู้ว่าจะวิเคราะห์ยังไง

ต่อไปเราจะมาดูว่า การเรียนรู้ของ Machine Learning แบบ Unsupervised Learning มันเรียนรู้ยังไง และต่างจาก Supervised Learning อย่างไร

Unsupervised learning คือ อะไร

Unsupervised Learning คือ การเรียนรู้ที่ไม่ต้องอาศัยผู้สอน เราจะใส่ข้อมูลลงไปในคอมพิวเตอร์และเราไม่ได้กำหนดผลลัพธ์ว่าจะต้องเป็นแบบไหน เราปล่อยให้คอมพิวเตอร์มันเรียนรู้ที่จะแยกกลุ่มได้ด้วยตัวมันเอง ซึ่งการเรียนรู้แบบ Unsupervised Learning มีการแบ่งเป็น 2 ประเภทหลักๆ คือ clustering และ non-clustering

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

ตัวอย่างหนึ่งของการเรียนรู้แบบ non-clustering คือ Cocktail Party Algorithmเป็นการเรียนรู้ของคอมพิวเตอร์ที่จะสามารถแยกเสียงที่ต้องการได้ ยกตัวอย่าง เมื่อเราเข้าไปในงานเลี้ยง มีคนมากมายพูดคุยกันเสียงดังแถมยังมีเสียงเพลงอีก แล้วเราได้ยินเสียงของคู่สนทนาได้อย่างไร? นั่นเพราะว่าสมองเราสามารถที่จะแยกเสียงที่เราต้องการจะฟังได้ประกอบกับเราใช้วิธีการอ่านปากไปด้วยก็สามารถทำให้เราเข้าใจได้ ซึ่งตัว ML ก็สามารถที่จะเรียนรู้การแบ่งแยกเสียงที่ต้องการคล้ายสมองของเราได้เช่นกัน ซึ่งตอนนี้ทาง google ได้นำหลักการนี้มาพัฒนา google recognize สำหรับ google Assistant

ปัจจุบันได้มีการนำ ML มาปรับใช้เพื่อให้ตอบสนองความต้องการของคนมากขึ้น ยกตัวอย่างเช่น

  • Spam Detection – คือการที่มันสามารถคัดแยก Email ได้ว่า Email ไหนเป็น Spam อันไหนเป็น Email ที่เราต้องการ
  • Face Detection – เมื่อเราถ่ายรูปกับเพื่อนลง Facebook และมีกรอบสี่เหลี่ยมขึ้นล้อมรอบหน้าเพื่อนของเราเพื่อที่จะให้เรา tag
  • Self Driving Car – รถมีเซนเซอร์ เชื่อมต่อกับ GPS และทำงานรวมกับ Software อัจฉริยะ ทำให้รถสามารถขับเคลื่อนได้ด้วยตัวมันเอง ไม่จำเป็นต้องมีคนขับ!
  • Google Map – คุณสามารถสั่งให้มันช่วยค้นหาเส้นทางที่รวดเร็วที่สุด ไม่ต้องทนรถติดไปทำงานสาย

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

ในอนาคต ML อาจจะพัฒนาไปถึงขั้นวินิจฉัยโรคแทนหมอ ตัดสินคดีแทนทนาย ไม่แน่อาจจะมีชุดไอร่อนแมนออกมาวางขาย คุณก็จะได้เป็นไอร่อนแมนคนที่ 2 ก็เป็นได้!

บทความอื่นๆที่เกี่ยวกับ Machine Learning

ที่มา: ilog

Comments
Loading...