ค่าคงที่การแปลในคอมพิวเตอร์วิสัยทัศน์และเครือข่ายประสาทเทียมคืออะไร?


36

ฉันไม่ได้มีพื้นหลังคอมพิวเตอร์วิสัยทัศน์ แต่เมื่อผมอ่านการประมวลผลภาพและเครือข่ายประสาทสับสนบทความที่เกี่ยวข้องและเอกสารที่ผมต้องเผชิญคือคำหรือtranslation invariance หรือฉันอ่านมากว่าการดำเนินการสังวัตนาให้? !! สิ่งนี้หมายความว่า? ตัวผมเองมักจะแปลมันให้กับตัวเองราวกับว่ามันหมายความว่าถ้าเราเปลี่ยนภาพในรูปร่างใด ๆ แนวคิดที่แท้จริงของภาพจะไม่เปลี่ยน ตัวอย่างเช่นถ้าฉันหมุนรูปภาพของต้นไม้ที่บอกว่ามันเป็นต้นไม้อีกครั้งไม่ว่าฉันจะทำอย่างไรกับภาพนั้น และฉันเองก็พิจารณาการทำงานทั้งหมดที่สามารถเกิดขึ้นกับภาพและแปลงมันในทาง (ครอบตัด, ปรับขนาด, ปรับระดับสีเทา, ปรับสีและอื่น ๆ ... ) ให้เป็นแบบนี้ ฉันไม่รู้ว่านี่เป็นเรื่องจริงหรือไม่ดังนั้นฉันจะขอบคุณถ้าใครสามารถอธิบายเรื่องนี้ให้ฉันได้translation invariant
translation invariance


คำตอบ:


57

คุณมาถูกทางแล้ว

Invarianceหมายความว่าคุณสามารถรับรู้วัตถุเป็นวัตถุแม้ว่าลักษณะที่ปรากฏจะแตกต่างกันไปในทางใดทางหนึ่ง สิ่งนี้เป็นสิ่งที่ดีเพราะมันรักษาเอกลักษณ์ของวัตถุประเภท (ฯลฯ ) ตลอดการเปลี่ยนแปลงเฉพาะของอินพุตภาพเช่นตำแหน่งสัมพัทธ์ของวิวเวอร์ / กล้องและวัตถุ

ภาพด้านล่างมีหลายมุมมองของรูปปั้นเดียวกัน คุณ (และเครือข่ายประสาทเทียมที่ผ่านการฝึกอบรมมาเป็นอย่างดี) สามารถรับรู้ว่าวัตถุเดียวกันปรากฏในทุกภาพแม้ว่าค่าพิกเซลที่แท้จริงจะแตกต่างกันมาก

ความไม่แปรปรวนหลายชนิดแสดงให้เห็น

โปรดทราบว่าการแปลที่นี่มีความหมายเฉพาะในการมองเห็นยืมมาจากรูปทรงเรขาคณิต ไม่ได้อ้างถึงการแปลงประเภทใด ๆ ซึ่งแตกต่างจากการพูดคำแปลจากฝรั่งเศสเป็นอังกฤษหรือระหว่างรูปแบบไฟล์ แต่หมายความว่าแต่ละจุด / พิกเซลในภาพถูกย้ายในปริมาณที่เท่ากันในทิศทางเดียวกัน อีกวิธีหนึ่งคุณสามารถนึกถึงต้นกำเนิดว่าได้รับการเปลี่ยนจำนวนเท่ากันในทิศทางตรงกันข้าม ตัวอย่างเช่นเราสามารถสร้างภาพที่ 2 และ 3 ในแถวแรกจากภาพแรกโดยเลื่อนแต่ละพิกเซล 50 หรือ 100 พิกเซลไปทางขวา


หนึ่งสามารถแสดงให้เห็นว่าผู้ประกอบการ convutes commutes เกี่ยวกับการแปล หากคุณโน้มน้าวด้วยมันไม่สำคัญว่าคุณจะแปลเอาต์พุตที่ได้รับการแปลหรือถ้าคุณแปลหรือก่อนจากนั้นจึงโน้มน้าวพวกเขา วิกิพีเดียมีมากขึ้นเล็กน้อยfgfgfg

วิธีการหนึ่งในการจดจำวัตถุที่ไม่แปรเปลี่ยนคือการใช้ "เทมเพลต" ของวัตถุและโน้มน้าวกับทุกตำแหน่งที่เป็นไปได้ของวัตถุในภาพ หากคุณได้รับการตอบกลับจำนวนมากในสถานที่หนึ่งแสดงว่าวัตถุที่มีลักษณะคล้ายกับแม่แบบนั้นอยู่ที่ตำแหน่งนั้น วิธีนี้มักจะเรียกว่าแม่แบบจับคู่


Invariance vs. Equivariance

คำตอบของ Santanu_Pattanayak ( ที่นี่ ) ชี้ให้เห็นว่ามีความแตกต่างระหว่างการแปรปรวนของการแปลและการแปลความเท่าเทียมกัน ความไม่แปรเปลี่ยนของการแปลหมายความว่าระบบสร้างการตอบสนองที่เหมือนกันทุกประการโดยไม่คำนึงถึงว่าข้อมูลถูกเปลี่ยนไปอย่างไร ตัวอย่างเช่นเครื่องตรวจจับใบหน้าอาจรายงาน "FACE FOUND" สำหรับภาพทั้งสามในแถวด้านบน Equivariance หมายถึงระบบทำงานได้ดีเท่าเทียมกันทั่วทั้งตำแหน่ง แต่การตอบสนองจะเปลี่ยนไปตามตำแหน่งของเป้าหมาย ตัวอย่างเช่นแผนที่ความร้อนของ "ใบหน้า - iness" จะมีการกระแทกที่คล้ายกันที่ด้านซ้าย, กลาง, และขวาเมื่อมันประมวลผลแถวแรกของภาพ

นี่เป็นบางครั้งความแตกต่างที่สำคัญ แต่หลายคนเรียกปรากฏการณ์ทั้งสองว่า "invariance" โดยเฉพาะอย่างยิ่งเนื่องจากมันเป็นเรื่องไม่สำคัญที่จะแปลงการตอบสนองที่เท่าเทียมกันให้กลายเป็นสิ่งที่ไม่แปรเปลี่ยน - เพียงไม่สนใจข้อมูลตำแหน่งทั้งหมด)


2
ดีใจที่ฉันสามารถช่วย นี่คือหนึ่งในความสนใจการวิจัยที่ยิ่งใหญ่ของฉันดังนั้นหากมีสิ่งใดที่จะเป็นประโยชน์ฉันจะเห็นสิ่งที่ฉันสามารถทำได้
Matt Krause

คุณช่วยอธิบายได้ไหมว่า CNN สามารถแปลความแปรปรวนได้อย่างไร การเปิดใช้งานของเลเยอร์ convolutional ใน CNN ไม่ใช่ค่าคงที่ภายใต้การแปล: พวกมันเคลื่อนที่ไปรอบ ๆ เมื่อภาพเคลื่อนไหวไปมา การเปิดใช้งานเหล่านั้นมักจะถูกป้อนเข้าสู่เลเยอร์รวมกำไรซึ่งก็ไม่คงที่สำหรับการแปล และการรวมกำไรเลเยอร์อาจป้อนเข้าสู่เลเยอร์ที่เชื่อมต่ออย่างสมบูรณ์ น้ำหนักในเลเยอร์ที่เชื่อมต่ออย่างใดอย่างหนึ่งเปลี่ยนการแปรสภาพการเปลี่ยนผ่านเป็นพฤติกรรมการแปรปรวนการแปลหรือไม่?
สูงสุด

@max การรวมกำไรเพิ่มการแปรปรวนของการแปลโดยเฉพาะอย่างยิ่งการรวมกำไรสูงสุด (!) ซึ่งไม่สนใจข้อมูลเชิงพื้นที่ภายในละแวกนั้น ดูบทที่ 9 ของการเรียนรู้ลึกdeeplearningbook.org/contents/convnets.html (เริ่มที่หน้า 335) แนวคิดนี้ได้รับความนิยมในด้านประสาทวิทยา - โมเดลHMAX (เช่นที่นี่: maxlab.neuro.georgetown.edu/docs/publications/nn99.pdf ) ใช้การผสมผสานระหว่างค่าเฉลี่ยและการรวมกำไรสูงสุดเพื่อสร้างการแปล ) ค่าคงที่
Matt Krause

1
โอ้ใช่การรวมกำไรนั้นมีความไม่แปรเปลี่ยนมากกว่าการแปลเล็ก ๆ (ฉันคิดถึงการเลื่อนที่ใหญ่ขึ้น แต่สิ่งที่เกี่ยวกับเครือข่าย convolutional อย่างเต็มที่ ? สิ่งใดที่มีค่าคงที่ (อย่างน้อยประมาณ)
สูงสุด

1
@Fredom นั้นอาจจะดีกว่าสำหรับคำถามใหม่ แต่โดยย่อ - สัญญาณเสียงจะฟังเหมือนเดิมแม้ว่าคุณจะเปลี่ยนไปข้างหน้าในเวลาที่กำหนด (เช่นโดยการเพิ่มความเงียบตอนต้น) อย่างไรก็ตามหากคุณเปลี่ยนในโดเมนความถี่เสียงจะแตกต่างกัน: ไม่เพียง แต่คลื่นความถี่จะเปลี่ยน แต่ความสัมพันธ์ระหว่างความถี่ (เช่นฮาร์โมนิกส์) ก็ผิดเพี้ยนไปเช่นกัน
Matt Krause

4

ฉันคิดว่ามีความสับสนเกี่ยวกับความหมายของความแปรปรวนของการแปล Convolution จัดให้มีความหมายการแปลความหมายที่แตกต่างกันหากวัตถุในภาพอยู่ที่พื้นที่ A และผ่านการทำงานร่วมกันของคุณสมบัติที่ตรวจพบที่เอาท์พุทที่พื้นที่ B จากนั้นคุณสมบัติเดียวกันจะถูกตรวจพบเมื่อวัตถุในภาพถูกแปลเป็น A ' ตำแหน่งของคุณลักษณะเอาต์พุตจะถูกแปลเป็นพื้นที่ใหม่ B 'ตามขนาดเคอร์เนลตัวกรอง สิ่งนี้เรียกว่าความไม่เท่าเทียมกันในการแปลและไม่ใช่ความแปรปรวนของการแปล


2

คำตอบนั้นยากกว่าที่เคยปรากฏในตอนแรก โดยทั่วไปความแปรปรวนของการแปลหมายความว่าคุณจะจำวัตถุที่ไม่มีการเปลี่ยนแปลงของที่ปรากฏบนเฟรม

ในภาพถัดไปในกรอบ A และ B คุณจะรู้จักคำว่า "เครียด" ถ้าสนับสนุนวิสัยทัศน์ของคุณไม่แปรเปลี่ยนแปลของคำ ป้อนคำอธิบายรูปภาพที่นี่

ฉันเน้นคำศัพท์เพราะหากค่าคงที่ของคุณรองรับเฉพาะตัวอักษรดังนั้นเฟรม C จะเท่ากับเฟรม A และ B: มันมีตัวอักษรเหมือนกันทุกประการ

ในแง่การปฏิบัติถ้าคุณฝึกฝน CNN ของคุณในจดหมายแล้วสิ่งต่างๆเช่น MAX POOL จะช่วยให้เกิดการแปรปรวนของการแปลบนตัวอักษร แต่อาจไม่จำเป็นต้องนำไปสู่การแปลความแปรปรวนของคำ การรวมกำไรดึงคุณลักษณะออก (ซึ่งถูกแยกโดยเลเยอร์ที่สอดคล้องกัน) โดยไม่เกี่ยวข้องกับตำแหน่งของคุณสมบัติอื่น ๆ ดังนั้นมันจะสูญเสียความรู้เกี่ยวกับตำแหน่งสัมพัทธ์ของตัวอักษร D และ T และคำที่เครียดและของหวานจะเหมือนกัน

คำนี้อาจมาจากฟิสิกส์ที่สมมาตร ranslationalหมายความว่าสมการยังคงเหมือนเดิมโดยไม่คำนึงถึงการแปลในอวกาศ


1

@Santanu

ในขณะที่คำตอบของคุณถูกต้องในบางส่วนและนำไปสู่ความสับสน มันเป็นความจริงที่ Convolutional เลเยอร์ตัวเองหรือแผนที่คุณลักษณะเอาท์พุทเป็นตัวแปรการแปล สิ่งที่เลเยอร์รวมกำไรสูงสุดทำคือให้ค่าคงที่ของการแปลตามที่ @Matt ชี้ให้เห็น

กล่าวคือความสมดุลในแผนที่คุณลักษณะที่รวมกับฟังก์ชั่นเลเยอร์สูงสุดรวมกันนำไปสู่การแปรปรวนของการแปลในชั้นส่งออก (softmax) ของเครือข่าย ภาพชุดแรกด้านบนจะยังคงสร้างคำทำนายที่เรียกว่า "รูปปั้น" แม้ว่ามันจะถูกแปลไปทางซ้ายหรือขวา ความจริงที่ว่าคำทำนายยังคงเป็น "รูปปั้น" (เช่นเดียวกัน) แม้จะมีการแปลอินพุตหมายความว่าเครือข่ายได้รับค่าคงที่การแปลบางอย่าง


ฉันไม่แน่ใจว่าการรวมกำไรนำไปสู่การแปลที่ไม่แน่นอน
Aksakal

มันค่อนข้างปานกลาง โปรดจำไว้ว่าตัวดำเนินการรวมกำไรสูงสุดใช้ค่าพิกเซลสูงสุดเป็นเอาต์พุตในหน้าต่างที่กำหนด ในทางคณิตศาสตร์จำเป็นต้องมีความไม่แปรเปลี่ยนเนื่องจากตำแหน่งเชิงพื้นที่ของค่าพิกเซลสูงสุดนั้นไม่เกี่ยวข้อง (ภายในระยะเผื่อ)
นาย
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.