Lottery Ticket Hypothesis: จุดเปลี่ยนความคิดเกี่ยวกับ neural network

Thanat Lapthawan
3 min readJun 4, 2019

--

หนึ่งในความท้าทายของการสร้าง neural network นอกจากเรื่องของข้อมูลแล้ว คงหนีไม่พ้นเรื่องของการพัฒนา neural network ให้ได้ผลลัพธ์ตามเป้าหมาย และเรื่องของ computational resource จากเดิมที่เราพยายามยัดทุกอย่างเท่าที่จะทำได้ลง GPU/CPU แล้วหวังว่าเครื่องของเราจะมี resource ที่เพียงพอ อีกทั้งยังหวังอีกว่า model ของเรานั้นจะ converge ได้ในระยะเวลาที่เร็วที่สุด

แต่ว่า…

เมื่อไม่นานมานี้ นักวิจัยทางด้าน AI จาก Massachusetts Institute of Technology หรือ MIT ได้ค้นพบ insight ว่าจริง ๆ แล้ว เราสามารถพัฒนา subnetwork หรือโมเดลขนาดเล็กที่แยกย่อยมาจากโมเดลหลักซึ่งมีขนาดใหญ่ แล้วให้ผลลัพธ์ที่ดี เทียบเท่ากับโมเดลหลักได้ แต่ใช้เวลาและ computational resource น้อยกว่า โดย subnetwork ที่ว่านั้น มีขนาดเล็กกว่าโมเดลหลัก 10% ถึง 20% เลย

การค้นพบครั้งนี้ นักวิจัยได้ตั้งชื่อว่า The Lottery Ticket Hypothesis โดยสมมุติว่า parameter ทั้งหมดใน neural network นั้น เปรียบเสมือนกับกอง lottery โดยการที่เรา train network ทั้งหมดนั้น เปรียบเสมือนกับการกว้านซื้อ lottery ทั้งหมดนั่นเอง ในส่วนของ subnetwork ที่ให้ประสิทธิภาพเทียบเท่าหรือมากกว่าโมเดลหลักนั้น จะเรียกว่า winning lottery ticket นั่นเอง

จากใน paper นักวิจัยได้ตั้งสมมติฐานไว้ว่า

The Lottery Ticket Hypothesis. A randomly-initialized, dense neural network contains a subnetwork that is initialized such that — when trained in isolation — it can match the test accuracy of the original network after training for at most the same number of iterations.

หรือแปลได้ว่า neural network แบบ fully-connect ที่ weight ของมันผ่านการ initialize แบบ random จะมี subnetwork ที่หากเรานำออกมาแยก train แล้ว จะให้ผลลัพธ์ในเรื่องของ test accuracy ที่ดีเทียบเท่ากับ network หลักโดยมีรอบในการ train น้อยกว่าหรือเท่ากับการ train network หลัก

ทั้งนี้ ในการทดลองนั้น เขาได้ทดสอบกับ classification เป็นหลัก โดยใช้ข้อมูลทั่วไปอย่าง MNIST และ CIFAR-10

ก่อนอื่นเลย การวิจัยครั้งนี้มาจากการต่อยอดจากเทคนิค parameter pruning ของ neural network โดย pruning คือการลดทอนจำนวน neural network’s parameter ออกให้เหลือแต่ paramater ที่จำเป็นเท่านั้นด้วยเทคนิคต่าง ๆ มากมาย

รูปจาก Song Han, Compressing and regularizing deep neural networks

คร่าว ๆ แล้วการ pruning ทำได้โดย train network หลักให้ได้ผลลัพธ์ประมาณหนึ่งหรือครบตามจำนวนรอบ จากนั้นทำการตัด parameter หรือ node ที่ไม่จำเป็นออกด้วย metric อะไรบางอย่าง ไม่ว่าจะเป็นเรื่องของขนาดของ weight ในแต่ละ parameter ก็ตาม จากนั้นก็นำโมเดลที่ผ่านการ pruning แล้ว ไปทำการ train และทำซ้ำไปเรื่อย ๆ จนได้ subnetwork ที่ตรงตามความต้องการ

ทั้งนี้ ผลลัพธ์ที่ได้จากการ pruning นั้น หากนำไป train ใหม่แล้ว จะให้ผลลัพธ์ที่แย่ลงกว่าเดิม เนื่องจากว่า network จากการ pruning นั้น ถ้าหาก train ใหม่ตั้งแต่ต้นแล้ว จะทำให้เหมือนกับเป็น network ที่มี capacity ที่ต่ำนั่นเอง

เขาเลยคิดต่อมาว่า จะเป็นไปได้ไหมที่เราจะสามารถเลือก subnetwork ที่เรียกได้ว่าเป็น winning ticket แล้วจับมัน train ใหม่ได้เลย ซึ่งนำมาสู่ The Lottery Ticket Hypothesis ข้างต้นนั่นเอง

Experiment

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

  1. สร้าง neural network และทำการตั้งค่าเริ่มต้นของ weight ในแต่ละ neural network’s parameter แบบสุ่ม
  2. ทำการ train โมเดลไปทั้งหมด j รอบ
  3. ทำการ prune parameter ไปทั้งหมด p% ด้วยวิธีการสร้าง mask ที่เป็นค่า 0 (โดน prune) และ 1 (ไปต่อได้)
  4. ทำการ reset ค่าของ weight ให้กลับไปเป็นค่าเริ่มต้นที่เหมือนกันตอนแรก ก่อนที่จะมีการ trian และ prune

ทำแบบนี้วนไปเรื่อย ๆ ทั้งหมด n ครั้ง จนเราได้ winning ticket ออกมา

Result

ผลลัพธ์เป็นไปตาม hypothesis ซึ่งพิสูจน์ให้เห็นว่า subnetwork ที่เป็น winning ticket นั้น มีอยู่จริง โดยมี test accuracy มากกว่าหรือเท่ากับ test accuracy ของ neural network หลัก อีกทั้งยังมีการ generalize ได้ดีกว่า แถมยัง train ด้วยเวลาที่น้อยกว่า ใช้ computational resource น้อยกว่าด้วย

Random Reinitialization

ถ้าสังเกต จะเห็นว่า hypothesis นี้จะขึ้นอยู่กับการ initialize เป็นหลัก โดยเขาก็ได้ทำการทดลองเพิ่มถึงความสำคัญของการ initialization ใน winning ticket โดยการนำ winning ticket มา reinitialize ใหม่แล้ว ผลจะแตกต่างจากเดิมหรือไม่ ซึ่งก็เป็นไปตามคาด โดยผลการทดลองแสดงให้เห็นว่า การนำ wining ticket มา reintialize แล้ว ทำให้ผลแย่ลงอย่างมาก

ทั้งนี้ อาจจะเป็นไปได้ว่าค่าจากการทำ random initialization ใน winning ticket นั้น เข้าใกล้จุด converge มากกว่า หรือถ้า extreme กว่านั้น คือค่าที่เป็นจุด converge เลยนั่นเอง แต่ก็งานวิจัยที่แสดงให้เห็นว่าค่าจาก initialization นั้น มีจุดที่สอดคล้องกับ opimization algorithm ที่ทำให้ได้ผลที่ดีกว่าจุดอื่น ๆ ซึ่งตรงนี้ก็แนะนำให้ไปตามอ่านจาก appendix ใน paper ต่อได้

ทดสอบกับ convolutional neural network

นอกจาก fully-connected neural network แล้ว เขายังได้ทดสอบกับ convolutional neural network อีกด้วย โดยผลลัพธ์ที่ได้ สอดคล้องกับผลลัพธ์ของ fully-connected neural network ซึ่งหมายความว่า convolutional neural network นั้นมี winning ticket อยู่

Future Work และส่งท้าย

ในส่วนของงานวิจัยนี้ ยังเป็นการทดลองกับ neural network model ขนาดเล็กอยู่ (เรียกว่าเป็น shallow neural network) ซึ่งในส่วนของ network อื่น ๆ ได้แก่ Res-Net เองจะมี winning ticket หรือไม่ก็ต้องทดลองกันต่อไป หรืออาจจะมีการนำเทคนิคการ pruning แบบอื่น ๆ มาหา winning ticket ที่เร็วและมีประสิทธิภาพมากขึ้น ซึ่งในจุดนี้นั้น idea ของ winning ticket ยังคงเป็นแค่ insight เล็ก ๆ แต่เป็นการค้นพบที่ยิ่งใหญ่ ซึ่งยังต้องการ การทดลองอีกหลาย ๆ ด้าน และอาจจะนำเราไปสู่การพัฒนา deep neural network แบบใหม่ ๆ ที่มีประสิทธิภาพมากขึ้นในอนาคตอีกด้วย

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

ขอบคุณครับ :D

Reference

  1. https://openreview.net/pdf?id=rJl-b3RcF7
  2. https://www.reddit.com/r/MachineLearning/comments/85eo8v/r_the_lottery_ticket_hypothesis_training_pruned/

--

--

Thanat Lapthawan

AI, Deep learning, Data science, Machine learning, UX, Design Thinking, Math