Newsletter subscribe

Artificial Intelligence, Innovation

จริงหรือไม่ที่ Google กำลังสร้าง AI ให้กลายเป็น Skynet#14 AI Creates AI

Posted: 10/09/2020 at 12:48   /   by   /   comments (0)

ในงานการประชุม Google I/O 2017 ที่จัดขึ้นในเดือนพฤษภาคม Google CEO, Sundar Pichai ได้พูดถึงโปรเจ็กต์ใหม่ที่มีชื่อว่า “AutoML” (Automated Machine Learning) โปรเจ็กต์นี้โฟกัสที่ Deep Learning ซึ่งเป็นเทคนิคการเรียนรู้เชิงลึกของโปรแกรมคอมพิวเตอร์ที่เลียนแบบการทำงานของระบบเซลล์ประสาทในสมองมนุษย์ โดยใช้โครงข่ายประสาทเทียม (Neural network)

หมายเหตุ: Deep learning เป็น subset หรือเป็นส่วนหนึ่งของ Machine learning เนิ้อหาในบทความนี้ ส่วนใหญ่จะใช้คำ Machine learning ขอให้ผู้อ่านเข้าใจด้วยว่ามันหมายถึง Deep learning ด้วย

 

Video Google # IO17 /Keynote/AutoML

 

บริษัทด้านเทคโนโลยียักษ์ใหญ่ของโลกได้แก่ Google, Facebook, Microsoft ต้องใช้เงินหลายล้านเหรียญสหรัฐในการว่าจ้างผู้เชี่ยวชาญด้าน AI ซึ่งมีค่าตัวที่แพงมาก ตลาดงานด้านนี้มีน้อยและหายากอย่างยิ่งที่จะเจอผู้ที่มีความสามารถพิเศษระดับแบบนี้ ที่สามารถสร้าง advanced machine learning models และการสร้างผู้เชี่ยวชาญที่มีทักษะทางด้าน AI นั้นต้องใช้เวลาของการทำงานหลายปี แต่อุตสาหกรรมและธุรกิจต่างๆที่มีการเจริญเติบโตอย่างรวดเร็วไม่สามารถคอยได้

จากปัญหาการขาดแคลนนักวิจัย AI ซึ่งมีอยู่เพียง 10,000 คนทั่วโลก ที่มีความรู้ ประสบการณ์ และความฉลาด ความสามารถพิเศษ ที่จำเป็นในการสร้าง algorithms ทางคณิตศาสตร์ที่ซับซ้อน และบางครั้งก็ลึกลับ ทำให้ Google คิดค้น AutoML ขึ้นมา ซึ่งเป็นระบบ AI ที่สามารถสร้าง AI ตัวลูก (AI child) ของมันได้เอง เพื่อช่วยให้บริษัทต่างๆสามารถสร้างระบบ AI โดยไม่ต้องใช้เงินมากในการว่าจ้างผู้เชี่ยวชาญ AI แพงๆ มีบริษัทจำนวนมากที่ไม่มีงบประมาณเพียงพอในการว่าจ้างนักวิจัย AI แต่มีข้อมูลที่บริษัทเหล่านี้ต้องจัดการจำนวนมาก

 

indiatoday.in

Sudar Pichai กล่าวว่า Google หวังว่า AutoML จะช่วยเพิ่มจำนวนนักพัฒนา AI ที่มีอยู่เพียงไม่กี่คนในวันนี้ ให้กลายเป็นหลายแสนคนที่สามารถออกแบบ neural networks ใหม่ตามความต้องการของพวกเขา และมันจะเป็นลูกโซ่ไปเพิ่มจำนวนบริษัทที่ใช้ AI ในการแก้ปัญหาจากหลายพันบริษัทให้กลายเป็นหลายล้านบริษัททั่วโลก

 

 

Waiting For The End – Linkin Park

 

 

indiatoday.com

ปัจจุบันมีการใช้เทคโนโลยีด้าน Deep Learning ที่ใช้ neural network เพิ่มขึ้นอย่างรวดเร็วในการจัดการข้อมูลหรือปัญหาต่างๆในภาคธุรกิจและอุตสาหกรรม AutoML เป็นเทคโนโลยีใหม่ของ Google ที่จะมาช่วยลดงานของมนุษย์ในการสร้าง neural network

ปกติแล้วในการสร้าง neural network นั้นต้องใช้ผู้เชี่ยวชาญ AI ที่มีทักษะเฉพาะด้านที่สูง (ค่าตัวแพง)โดยเฉพาะด้านที่เรียกว่า Architecture Engineering หรือ ด้านวิศวกรรมและสถาปัตยกรรม ในการสร้าง neural network นั้นนักวิจัยต้องทำการทดลองหลายพันครั้ง ลองผิดลองถูก ซึ่งกินเวลาในการสร้างนานและมีค่าใช้จ่ายสูง

 

futurism.com

Google CEO, Sundar Pichai ได้เขียนไว้ว่า “การออกแบบ neural network (network design) เป็นส่วนที่ยากที่สุด ซับซ้อนที่สุด ใช้เวลานานที่สุด และต้องการผู้เชี่ยวชาญพิเศษซึ่งมีเพียงไม่กี่คนในชุมชนของนักวิทยาศาสตร์และวิศวกร นี้จึงเป็นสาเหตุที่ Google สร้าง AutoML ขึ้นมาเพื่อให้มันทำหน้าที่แทน”

สิ่งที่ Pichai กล่าวถึงก็คือ “Neural network ที่สามารถออกแบบ Neural network ได้” นั่นคือ NAS (Neural Architecture Search) ซึ่งเป็นผลงานของ Google Brain team

NAS เป็น algorithm ใน AutoML ที่ใช้ค้นหา neural network architecture ใหม่ที่ดีที่สุดออกมา แทนที่เราจะออกแบบ neural network ที่ซับซ้อนเอง ปล่อยเป็นหน้าที่ของ NAS ทำส่วนที่ยากนี้ เราแค่ upload ข้อมูลของเราเข้าสู่ AutoML เพื่อให้ NAS ออกแบบให้ด้วยเทคนิคการเรียนรู้แบบเสริมกำลัง (Reinforcement Learning)

หมายเหตุ:

Architecture of neural network คือการจัดเรียงตัวที่เชื่อมต่อกันสร้างของเซลล์ประสาท ได้เป็นแบบจำลอง (model) ของ neural network ออกมา

ภาพข้างล่างแสดง Architecture of neural network แบบหนึ่งที่เรียกโครงข่ายประสาทเทียมแบบวนกลับ “Recurrent neural network (RNN)”

hackernoon.com

Reinforcement learning เป็นเทคนิคการเรียนรู้ของคอมพิวเตอร์ที่ใช้สำหรับการพัฒนาตัวมันเอง โดยใช้วิธีการให้รางวัล (reward) หรือการลงโทษ (punishment) เป็นแรงขับเคลื่อนให้มันไปในทิศทางเป้าหมายที่กำหนดไว้ มันจะทดลองผิดทดลองถูก และเรียนรู้ข้อผิดพลาดเพื่อนำไปปรับปรุงตัวเองไปเรื่อยๆ จนกระทั่งตัวมันมีความแข็งแกร่งขึ้นกว่าเดิม

 

นี้เป็นตัวอย่างของ Building block แบบหนึ่ง (tutorialspoint.com)

ai.googleblog.com 

ใน NAS algorithm มีตัวควบคุม (Controller) ซึ่งใช้ Recurrent neural network (RNN) สุ่มเลือก building blocks ขึ้นมา แล้วรวมหรือประกอบพวกมันเข้าด้วยกันเป็น neural network architecture ใหม่ขึ้นมาเรียก “child network” ซึ่ง child network ตัวนี้จะถูกฝึกฝน จากนั้นถูกทดสอบเพื่อประเมินค่าความแม่นยำ (accuracy evaluation) ของมัน ผลที่ได้จากการประเมินจะถูกนำ “วนกลับ” ไปที่ตัว controller เพื่อให้ NAS ทำการปรับปรุง building blocks และประกอบพวกมันใหม่ในลักษณะที่แตกต่างจากเดิม สร้าง neural network architecture ที่ดีขึ้นกว่าเดิมออกมาใหม่ ทำกระบวนการเช่นนี้ซ้ำๆกันจำนวนหลายพันครั้ง ดังนั้น controller จะสร้าง neural network architecture ที่ดีขึ้นตลอดเวลา จนกระทั่งได้ child network ที่ให้ค่าความแม่นยำ (accuracy) ที่สูงที่สุดออกมา ดังภาพจำลองข้างล่าง child network ที่ได้ขั้นสุดท้ายหลังจากการทำซ้ำกระบวนการที่กล่าวมาข้างต้น (reinforcement learning) ประมาณ 20,000 ครั้งจะให้ค่าความแม่นยำถึง 97%

 


ai.googleblog.com

รูปภาพข้างล่างแสดงการเปรียบเทียบแบบจำลองที่มนุษย์ออกแบบ กับแบบจำลองที่ AutoML ออกแบบ จะเห็นได้ว่า neural network ของ AI child ที่ AutoML ออกแบบมีขนาดใหญ่กว่าและมีความซับซ้อนมากกว่า ให้เราย้อนนึกไปถึง AlphaGo ที่เล่นเอาชนะมนุษย์ที่เป็นแชมป์โลกหลายต่อหลายคนได้ ซึ่งการที่มันเอาชนะได้เพราะ neural network algorithm สามารถค้นหาพื้นที่ สำหรับการเดินหมากและกลยุทธ์การเล่นที่ดีที่สุด ได้ดีกว่ามนุษย์

stanleysuen.com

 

 

Afrojack & David Guetta – Another Life

 

 

zeolearn.com

Cloud AutoML เป็นบริการหนึ่งใน Google Cloud Platform ที่ช่วยให้เราสามารถสร้าง machine learning model ได้เอง โดยไม่จำเป็นต้องมีทักษะทางด้าน machine learning

หลังจากที่ Google เปิดตัว AutoML เมื่อปี 2017 ต่อมา Google ได้เปิดบริการ Cloud AutoML ซึ่งเป็นบริการใหม่ เริ่มต้นด้วย AutoML Vision เปิดตัวในเดือนมกราคม 2018 Google จากนั้นในเดือนกรกฏาคม 2018 ได้เปิดตัว AutoML for Machine Translation และ AutoML Natural Language Processing

 

AutoML Vision

Google มีบริการ Cloud Vision API ใน Google Cloud Platform มาตั้งแต่ปี 2015 เป็นบริการที่ใช้ machine learning วิเคราะห์ภาพถ่ายได้อย่างแม่นยำ และจำแนกภาพเป็นหมวดหมู่ได้หลายพันประเภทอย่างรวดเร็ว นอกจากนี้ยังใช้ในการตรวจจับวัตถุและใบหน้าบุคคลในภาพ เราสามารถใช้บริการ Cloud Vision API สร้างข้อมูลในแคตตาล็อกภาพถ่ายสำหรับธุรกิจของเรา  แต่การวิเคราะห์ของ Cloud Vision API นั้นยังไม่ละเอียดพอ ยกตัวอย่างเช่น ถ้าเรานำภาพถ่ายของแอปเปิ้ลให้ Cloud Vision API วิเคราะห์ มันก็จะบอกว่านี้คือ แอปเปิ้ล

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

 

ขั้นตอนการใช้ AutoML Vision

quora.com

ผู้เขียนขอนำบางส่วนในบทความ “การสร้าง Machine Learning Model “ส้มตำ” ด้วย AutoML Vision” จาก www.tangerine.co.th มาอธิบายวิธีการใช้งาน AutoML Vision พอสังเขปดังนี้

tangerine.co.th

เมื่อเราป้อนภาพส้มตำเข้าไปใน AutoML Vision จะเห็นว่า Vision API รู้จักภาพส้มตำในมุมกว้างๆว่ามันเป็นอาหารไทย (จากรูปจะเห็น Thai Food 71%) หรือรู้ว่าเป็นส้มตำ แต่ไม่รู้จักว่าเป็น ส้มตำปูปลาร้าหรือส้มตำไทย เพราะฉะนั้นเราต้องการ model ที่สามารถจัดหมวดหมู่ภาพได้ละเอียดกว่านี้ เพื่อให้ตอบสนองต่อการใช้งานในทางธุรกิจมากยิ่งขึ้น

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

เริ่มต้นสร้าง custom model ด้วย AutoML Vision โดยเข้าไปที่

Cloud AutoML

แล้วทำการ upload รูปภาพที่ต้องการใช้ในการสร้าง model เราจะต้องทำการ label รูปภาพเหล่านี้ ในกรณีนี้จะมีอยู่ 2 labels คือ “ตำปูปลาร้า” และ “ตำไทย” ทั้งนี้จำนวนรูปภาพในแต่ละ label ต้องมีมากพอ (ไม่ควรน้อยกว่า 20 ภาพสำหรับแต่ละ label) เนื่องจากระบบจะต้องแบ่งภาพที่ได้ เพื่อใช้ในการฝึกฝนและทดสอบเพื่อประเมินความแม่นยำของ model

 

tangerine.co.th

เมื่อ upload รูปภาพและใส่ label แล้ว ให้กดฟังก์ชั่น “TRAIN NEW MODEL” ระบบจะเริ่มสร้าง model จากนั้นทำการฝึกฝน และทดสอบความแม่นยำ ของ model หลายๆครั้ง จนกว่าจะได้ค่าความแม่นยำที่สูงสุดออกมา

 

tangerine.co.th

model ที่ถูกสร้างขึ้นและ train เสร็จเรียบร้อยแล้ว จะมาพร้อมรายละเอียดความแม่นยำ (accuracy) ของ model จากรูปข้างบน model ที่ถูกสร้างขึ้นทายว่า (predict) ภาพที่ถูกใส่เข้าไปเป็น ปูปลาร้า ด้วยความมั่นใจ 0.906 หรือ 90.6% ในกรณีนี้ AutoML Vision ใช้เวลาในการสร้าง new model เพียง 1 ชั่วโมงเพราะข้อมูลรูปภาพที่ใส่เข้าไปมีไม่มาก

นอกจากใช้ AutoML Vision ในการวิเคราะห์ภาพถ่ายและจำแนกภาพออกเป็นหมวดหมู่แล้ว(Image Classification) เรายังนำไปใช้ในการตรวจจับวัตถุ (Object Detection) ซึ่งให้ค่าความแม่นยำสูง ดังรูปข้างล่าง

 

analyticsindiamag.com

 

 

Alesso – TIME

 

 

AutoML Natural Language

udemy.com

ก่อนจะพูดถึง AutoML Natural Language ขอกล่าวถึง Natural Language Processing พอสังเขปดังนี้

 

technology.condenast.com

Natural Language Processing (NLP) คือ การประมวลผลภาษาธรรมชาติของมนุษย์ เป็นสาขาหนึ่งของ Artificial Intelligence ที่เกี่ยวข้องกับการปฏิสัมพันธ์ระหว่างคอมพิวเตอร์และภาษาธรรมชาติของมนุษย์ ที่มุ่งเน้นการทำให้คอมพิวเตอร์สามารถเข้าใจและประมวลผลภาษามนุษย์  NLP มีบทบาทสำคัญมากในโลกของธุรกิจ โดยเฉพาะการจัดการข้อมูลข้อความที่มีปริมาณมหาศาล

NLP จัดว่าเป็นด้านที่ยากลำบากทางด้าน computer science เนื่องจากภาษาที่มนุษย์ใช้กันอยู่นั้น มีความซับซ้อน และมีความหลายหลากอย่างยิ่ง ทั้งในด้านการสื่อสารด้วยคำพูดและการเขียนข้อความลงไป มันไม่ใช่เป็นเรื่องง่ายที่จะทำให้คอมพิวเตอร์เข้าใจข้อมูลที่เป็นภาษามนุษย์ การจะทำความเข้าใจภาษามนุษย์ นอกจากจะต้องเข้าใจความหมายของคำแล้ว ยังต้องเข้าใจเจตนาของมนุษย์ในการส่งข้อความนั้นด้วย

ตัวอย่างแอพพลิเคชั่นที่ใช้ NLP ได้แก่

แอพพลิเคชั่นที่ใช้ในการแปลภาษา เช่น Google Translate

Word Processors เช่น Microsoft Word

แอพพลิเคชั่นที่ใช้ในงาน Call center เช่น Interactive Voice Response (IVR)

แอพพลิเคชั่นผู้ช่วยอัจฉริยะ เช่น Google Duplex, Siri (Apple), Alexza (Amazon)

 

AutoML Natural Language

ek21.com

Google ได้กล่าวถึง “Hearst” บริษัทยักษ์ใหญ่แห่งวงการสื่อของโลกว่าขณะนี้กำลังใช้ AutoML Natural Language เพื่อช่วยในการ tag และจัดระเบียบเนื้อหาของ magazine และสิ่งพิมพ์ทั้งในประเทศและต่างประเทศจำนวนมาก

Esfand Pourmand รองประธานอาวุโสของหนังสือพิมพ์ Hearst กล่าวถึง AutoML Natural Language ว่า

“เราในฐานะหนึ่งในผู้จัดพิมพ์นิตยสารและหนังสือพิมพ์รายใหญ่ที่สุดของโลก ทีม Hearst มองหาวิธีที่ดีกว่าในการจัดการเนื้อหา (content) และเราพบว่า AutoML Natural Language ช่วยให้เราสามารถสร้างโมเดลที่ตรงตามความต้องการของเรา และมีความแม่นยำสูง ซึ่งมันช่วยตอบโจทย์ได้ดีกว่าเครื่องมืออื่นๆ”

ทีนี้มาดูที่ธุรกิจของคุณกัน ลองนึกภาพธุรกิจของคุณ ถ้าคุณมีเว็บไซต์และมีแบบฟอร์ม on-line สำหรับลูกค้าเขียนความคิดเห็นลงไป ทุกวันเราจะได้รับข้อความจำนวนมากที่ลูกค้ากรอกในแบบฟอร์ม Rajen Sheth ผู้อำนวยการของ Google Cloud กล่าวว่า 90% ของข้อมูลความคิดเห็นของลูกค้าเป็นภาษาที่ไม่มีโครงสร้าง ไม่มีระเบียบแบบแผน  ซึ่งเกินกว่าที่จะใช้วิธีง่ายๆจัดการกับมันได้ เช่น ให้โปรแกรมเมอร์เขียนโปรแกรมให้คอมพิวเตอร์ปฏิบัติตาม code หากคุณพยายามสร้างตัวกรองด้วยตัวเอง จะพบว่าคุณไม่สามารถจัดหมวดหมู่ความคิดเห็นของลูกค้าได้อย่างรวดเร็ว คุณต้องการระบบที่สามารถจัดการกับความคิดเห็นที่มีความหลายหลากนี้

มันจะเยี่ยมมากถ้ามีระบบอัตโนมัติที่อ่านความคิดเห็นเหล่านั้น แล้วสามารถระบุว่าได้ว่านี้เป็นความคิดเห็นประเภทใด และสามารถจัดหมวดหมู่ของข้อความเหล่านี้ (Text categorization) เพื่อที่คุณจะสามารถนำข้อความแต่ละประเภทไปจัดการในธุรกิจของคุณ ระบบที่ว่านี้คือ “AutoML Natural Language” ซึ่งสามารถสร้าง machine learning model ที่มีประสิทธิภาพสูง มาจัดการกับข้อความเหล่านี้

 

cloud.google.com

ตัวอย่างการใช้ AutoML Natural Language ในการระบุประเภทของความคิดเห็น และจัดหมวดหมู่ของข้อความออกมา

My absolute favorite thing about this place…สิ่งที่ฉันชอบที่สุดเกี่ยวกับสถานที่นี้ –> Great service การชมเชยการบริการ

I didn’t like the way that, when you get to…ฉันไม่ชอบวิธีที่เมื่อคุณ… –> Service Complaint การร้องเรียนการบริการ

It would be great if you could take this in…มันจะดีมากถ้าคุณสามารถรับสิ่งนี้ได้… –> Suggestion การแนะนำ

What time are you open until Sunday nights…คุณเปิดกี่โมงจนถึงคืนวันอาทิตย์… –> Info Request การขอข้อมูล

How much would it be if I came in with more…มันจะเป็นอย่างไรถ้าฉันเข้ามาด้วย… –> Estimate Request การขอประเมิน

Is it too late for me to schedule time with…มันสายเกินไปมั้ยที่ฉันจะจัดสรรเวลาด้วย… –> Scheduling Request การขอจัดสรรเวลา

 

 

medium.com

ขั้นตอนการใช้ AutoML Natural Language สร้าง machine learning model เพื่อการใช้งานตามความต้องการของผู้ใช้ ทำในลักษณะเดียวกับ AutoML Vision ตามภาพข้างบน ฉะนั้นจึงขอละไว้ ไม่นำมาอธิบายในส่วนนี้

ภาพข้างล่าง จะเห็นว่า machine learning model ที่ AutoML Natural Language สร้าง ให้ค่าความแม่นยำมากกว่าค่าที่ได้จาก Natural Language API มาก

cloud.google.com

 

AutoML Translation

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

แต่เรายังมีความจำเป็นที่จะต้องมีการปรับปรุงการแปลภาษาในบาง areas ที่เฉพาะเจาะจง เช่น การรวบรวมคำศัพท์เทคนิค (technical terminology) ที่ซับซ้อนมาก หรือ การรวบรวมอนุกรมวิธาน (taxonomy: การจัดจำแนกสิ่งมีชีวิตออกเป็นหมวดหมู่) เป็นต้น

Google เปิดบริการ  AutoML Translation เพื่อเปิดโอกาสให้ลูกค้าสามารถสร้าง machine learning model สำหรับเป็นเครื่องมือแปลภาษาด้วยตัวเอง ตามความต้องการที่เฉพาะเจาะจงของลูกค้า

 

medium.com

ขั้นตอนการใช้งาน AutoML Translation เหมือนกับ AutoML Vision และ AutoML Natural Language คือ

เข้าไปที่เว็บไซต์ AutoML Translation (https://beta-dot-custom-vision.appspot.com)

เข้าไปสร้าง new dataset ตั้งชื่อและกำหนดว่าภาษาใดเป็น source language และภาษาใดเป็น target language

จากนั้น upload ข้อมูล language pair ที่เราต้องการให้ระบบเรียนรู้

กดฟังก์ชั่น “Train” เพื่อเริ่มกระบวนการฝึกฝนโมเดล ซึ่งโดยทั่วๆไปแล้ว ถ้าชุดข้อมูลมีปริมาณมาก กระบวนการฝึกฝนจะใช้เวลาประมาณ 3 ชั่วโมง

จากนั้นเราจะได้รับ e-mail บอกให้รู้ว่าโมเดลได้รับการฝึกฝนเสร็จสิ้นแล้ว ขั้นตอนสุดท้ายคือทำการทดสอบโมเดลใหม่นี้

หมายเหตุ: language pair คือ การจับคู่ของภาษาที่เป็น source และภาษาที่เป็น target เช่น เราต้องการแปลภาษาไทย (source) เป็นภาษาเยอรมัน (target) ในที่นี้ language pair ก็คือ ไทย-เยอรมัน