Data Science Machine Learning

สรุปเนื้อหาคอร์สเรียน AI For Everyone – ตอนที่ 2/4

สรุปเนื้อหาสำคัญจากคอร์ส AI For Everyone สัปดาห์ที่สอง สอนโดย Andrew Ng บน coursera

  • ขั้นตอนการทำงานของโปรเจ็ค ML vs. DS
  • brainstorming framework ช่วยเลือกโปรเจ็ค AI
  • เข้าใจวิธีการทำงานของทีม AI เบื้องต้น
  • ทุกคนในองค์กรสามารถได้ประโยชน์จากการศึกษาเรื่อง AI
  • (optional) รีวิวเครื่องมือที่ใช้สร้าง AI สำหรับผู้ที่เพิ่งเริ่มศึกษา

ML-DS Workflow

Andrew เริ่มสัปดาห์ที่สองด้วยการอธิบาย ML-DS workflow แอดเขียนสรุปให้อ่านในตารางด้านล่าง ทั้งสอง workflow มีสามขั้นตอน แตกต่างกันที่ขั้นตอนที่ 2-3

StepMachine LearningData Science
#1Collect dataCollect data
#2Train model (many iterations)Analyze data (many iterations)
#3Deploy modelSuggest actions/ hypotheses

ขั้นตอนที่หนึ่งคือการทำเก็บรวบรวมข้อมูล แอดชอบประโยคที่ Andrew พูดว่า “you can make progress even without big data.” แปลตรงๆว่า คุณสามารถเริ่มทำโปรเจ็ค AI ได้ถึงแม้ว่าข้อมูลของคุณจะไม่ใหญ่ระดับ big data บางโปรเจ็คมีข้อมูลแค่หลักหมื่น records ก็สามารถสร้าง useful AI application ได้แล้ว

ขั้นตอนที่สองของทั้งสอง workflow ต้องมีการทำซ้ำหลายรอบ (many iterations) อย่าคาดหวังว่าโมเดลจะทำงานได้ดีในการเทรนครั้งแรก ต้องปรับจูนไปเรื่อยๆจนกว่าจะได้ผลลัพธ์ที่น่าพอใจ i.e. ถูกต้อง แม่นยำ ใช้งานได้จริง ผ่านเกณฑ์ที่เรากำหนดไว้ก่อนเริ่มทำโปรเจ็ค – meet acceptance criteria

ขั้นตอนสุดท้ายของ ML workflow คือการนำโมเดลไปใช้งานจริง ส่วน DS จะเน้นเรื่อง insight ที่เป็นประโยชน์ต่อธุรกิจ บอกว่าต้องปรับปรุงอะไรยังไงเพื่อเพิ่ม revenue หรือเสนอ hypotheses ให้บริษัทศึกษาวิจัยต่อ

การใช้งาน Google Assistant บน android (ที่มา – Dribbble)

Andrew อาจจะไม่ได้อธิบายเรื่องนี้ตรงๆ แต่ workflow ของทั้ง ML-DS พอผ่าน step 3 ก็จะวิ่งวน loop กลับไปที่ step 1 ใหม่ไม่มีวันจบ ตัวอย่างเช่น Google Assistant ระบบ AI ที่อยู่บนโทรศัพท์แอนดรอยด์ พอ Google deploy โมเดลเวอร์ชั่น 1.01 แล้ว ตัวแอปก็จะเก็บข้อมูลการใช้งานกลับไปเทรนโมเดลเพื่อพัฒนาเวอร์ชั่น 1.02 1.03 1.04 ให้มีประสิทธิภาพดีขึ้นเรื่อยๆ Andrew เรียก process นี้ว่า The Virtuous Cycle of AI

Better product จะดึงดูด user ใหม่มาใช้แอปเรามากขึ้น และทำให้เราเก็บข้อมูลได้มากขึ้นเพื่อใช้พัฒนาสินค้าและบริการต่อไปเรื่อยๆ นี่คือเหตุผลสำคัญที่ทำให้ search engine ของ Google เป็นธุรกิจที่ Andrew เรียกว่า “defensible business” คือหาคนมาล้มได้ยากหรือเป็นไปไม่ได้เลย เพราะ Google มี active users จำนวนมหาศาลและปริมาณ search ต่อวันมากกว่า 3.5 พันล้านครั้ง (อ้างอิงจาก internet live stats)

How to Choose AI Project

Andrew เสนอ brainstorming framework สำหรับคิดหัวข้อ AI ที่จะเป็นประโยชน์ต่อธุรกิจ เวลาทำ brainstorming ให้จัดเป็น workshop แบบ cross-function โดยนำคนจากฝั่งเทคโนโลยี วิศวกร และโปรแกรมเมอร์ มาช่วยกันคิดโปรเจ็คร่วมกับฝั่ง business marketing และ sales

จุดที่ overlap กันของ technical และ business diligence คือจุด sweet spot ที่เราต้องการ

คำถามสองข้อที่ Andrew แนะนำให้ทำใน workshop คือ

  • สิ่งที่ AI ทำได้? – หรือ technical diligence ต้องใช้ความรู้ AI, ML, DS
  • สิ่งที่มีคุณค่ากับธุรกิจ? หรือ business diligence ต้องใช้ความรู้ด้าน business

โปรเจ็ค AI ที่เราตัดสินใจทำต้องตอบโจทย์ทั้งในแง่เทคโนโลยีและผลกระทบต่อธุรกิจ ถ้ามีหลายไอเดียเกิดขึ้นตอน brainstorm ให้ทำ financial model ใน spreadsheet เพื่อจัดลำดับความสำคัญของไอเดียทั้งหมดก็ได้ แต่ไม่ใช่ทุกโปรเจ็คต้องหวังได้เงินหรือกำไรกลับมาเสมอไป สิ่งที่มีค่ามากกว่าเงินทุกวันนี้คือ user data จากการใช้สินค้าและบริการด้าน AI เป็นกลยุทธ์ที่ Andrew เรียกว่า strategic data acquisition

Case Study – ALL Member

Image result for all member 7-11
บัตรสะสมแต้มของ 7-11 สมัครฟรีแค่ใช้บัตรประชาชน

อาทิตย์ที่แล้วแอดเพิ่งสมัครบัตร ALL member ของ 7-11 เพราะว่าพนักงานบอกสมัครฟรีเลยพี่ 555+ (พี่แพ้คำว่าฟรี!) ใช้แค่บัตรประชาชน บอกเบอร์โทรศัพท์และกดปุ่มบนเครื่องแค่ 2-3 ที i.e. ปุ่ม consent ยินยอมเปิดเผยข้อมูลให้ 7-11 เอาข้อมูลส่วนตัวเราไปใช้เพื่อปรับปรุงสินค้าและบริการของเค้า รู้หมดเลยจากบัตรประชาชนว่าลูกค้าชื่ออะไร เพศ อายุ ที่อยู่ แถมมีเบอร์โทร เอาข้อมูลนี้ไปใช้ต่อกับธุรกิจของ truemove ก็ได้ แหม่!

เคสนี้เป็นตัวอย่าง strategic data acquisition ของ CP ตัวแอปและบัตร loyalty card เป็นเทคนิคที่พวก retailers ใช้กันมานานแล้ว โดยบริษัทแรกๆของโลกที่ทำแคมเปญนี้แล้วประสบความสำเร็จอย่างมากคือ Tesco และ dunnhumby ปัจจุบัน clubcard กลายเป็นกลยุทธ์ทางการตลาดที่ใช้กันแทบจะทุกบริษัท

Working with AI Team

diagram แสดง pipeline การสร้างและทดสอบ AI/ ML model (created by DataRockie)

จะทำงานกับทีม AI ต้องรู้ก่อนว่าเค้าคิดอะไรยังไง และคำศัพท์ที่เค้าใช้หลักๆมีอะไรบ้าง Andrew แตะเบาๆเรื่องการสร้างและทดสอบโมเดลในหัวข้อนี้

  • ปกติเราจะแบ่งข้อมูลออกเป็นสองส่วนคือ training set และ test set อย่างที่ชื่อบอกเลยคือ training ใช้สร้างโมเดล ส่วน test ใช้เพื่อทดสอบโมเดล
  • ทีม AI ต้องกำหนด acceptance criteria ที่ใช้กันเยอะๆคือ model accuracy ว่าโมเดลเราทำนาย test set ได้ดีแค่ไหน เช่น 80% 90% หรือ 99% ขึ้นอยู่กับงานนั้นๆว่ายากง่ายแค่ไหน
  • ในกรณีที่โมเดลทำงานได้ดีมากบน training set แต่มี performance ที่แย่มากสำหรับ test set เราเรียกปัญหานี้ว่า “overfitting” ต้องกลับไปเทรนโมเดล ปรับจูนค่า parameter ใหม่ (iterate !!)
  • สำหรับ users ที่จะเอาโมเดลไปใช้ต่อ อย่าคาดหวัง accuracy 100% จากการเทรนโมเดลรอบแรก AI จะเก่งขึ้นเรื่อยๆตอนที่เราเก็บข้อมูลได้มากขึ้น กลับไปที่เรื่อง strategic data acquisition อีกแล้ว

Benefits of AI

ทุกคนในบริษัทสามารถใช้ประโยชน์จากโปรเจ็ค AI/ ML และ DS ได้หมดเลยตั้งแต่ทีม marketing, sales, manufacturing ไปจนถึง people (HR)

ตัวอย่างการทำ resume screening โดย input คือ profile ที่เราต้องการ (created by DataRockie)
หน่วยงานAL / Machine LearningData Science
Marketing customized product recommendation A/B testing
Salesautomated lead sortingoptimize sales funnel
Manufacturingautomated visual inspectionoptimize manufacturing line
Recruitingautomated resume screeningoptimize recruiting funnel

จากตารางจะเห็นว่า AI จะเน้นเรื่อง Automation ส่วน DS จะเน้นการทำ Optimization ตัวอย่างด้าน HR เราสามารถใช้ AI ช่วยรีวิวเรซูเม่ของผู้สมัครงานคัดเฉพาะคนที่มี profile ตรงกับที่บริษัทต้องการ เช่น ประสบการณ์ทำงาน เกรดเฉลี่ย และจำนวน certificates ในมุมของ DS เราอาจพบ signal ว่าการเขียนบทความอย่างต่อเนื่องบน facebook page ของบริษัทมีส่วนช่วยให้คนมาสมัครงานมากขึ้น i.e. optimize recruiting funnel

Key Takeaway Week 2

  • ML-DS workflow มีสามขั้นตอน เป็น loop ที่ไม่มีวันจบเพราะงานของ data people like us คือการพัฒนาสินค้าและบริการให้ดีขึ้นเรื่อยๆ
  • ใช้ brainstorming framework ตอบคำถามเรื่อง technical และ business diligence เพื่อเลือก AI project ที่เหมาะสมและสร้างคุณค่าให้ธุรกิจ
  • AI ควรถูกพัฒนาเพื่อ automate tasks (เนื้องาน) ไม่ใช่ automate jobs (ตำแหน่งงาน)
  • สร้างโมเดลด้วย training ทดสอบโมเดลด้วย test และกำหนด acceptance criteria ว่า AI ต้องดีแค่ไหนเราถึงจะ launch/ deploy ได้
  • ทุกคนสามารถได้ประโยชน์จากการเรียนเรื่อง AI ไม่ว่าคุณจะทำงานตำแหน่งใดๆในบริษัท

ติดตามอ่านสรุป week 3 ได้ในบทความต่อไป / แอดทอย


Optional – Review Technical Tools

สัปดาห์นี้มี optional video รีวิวเครื่องมือสำคัญๆในการเรียนรู้และสร้างโมเดล AI สำหรับคนที่อยากลองเขียนโค้ดด้วยตัวเอง แบ่งออกเป็น 3 หัวข้อคือ

  1. ML framework ที่เราใช้กันเยอะๆจะมี TensorFlow, PyTorch, Keras, MXNet เป็นต้น
  2. Research publications งานวิจัยที่เปิดให้อ่านฟรี Andrew แนะนำ arXiv ของ Cornell University
  3. Open-source repositories เช่น GitHub ลอง google หาโปรเจ็คที่เราสนใจแล้วลองทำตามได้เลย

สำหรับภาษาหลักที่คนนิยมใช้พัฒนา AI ตอนนี้คือ Python ซึ่งทำงานได้ดีกับ ML framework ทั้งหมดที่ Andrew แนะนำในวีดีโอนี้ ส่วนใครที่ถนัด R มากกว่า (เหมือนแอด) ให้ลองศึกษา library keras

สำหรับ non-programmer อาจจะคิดว่าการเขียนโค้ดเป็นเรื่องยาก ยิ่งเป็นเรื่องที่เกี่ยวข้องกับ AI แต่ความจริงคือเขียนโค้ดแค่ไม่กี่บรรทัดก็สามารถสร้าง AI ที่ทำนายตัวเลข 0-9 แบบ handwritten ได้อย่างแม่นยำแล้ว

Image result for MNIST
ตัวอย่างตัวเลข 0-9 แบบ handwritten ใน MNIST (ที่มา – medium)

MNIST เป็นด่านแรกของคนที่อยากศึกษาด้าน AI และเป็นปัญหาที่แก้ได้สบายๆด้วยเทคโนโลยีทุกวันนี้ ด้านล่างเป็นตัวอย่าง R code (keras) ที่เราใช้สร้างโมเดล deep learning ได้ความแม่นยำสูงถึง 98.7%

# deep learning using keras in R
model <- keras_model_sequential() 
model %>% 
  layer_dense(units = 256, activation = 'relu', input_shape = c(784)) %>% 
  layer_dropout(rate = 0.4) %>% 
  layer_dense(units = 128, activation = 'relu') %>%
  layer_dropout(rate = 0.3) %>%
  layer_dense(units = 10, activation = 'softmax')

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.