จริง ๆ แล้วฉันเดาว่าคำถามมันค่อนข้างกว้าง! อย่างไรก็ตาม.
ทำความเข้าใจกับ Convolution Nets
สิ่งที่เรียนรู้ในการConvNets
พยายามลดฟังก์ชั่นลดค่าใช้จ่ายเพื่อจัดหมวดหมู่อินพุตให้ถูกต้องในงานการจัดหมวดหมู่ การเปลี่ยนแปลงพารามิเตอร์และตัวกรองที่เรียนรู้ทั้งหมดเพื่อให้บรรลุเป้าหมายดังกล่าว
คุณลักษณะที่เรียนรู้ในเลเยอร์ต่างๆ
พวกเขาพยายามลดค่าใช้จ่ายโดยการเรียนรู้ในระดับต่ำซึ่งบางครั้งก็ไร้ความหมายคุณสมบัติเช่นเส้นแนวนอนและแนวตั้งในเลเยอร์แรกของพวกเขาจากนั้นซ้อนพวกเขาเพื่อสร้างรูปทรงนามธรรม สำหรับแสดงภาพนี้ 1 ซึ่งมีการใช้งานจากที่นี่สามารถพิจารณาได้ อินพุตเป็นบัสและ gird แสดงการเปิดใช้งานหลังจากผ่านอินพุตผ่านฟิลเตอร์ต่าง ๆ ในเลเยอร์แรก ดังจะเห็นได้ว่ากรอบสีแดงซึ่งเป็นตัวกระตุ้นการทำงานของตัวกรองซึ่งพารามิเตอร์ที่ได้รับการเรียนรู้นั้นได้ถูกเปิดใช้งานสำหรับขอบที่ค่อนข้างแนวนอน กรอบสีน้ำเงินถูกเปิดใช้งานสำหรับขอบแนวตั้งที่ค่อนข้างเหมาะสม เป็นไปได้ว่าConvNets
เรียนรู้ตัวกรองที่ไม่รู้จักซึ่งมีประโยชน์และเราเช่นผู้ปฏิบัติงานด้านการมองเห็นด้วยคอมพิวเตอร์ไม่ได้ค้นพบว่าตัวกรองนั้นอาจเป็นประโยชน์ ส่วนที่ดีที่สุดของอวนเหล่านี้คือพวกเขาพยายามค้นหาตัวกรองที่เหมาะสมด้วยตัวเองและไม่ใช้ตัวกรองที่ค้นพบของเรา จำกัด พวกเขาเรียนรู้ตัวกรองเพื่อลดจำนวนฟังก์ชั่นค่าใช้จ่าย ตามที่ระบุไว้ตัวกรองเหล่านี้ไม่จำเป็นต้องทราบ
ในเลเยอร์ที่ลึกกว่าคุณสมบัติที่เรียนในเลเยอร์ก่อนหน้านั้นมารวมกันและสร้างรูปร่างที่มักจะมีความหมาย ในบทความนี้มีการพูดกันว่าเลเยอร์เหล่านี้อาจมีการเปิดใช้งานที่มีความหมายต่อเราหรือแนวคิดที่มีความหมายกับเราในฐานะมนุษย์อาจถูกกระจายไปในการเปิดใช้งานอื่น ๆ ในรูป 2 กรอบสีเขียวแสดง activatins ของตัวกรองในชั้นที่ห้าของConvNet
. ตัวกรองนี้ใส่ใจใบหน้า สมมติว่าสีแดงสนใจเกี่ยวกับผม สิ่งเหล่านี้มีความหมาย ดังจะเห็นได้ว่ามีการเปิดใช้งานอื่น ๆ ที่เปิดใช้งานอยู่ในตำแหน่งใบหน้าทั่วไปในอินพุตเฟรมสีเขียวเป็นหนึ่งในนั้น กรอบสีน้ำเงินเป็นอีกตัวอย่างหนึ่งของสิ่งเหล่านี้ ดังนั้นสิ่งที่เป็นนามธรรมของรูปร่างสามารถเรียนรู้ได้โดยตัวกรองหรือตัวกรองจำนวนมาก กล่าวอีกนัยหนึ่งแนวคิดแต่ละอย่างเช่นใบหน้าและส่วนประกอบสามารถกระจายระหว่างตัวกรองได้ ในกรณีที่แนวคิดถูกแจกจ่ายไปในเลเยอร์ที่แตกต่างกันหากมีคนดูแต่ละเลเยอร์พวกเขาอาจซับซ้อน ข้อมูลจะถูกกระจายในหมู่พวกเขาและเพื่อทำความเข้าใจว่าข้อมูลทั้งหมดของตัวกรองเหล่านั้นและการเปิดใช้งานของพวกเขาจะต้องได้รับการพิจารณาแม้ว่าพวกเขาอาจดูเหมือนซับซ้อนมาก
CNNs
ไม่ควรถือเป็นกล่องดำเลย Zeiler และในบทความที่น่าทึ่งนี้ได้กล่าวถึงการพัฒนาแบบจำลองที่ดีขึ้นจะถูกลดลงไปสู่การลองผิดลองถูกถ้าคุณไม่เข้าใจในสิ่งที่ทำในอวนเหล่านี้ ConvNets
กระดาษนี้พยายามที่จะเห็นภาพคุณลักษณะในแผนที่
ความสามารถในการจัดการการเปลี่ยนแปลงที่แตกต่างเพื่อสรุป
ConvNets
ใช้pooling
เลเยอร์ไม่เพียง แต่เพื่อลดจำนวนพารามิเตอร์ แต่ยังมีความสามารถที่จะไม่รู้สึกถึงตำแหน่งที่แน่นอนของแต่ละคุณสมบัติ นอกจากนี้การใช้มันยังช่วยให้เลเยอร์สามารถเรียนรู้คุณสมบัติที่แตกต่างกันซึ่งหมายความว่าเลเยอร์แรกเรียนรู้คุณสมบัติระดับต่ำอย่างง่ายเช่นขอบหรือส่วนโค้งและเลเยอร์ที่ลึกกว่าจะเรียนรู้คุณสมบัติที่ซับซ้อนมากขึ้นเช่นตาหรือคิ้ว Max Pooling
เช่นพยายามตรวจสอบว่ามีคุณสมบัติพิเศษอยู่ในภูมิภาคพิเศษหรือไม่ ความคิดของpooling
เลเยอร์นั้นมีประโยชน์มาก แต่ก็สามารถจัดการกับการเปลี่ยนผ่านของการเปลี่ยนแปลงอื่น ๆ ได้ แม้ว่าตัวกรองในเลเยอร์ต่าง ๆ พยายามค้นหารูปแบบที่แตกต่างกันเช่นใบหน้าที่หมุนได้เรียนรู้การใช้เลเยอร์ที่แตกต่างจากใบหน้าปกติCNNs
โดยมีของตัวเองไม่มีเลเยอร์ใด ๆ เพื่อจัดการการแปลงอื่น ๆ เพื่อแสดงให้เห็นว่าสิ่งนี้สมมติว่าคุณต้องการเรียนรู้ใบหน้าที่เรียบง่ายโดยไม่ต้องหมุนด้วยตาข่ายเพียงเล็กน้อย ในกรณีนี้แบบจำลองของคุณอาจสมบูรณ์ สมมติว่าคุณถูกขอให้เรียนรู้ใบหน้าทุกประเภทด้วยการหมุนหน้าโดยอำเภอใจ ในกรณีนี้แบบจำลองของคุณจะต้องใหญ่กว่าเครือข่ายที่เรียนมาก่อน เหตุผลคือต้องมีตัวกรองเพื่อเรียนรู้การหมุนเหล่านี้ในอินพุต โชคไม่ดีที่สิ่งเหล่านี้ไม่ใช่การเปลี่ยนแปลงทั้งหมด ข้อมูลของคุณอาจถูกบิดเบือนเช่นกัน กรณีเหล่านี้ทำให้Max Jaderberg และทั้งหมดโกรธ พวกเขาเขียนบทความนี้เพื่อจัดการกับปัญหาเหล่านี้เพื่อจัดการกับความโกรธของเราในฐานะของพวกเขา
Convolutional Neural Networks ทำงานได้ดี
ในที่สุดหลังจากที่อ้างถึงจุดเหล่านี้พวกเขาทำงานเพราะพวกเขาพยายามค้นหารูปแบบในข้อมูลอินพุต พวกมันจะสร้างแนวคิดที่เป็นนามธรรมขึ้นมา พวกเขาพยายามค้นหาว่าข้อมูลอินพุตมีแต่ละแนวคิดเหล่านี้หรือไม่ในเลเยอร์ที่มีความหนาแน่นสูงเพื่อพิจารณาว่าข้อมูลอินพุตเป็นของคลาสใด
ฉันเพิ่มลิงก์ที่มีประโยชน์: