ประวัติ Deep Learning
Deep Learning เริ่มปรากฏประมาณปี 1940s แต่ที่ดูเหมือนใหม่น่ันเป็นเพราะว่าในยุคแรก ยังไม่มีอะไรโดนเด่นมากนัก และมีการเปลี่ยนชื่อไปเรื่อยๆ จนมาถึงปัจจุบันที่ใช้ในชื่อว่า Deep learning
1940s - 1960s ( Cybernetics )
1980s - 1990s ( Connectionism )
2006s - Present ( Deep Learning )
ในยุคแรกๆ โมเดลใน DL ถูกออกแบบให้เลียนแบบการทำงานของสมองมนุษย์ ซึ่งก็เป็นที่มาของคำว่า Artificial Neural Networks ( ANNs ). อันที่จริง ก็ไม่ได้จะสร้างให้เหมือนสมองของสิ่งมีชีวิตจริงๆ แต่ถูกจุดประกายด้วยเหตุผลสองข้อหลักคือ
ในยุคแรกๆของ DL เป็นเพียงโมเดลง่ายๆ ที่ได้รับแรงบรรดาลใจจากระบบประสาท โมเดลนี้ถูกออกแบบมาให้อ่านข้อมูล จำนวน กับผลลัพท์คือ . โมเดลนี้จะทำการเรียนรู้น้ำหนักของค่าแต่ละตัว และคำนวณผลลัพท์ . งานวิจัยนี้มาจากยุคแรกเลยคือ cybernetics.
ในปี 1980s ยุคที่สองของการวิจัยในเรื่องนี้คือ Connectionism หรือ Parallel Distributed Processing. Connectionism จัดอยู่ใน cognitive science (วิทยาการปัญญา) เป็นการศึกษาเกี่ยวกับความคิด ด้วยการวิเคราะห์หลายๆชั้น ต่างๆกัน. ไอเดียหลักๆของ Connectionism คือการคำนวนในสิ่งที่เล็กๆง่ายๆ หลายๆอันมาประกอบกัน และทำงานร่วมกัน จนกลายเป็นระบบอัจฉริยะ. คอนเซปหลายๆอย่างของ Connectionism ก็ยังคงถูกนำมาใช้กับ Deep leanring ในปัจจุบัน อย่างเช่น distributed representation.
Distributed Representation คือไอเดียที่ว่า ข้อมูลนำเข้าแต่ละอัน ควรแสดง features หลายๆอย่าง. และแต่ละ feature ก็ควรแสดงถึงความสัมพันธ์ได้กับหลายหลายข้อมูลที่นำเข้ามา ตัวอย่างเช่น ถ้าเรามีระบบตรวจจับวัตถุ ทีสามารถระบบุ รถยนต์ รบบรรทุก และนก ซึ่งวัตถุทั้ง 3 อย่างนี้สามารถมีได้ทั้งสีแดง เขียว และฟ้า. วิธีการหนึ่งคือการสร้างนิวรอน หรือ hidden uit ที่แสดงและระบบุของเหล่านี้เป็นอันๆไปเช่น รถยนต์สีแดง นกสีแดง รถบรรทุกสีแดง รถยนต์สีเขียน ฯลฯ ซึ่งต้องอาศัยถึง 9 นิวรอน. อีกวิธีหนึ่งที่ดีกว่าคือการใช้ Distributed Representation ด้วยการสร้างเพียง 3 นิวรอนวิเคราะห์สีสามสี และอีก 3 นิวรอนวิเคราะห์ รถยนต์ รถบรรทุก และนก ทั่งหมดใช้แค่ 6 นิวรอนเท่านั้่นเอง แทนที่จะเป็น 9 อย่างวิธีแรก. ซึ่งนิวรอนที่วิเคราะห์สีแดง ก็สามารถวิเคราะห์สีแดงได้ทั้งรถยนต์ รถบรรทุก และนก โดยไม่เจาะจงกับวัตถุใดวัตถุหนึ่ง
แนวคิดอีกอั้นหนึ่งที่ได้จากยุคของ Connectionism ก็คือ Back-Propagation ที่เอาไว้ใช้เทรน deep neural network ด้วยการพรีเซนต์ข้อมูลภายในระบบนิวรอนเอง
ในช่วง 1990s Hochreiter และ Bengio et al ได้พัฒนาก้าวสำคัญแห่งวงการ คือการใช้ long short-term memory (LSTM) คือ ทั้งสองได้ค้นพบว่า ถ้ามีการสร้างเน็ตเวิร์กไปลึกๆ (Recurrent neural network RNN ) ก็จะเกิดปัญหาการเชื่อความสัมพัธ์ระหว่างข้อมูลที่วิเคราะห์ไว้ก่อนหน้านี้ในช่วงแรกๆ ยกตัวอย่างเช่น ถ้าเราบอกว่า "ฉันเห็นเมฆลอยอยู่บนท้อง...." คำที่หายไปในช่องว่างนี้เป็นเรื่องง่ายสำหรับมนุษย์ที่จะตอบได้ทันที่ว่า "ฟ้า" ที่เป็นแบบนี้ก็เพราะเราเรียนรู้จากประสบการณ์ก่อนๆที่เราเข้าใจมานานมากแล้ว แต่เราก็จำได้. LSTM ก็ทำนองเดียวกัน ที่จะทำให้นิวรอนลึกๆสามารถเข้าใจข้อมูลในชั้นตื้นๆได้. ในปัจจุบัน LSTM ถูกใช้อย่างแพร่หลายเช่น กูเกิลก็ใช้เทคนิกนี้ในการเรียนรู้ภาษามนุษย์.
ต่อมาในช่วงกลางๆ 1990s ก็มีนักลงทุนได้สนใจและหันมาลงทุนกับ AI และ ML มาก แต่สุดท้ายนักวิจัยนก็ไม่ได้ให้ผลลัพท์ได้อย่างที่นักลงทุนคาดหวังไว้ จึงเริ่มหมดความนิยม จนมาถึงปี 2007. แต่ในอีกด้านหนึ่ง Kernel machines และพวก graphical models กลับมีความก้าวหน้าที่ดีกว่า
ช่วงเวลานั้น การเทรน neural netwrok เป็นเรื่องที่ไม่ง่ายซักเท่าไหร่ แม้อัลกอรึทึมจากปี 1980s จะทำงานได้ดี แต่ก็ใช้พลังในการคำนวณที่มากและฮาร์ดแวร์สมัยนั้นก็ยังไม่แรงซักเท่าไหร่
และแล้วก็มาถึงจุดเปลี่ยนประมาณปี 2006. Geoffrey Hinton ได้พบวิธีการเทรน neural netwrok ที่มีประสิทธิภาพมากขึ้น มีชื่อเรียกว่า deep beleft network โดยใช้เทคนิคที่เรียกว่า greedy layer-wise pretrainning. ณ จุดดนี้ deep neural networks เริ่มตีตื้นขึ้นมาเทียบแข่งกับระบบ AI แบบอื่น รวมทั้งระบบ AI ที่ใช้คนเข้ามาป้อนข้องมูลให้ด้วย (hand-designed) หลังจากช่วงนี้ Deep learning ก็ถูกพัฒนาขึ้นมาแบบก้าวกรโดดอย่างต่อเนื้องมาจนทุกวันนนี้ และยุคนี้ก็เริ่มจะก้าวสู้ความสนใจในด้าน unsupervised learning กันแล้ว และเริ่มโฟกัสไปที่การเรียนรู้จากข้อมูลในจำนวนน้อยลงกว่าเดิม อย่างไรก็ตาม ความสนใจส่วนใหญ๋ก็ยังคงอยู่ที่ suspervised leanring และความสามารถในการเค้นเอาความหมายจากข้อมูลขนาดใหญ่อยู่ดี
เมื่อสิ่งต่างๆอำนวย ความซับซ้อนของ neural network ก็มีมากขึ้นเรื่อยๆ จนถึงการนำไปสร้าง Turing machines ซ่ึงสามารถเรียนรู้โดยการอ่านข้อมูลในหน่วยความจำหนึ่งๆ แล้วนำไปเขียนในหน่วยความจำอื่น ยกตัวอย่างเช่น การเรียนรู้พฤติกรรมของโปรแกรมง่ายๆ จากผลลัพธ์ของโปรแกรมนั้นๆ เช่นโปรแกรมเรียงลำดับเลข ถ้าเราให้เลขชุดหนึ่งแบบสุ่ม พร้อมกับเลขชุดที่เรียงลำดับแล้ว ไปป้อนให้มันเรียน ซักพัก มันก็จะสามารถเลียนแบบพฤติกรรมนั้นได้ หรือมองอีกมุมหนึ่งก็คือ มันมีการเขียนโปรแกรมขึ้นมาเองนั่นเอง แม้ว่าตอนนี้จะยังอยู่ในช่วงศึกษาทดลอง แต่ในอนาคตก็อาจกลายถูกใช้กับงานเกือบทุกๆอย่างอย่างแพร่หลาย
อีกตัวอย่างที่ประสบความสำเร็จอย่างล้นหลามก็คือ DeepMind ที่แก่นหลักแล้วคือ reinforcement learning สามารถเรียนรู้จากการลองผิดลองถูกโดยไม่ต้องมีใครไปสอน.
บริษัทใหญ่ๆที่ใช้ Deep learning เช่น Google, Facebook, IBM, Microsoft, Baidu, Apple, Adobe, Netflix, NVIDIA และ NEC
ความก้าวหน้าของ Deep learning ก็ยังขึ้นอยู่กับฮาร์ดแวร์ และซอฟแวร์เช่น Theano, PyLearn2, Torch, BistBelief, Caffe, MXNet, TensorFlow และไลบารีหลายๆอย่างๆทีเกี่ยวข้องด้วยเช่น Numpy
ไม่เพีงในโลกของไอทีเท่านั้น สุดท้ายแล้ว Deep leanring ก็มอบประโยชน์คืนให้กับนักวิทยาศาสตร์ในหลายๆด้าน เช่นเป็นเครื่องมือสำคัญไว้วิเคราะห์ข้อมูลขนาดมหึมา เพื่อทำนายผลลัพท์. มีการใช้ Deep learning ในการวิเคราะห์และทำนายพฤติกรรมของโมเลกุลเพื่อช่วยนักวิจัยให้พัฒนายาตัวใหม่ เพื่อหาอนุภาคอะตอม ฯลฯ
โดยสรุปแล้ว Deep learning เป็นเทคนิคหนึ่งในสาขา Machine Learning ที่สร้างมาจากแนวคิดของสมองมนุษย์ รวมกับหลากหลายสาขาทั้ง สถิติ และ คณิตศาสตร์ประยุกต์ อย่างที่ถูกพัฒนามาช่วงหลังๆ ซึ่งพอคอมพิวเตอร์แรงขึ้น ข้อมูลในโลกดิจิทอลมากขึ้น ความท้าทายและโอกาสจึงมีมากขึ้นเป็นเงาตามตัวเพื่อการพัฒนาต่อ ก้าวเข้าไปสู่ยุคใหม่แห่งโลกอนาคต
1940s - 1960s ( Cybernetics )
1980s - 1990s ( Connectionism )
2006s - Present ( Deep Learning )
ในยุคแรกๆ โมเดลใน DL ถูกออกแบบให้เลียนแบบการทำงานของสมองมนุษย์ ซึ่งก็เป็นที่มาของคำว่า Artificial Neural Networks ( ANNs ). อันที่จริง ก็ไม่ได้จะสร้างให้เหมือนสมองของสิ่งมีชีวิตจริงๆ แต่ถูกจุดประกายด้วยเหตุผลสองข้อหลักคือ
- สมองได้พิสูจน์แล้วว่า การโต้ตอบแบบชาญฉลาดมีอยู่จริง ดังนั้นแล้ว ถ้าจะสร้างระบบที่ชาญฉลาด ก็แค่ reverse engineer ในส่วนของการคิดวิเคราะห์ของสมอง และทำเลียนแบบระบบนั้นๆ
- เพราะการศึกษาสมอง และหลักพื้นฐานของความฉลาด เป็นเรื่องที่น่าสนใจอยู่แล้ว ดังนั้นการจำลององค์ความรู้เหล่านั้นออกมาเป็นระบบในคอมฯ ก็เป็นเรื่องที่น่าสนใจ
ในยุคแรกๆของ DL เป็นเพียงโมเดลง่ายๆ ที่ได้รับแรงบรรดาลใจจากระบบประสาท โมเดลนี้ถูกออกแบบมาให้อ่านข้อมูล
ในปี 1980s ยุคที่สองของการวิจัยในเรื่องนี้คือ Connectionism หรือ Parallel Distributed Processing. Connectionism จัดอยู่ใน cognitive science (วิทยาการปัญญา) เป็นการศึกษาเกี่ยวกับความคิด ด้วยการวิเคราะห์หลายๆชั้น ต่างๆกัน. ไอเดียหลักๆของ Connectionism คือการคำนวนในสิ่งที่เล็กๆง่ายๆ หลายๆอันมาประกอบกัน และทำงานร่วมกัน จนกลายเป็นระบบอัจฉริยะ. คอนเซปหลายๆอย่างของ Connectionism ก็ยังคงถูกนำมาใช้กับ Deep leanring ในปัจจุบัน อย่างเช่น distributed representation.
Distributed Representation คือไอเดียที่ว่า ข้อมูลนำเข้าแต่ละอัน ควรแสดง features หลายๆอย่าง. และแต่ละ feature ก็ควรแสดงถึงความสัมพันธ์ได้กับหลายหลายข้อมูลที่นำเข้ามา ตัวอย่างเช่น ถ้าเรามีระบบตรวจจับวัตถุ ทีสามารถระบบุ รถยนต์ รบบรรทุก และนก ซึ่งวัตถุทั้ง 3 อย่างนี้สามารถมีได้ทั้งสีแดง เขียว และฟ้า. วิธีการหนึ่งคือการสร้างนิวรอน หรือ hidden uit ที่แสดงและระบบุของเหล่านี้เป็นอันๆไปเช่น รถยนต์สีแดง นกสีแดง รถบรรทุกสีแดง รถยนต์สีเขียน ฯลฯ ซึ่งต้องอาศัยถึง 9 นิวรอน. อีกวิธีหนึ่งที่ดีกว่าคือการใช้ Distributed Representation ด้วยการสร้างเพียง 3 นิวรอนวิเคราะห์สีสามสี และอีก 3 นิวรอนวิเคราะห์ รถยนต์ รถบรรทุก และนก ทั่งหมดใช้แค่ 6 นิวรอนเท่านั้่นเอง แทนที่จะเป็น 9 อย่างวิธีแรก. ซึ่งนิวรอนที่วิเคราะห์สีแดง ก็สามารถวิเคราะห์สีแดงได้ทั้งรถยนต์ รถบรรทุก และนก โดยไม่เจาะจงกับวัตถุใดวัตถุหนึ่ง
แนวคิดอีกอั้นหนึ่งที่ได้จากยุคของ Connectionism ก็คือ Back-Propagation ที่เอาไว้ใช้เทรน deep neural network ด้วยการพรีเซนต์ข้อมูลภายในระบบนิวรอนเอง
ในช่วง 1990s Hochreiter และ Bengio et al ได้พัฒนาก้าวสำคัญแห่งวงการ คือการใช้ long short-term memory (LSTM) คือ ทั้งสองได้ค้นพบว่า ถ้ามีการสร้างเน็ตเวิร์กไปลึกๆ (Recurrent neural network RNN ) ก็จะเกิดปัญหาการเชื่อความสัมพัธ์ระหว่างข้อมูลที่วิเคราะห์ไว้ก่อนหน้านี้ในช่วงแรกๆ ยกตัวอย่างเช่น ถ้าเราบอกว่า "ฉันเห็นเมฆลอยอยู่บนท้อง...." คำที่หายไปในช่องว่างนี้เป็นเรื่องง่ายสำหรับมนุษย์ที่จะตอบได้ทันที่ว่า "ฟ้า" ที่เป็นแบบนี้ก็เพราะเราเรียนรู้จากประสบการณ์ก่อนๆที่เราเข้าใจมานานมากแล้ว แต่เราก็จำได้. LSTM ก็ทำนองเดียวกัน ที่จะทำให้นิวรอนลึกๆสามารถเข้าใจข้อมูลในชั้นตื้นๆได้. ในปัจจุบัน LSTM ถูกใช้อย่างแพร่หลายเช่น กูเกิลก็ใช้เทคนิกนี้ในการเรียนรู้ภาษามนุษย์.
ต่อมาในช่วงกลางๆ 1990s ก็มีนักลงทุนได้สนใจและหันมาลงทุนกับ AI และ ML มาก แต่สุดท้ายนักวิจัยนก็ไม่ได้ให้ผลลัพท์ได้อย่างที่นักลงทุนคาดหวังไว้ จึงเริ่มหมดความนิยม จนมาถึงปี 2007. แต่ในอีกด้านหนึ่ง Kernel machines และพวก graphical models กลับมีความก้าวหน้าที่ดีกว่า
ช่วงเวลานั้น การเทรน neural netwrok เป็นเรื่องที่ไม่ง่ายซักเท่าไหร่ แม้อัลกอรึทึมจากปี 1980s จะทำงานได้ดี แต่ก็ใช้พลังในการคำนวณที่มากและฮาร์ดแวร์สมัยนั้นก็ยังไม่แรงซักเท่าไหร่
และแล้วก็มาถึงจุดเปลี่ยนประมาณปี 2006. Geoffrey Hinton ได้พบวิธีการเทรน neural netwrok ที่มีประสิทธิภาพมากขึ้น มีชื่อเรียกว่า deep beleft network โดยใช้เทคนิคที่เรียกว่า greedy layer-wise pretrainning. ณ จุดดนี้ deep neural networks เริ่มตีตื้นขึ้นมาเทียบแข่งกับระบบ AI แบบอื่น รวมทั้งระบบ AI ที่ใช้คนเข้ามาป้อนข้องมูลให้ด้วย (hand-designed) หลังจากช่วงนี้ Deep learning ก็ถูกพัฒนาขึ้นมาแบบก้าวกรโดดอย่างต่อเนื้องมาจนทุกวันนนี้ และยุคนี้ก็เริ่มจะก้าวสู้ความสนใจในด้าน unsupervised learning กันแล้ว และเริ่มโฟกัสไปที่การเรียนรู้จากข้อมูลในจำนวนน้อยลงกว่าเดิม อย่างไรก็ตาม ความสนใจส่วนใหญ๋ก็ยังคงอยู่ที่ suspervised leanring และความสามารถในการเค้นเอาความหมายจากข้อมูลขนาดใหญ่อยู่ดี
เมื่อสิ่งต่างๆอำนวย ความซับซ้อนของ neural network ก็มีมากขึ้นเรื่อยๆ จนถึงการนำไปสร้าง Turing machines ซ่ึงสามารถเรียนรู้โดยการอ่านข้อมูลในหน่วยความจำหนึ่งๆ แล้วนำไปเขียนในหน่วยความจำอื่น ยกตัวอย่างเช่น การเรียนรู้พฤติกรรมของโปรแกรมง่ายๆ จากผลลัพธ์ของโปรแกรมนั้นๆ เช่นโปรแกรมเรียงลำดับเลข ถ้าเราให้เลขชุดหนึ่งแบบสุ่ม พร้อมกับเลขชุดที่เรียงลำดับแล้ว ไปป้อนให้มันเรียน ซักพัก มันก็จะสามารถเลียนแบบพฤติกรรมนั้นได้ หรือมองอีกมุมหนึ่งก็คือ มันมีการเขียนโปรแกรมขึ้นมาเองนั่นเอง แม้ว่าตอนนี้จะยังอยู่ในช่วงศึกษาทดลอง แต่ในอนาคตก็อาจกลายถูกใช้กับงานเกือบทุกๆอย่างอย่างแพร่หลาย
อีกตัวอย่างที่ประสบความสำเร็จอย่างล้นหลามก็คือ DeepMind ที่แก่นหลักแล้วคือ reinforcement learning สามารถเรียนรู้จากการลองผิดลองถูกโดยไม่ต้องมีใครไปสอน.
บริษัทใหญ่ๆที่ใช้ Deep learning เช่น Google, Facebook, IBM, Microsoft, Baidu, Apple, Adobe, Netflix, NVIDIA และ NEC
ความก้าวหน้าของ Deep learning ก็ยังขึ้นอยู่กับฮาร์ดแวร์ และซอฟแวร์เช่น Theano, PyLearn2, Torch, BistBelief, Caffe, MXNet, TensorFlow และไลบารีหลายๆอย่างๆทีเกี่ยวข้องด้วยเช่น Numpy
ไม่เพีงในโลกของไอทีเท่านั้น สุดท้ายแล้ว Deep leanring ก็มอบประโยชน์คืนให้กับนักวิทยาศาสตร์ในหลายๆด้าน เช่นเป็นเครื่องมือสำคัญไว้วิเคราะห์ข้อมูลขนาดมหึมา เพื่อทำนายผลลัพท์. มีการใช้ Deep learning ในการวิเคราะห์และทำนายพฤติกรรมของโมเลกุลเพื่อช่วยนักวิจัยให้พัฒนายาตัวใหม่ เพื่อหาอนุภาคอะตอม ฯลฯ
โดยสรุปแล้ว Deep learning เป็นเทคนิคหนึ่งในสาขา Machine Learning ที่สร้างมาจากแนวคิดของสมองมนุษย์ รวมกับหลากหลายสาขาทั้ง สถิติ และ คณิตศาสตร์ประยุกต์ อย่างที่ถูกพัฒนามาช่วงหลังๆ ซึ่งพอคอมพิวเตอร์แรงขึ้น ข้อมูลในโลกดิจิทอลมากขึ้น ความท้าทายและโอกาสจึงมีมากขึ้นเป็นเงาตามตัวเพื่อการพัฒนาต่อ ก้าวเข้าไปสู่ยุคใหม่แห่งโลกอนาคต