ภายในแอปพลิเคชัน DLBT เราทดสอบประสิทธิภาพของฮาร์ดแวร์โดยใช้โมเดลต่างๆ จาก Deep Learning เรายึดตามการค้นพบล่าสุดที่เกิดขึ้นในอุตสาหกรรมโดยใช้โมเดลอันทรงพลังที่ช่วยแก้ไขงานในสาขาต่างๆ เช่น คอมพิวเตอร์วิทัศน์
ในบล็อกนี้ เราจะอธิบายสั้นๆ ว่าโมเดลเหล่านี้ทำงานอย่างไร หากคุณต้องการทราบ ยิ่งไปกว่านั้น มีลิงก์พร้อมข้อมูลเพิ่มเติมเกี่ยวกับโมเดลนั้นหลังแต่ละส่วน
เลเน็ต
สถาปัตยกรรม LeNet-5 อาจเป็นสถาปัตยกรรมของ CNN ที่เป็นที่รู้จักอย่างกว้างขวางที่สุด ดังที่ได้กล่าวไว้ก่อนหน้านี้ มันถูกสร้างขึ้นโดย Yann LeCun ในปี 1998 และใช้กันอย่างแพร่หลายสำหรับการรู้จำตัวเลขที่เขียนด้วยลายมือ (MNIST)
รูปภาพ MNIST มีขนาด 28 × 28 พิกเซล แต่จะมีการเพิ่มขนาดเป็นศูนย์เป็น 32 × 32 พิกเซล และปรับให้เป็นมาตรฐานก่อนที่จะส่งไปยังเครือข่าย ส่วนที่เหลือของเครือข่ายไม่ได้ใช้การเสริมใดๆ ซึ่งเป็นเหตุผลว่าทำไมขนาดจึงหดตัวลงเรื่อยๆ เมื่อรูปภาพเคลื่อนผ่านเครือข่าย
เลเยอร์การรวมกลุ่มโดยเฉลี่ยมีความซับซ้อนมากกว่าปกติเล็กน้อย โดยแต่ละเซลล์ประสาทจะคำนวณค่าเฉลี่ยของอินพุต จากนั้นคูณผลลัพธ์ด้วยค่าสัมประสิทธิ์ที่เรียนรู้ได้ (หนึ่งค่าต่อแผนที่) และเพิ่มคำศัพท์อคติที่สามารถเรียนรู้ได้ (อีกครั้ง หนึ่งคำต่อแผนที่) จากนั้นจึงนำไปใช้ในที่สุด ฟังก์ชั่นการเปิดใช้งาน
เอาชนะมากเกินไป
นี่เป็นโมเดล Convolutional Neural Network ที่ค่อนข้างเรียบง่าย โครงสร้างประกอบด้วยชั้น convolutional สองชั้นที่ระดับความลึก 32 และ 64 ตามลำดับ โดยมีการรวมกลุ่มสูงสุด และชั้น convolutional ลำดับต่อมาโดยไม่มีการรวมกลุ่มในเชิงลึกที่ 512,1024 และ 1024 ตามลำดับ ในท้ายที่สุด เอาต์พุตจะถูกป้อนเข้าสู่เลเยอร์ที่เชื่อมต่อกันอย่างสมบูรณ์สองชั้นของ เซลล์ประสาท 3073 และ 4096 ตามลำดับ
อเล็กซ์เน็ต
สถาปัตยกรรม AlexNet CNN 9 ชนะการแข่งขัน ImageNet ILSVRC ปี 2012 ด้วยอัตราความผิดพลาดที่สูง โดยมีอัตราข้อผิดพลาด 5 อันดับแรกถึง 17% ในขณะที่อันดับที่สองทำได้เพียง 26% เท่านั้น! ได้รับการพัฒนาโดย Alex Krizhevsky (จึงเป็นที่มาของชื่อ), Ilya Sutskever และ Geoffrey Hinton มันค่อนข้างคล้ายกับ LeNet-5 มีเพียงขนาดใหญ่กว่าและลึกกว่ามาก และเป็นครั้งแรกที่ซ้อนชั้น convolutional ซ้อนกันโดยตรงบนแต่ละชั้น แทนที่จะซ้อนชั้นรวมกลุ่มไว้ด้านบนของชั้น convolutional แต่ละชั้น
เพื่อลดการโอเวอร์ฟิต ผู้เขียนได้ใช้เทคนิคการทำให้เป็นมาตรฐานสองเทคนิคที่เราพูดถึงในบทที่แล้ว: ขั้นแรกพวกเขาใช้ dropout (ที่มีอัตราการออกกลางคัน 50%) ในระหว่างการฝึกอบรมกับเอาท์พุตของเลเยอร์ F8 และ F9 ประการที่สอง พวกเขาดำเนินการเสริมข้อมูลโดยการสุ่มเลื่อนภาพการฝึกด้วยการชดเชยต่างๆ พลิกภาพในแนวนอน และเปลี่ยนสภาพแสง
https://arxiv.org/abs/1404.5997
วีจีจี
โดยทั่วไปแล้ว โมเดล VGG จะใช้แนวคิดในการสร้างเครือข่ายที่ลึกยิ่งขึ้นโดยใช้ตัวกรองที่มีขนาดเล็กลง Alexnet ใช้เลเยอร์แบบหมุนวน 8 ชั้น ในขณะที่จำนวนในโมเดล VGG มีตั้งแต่ 16 ถึง 19 ชั้น ตัวกรองที่ใช้คือทั้งหมด 3×3 ซึ่งช่วยให้จำนวนพารามิเตอร์ต่ำพอสมควร
https://arxiv.org/abs/1409.1556
การเริ่มต้น
โมเดล Inception อิงตามโมเดล GoogLeNet สถาปัตยกรรม GoogLeNet ได้รับการพัฒนาโดย Christian Szegedy และคณะ จาก Google Research, 10 และชนะการแข่งขัน ILSVRC 2014 โดยการผลักดันอัตราข้อผิดพลาด 5 อันดับแรก 10 “Going Deeper with Convolutions,” C. Szegedy และคณะ (2558).ต่ำกว่า 7%. ประสิทธิภาพที่ยอดเยี่ยมนี้ส่วนใหญ่มาจากข้อเท็จจริงที่ว่าเครือข่ายมีความลึกมากกว่า CNN ก่อนหน้านี้มาก (ดูรูปที่ 13–11) สิ่งนี้เกิดขึ้นได้โดยเครือข่ายย่อยที่เรียกว่าโมดูลเริ่มต้น 11 ซึ่งช่วยให้ GoogLeNet ใช้พารามิเตอร์ได้อย่างมีประสิทธิภาพมากกว่าสถาปัตยกรรมรุ่นก่อนๆ มาก โดยแท้จริงแล้ว GoogLeNet มีพารามิเตอร์น้อยกว่า AlexNet ถึง 10 เท่า (ประมาณ 6 ล้านแทนที่จะเป็น 60 ล้าน)
การเปลี่ยนแปลงสำคัญบางประการที่เกิดขึ้นกับโมเดลนี้ในโมเดล Inception v3 ได้แก่:
- หลีกเลี่ยงปัญหาคอขวดในการนำเสนอ
- การแสดงมิติที่สูงขึ้นจะประมวลผลภายในเครือข่ายได้ง่ายกว่า
- ปรับสมดุลความกว้างและความลึกของเครือข่าย
https://arxiv.org/abs/1512.00567
เรสเน็ต
สุดท้ายแต่ไม่ท้ายสุด ผู้ชนะการแข่งขัน ILSVRC 2015 คือ Residual Network (หรือ ResNet) ซึ่งพัฒนาโดย Kaiming He และคณะ 12 ซึ่งให้อัตราข้อผิดพลาด 5 อันดับแรกที่น่าประหลาดใจต่ำกว่า 3.6% โดยใช้ CNN ที่ลึกมากซึ่งประกอบด้วย 152 ชั้น กุญแจสำคัญในการฝึกอบรมเครือข่ายระดับลึกดังกล่าวคือการใช้การเชื่อมต่อแบบข้าม (หรือที่เรียกว่าการเชื่อมต่อทางลัด): สัญญาณที่ป้อนเข้าไปในเลเยอร์จะถูกเพิ่มไปยังเอาต์พุตของเลเยอร์ที่อยู่สูงขึ้นไปเล็กน้อยบนสแต็ก มาดูกันว่าทำไมสิ่งนี้ถึงมีประโยชน์
เมื่อฝึกโครงข่ายประสาทเทียม เป้าหมายคือสร้างแบบจำลองฟังก์ชันเป้าหมาย h(x) หากคุณเพิ่มอินพุต x ให้กับเอาต์พุตของเครือข่าย (เช่น คุณเพิ่มการเชื่อมต่อแบบข้าม) เครือข่ายจะถูกบังคับให้สร้างโมเดล f(x) = h(x)-x แทนที่จะเป็น h(x) นี้เรียกว่าการเรียนรู้ที่เหลือ การเปลี่ยนแปลงสถาปัตยกรรมที่สำคัญบางประการภายใน ResNet ได้แก่:
- ซ้อนบล็อกที่เหลือ
- ทุกบล็อกที่เหลือจะมีชั้นบิดขนาด 3×3 สองชั้น
- เพิ่มจำนวนตัวกรองเป็นสองเท่าและสุ่มตัวอย่างเชิงพื้นที่เป็นระยะโดยใช้ก้าวที่ 2
- ไม่มีเลเยอร์ที่เชื่อมต่ออย่างสมบูรณ์ในตอนท้าย (เฉพาะ FC 1000 ถึงคลาสเอาต์พุตเท่านั้น)