เนื่องจากไม่มีคำตอบอย่างละเอียดและทำเครื่องหมายฉันจะพยายามอย่างดีที่สุด
ก่อนอื่นเรามาทำความเข้าใจว่าแรงบันดาลใจของเลเยอร์ดังกล่าวมาจากไหน: เช่นโปรแกรมเปลี่ยนรหัสอัตโนมัติ คุณสามารถใช้ตัวแปลงรหัสอัตโนมัติแบบ Convolutional เพื่อแยก featuers ของรูปภาพในขณะที่ฝึกฝนตัวสร้างรหัสอัตโนมัติเพื่อสร้างภาพต้นฉบับขึ้นมาใหม่ (เป็นวิธีที่ไม่มีผู้ดูแล)
ตัวเข้ารหัสอัตโนมัติดังกล่าวมีสองส่วน: ตัวเข้ารหัสที่แยกคุณลักษณะจากภาพและตัวถอดรหัสที่สร้างภาพต้นฉบับขึ้นมาใหม่จากคุณสมบัติเหล่านี้ สถาปัตยกรรมของตัวเข้ารหัสและตัวถอดรหัสมักจะทำมิรเรอร์
ในตัวเข้ารหัสอัตโนมัติ convolutional ตัวเข้ารหัสทำงานร่วมกับชั้น convolution และ pooling ฉันคิดว่าคุณรู้วิธีการทำงานของเหล่านี้ ตัวถอดรหัสพยายามมิเรอร์ตัวเข้ารหัส แต่แทนที่จะ "ทำให้ทุกอย่างเล็กลง" มันมีเป้าหมายที่จะ "ทำให้ทุกอย่างใหญ่ขึ้น" เพื่อให้ตรงกับขนาดดั้งเดิมของภาพ
ตรงข้ามของชั้นความสับสนเป็นขนย้ายบิดชั้น (หรือเรียกว่าdeconvolutionแต่อย่างถูกต้องทางคณิตศาสตร์ที่พูดนี้เป็นสิ่งที่แตกต่างกัน) พวกมันทำงานร่วมกับฟิลเตอร์, เมล็ด, ก้าวอย่างเดียวกับเลเยอร์ Convolution แต่แทนที่จะทำการแมปจากพิกเซลอินพุต 3x3 เป็น 1 เอาต์พุตมันแมปจากพิกเซลอินพุต 1 พิกเซลเป็น 3x3 พิกเซล แน่นอนว่าการ backpropagation นั้นต่างกันเล็กน้อย
ตรงข้ามชั้นร่วมกันเป็นอัปแซมปลิงชั้นซึ่งในรูปแบบบริสุทธิ์ของพวกเขาเท่านั้นปรับขนาดภาพ (หรือคัดลอกพิกเซลหลายครั้งตามที่ต้องการ) เทคนิคขั้นสูงยิ่งขึ้นคือยกเลิกการติดตามซึ่งจะเปลี่ยนค่าสูงสุดของการเชื่อมโยงโดยจดจำตำแหน่งของจุดสูงสุดในเลเยอร์แม็กซ์และในเลเยอร์ที่ไม่ได้คัดลอกคัดลอกค่าไปยังตำแหน่งนี้อย่างแน่นอน หากต้องการอ้างอิงจากกระดาษ( https://arxiv.org/pdf/1311.2901v3.pdf ) กระดาษ:
ใน convnet การดำเนินการรวมกำไรสูงสุดนั้นไม่สามารถย้อนกลับได้อย่างไรก็ตามเราสามารถรับค่าผกผันโดยประมาณโดยการบันทึกตำแหน่งของ maxima ภายในแต่ละพื้นที่รวมกำไรในชุดตัวแปรสวิตช์ ใน deconvnet การดำเนินการที่ไม่ได้ใช้งานจะใช้สวิตช์เหล่านี้เพื่อวางไทปันจากเลเยอร์ด้านบนไปยังตำแหน่งที่เหมาะสมเพื่อรักษาโครงสร้างของสิ่งเร้า
สำหรับข้อมูลทางเทคนิคและบริบทเพิ่มเติมดูที่คำอธิบายเชิงลึกที่ดีสาธิตและเชิงลึก: http://deeplearning.net/software/theano/tutorial/conv_arithmetic.html
และดูที่https://www.quora.com/What-is-the-difference-between-Deconvolution-Upsampling-Unpooling-and-Convolutional-Sparse-Coding