What is Google Cloud AutoML (ฉบับแปลไทย)


What is Google Cloud AutoML (ฉบับแปลไทย)

สวัสดีครับผู้อ่านทุกท่าน สำหรับบทความนี้ผมจะขอนำเสนอสุดยอดเครื่องมือสำหรับการทำ machine learning model โดยที่ไม่จำเป็นจะต้องมีความรู้เรื่อง machine learning ขั้นสูงก็สามารถสร้าง model ที่ดีได้อย่างง่ายได้ โดยใช้ AutoML จาก Google Cloud อีกทั้งยังสามารถทดลองใช้งานแบบฟรีๆ ได้อีกต่างหากโดยที่เนื้อหาตลอดทั้งบทความนี้ผมจะแปลเป็นไทยโดยอ้างอิง reference ที่เป็นทางการจาก Google Cloud

สำหรับบทความนี้นะครับ ผมจะอธิบาย AutoML ตามคำถามที่ผมได้ตั้งขึ้นมาดังนี้

  • ทำไมถึงควรที่จะต้องใช้ Cloud AutoML?
  • Cloud AutoML เหมาะกับงานประเภทไหน?
  • Cloud AutoML เหมาะกับองค์กรลักษณะใด?
  • Cloud AutoML มีความน่าเชื่อถือมากน้อยแค่ไหน?
  • AutoML มีประเภทใดบ้าง สามารถทำอะไรได้บ้าง?

จากคำถามข้างต้นนี้ AutoML ถือว่าเหมาะอย่างมากกับองค์กรที่มีไม่ค่อยมีทีม Data Engineer และ Data Scientist ที่คอย prepare data/ build model ให้ หรือ ไม่ค่อยมีเวลาที่จะ build model ขึ้นมาใหม่เองตั้งแต่เริ่มต้น หรือ build model ขึ้นมาเองแล้วแต่ model ไม่ได้มีประสิทธิภาพที่แม่นยำเท่าที่ควร หรือ อยากจะทำ Proof of Concept แบบเร็วๆ ดังนั้น AutoML ถือว่าเป็นตัวเลือกที่ดีเลยทีเดียว ถัดมาผมจะอธิบายประเภทและความสามารถต่างๆ ของ AutoML แต่ละตัว

AutoML Vision

เริ่มด้วย AutoML ตัวแรกซึ่งก็คือ AutoML Vision เครื่องมือสุดเจ๋งที่เอาใว้ทำ Object Detection และ Image Classification นั่นเอง

แล้ว Object Detection กับ Image Classification มันต่างกันยังไง?

Object detection ก็คือการที่เราตรวจหาวัตถุที่อยู่ในภาพนั่นเอง เพื่อตรวจหาว่าวัตถุนั้นคืออะไร? อยู่ตรงไหน? มีจำนวนเท่าใด?

ส่วน Image Classification ก็คือการตรวจหาวัตถุเพื่อแบ่งวัตถุนั้นๆ ออกตาม lebel ที่กำหนดใว้ ดังเช่นภาพด้านหลัง

Use Case

ให้ลองนึกภาพว่าหากเราต้องการที่จะค้นหาย่านที่มีรูปแบบสถาปัตยกรรมเหมือนกันกับเมืองของเรา เรามีรูปบ้านหลายแสนรูปภาพที่จะต้องค้นหา แต่การพยายามที่จะแยกแยะจัดหมวดหมู่รูปภาพเหล่านั้นไม่ใช่เรื่องง่าย มันจะดีกว่าไหมถ้าหากเราสามารถใช้ AutoML Vision ในการจัดหมวดหมู่ให้กับเรา?

สำหรับงานทางด้าน Vision แล้ว Google ได้พัฒนาทั้ง Vision API และ AutoML Vision เอาใว้ใช้จัดการกับงานจำพวกรูปแต่สงสัยไหมครับว่า Vision API กับ AutoML Vistion นั้นต่างกันอย่างไร?

จากภาพข้างต้นจะเห็นได้ว่า ผลลัพธ์จากกันตรวจจับวัตถุในภาพของ Vision API และ AutoML นั้นจะต่างกันออกไป อย่างเช่นภาพแรก Vision API พบว่ามันคือ house แต่ AutoML สามารถตรวจจับประเภทของ house ได้ว่ามีความเป็น modern หรือ อื่นๆ เนื่องจากว่าเรามีการ label ที่เฉพาะเจาะจงเข้าไป

หากเราต้องการที่จะเพิ่มประสิทธิการทำงานของ AutoML Vision เราสามารถเลือกใช้ AutoML Vision Edge ได้ซึ่งมีข้อดีดังต่อไปนี้

  • สามารถ export model ที่ได้จากการ train ด้วย AutoML มารันบนเซิร์ฟเวอร์ของเราเอง โดยสามารถ export ออกมาได้สามแบบ คือ TF Lite สำหรับพีซีไม่มีชิปกราฟิก, TensorFlow สำหรับการรันบนชิปกราฟิก, และ Edge TPU สำหรับการรันบน IoT ที่มีชิปเร่งความเร็วเฉพาะ และยังเลือก export ออกมาเป็นไฟล์ตรงๆ หรือคอนเทนเนอร์ก็ได้
  • การ train และ deploy model นั้นมีค่า latency ที่ต่ำ แต่มีค่า accuracy ที่สูงมากๆ
  • สถาปัตยกรรม Hardware ที่ support ได้แก่ Edge TPUs, ARM and NVIDIA
  • ในการสร้าง application บนอุปกรณ์ IOS หรือ android เราสามารถใช้ AutoML Vision Edge ใน ML Kit ซึ่ง solution นี้พร้อมใช้งานผ่าน Firebase และมีขั้นตอนการพัฒนาแบบ end-to-end สำหรับการสร้างและปรับใช้ model ที่กำหนดเองกับ mobile devicesโดยใช้ ML Kit client libraries

AutoML Video Intelligence (Beta)

สำหรับ AutoML Video Intelligence จะคล้ายๆ กับ AutoML Vision แค่เปลี่ยนจากรูปเป็นวีดีโอเท่านั้นเอง ซึ่งมันถูกแบ่งออกเป็นสองรูปแบบ ได้แก่ Classification และ Object Tracking

Classification กับ Object Tracking ต่างกันยังไง?

AutoML Video Intelligence Classification คือเครื่องมือที่ช่วยให้เราทำการ train machine learning model โดยแยกประเภทของ videos ตาม label ที่เราได้ระบุใว้ ดังภาพด้านล่างนี้

ส่วน AutoML Video Intelligence Object Tracking ช่วยให้เราสามารถ train machine learning model เพื่อ detect และ track หลายๆ object ในภาพ ซึ่งเราสามารถ track objects ใน video ของเราตาม label ที่ระบุใว้แล้วได้ สามารถรู้ได้ว่า object ที่เราต้องการจะ track ดูนั้นมันอยู่ในช่วงเวลาไหนของ video

Use Case

ให้ลองนึกภาพว่าหากคุณเป็นโค้ชในทีมฟุตบอล คุณมีวิดีโอเกมขนาดใหญ่ที่คุณต้องการใช้เพื่อศึกษาจุดแข็งและจุดอ่อนของทีมของคุณ การเก็บรวบรวม action ต่างๆ เช่นการทำประตู การฟาล์ว และการเตะลูกโทษจากหลายๆ เกมไว้ในวิดีโอเดียวจะมีประโยชน์อย่างมาก แต่วิดีโอนั้นมีความยาวหลายร้อยชั่วโมง ทำให้ใช้เวลาในการตรวจสอบนานมาก การดูวิดีโอแต่ละรายการและการทำเครื่องหมายด้วยตนเองเพื่อเน้น action แต่ละครั้งนั้นเสียเวลาเป็นอย่างมาก และคุณจะต้องทำงานนี้ในแต่ละฤดูกาล มันจะดีกว่าไหมหากคุณสามารถใช้ AutoML Video Intelligence ทำหน้าที่นี้แทนคุณ?

AutoML Natural Language

AutoML Natural Language ช่วยให้เราสามารถใช้ machine learning model การวิเคราะห์ข้อมูลที่เป็นลักษณะ text หรือ documents จากนั้นนำมาจัดหมวดหมู่เพื่อหา เอกลักษณ์ (entity) ของ documents นั้นๆ พร้อมทั้งยังสามารถรับรู้ถึงทัศนคติหรือความคิด (attitude) ได้อีกด้วย ซึ่ง AutoML Natural Language ถูกแบ่งออกเป็น 3 รูปแบบด้วยกันได้แก่

  • Classification เอาใว้ใช้สำหรับแบ่งหมวดหมู่ข้อมูล documents, text
  • Entity extraction เอาใว้สำหรับบ่งบอกถึงเอกลักษณ์ (entity) เพื่อตรวจสอบหาเอกลักษณ์ (entity) ที่เกี่ยวข้องกับ text ของเรา

จากภาพจะพบว่าแต่คำที่อยู่ใน text นั้นจะถูกตรวจสอบว่าตรงกับ entity ใด อย่างเช่น Google ผลลัพธ์คือ องกรค์ (Organization), users ผลลัพธ์คือ คน (person)

  • Sentiment analysis เอาใว้สำหรับใช้ text ในการตรวจหาอารมณ์ ความรู้สึก ทัศนคติ ของผู้เขียนว่ามีแน้วโน้มไปในเชิงบวก ลบ หรือเป็นกลาง

จากภาพตัวอย่างข้างบนนี้แสดงให้เห็นถึงผลลัพธ์ของการตรวจสอบคำเพื่อวิเคราะห์อารมณ์ ความรู้สึกจาก text ที่เราได้กำหนดใว้ เราจะเห็นได้ว่าผลลัพธ์ที่ได้นั้นจะอยู่หนึ่งใน range ของ สีแดง (negative) สีเหลือง (neutral) หรือสีเขียว (positive)

Use Case

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

เช่นเดียวกันกับงานจำพวก Vision ที่ผมได้กล่าวใว้ข้างต้น Google ได้พัฒนาทั้ง Cloud Natural Language API และ AutoML Natural Language มาให้เราเลือกใช้ตามความเหมาะสมและความต้องการของเรา

แล้วเราจะรู้ได้ยังไงว่าเราควรใช้ Cloud Natural Language API หรือ AutoML Natural Language?

หลักการเดียวกันกับระหว่าง Vision API และ AutoML Vision แค่เปลี่ยนจาก ภาพเป็นข้อความ นั่นก็คือหากเราไม่ต้องการที่อยากจะ label ข้อมูลเอง ไม่ต้องการระบุหรือแยกประเภทที่เฉพาะเจาะจง เราก็สามารถใช้ Vision API เพื่อความรวดเร็วได้ โดยที่ Google จะแบ่งประเภทและหมวดหมู่แบบทั่วไปใว้ให้เราอยู่แล้ว แต่ถ้าหากเราพบว่า ผลลัพธ์มันไปอยู่ในหมวดหมู่ที่เราไม่ต้องการ หมวดหมู่มันกว้างเกินไป อยากได้อะไรที่มันเจาะจงมากไปกว่านี้ เราก็ควรที่จะต้องใช้ AutoML Natural Language เพื่อ label เอง และทำการ custom ประเภทหมวดหมู่ของเราให้ตรงกับประเภทที่เราต้องการ

AutoML Translation

หลายคนอาจสงสัยว่ามันต่างกับ Google Translate ยังไง? คำตอบคือเราสามารถ custom model เองได้ซึ่งทำให้ผลลัพธ์การแปลภาษานั้นต่างกันออกไปจาก Google Translate นั่นเอง สามารถแปลได้ตามความต้องการของเรา

Use Case

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

สำหรับ Translation แล้ว Google ก็ได้พัฒนา Translation API ขึ้นมาเหมือนกัน หรือมันก็คือ Google Translate ที่เราคุ้นเคยกันดีนั่นเอง หมายความว่าหากเราต้องการนำ feature translate ของ Google ไปใช้กับ web application ของเราแล้วละก็ เราสามาใช้ Translation API ได้ซึ่งการแปลภาษาก็จะเหมือนกันกับ Google Translate นั่นเอง

AutoML Tables (beta)

AutoML Tables เอาใว้ใช้สำหรับทำ model ทำนายผลกับข้อมูลที่เป็นตารางนั่นเอง ซึ่งเราอาจจะนำไปทำนายผล ในเชิงธุรกิจได้ เช่น transaction ที่กำลังจะเกิดขึ้น หรือ ทำนายยอดคำสั่งล่วงหน้า

Use Case

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

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

Written by Chayutapon Suwannachart

Cloud Ace Thailand

Make It Now!

หากคุณสนต้องการคำปรึกษา Cloud Ace Thailand พร้อมให้บริการที่จะสนับสนุนคุณตั้งแต่ การให้คำปรึกษา จนถึงการออกแบบระบบ ติดตั้งระบบ ย้ายระบบ ในฐานะ Google Cloud Partner ที่มีความเชี่ยวชาญ และได้รับรางวัล Service partner of the year ในปี 2019

ติดต่อเรา th_sales@cloud-ace.com

Subscribe to us

.