AI-For-Beginners/translations/th/lessons/4-ComputerVision/07-ConvNets/CNN_Architectures.md

11 KiB

สถาปัตยกรรม CNN ที่เป็นที่รู้จัก

VGG-16

VGG-16 เป็นเครือข่ายที่ทำได้ความแม่นยำ 92.7% ในการจัดประเภท ImageNet top-5 ในปี 2014 โดยมีโครงสร้างชั้นดังนี้:

ImageNet Layers

ดังที่คุณเห็น VGG ใช้สถาปัตยกรรมแบบพีระมิดดั้งเดิม ซึ่งเป็นลำดับของชั้นคอนโวลูชั่นและพูลลิ่ง

ImageNet Pyramid

รูปภาพจาก Researchgate

ResNet

ResNet เป็นกลุ่มโมเดลที่ถูกเสนอโดย Microsoft Research ในปี 2015 แนวคิดหลักของ ResNet คือการใช้ residual blocks:

รูปภาพจาก this paper

เหตุผลที่ใช้ identity pass-through คือเพื่อให้ชั้นของเราทำนาย ความแตกต่าง ระหว่างผลลัพธ์ของชั้นก่อนหน้าและผลลัพธ์ของ residual block - จึงเป็นที่มาของชื่อ residual บล็อกเหล่านี้ง่ายต่อการฝึก และสามารถสร้างเครือข่ายที่มีหลายร้อยบล็อกเหล่านี้ได้ (ตัวแปรที่พบมากที่สุดคือ ResNet-52, ResNet-101 และ ResNet-152)

คุณสามารถมองเครือข่ายนี้ว่าเป็นเครือข่ายที่สามารถปรับความซับซ้อนให้เหมาะสมกับชุดข้อมูลได้ ในช่วงเริ่มต้นของการฝึกเครือข่าย ค่าของน้ำหนักจะเล็ก และสัญญาณส่วนใหญ่จะผ่านชั้น identity pass-through เมื่อการฝึกดำเนินไปและน้ำหนักมีค่ามากขึ้น ความสำคัญของพารามิเตอร์เครือข่ายจะเพิ่มขึ้น และเครือข่ายจะปรับตัวเพื่อรองรับพลังการแสดงออกที่จำเป็นในการจัดประเภทภาพฝึกได้อย่างถูกต้อง

Google Inception

สถาปัตยกรรม Google Inception นำแนวคิดนี้ไปอีกขั้น และสร้างแต่ละชั้นของเครือข่ายเป็นการรวมกันของหลายเส้นทาง:

รูปภาพจาก Researchgate

ในที่นี้ เราต้องเน้นบทบาทของคอนโวลูชั่น 1x1 เพราะในตอนแรกมันดูเหมือนไม่มีเหตุผล ทำไมเราต้องใช้ฟิลเตอร์ 1x1 กับภาพ? อย่างไรก็ตาม คุณต้องจำไว้ว่า ฟิลเตอร์คอนโวลูชั่นยังทำงานกับหลายช่องความลึก (ในตอนแรกคือสี RGB ในชั้นถัดไปคือช่องสำหรับฟิลเตอร์ต่างๆ) และคอนโวลูชั่น 1x1 ถูกใช้เพื่อผสมช่องอินพุตเหล่านั้นเข้าด้วยกันโดยใช้น้ำหนักที่สามารถฝึกได้ นอกจากนี้ยังสามารถมองว่าเป็นการลดขนาด (pooling) ในมิติช่องได้อีกด้วย

นี่คือ บล็อกโพสต์ที่ดี เกี่ยวกับเรื่องนี้ และ เอกสารต้นฉบับ

MobileNet

MobileNet เป็นกลุ่มโมเดลที่มีขนาดเล็กลง เหมาะสำหรับอุปกรณ์มือถือ ใช้เมื่อคุณมีทรัพยากรจำกัด และสามารถยอมเสียความแม่นยำเล็กน้อยได้ แนวคิดหลักของมันคือ depthwise separable convolution ซึ่งช่วยให้สามารถแสดงฟิลเตอร์คอนโวลูชั่นโดยการประกอบกันของคอนโวลูชั่นเชิงพื้นที่และคอนโวลูชั่น 1x1 ในช่องความลึก สิ่งนี้ช่วยลดจำนวนพารามิเตอร์ได้อย่างมาก ทำให้เครือข่ายมีขนาดเล็กลง และง่ายต่อการฝึกด้วยข้อมูลน้อยลง

นี่คือ บล็อกโพสต์ที่ดีเกี่ยวกับ MobileNet

สรุป

ในบทนี้ คุณได้เรียนรู้แนวคิดหลักเบื้องหลังเครือข่ายประสาทสำหรับการมองเห็นด้วยคอมพิวเตอร์ - เครือข่ายคอนโวลูชั่น สถาปัตยกรรมในชีวิตจริงที่ขับเคลื่อนการจัดประเภทภาพ การตรวจจับวัตถุ และแม้กระทั่งเครือข่ายการสร้างภาพ ล้วนมีพื้นฐานมาจาก CNN เพียงแค่มีชั้นมากขึ้นและเทคนิคการฝึกเพิ่มเติมบางอย่าง

🚀 ความท้าทาย

ในโน้ตบุ๊กที่มาพร้อมกัน มีบันทึกที่ด้านล่างเกี่ยวกับวิธีการเพิ่มความแม่นยำ ลองทำการทดลองเพื่อดูว่าคุณสามารถทำให้ความแม่นยำสูงขึ้นได้หรือไม่

แบบทดสอบหลังการบรรยาย

ทบทวนและศึกษาด้วยตนเอง

แม้ว่า CNN จะถูกใช้บ่อยที่สุดสำหรับงานการมองเห็นด้วยคอมพิวเตอร์ แต่โดยทั่วไปแล้วมันดีสำหรับการดึงรูปแบบขนาดคงที่ ตัวอย่างเช่น หากเรากำลังจัดการกับเสียง เราอาจต้องการใช้ CNN เพื่อค้นหารูปแบบเฉพาะในสัญญาณเสียง ซึ่งในกรณีนี้ฟิลเตอร์จะเป็นแบบ 1 มิติ (และ CNN นี้จะเรียกว่า 1D-CNN) นอกจากนี้ บางครั้ง 3D-CNN ถูกใช้เพื่อดึงคุณลักษณะในพื้นที่หลายมิติ เช่น เหตุการณ์บางอย่างที่เกิดขึ้นในวิดีโอ - CNN สามารถจับรูปแบบบางอย่างของการเปลี่ยนแปลงคุณลักษณะเมื่อเวลาผ่านไป ลองทบทวนและศึกษาด้วยตนเองเกี่ยวกับงานอื่นๆ ที่สามารถทำได้ด้วย CNN

งานที่ได้รับมอบหมาย

ในห้องปฏิบัติการนี้ คุณมีหน้าที่จัดประเภทสายพันธุ์แมวและสุนัขต่างๆ ภาพเหล่านี้มีความซับซ้อนมากกว่าชุดข้อมูล MNIST และมีมิติที่สูงกว่า และมีมากกว่า 10 คลาส


ข้อจำกัดความรับผิดชอบ:
เอกสารนี้ได้รับการแปลโดยใช้บริการแปลภาษา AI Co-op Translator แม้ว่าเราจะพยายามให้การแปลมีความถูกต้อง แต่โปรดทราบว่าการแปลอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่แม่นยำ เอกสารต้นฉบับในภาษาต้นทางควรถือเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลที่สำคัญ ขอแนะนำให้ใช้บริการแปลภาษาจากผู้เชี่ยวชาญ เราไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความที่ผิดพลาดซึ่งเกิดจากการใช้การแปลนี้