ในการเรียงลำดับของคำศัพท์กลไก / ภาพ / ภาพที่ใช้:
การขยาย: ### ดูความคิดเห็นทำงานในการแก้ไขส่วนนี้
การขยายเป็นส่วนใหญ่เหมือนกับการเรียกใช้การแปลงที่ทำงาน (ตรงไปตรงมาคือ deconvolution) ยกเว้นว่าจะเปิดช่องว่างให้เป็นเมล็ดในขณะที่เคอร์เนลมาตรฐานมักจะเลื่อนส่วนที่ต่อเนื่องกันของอินพุต ตัวอย่างเช่น "ล้อม" ส่วนใหญ่ของภาพ - ในขณะที่ยังคงมีน้ำหนัก / อินพุตมากเท่ารูปแบบมาตรฐาน
(โปรดทราบว่าในขณะที่การขยายจะแทรกค่าศูนย์ลงในเคอร์เนลเพื่อลดขนาดใบหน้า / ความละเอียดของผลลัพธ์ออกไปอย่างรวดเร็วยิ่งขึ้นทรานซิสชั่นจะแทรกศูนย์ลงในอินพุตเพื่อเพิ่มความละเอียดของเอาต์พุต)
หากต้องการทำให้เป็นรูปธรรมมากขึ้นลองมาตัวอย่างง่าย ๆ :
สมมติว่าคุณมีภาพขนาด 9x9 xไม่มีการซ้อนทับ หากคุณใช้เคอร์เนล 3x3 มาตรฐานโดยมี stride 2 ชุดย่อยแรกของข้อกังวลจากอินพุตจะเป็นx [0: 2, 0: 2] และเก้าแต้มทั้งหมดภายในขอบเขตเหล่านี้จะถูกพิจารณาโดยเคอร์เนล จากนั้นคุณจะกวาดx [0: 2, 2: 4] และอื่น ๆ
เห็นได้ชัดว่าผลลัพธ์จะมีขนาดใบหน้าเล็กลงโดยเฉพาะ 4x4 ดังนั้นเซลล์ประสาทของเลเยอร์ถัดไปจึงมีฟิลด์เปิดกว้างตามขนาดที่แน่นอนของเมล็ดเหล่านี้จะผ่านไป แต่ถ้าคุณต้องการหรือต้องการเซลล์ประสาทที่มีความรู้เชิงพื้นที่ทั่วโลกมากขึ้น (เช่นถ้าคุณลักษณะสำคัญสามารถกำหนดได้เฉพาะในภูมิภาคที่มีขนาดใหญ่กว่านี้) จากนั้นคุณจะต้องโน้มน้าวชั้นนี้เป็นครั้งที่สองเพื่อสร้างชั้นที่สาม บางส่วนของเลเยอร์ก่อนหน้า rf บางส่วน
แต่ถ้าคุณไม่ต้องการเพิ่มเลเยอร์เพิ่มเติมและ / หรือคุณรู้สึกว่าข้อมูลที่ส่งผ่านนั้นซ้ำซ้อนมากเกินไป (เช่นเขตข้อมูลที่เปิดกว้างของคุณใน 3x3 ในเลเยอร์ที่สองเท่านั้นที่มีข้อมูลที่ชัดเจนแตกต่างกัน "2x2") คุณสามารถใช้ ตัวกรองขยาย มาดูเรื่องนี้กันมากแล้วบอกว่าเราจะใช้ตัวกรองขนาด 9x9 3 ตัว ตอนนี้ตัวกรองของเราจะ "ล้อม" อินพุตทั้งหมดดังนั้นเราจึงไม่ต้องเลื่อนเลย อย่างไรก็ตามเราจะยังคงรับเฉพาะ 3x3 = 9 จุดข้อมูลจากอินพุต, x , โดยทั่วไป:
x [0,0] U x [0,4] U x [0,8] U x [4,0] U x [4,4] U x [4,8] U x [8,0] U x [8,4] U x [8,8]
ตอนนี้เซลล์ประสาทในเลเยอร์ถัดไปของเรา (เราจะมีเพียงอันเดียว) จะมีข้อมูล "แสดง" ส่วนที่ใหญ่กว่าของรูปภาพของเราและอีกครั้งหากข้อมูลของภาพนั้นซ้ำซ้อนอย่างมากสำหรับข้อมูลที่อยู่ติดกัน ข้อมูลเดียวกันและเรียนรู้การแปลงที่เท่าเทียมกัน แต่มีเลเยอร์น้อยลงและพารามิเตอร์น้อยลง ฉันคิดว่าภายในขอบเขตของคำอธิบายนี้มันชัดเจนว่าในขณะที่แน่นอนว่าเป็นการ resampling เราอยู่ที่นี่downsamplingสำหรับแต่ละเคอร์เนล
เศษส่วนหรือทรานสดิวเซอร์หรือ "deconvolution":
การเรียงลำดับนี้ยังคงเป็นหัวใจที่สำคัญมาก ความแตกต่างคืออีกครั้งว่าเราจะย้ายจากปริมาณการป้อนข้อมูลที่มีขนาดเล็กลงเพื่อปริมาณการส่งออกที่มีขนาดใหญ่ OP ไม่มีคำถามเกี่ยวกับการอัปแซมปลิงคืออะไรดังนั้นฉันจะบันทึกความกว้างเล็กน้อยในครั้งนี้ 'และไปที่ตัวอย่างที่เกี่ยวข้อง
ในกรณี 9x9 ของเราจากก่อนหน้านี้สมมติว่าเราต้องการอัปเดตเป็น 11x11 ในกรณีนี้เรามีสองตัวเลือกทั่วไป: เราสามารถใช้เคอร์เนล 3x3 กับ stride 1 และกวาดมันเหนืออินพุต 3x3 ของเราด้วย 2-padding เพื่อที่การส่งครั้งแรกของเราจะอยู่เหนือขอบเขต [left-pad-2: 1, above-pad-2: 1] จากนั้น [left-pad-1: 2, above-pad-2: 1] และต่อ ๆ ไปเรื่อย ๆ
นอกจากนี้เรายังสามารถแทรกการเติมระหว่างข้อมูลอินพุตและกวาดเคอร์เนลได้โดยไม่ต้องแพ็ดดิงมาก เห็นได้ชัดว่าบางครั้งเราจะเกี่ยวข้องกับตัวเองด้วยจุดอินพุตเดียวกันที่แน่นอนมากกว่าหนึ่งครั้งสำหรับเคอร์เนลเดียว นี่คือสิ่งที่คำว่า "ก้าวไปอย่างเศษส่วน" ดูเหมือนจะมีเหตุผลดีกว่า ฉันคิดว่าภาพเคลื่อนไหวต่อไปนี้ (ยืมมาจากที่นี่และจาก (ฉันเชื่อว่า) จากงานนี้จะช่วยล้างสิ่งต่าง ๆ แม้จะเป็นมิติที่แตกต่างกันอินพุตเป็นสีน้ำเงินศูนย์ฉีดสีขาวและช่องว่างภายในและสีเขียวเอาท์พุท:
แน่นอนว่าเรากำลังเกี่ยวข้องกับข้อมูลอินพุตทั้งหมดเมื่อเทียบกับการขยายซึ่งอาจหรือไม่ละเว้นบางภูมิภาคโดยสิ้นเชิง และเนื่องจากเรากำลังไขข้อมูลอย่างชัดเจนมากกว่าที่เราเริ่มต้น "การสุ่มตัวอย่าง"
ฉันขอแนะนำให้คุณอ่านเอกสารที่ยอดเยี่ยมที่ฉันเชื่อมโยงเพื่อให้ได้คำจำกัดความที่เป็นนามธรรมมากขึ้นและคำอธิบายของการแปลงรูปแบบการแปลงรวมถึงการเรียนรู้ว่าทำไมตัวอย่างที่ใช้ร่วมกันจึงเป็นตัวอย่าง