69 lines
12 KiB
Markdown
69 lines
12 KiB
Markdown
<!--
|
|
CO_OP_TRANSLATOR_METADATA:
|
|
{
|
|
"original_hash": "088837b42b7d99198bf62db8a42411e0",
|
|
"translation_date": "2025-08-29T08:45:56+00:00",
|
|
"source_file": "lessons/4-ComputerVision/07-ConvNets/README.md",
|
|
"language_code": "th"
|
|
}
|
|
-->
|
|
# เครือข่ายประสาทเทียมแบบคอนโวลูชัน
|
|
|
|
เราเคยเห็นมาก่อนว่าเครือข่ายประสาทเทียมมีความสามารถที่ดีในการจัดการกับภาพ และแม้แต่เพอร์เซปตรอนชั้นเดียวก็สามารถจดจำตัวเลขที่เขียนด้วยมือจากชุดข้อมูล MNIST ได้ด้วยความแม่นยำที่เหมาะสม อย่างไรก็ตาม ชุดข้อมูล MNIST มีลักษณะพิเศษที่ตัวเลขทั้งหมดถูกจัดให้อยู่ตรงกลางของภาพ ซึ่งทำให้การจดจำง่ายขึ้น
|
|
|
|
## [แบบทดสอบก่อนการบรรยาย](https://red-field-0a6ddfd03.1.azurestaticapps.net/quiz/107)
|
|
|
|
ในชีวิตจริง เราต้องการความสามารถในการจดจำวัตถุในภาพโดยไม่คำนึงถึงตำแหน่งที่แน่นอนของวัตถุนั้นในภาพ การมองเห็นด้วยคอมพิวเตอร์แตกต่างจากการจำแนกประเภททั่วไป เพราะเมื่อเราพยายามค้นหาวัตถุเฉพาะในภาพ เราจะสแกนภาพเพื่อค้นหารูปแบบเฉพาะและการผสมผสานของรูปแบบเหล่านั้น ตัวอย่างเช่น เมื่อมองหาภาพแมว เราอาจเริ่มมองหาสายเส้นแนวนอนที่อาจเป็นหนวดแมว และเมื่อหนวดแมวปรากฏในรูปแบบที่เฉพาะเจาะจง เราก็สามารถบอกได้ว่านี่คือภาพของแมว ตำแหน่งสัมพัทธ์และการมีอยู่ของรูปแบบบางอย่างมีความสำคัญ แต่ไม่ใช่ตำแหน่งที่แน่นอนในภาพ
|
|
|
|
เพื่อดึงรูปแบบเหล่านี้ เราจะใช้แนวคิดของ **ตัวกรองคอนโวลูชัน** อย่างที่คุณทราบ ภาพถูกแสดงผลในรูปแบบเมทริกซ์ 2 มิติ หรือเทนเซอร์ 3 มิติที่มีความลึกของสี การใช้ตัวกรองหมายถึงการนำเมทริกซ์ **ฟิลเตอร์เคอร์เนล** ขนาดเล็กมาใช้ และสำหรับแต่ละพิกเซลในภาพต้นฉบับ เราจะคำนวณค่าเฉลี่ยแบบถ่วงน้ำหนักกับจุดที่อยู่ใกล้เคียง เราสามารถมองสิ่งนี้เหมือนหน้าต่างเล็ก ๆ ที่เลื่อนผ่านภาพทั้งหมด และเฉลี่ยค่าพิกเซลทั้งหมดตามน้ำหนักในเมทริกซ์ฟิลเตอร์เคอร์เนล
|
|
|
|
 | 
|
|
----|----
|
|
|
|
> ภาพโดย Dmitry Soshnikov
|
|
|
|
ตัวอย่างเช่น หากเรานำตัวกรองขอบแนวตั้งและแนวนอนขนาด 3x3 ไปใช้กับตัวเลขใน MNIST เราจะได้จุดเด่น (เช่น ค่าที่สูง) ในตำแหน่งที่มีขอบแนวตั้งและแนวนอนในภาพต้นฉบับ ดังนั้นตัวกรองทั้งสองนี้สามารถใช้เพื่อ "ค้นหา" ขอบได้ ในทำนองเดียวกัน เราสามารถออกแบบตัวกรองต่าง ๆ เพื่อค้นหารูปแบบระดับต่ำอื่น ๆ:
|
|
|
|
> ภาพของ [Leung-Malik Filter Bank](https://www.robots.ox.ac.uk/~vgg/research/texclass/filters.html)
|
|
|
|
อย่างไรก็ตาม แม้ว่าเราจะสามารถออกแบบตัวกรองเพื่อดึงรูปแบบบางอย่างได้ด้วยตนเอง เราก็สามารถออกแบบเครือข่ายในลักษณะที่มันจะเรียนรู้รูปแบบเหล่านี้โดยอัตโนมัติได้เช่นกัน นี่คือหนึ่งในแนวคิดหลักที่อยู่เบื้องหลัง CNN
|
|
|
|
## แนวคิดหลักของ CNN
|
|
|
|
วิธีการทำงานของ CNN ขึ้นอยู่กับแนวคิดสำคัญดังต่อไปนี้:
|
|
|
|
* ตัวกรองคอนโวลูชันสามารถดึงรูปแบบได้
|
|
* เราสามารถออกแบบเครือข่ายในลักษณะที่ตัวกรองถูกฝึกฝนโดยอัตโนมัติ
|
|
* เราสามารถใช้วิธีเดียวกันนี้เพื่อค้นหารูปแบบในคุณลักษณะระดับสูง ไม่ใช่แค่ในภาพต้นฉบับ ดังนั้นการดึงคุณลักษณะของ CNN จึงทำงานในลำดับชั้นของคุณลักษณะ โดยเริ่มจากการผสมผสานพิกเซลระดับต่ำไปจนถึงการผสมผสานระดับสูงของส่วนต่าง ๆ ของภาพ
|
|
|
|

|
|
|
|
> ภาพจาก [งานวิจัยของ Hislop-Lynch](https://www.semanticscholar.org/paper/Computer-vision-based-pedestrian-trajectory-Hislop-Lynch/26e6f74853fc9bbb7487b06dc2cf095d36c9021d) ซึ่งอ้างอิงจาก [งานวิจัยของพวกเขา](https://dl.acm.org/doi/abs/10.1145/1553374.1553453)
|
|
|
|
## ✍️ แบบฝึกหัด: เครือข่ายประสาทเทียมแบบคอนโวลูชัน
|
|
|
|
มาสำรวจเพิ่มเติมเกี่ยวกับวิธีการทำงานของเครือข่ายประสาทเทียมแบบคอนโวลูชัน และวิธีที่เราสามารถสร้างตัวกรองที่ฝึกฝนได้ โดยการทำงานผ่านโน้ตบุ๊กที่เกี่ยวข้อง:
|
|
|
|
* [เครือข่ายประสาทเทียมแบบคอนโวลูชัน - PyTorch](ConvNetsPyTorch.ipynb)
|
|
* [เครือข่ายประสาทเทียมแบบคอนโวลูชัน - TensorFlow](ConvNetsTF.ipynb)
|
|
|
|
## สถาปัตยกรรมแบบพีระมิด
|
|
|
|
CNN ส่วนใหญ่ที่ใช้สำหรับการประมวลผลภาพมักจะมีสถาปัตยกรรมแบบพีระมิด ชั้นคอนโวลูชันแรกที่ใช้กับภาพต้นฉบับมักจะมีจำนวนตัวกรองค่อนข้างน้อย (8-16) ซึ่งสอดคล้องกับการผสมผสานพิกเซลที่แตกต่างกัน เช่น เส้นแนวนอน/แนวตั้งของลายเส้น ในระดับถัดไป เราลดมิติของพื้นที่ในเครือข่าย และเพิ่มจำนวนตัวกรอง ซึ่งสอดคล้องกับการผสมผสานที่เป็นไปได้มากขึ้นของคุณลักษณะง่าย ๆ ด้วยแต่ละชั้น เมื่อเราเคลื่อนไปยังตัวจำแนกขั้นสุดท้าย มิติของพื้นที่ในภาพจะลดลง และจำนวนตัวกรองจะเพิ่มขึ้น
|
|
|
|
ตัวอย่างเช่น มาดูสถาปัตยกรรมของ VGG-16 ซึ่งเป็นเครือข่ายที่ทำได้ถึงความแม่นยำ 92.7% ในการจัดประเภท 5 อันดับแรกของ ImageNet ในปี 2014:
|
|
|
|

|
|
|
|

|
|
|
|
> ภาพจาก [Researchgate](https://www.researchgate.net/figure/Vgg16-model-structure-To-get-the-VGG-NIN-model-we-replace-the-2-nd-4-th-6-th-7-th_fig2_335194493)
|
|
|
|
## สถาปัตยกรรม CNN ที่เป็นที่รู้จักดีที่สุด
|
|
|
|
[ศึกษาต่อเกี่ยวกับสถาปัตยกรรม CNN ที่เป็นที่รู้จักดีที่สุด](CNN_Architectures.md)
|
|
|
|
---
|
|
|
|
**ข้อจำกัดความรับผิดชอบ**:
|
|
เอกสารนี้ได้รับการแปลโดยใช้บริการแปลภาษา AI [Co-op Translator](https://github.com/Azure/co-op-translator) แม้ว่าเราจะพยายามให้การแปลมีความถูกต้อง แต่โปรดทราบว่าการแปลอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่แม่นยำ เอกสารต้นฉบับในภาษาต้นทางควรถือเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลที่สำคัญ ขอแนะนำให้ใช้บริการแปลภาษามนุษย์มืออาชีพ เราจะไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความที่ผิดพลาดซึ่งเกิดจากการใช้การแปลนี้ |