|
|
||
|---|---|---|
| .. | ||
| lab | ||
| CNN_Architectures.md | ||
| ConvNetsPyTorch.ipynb | ||
| ConvNetsTF.ipynb | ||
| README.md | ||
README.md
เครือข่ายประสาทเทียมแบบคอนโวลูชัน
เราเคยเห็นมาก่อนว่าเครือข่ายประสาทเทียมมีความสามารถที่ดีในการจัดการกับภาพ และแม้แต่เพอร์เซปตรอนชั้นเดียวก็สามารถจดจำตัวเลขที่เขียนด้วยมือจากชุดข้อมูล MNIST ได้ด้วยความแม่นยำที่เหมาะสม อย่างไรก็ตาม ชุดข้อมูล MNIST มีลักษณะพิเศษที่ตัวเลขทั้งหมดถูกจัดให้อยู่ตรงกลางของภาพ ซึ่งทำให้การจดจำง่ายขึ้น
แบบทดสอบก่อนการบรรยาย
ในชีวิตจริง เราต้องการความสามารถในการจดจำวัตถุในภาพโดยไม่คำนึงถึงตำแหน่งที่แน่นอนของวัตถุนั้นในภาพ การมองเห็นด้วยคอมพิวเตอร์แตกต่างจากการจำแนกประเภททั่วไป เพราะเมื่อเราพยายามค้นหาวัตถุเฉพาะในภาพ เราจะสแกนภาพเพื่อค้นหารูปแบบเฉพาะและการผสมผสานของรูปแบบเหล่านั้น ตัวอย่างเช่น เมื่อมองหาภาพแมว เราอาจเริ่มมองหาสายเส้นแนวนอนที่อาจเป็นหนวดแมว และเมื่อหนวดแมวปรากฏในรูปแบบที่เฉพาะเจาะจง เราก็สามารถบอกได้ว่านี่คือภาพของแมว ตำแหน่งสัมพัทธ์และการมีอยู่ของรูปแบบบางอย่างมีความสำคัญ แต่ไม่ใช่ตำแหน่งที่แน่นอนในภาพ
เพื่อดึงรูปแบบเหล่านี้ เราจะใช้แนวคิดของ ตัวกรองคอนโวลูชัน อย่างที่คุณทราบ ภาพถูกแสดงผลในรูปแบบเมทริกซ์ 2 มิติ หรือเทนเซอร์ 3 มิติที่มีความลึกของสี การใช้ตัวกรองหมายถึงการนำเมทริกซ์ ฟิลเตอร์เคอร์เนล ขนาดเล็กมาใช้ และสำหรับแต่ละพิกเซลในภาพต้นฉบับ เราจะคำนวณค่าเฉลี่ยแบบถ่วงน้ำหนักกับจุดที่อยู่ใกล้เคียง เราสามารถมองสิ่งนี้เหมือนหน้าต่างเล็ก ๆ ที่เลื่อนผ่านภาพทั้งหมด และเฉลี่ยค่าพิกเซลทั้งหมดตามน้ำหนักในเมทริกซ์ฟิลเตอร์เคอร์เนล
![]() |
![]() |
|---|
ภาพโดย Dmitry Soshnikov
ตัวอย่างเช่น หากเรานำตัวกรองขอบแนวตั้งและแนวนอนขนาด 3x3 ไปใช้กับตัวเลขใน MNIST เราจะได้จุดเด่น (เช่น ค่าที่สูง) ในตำแหน่งที่มีขอบแนวตั้งและแนวนอนในภาพต้นฉบับ ดังนั้นตัวกรองทั้งสองนี้สามารถใช้เพื่อ "ค้นหา" ขอบได้ ในทำนองเดียวกัน เราสามารถออกแบบตัวกรองต่าง ๆ เพื่อค้นหารูปแบบระดับต่ำอื่น ๆ:
ภาพของ Leung-Malik Filter Bank
อย่างไรก็ตาม แม้ว่าเราจะสามารถออกแบบตัวกรองเพื่อดึงรูปแบบบางอย่างได้ด้วยตนเอง เราก็สามารถออกแบบเครือข่ายในลักษณะที่มันจะเรียนรู้รูปแบบเหล่านี้โดยอัตโนมัติได้เช่นกัน นี่คือหนึ่งในแนวคิดหลักที่อยู่เบื้องหลัง CNN
แนวคิดหลักของ CNN
วิธีการทำงานของ CNN ขึ้นอยู่กับแนวคิดสำคัญดังต่อไปนี้:
- ตัวกรองคอนโวลูชันสามารถดึงรูปแบบได้
- เราสามารถออกแบบเครือข่ายในลักษณะที่ตัวกรองถูกฝึกฝนโดยอัตโนมัติ
- เราสามารถใช้วิธีเดียวกันนี้เพื่อค้นหารูปแบบในคุณลักษณะระดับสูง ไม่ใช่แค่ในภาพต้นฉบับ ดังนั้นการดึงคุณลักษณะของ CNN จึงทำงานในลำดับชั้นของคุณลักษณะ โดยเริ่มจากการผสมผสานพิกเซลระดับต่ำไปจนถึงการผสมผสานระดับสูงของส่วนต่าง ๆ ของภาพ
ภาพจาก งานวิจัยของ Hislop-Lynch ซึ่งอ้างอิงจาก งานวิจัยของพวกเขา
✍️ แบบฝึกหัด: เครือข่ายประสาทเทียมแบบคอนโวลูชัน
มาสำรวจเพิ่มเติมเกี่ยวกับวิธีการทำงานของเครือข่ายประสาทเทียมแบบคอนโวลูชัน และวิธีที่เราสามารถสร้างตัวกรองที่ฝึกฝนได้ โดยการทำงานผ่านโน้ตบุ๊กที่เกี่ยวข้อง:
สถาปัตยกรรมแบบพีระมิด
CNN ส่วนใหญ่ที่ใช้สำหรับการประมวลผลภาพมักจะมีสถาปัตยกรรมแบบพีระมิด ชั้นคอนโวลูชันแรกที่ใช้กับภาพต้นฉบับมักจะมีจำนวนตัวกรองค่อนข้างน้อย (8-16) ซึ่งสอดคล้องกับการผสมผสานพิกเซลที่แตกต่างกัน เช่น เส้นแนวนอน/แนวตั้งของลายเส้น ในระดับถัดไป เราลดมิติของพื้นที่ในเครือข่าย และเพิ่มจำนวนตัวกรอง ซึ่งสอดคล้องกับการผสมผสานที่เป็นไปได้มากขึ้นของคุณลักษณะง่าย ๆ ด้วยแต่ละชั้น เมื่อเราเคลื่อนไปยังตัวจำแนกขั้นสุดท้าย มิติของพื้นที่ในภาพจะลดลง และจำนวนตัวกรองจะเพิ่มขึ้น
ตัวอย่างเช่น มาดูสถาปัตยกรรมของ VGG-16 ซึ่งเป็นเครือข่ายที่ทำได้ถึงความแม่นยำ 92.7% ในการจัดประเภท 5 อันดับแรกของ ImageNet ในปี 2014:
ภาพจาก Researchgate
สถาปัตยกรรม CNN ที่เป็นที่รู้จักดีที่สุด
ศึกษาต่อเกี่ยวกับสถาปัตยกรรม CNN ที่เป็นที่รู้จักดีที่สุด
ข้อจำกัดความรับผิดชอบ:
เอกสารนี้ได้รับการแปลโดยใช้บริการแปลภาษา AI Co-op Translator แม้ว่าเราจะพยายามให้การแปลมีความถูกต้อง แต่โปรดทราบว่าการแปลอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่แม่นยำ เอกสารต้นฉบับในภาษาต้นทางควรถือเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลที่สำคัญ ขอแนะนำให้ใช้บริการแปลภาษามนุษย์มืออาชีพ เราจะไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความที่ผิดพลาดซึ่งเกิดจากการใช้การแปลนี้




