ฉันเพิ่งอ่านเครือข่าย Convolutional ครบวงจรสำหรับการแบ่งส่วนแบบ Semanticโดย Jonathan Long, Evan Shelhamer, Trevor Darrell ฉันไม่เข้าใจว่า "เลเยอร์ deconvolutional" ทำอะไร / ทำงานอย่างไร
ส่วนที่เกี่ยวข้องคือ
3.3 การยกกลับคือการบิดอย่างช้าๆ
อีกวิธีหนึ่งในการเชื่อมต่อเอาต์พุตหยาบกับพิกเซลหนาแน่นคือการแก้ไข ตัวอย่างเช่นการประมาณค่าแบบสองจังหวะง่ายคำนวณแต่ละเอาต์พุตจากอินพุตสี่ที่ใกล้ที่สุดโดยแผนที่เชิงเส้นที่ขึ้นอยู่กับตำแหน่งสัมพัทธ์ของเซลล์อินพุตและเอาต์พุตเท่านั้น เรียกอีกอย่างว่าการยกตัวอย่างด้วยแฟคเตอร์fนั้นจะทำให้เกิดการโน้มน้าวใจด้วยการป้อนข้อมูลเศษส่วนที่ 1 / f ตราบใดที่ฉเป็นส่วนประกอบสำคัญเป็นวิธีธรรมชาติในการ upsample จึงย้อนกลับบิด (บางครั้งเรียก deconvolution) กับกางเกงของการส่งออกของ ฉ การดำเนินการเช่นนี้ไม่สำคัญที่จะนำมาใช้เพราะมันเพียงแค่ย้อนกลับไปข้างหน้าและย้อนกลับผ่านการบิด
ดังนั้นการสุ่มตัวอย่างจะดำเนินการในเครือข่ายสำหรับการเรียนรู้แบบ end-to-end โดย backpropagation จากการสูญเสียพิกเซล
โปรดทราบว่าตัวกรอง deconvolution ในเลเยอร์ดังกล่าวไม่จำเป็นต้องได้รับการแก้ไข (เช่นไปยังการสุ่มตัวอย่าง bilinear) แต่สามารถเรียนรู้ได้ สแต็คของ deconvolution เลเยอร์และฟังก์ชั่นการเปิดใช้งานยังสามารถเรียนรู้การยกตัวอย่างแบบไม่เชิงเส้น
ในการทดลองของเราเราพบว่าการอัปแซมปลิงในเครือข่ายนั้นรวดเร็วและมีประสิทธิภาพสำหรับการเรียนรู้การทำนายที่หนาแน่น สถาปัตยกรรมการแบ่งส่วนที่ดีที่สุดของเราใช้เลเยอร์เหล่านี้เพื่อเรียนรู้ที่จะยกตัวอย่างสำหรับการทำนายที่ละเอียดในหัวข้อ 4.2
ฉันไม่คิดว่าฉันเข้าใจจริงๆว่าการฝึกฝนเลเยอร์ convolutional เป็นอย่างไร
สิ่งที่ฉันคิดว่าฉันได้เข้าใจคือว่าชั้นความสับสนที่มีขนาดเคอร์เนลเรียนรู้ฟิลเตอร์ที่มีขนาดk × k เอาต์พุตของเลเยอร์ convolutional ที่มีขนาดเคอร์เนลk , ฟิลเตอร์s ∈ Nและnของstride เป็นมิติการป้อนข้อมูลสลัวn อย่างไรก็ตามฉันไม่ทราบวิธีการเรียนรู้ของเลเยอร์ convolutional (ฉันเข้าใจว่า MLP ง่าย ๆ เรียนรู้ด้วยการไล่ระดับสีแบบลาดลงถ้าช่วยได้)
ดังนั้นหากความเข้าใจของฉันเกี่ยวกับเลเยอร์ convolutional นั้นถูกต้องฉันก็ไม่รู้เลยว่ามันจะกลับกันได้อย่างไร
ใครช่วยกรุณาฉันเข้าใจชั้น deconvolutional