เวลาในการทำงานของ DEEP LEARNING

บล็อกนี้เอาสั้น ๆ นะ สืบเนื่องจากคราวก่อนเขียนเรื่อง ทำไม DEEP LEARNING บน QUANTUM COMPUTER จึงทำงานเร็วมาก ๆ เอาไว้ แล้วเห็นว่ามันมีประเด็นเรื่อง Big O ที่ต้องขยายความอยู่นิดนึง เลยมาต่องานในบล็อกนี้

Neural Network
Neural Network

คือเวลาในการทำงานของ Deep Learning มันก็เหมือนโมเดลปัญญาประดิษฐ์ทั่วไป แบบว่าเวลาในการสอนกับเวลาในการใช้งาน มันไม่เท่ากัน ซึ่ง Big O มันก็จะไม่เท่ากัน เลยจะมาขยายความว่าถ้าเป็นเวลาในการสอน Big O จะเท่าไหร่ และเวลาในการใช้งาน Big O จะเท่าไหร่

มาเริ่มกันเลย!!!

1) เวลาในการสอน Deep Learning

สั้น ๆ ผมวิเคราะห์ว่ามันจะเป็นสมาชิกของ Big O(ED(LXN + LXN))

โดย E = จำนวน Epoch ในตอนที่สอน, D = จำนวน Dataset ที่ใช้สอน, L = จำนวน Hidden Layer + Output Layer ของโมเดล, X = จำนวน Node ใน Layer ถัดไปของโมเดล และ N = จำนวน Node ใน Layer ปัจจุบันของโมเดล

และที่ต้องเอา LXN มาบวกกับ LXN ก็เพราะว่า LXN แรกคือเวลาในการคำนวณผล ส่วน LXN หลังคือเวลาในการป้อนค่่าน้ำหนักย้อนกลับ!!!

2) เวลาในการใช้งาน Deep Learning

อันนี้สั้นยิ่งกว่า ผมวิเคราะห์ว่ามันจะเป็นสมาชิกของ Big O(LXN)

โดยตัวแปร L, X และ N อธิบายไว้แล้วในข้อที่ 1 ตรงนี้ไม่อธิบายเพิ่มนะ

นาฬิกาทราย
นาฬิกาทราย

ทีนี้พอลงในรายละเอียดอีกนิดนึง Big O(ED(LXN + LXN)) ก็ถือว่าเป็นสมาชิกของ Big O(N ^ 5) ส่วน Big O(LXN) ก็ถือว่าเป็นสมาชิกของ Big O(N ^ 3)

O(ED(LXN + LXN) ∈ O(N ^ 5)

O(LXN) ∈ O(N ^ 3)

หรือสรุปง่าย ๆ ก็คือ ตอนที่สอน Deep Learning ต้องวนลูป 5 ชั้น และในทางตรงกันข้าม ตอนที่ใช้งาน Deep Learning วนลูปเพียง 3 ชั้นก็พอ!!!

ดังนั้นผมถึงได้คิดว่า ถ้าสร้างอัลกอริทึมสำหรับสอนและใช้งาน Deep Learning บน Quantum Computer ได้เมื่อไหร่ จากที่ต้องสอนด้วยเวลา Big O(N ^ 5) และใช้งานด้วยเวลา Big O(N ^ 3) ก็อาจจะลดเวลาลงเหลือเท่ากับ Big O(Log N) ซึ่งมันเป็นอะไรที่เร็วมาก ๆ เลยล่ะ

สำหรับงานทาง Computer Science ใครก็ตามที่สามารถคิดค้นอัลกอริทึม ที่สามารถลดเวลาคำนวณให้เหลือแค่ Big O(Log N) ได้ ถือว่าโคตรสุดยอดครับ!!!

Related Posts

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *