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

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 มิติที่มีความลึกของสี การใช้ตัวกรองหมายถึงการนำเมทริกซ์ **ฟิลเตอร์เคอร์เนล** ขนาดเล็กมาใช้ และสำหรับแต่ละพิกเซลในภาพต้นฉบับ เราจะคำนวณค่าเฉลี่ยแบบถ่วงน้ำหนักกับจุดที่อยู่ใกล้เคียง เราสามารถมองสิ่งนี้เหมือนหน้าต่างเล็ก ๆ ที่เลื่อนผ่านภาพทั้งหมด และเฉลี่ยค่าพิกเซลทั้งหมดตามน้ำหนักในเมทริกซ์ฟิลเตอร์เคอร์เนล
![ตัวกรองขอบแนวตั้ง](../../../../../translated_images/filter-vert.b7148390ca0bc356ddc7e55555d2481819c1e86ddde9dce4db5e71a69d6f887f.th.png) | ![ตัวกรองขอบแนวนอน](../../../../../translated_images/filter-horiz.59b80ed4feb946efbe201a7fe3ca95abb3364e266e6fd90820cb893b4d3a6dda.th.png)
----|----
> ภาพโดย Dmitry Soshnikov
ตัวอย่างเช่น หากเรานำตัวกรองขอบแนวตั้งและแนวนอนขนาด 3x3 ไปใช้กับตัวเลขใน MNIST เราจะได้จุดเด่น (เช่น ค่าที่สูง) ในตำแหน่งที่มีขอบแนวตั้งและแนวนอนในภาพต้นฉบับ ดังนั้นตัวกรองทั้งสองนี้สามารถใช้เพื่อ "ค้นหา" ขอบได้ ในทำนองเดียวกัน เราสามารถออกแบบตัวกรองต่าง ๆ เพื่อค้นหารูปแบบระดับต่ำอื่น ๆ:
> ภาพของ [Leung-Malik Filter Bank](https://www.robots.ox.ac.uk/~vgg/research/texclass/filters.html)
อย่างไรก็ตาม แม้ว่าเราจะสามารถออกแบบตัวกรองเพื่อดึงรูปแบบบางอย่างได้ด้วยตนเอง เราก็สามารถออกแบบเครือข่ายในลักษณะที่มันจะเรียนรู้รูปแบบเหล่านี้โดยอัตโนมัติได้เช่นกัน นี่คือหนึ่งในแนวคิดหลักที่อยู่เบื้องหลัง CNN
## แนวคิดหลักของ CNN
วิธีการทำงานของ CNN ขึ้นอยู่กับแนวคิดสำคัญดังต่อไปนี้:
* ตัวกรองคอนโวลูชันสามารถดึงรูปแบบได้
* เราสามารถออกแบบเครือข่ายในลักษณะที่ตัวกรองถูกฝึกฝนโดยอัตโนมัติ
* เราสามารถใช้วิธีเดียวกันนี้เพื่อค้นหารูปแบบในคุณลักษณะระดับสูง ไม่ใช่แค่ในภาพต้นฉบับ ดังนั้นการดึงคุณลักษณะของ CNN จึงทำงานในลำดับชั้นของคุณลักษณะ โดยเริ่มจากการผสมผสานพิกเซลระดับต่ำไปจนถึงการผสมผสานระดับสูงของส่วนต่าง ๆ ของภาพ
![การดึงคุณลักษณะแบบลำดับชั้น](../../../../../translated_images/FeatureExtractionCNN.d9b456cbdae7cb643fde3032b81b2940e3cf8be842e29afac3f482725ba7f95c.th.png)
> ภาพจาก [งานวิจัยของ 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:
![ชั้นของ ImageNet](../../../../../translated_images/vgg-16-arch1.d901a5583b3a51baeaab3e768567d921e5d54befa46e1e642616c5458c934028.th.jpg)
![พีระมิดของ ImageNet](../../../../../translated_images/vgg-16-arch.64ff2137f50dd49fdaa786e3f3a975b3f22615efd13efb19c5d22f12e01451a1.th.jpg)
> ภาพจาก [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) แม้ว่าเราจะพยายามให้การแปลมีความถูกต้อง แต่โปรดทราบว่าการแปลอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่แม่นยำ เอกสารต้นฉบับในภาษาต้นทางควรถือเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลที่สำคัญ ขอแนะนำให้ใช้บริการแปลภาษามนุษย์มืออาชีพ เราจะไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความที่ผิดพลาดซึ่งเกิดจากการใช้การแปลนี้