Deep Learning vs. ฟาร์มแตงกวา (2/2)

บทความนี้เขียนโดย ผศ.ดร.ฐิติรัตน์ ศิริบวรรัตนกุล เผยแพร่ครั้งแรก ที่นี่ ในชื่อเรื่อง “5 คำถามกับ Deep Learning: ระบบคัดแยกแตงกวาอัตโนมัติจากรูปภาพ @ฟาร์มแตงกวา ประเทศญี่ปุ่น (ตอนที่ 2/2)” เมื่อ 19 กันยายน 2016 โดยคอลัมน์ Intelligence and Information ของ Manager Online


ใน ตอนที่ 1 ผู้เขียนได้อธิบายหลักการเบื้องต้นของเทคโนโลยีที่เรียกว่า Machine Learning (การเรียนรู้ของเครื่อง) รวมถึงประวัติคร่าว ๆ ของเทคนิค Deep Learning อ้างอิงกับตัวอย่างระบบคัดแยกเกรดแตงกวาจากรูปภาพของวิศวกรหนุ่มชาวญี่ปุ่น Makoto Koike ไปแล้ว หนนี้จะมากล่าวที่เหลือในส่วนที่เน้น ๆ Deep Learning กับ Visual analytics (การวิเคราะห์เชิงภาพ) โดยเฉพาะดังต่อไปนี้ค่ะ

Q4: Deep Learning เกี่ยวข้องยังไงกับ Visual Analytics?

A4: Deep Learning คือ Machine Learning ตัวหนึ่งซึ่งไม่จำกัดว่าต้องทำงานแต่กับรูปภาพ แต่จะทำงานกับข้อมูลเสียงหรือข้อมูลตัวเลขอะไรอื่นก็ได้ แต่ด้วยความเยอะของ Deep Learning ที่คนใช้ต้องเตรียมข้อมูลตัวอย่างจำนวนมากและต้องใช้เวลารอประมวลผลสร้างแบบจำลองนาน ทำให้มันไม่คุ้มค่านักหากจะนำ Deep Learning ไปใช้กับปัญหาง่ายๆ ซึ่งก็ประจวบเหมาะว่าปัญหาการวิเคราะห์เชิงภาพหรือ Visual Analytics นั้นเป็นปัญหาทางปัญญาประดิษฐ์ที่แม้ในปัจจุบันก็ยังถือว่ายากมาก แถมข้อมูลพิกเซลที่ต้องวิเคราะห์ในแต่ละภาพก็มีเยอะจนทำให้ความเยอะและยากในการวิเคราะห์ภาพนั้นคุ้มกันกับต้นทุนของแบบจำลองที่ซับซ้อนอย่าง Deep Learning

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

Convolutional Neural Network (CNN) เทคนิคมาตรฐานของ Deep Learning ที่นิยมใช้กันในปัจจุบัน
Convolutional Neural Network (CNN) เทคนิคมาตรฐานของ Deep Learning ที่นิยมใช้กันในปัจจุบัน

ตัวอย่างเช่น ระบบการคัดแยกแตงกวาออกเป็น 9 เกรดของฟาร์มที่บ้าน Makoto Koike ที่แม้แต่คนเองยังต้องใช้เวลาเรียนรู้กันเป็นเดือนๆ กว่าจะแยกแยะได้ ถ้าเป็น Machine Learning ในอดีตจะต้องเริ่มจากการคิดก่อนว่าอะไรคือคุณสมบัติเชิงภาพที่จะเลือกมาเป็นตัวแทนของความเป็นแตงกวา เช่น สี ความมันวาวของผิว จำนวนหนาม ขนาด ความโค้งงอ ฯลฯ เมื่อสรุปเซตของคุณสมบัติเชิงภาพที่จะใช้ได้แล้ว ค่อยมาสร้างระบบสำหรับสกัดคุณสมบัติดังกล่าวออกจากภาพ แล้วเซตของคุณสมบัติที่สกัดได้ค่อยถูกส่งไปเข้าแบบจำลอง Machine Learning เพื่อเรียนรู้หรือเพื่อทดสอบต่อไป ซึ่งคำถามว่าแล้วอะไรคือคุณสมบัติเชิงภาพที่เหมาะสมสำหรับปัญหาแยกเกรดแตงกวา? ควรมีคุณสมบัติเชิงภาพสักกี่ตัวถึงจะเพียงพอและให้ผลการคัดแยกที่ดี? เป็นปัญหาคลาสสิกของ Machine Learning ในอดีตที่ต้องตั้งสมมติฐานและลองทดสอบดูผลเอาเอง

แต่หากเป็น Deep Learning ตราบเท่าที่มีรูปภาพตัวอย่างมากพอสำหรับใส่เข้าไปให้ Deep Learning ใช้เรียนรู้ เรื่องที่ว่าอะไรคือคุณสมบัติเชิงภาพที่สำคัญของแตงกวา? แตงกวาแต่ละเกรดมีคุณสมบัติเชิงภาพตัวไหน(หรือหลายตัว)ที่แตกต่างกันพอที่จะนำมาใช้พิจารณาแยกแยะเกรดได้บ้าง? จะกลายเป็นเรื่องที่เราไม่ต้องยื่นมือเข้าไปยุ่ง เพราะความซับซ้อนภายในของแบบจำลอง Deep Learning จะช่วยตัดสินใจเลือกให้เอง

การแบ่งแตงกวาเป็น 9 เกรดของฟาร์มที่บ้าน Makoto Koike เรียงจากเกรดสูงสุด (บน) มายังเกรดต่ำสุด (ล่าง) (ที่มาของภาพ: https://cloud.google.com/blog/big-data/2016/08/how-a-japanese-cucumber-farmer-is-using-deep-learning-and-tensorflow)
การแบ่งแตงกวาเป็น 9 เกรดของฟาร์มที่บ้าน Makoto Koike เรียงจากเกรดสูงสุด (บน) มายังเกรดต่ำสุด (ล่าง) (ที่มาของภาพ: https://cloud.google.com/blog/big-data/2016/08/how-a-japanese-cucumber-farmer-is-using-deep-learning-and-tensorflow)

Q5: แสดงว่า Deep Learning กำลังจะมาแทนที่ Machine Learning แบบอื่นๆ และแทนที่วิธีการวิเคราะห์ภาพแบบเดิม ๆ ทั้งหมดแล้วใช่ไหม?

A5: “ไม่ใช่” น่าจะเป็นคำตอบที่เหมาะสมที่สุด ณ ปัจจุบัน เหตุผลแรกคือเรื่องความเยอะของจำนวนข้อมูลสำหรับเรียนรู้ที่ Deep Learning ต้องการ ซึ่งหากปัญหาที่ต้องการแก้ไม่ยากนัก การใช้ Machine Learning ตัวอื่นที่ซับซ้อนน้อยกว่า ใช้ง่ายกว่า หรือแม้แต่ใช้เทคนิคปัญญาประดิษฐ์อื่นที่ไม่ใช่ Machine Learning ไปเลย ก็สามารถให้ผลลัพธ์ที่เกือบจะไม่ต่างกัน ไม่ต้องเสียแรงเตรียมภาพจำนวนมากมาป้อนให้แบบจำลอง และ ไม่ต้องเสียเวลารอประมวลผลสร้างแบบจำลองกันทีละนานๆ ไม่เพียงเท่านั้นในงานบางประเภทการหาข้อมูลรูปภาพตัวอย่างสำหรับนำมาป้อนให้แบบจำลอง Deep Learning ใช้เรียนรู้ก็ไม่ใช่เรื่องง่าย เมื่อจำนวนภาพตัวอย่างมีไม่พอก็ไม่อาจจะหวังผลลัพธ์และความแม่นยำที่ดีจาก Deep Learning ได้ สำหรับระบบคัดแยกแตงกวาของ Makoto Koike เขาใช้เวลา 3 เดือนตามถ่ายรูปแตงกวาที่คุณแม่ของเขาคัดแยกไว้แล้วจนได้มากว่า 7,000 ภาพ

เหตุผลที่สอง คือ เรื่องทรัพยากรในการคำนวณของ Deep Learning ด้วยความซับซ้อนของแบบจำลอง ทำให้เครื่องคอมพิวเตอร์ที่จะใช้คิดคำนวณต้องมีทรัพยากรสำหรับคำนวณที่มากพอหรือไม่ก็ต้องลดขนาดของภาพที่จะใช้ใส่เข้าไปในแบบจำลองลงเพื่อลดเวลาที่ใช้ สำหรับระบบคัดแยกแตงกวาของ Makoto Koike แม้ตอนทดสอบจะได้ความแม่นยำในการคัดแยกสูงเกิน 95% ซึ่งเหนือกว่าความแม่นยำในการคัดแยกโดยมนุษย์เสียอีก แต่เมื่อลองใช้จริงความแม่นยำกลับลดลงเหลือ 70% เท่านั้น ซึ่งเขาตั้งสมมติฐานว่าสาเหตุหนึ่งน่าจะเกิดจากขนาดภาพที่เล็กไป เนื่องจากในระบบปัจจุบันเขาต้องลดขนาดภาพของแตงกวาให้เหลือเล็กแค่ 80×80 พิกเซลก่อนป้อนเข้า Deep Learning (ภาพไอคอนสำหรับแอปพลิเคชันบน iPhone มีขนาด 120×120 พิกเซล) ซึ่งการย่อภาพจนเล็กขนาดนี้ทำให้รายละเอียดอย่างหนาม รอยขีดข่วน สีสัน และ สภาพพื้นผิวของแตงกวาหายไป แต่แค่ภาพเล็ก ๆ 7,000 ภาพนี้คอมพิวเตอร์ตั้งโต๊ะส่วนตัวของเขาก็ใช้เวลาถึง 2-3 วันกว่าจะสร้างแบบจำลอง Deep Learning แล้วเสร็จ (ทั้งนี้ในการใช้งานจริงเพื่อคัดแยกแตงกวา การประมวลผลใช้เวลาไม่ได้นานไปกว่าการรอแอปในสมาร์ทโฟนโหลดขึ้นมาเท่าไหร่นัก) หากจะใช้ภาพซูมที่มีความละเอียดสูงขึ้นเวลาที่ต้องใช้สร้างแบบจำลองก็จะเพิ่มเป็นเท่าทวีคูณ ซึ่งทางแก้หนึ่งคือการยอมจ่ายเงินใช้บริการอย่าง Google Cloud Machine Learning ที่จะแบ่งภาระการคำนวณอันหนักหน่วงนี้ออกเป็นส่วนๆ กระจายไปให้เครื่องเซิร์ฟเวอร์หลายๆ เครื่องช่วยกันทำ

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

โดยสรุปแล้วอาจกล่าวได้ว่า Deep Learning เป็นเครื่องมือที่มาแรงจริงๆ ในยุคนี้ค่ะโดยเฉพาะกับงานยากๆ เยอะๆ ของการวิเคราะห์เชิงภาพหรือ Visual Analytics ด้วยแล้ว แต่ทั้งนี้ทั้งนั้นก็ไม่ได้แปลว่าการทำ Deep Learning จะไม่ต้องลงทุนลงแรงอะไรเลย ไม่ใช่ว่า Deep Learning จะเป็นตัวเลือกที่คุ้มค่าที่สุดเสมอสำหรับทุกระบบ และ ก็ไม่ได้หมายความว่างานทุกชนิดจะพร้อมสำหรับ Deep Learning แต่ผู้เขียนก็หวังว่าตัวอย่างจากกิจการฟาร์มแตงกวาในครอบครัวของประเทศญี่ปุ่นนี้อาจช่วยจุดประกายให้คุณผู้อ่านเกิดไอเดียในการนำเทคโนโลยีหรือใช้ Deep Learning มาช่วยเพิ่มประสิทธิภาพ เพิ่มประสิทธิผล หรือ ยกระดับคุณภาพชีวิตของเกษตรกรชาวไทยให้ดีขึ้นได้ไม่มากก็น้อย ให้สมกับที่ประเทศของเรากำลังเข้าสู่ยุคเศรษฐกิจดิจิทัลและยุคประเทศไทย 4.0 ที่มุ่งเน้นใช้เทคโนโลยีและนวัตกรรมเป็นตัวขับเคลื่อนเศรษฐกิจอย่างยั่งยืน

 
 
เอกสารที่เกี่ยวข้อง

  1. How a Japanese cucumber farmer is using deep learning and TensorFlow (31 August, 2016) https://cloud.google.com/blog/big-data/2016/08/how-a-japanese-cucumber-farmer-is-using-deep-learning-and-tensorflow
  2. http://www.slideshare.net/BAINIDA/face-recognition-and-deep-learning-nectec สไลด์บรรยายเรื่อง “Face Recognition & Deep Learning” โดย ดร. สรรพฤทธิ์ มฤคทัต จาก NECTEC
  3. http://www.slideshare.net/BAINIDA/face-recognition-and-modeling สไลด์บรรยายเรื่อง “Face Recognition and 3D Face Modeling” โดย ผศ.ดร.ธนาสัย สุคนธ์พันธุ์ หลักสูตรวิทยาศาสตรมหาบัณฑิตวิทยาการคอมพิวเตอร์และระบบสารสนเทศ สาขาวิชาเอก Interactive Media Science คณะสถิติประยุกต์ สถาบันบัณฑิตพัฒนบริหารศาสตร์ (นิด้า)
  4. http://www.slideshare.net/BAINIDA/image-analytics-and-its-application สไลด์บรรยายเรื่อง “Image Analytics and Applications” โดย ผศ.ดร.ฐิติรัตน์ ศิริบวรรัตนกุล หลักสูตรวิทยาศาสตรมหาบัณฑิตวิทยาการคอมพิวเตอร์และระบบสารสนเทศ สาขาวิชาเอก Interactive Media Science คณะสถิติประยุกต์ สถาบันบัณฑิตพัฒนบริหารศาสตร์ (นิด้า)