ขั้นตอนการบิดในเครือข่ายประสาทเทียมทำอะไร


16

ฉันกำลังศึกษาโครงข่ายประสาทเทียม (CNNs) เนื่องจากการใช้งานในคอมพิวเตอร์วิสัยทัศน์ ฉันคุ้นเคยกับเครือข่ายประสาทฟีดมาตรฐานแล้วฉันหวังว่าบางคนที่นี่สามารถช่วยฉันในการทำความเข้าใจกับ CNN นี่คือสิ่งที่ฉันคิดเกี่ยวกับซีเอ็นเอ็น:

  1. ใน feed-foward NNs แบบดั้งเดิมเรามีข้อมูลการฝึกอบรมที่แต่ละองค์ประกอบประกอบด้วยเวกเตอร์ฟีเจอร์ที่เราใส่เข้าไปใน NN ใน "เลเยอร์อินพุต" ดังนั้นด้วยการรับรู้ภาพเราสามารถมีแต่ละพิกเซลเป็นหนึ่งอินพุต นี่คือคุณสมบัติเวกเตอร์ของเรา หรืออีกวิธีหนึ่งเราสามารถสร้างเวกเตอร์คุณลักษณะอื่น ๆ ที่มีขนาดเล็กกว่าด้วยตนเอง
  2. ข้อดีของ CNN คือมันสามารถสร้างเวกเตอร์ฟีเจอร์ที่แข็งแกร่งกว่าซึ่งไม่แปรเปลี่ยนภาพและตำแหน่ง ตามภาพต่อไปนี้แสดงให้เห็นว่า (จากบทช่วยสอนนี้ ) ซีเอ็นเอ็นสร้างแผนที่คุณลักษณะที่ป้อนเข้าสู่เครือข่ายประสาทเทียมมาตรฐาน (จริงๆแล้วมันเป็นขั้นตอนก่อนประมวลผลขนาดใหญ่)

ป้อนคำอธิบายรูปภาพที่นี่

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

แต่สิ่งที่ฉันสับสนเป็นหลักคือวิธีการทำงานของขั้นตอนการโน้มน้าวใจ ฉันคุ้นเคยกับการโน้มน้าวใจจากทฤษฎีความน่าจะเป็น (ความหนาแน่นสำหรับผลรวมของตัวแปรสุ่มสองตัว) แต่พวกเขาทำงานใน CNN ได้อย่างไรและทำไมพวกเขาถึงมีประสิทธิภาพ

คำถามของฉันคล้ายกับคำถามนี้แต่โดยเฉพาะอย่างยิ่งฉันไม่แน่ใจว่าทำไมขั้นตอนการแปลงข้อความแรกจึงใช้งานได้

คำตอบ:


16

ฉันจะพยายามแบ่งปันสัญชาตญาณบางอย่างที่อยู่เบื้องหลังซีเอ็นเอ็นแล้วแสดงความคิดเห็นในหัวข้อเฉพาะที่คุณระบุไว้

ชั้นของการชักตัวอย่างและการสุ่มตัวอย่างในซีเอ็นเอ็นนั้นไม่แตกต่างจากเลเยอร์ที่ซ่อนอยู่ใน MLP ทั่วไปนั่นคือฟังก์ชั่นของพวกเขาคือการดึงคุณสมบัติจากอินพุตของพวกเขา คุณลักษณะเหล่านี้จะถูกมอบให้กับเลเยอร์ที่ซ่อนถัดไปเพื่อแยกคุณลักษณะที่ซับซ้อนมากขึ้นหรือถูกกำหนดให้กับตัวจําแนกมาตรฐานโดยตรงเพื่อส่งออกการทำนายสุดท้าย (โดยปกติคือ Softmax แต่ยังสามารถใช้ SVM หรืออื่น ๆ ได้) ในบริบทของการรับรู้ภาพคุณสมบัติเหล่านี้คือรูปภาพที่ใช้ปฏิบัติเช่นรูปแบบจังหวะในชั้นล่างและส่วนวัตถุในชั้นบน

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

ดังนั้น:

  1. แก้ไข.
  2. ตามที่อธิบายไว้ข้างต้นเลเยอร์ที่ซ่อนอยู่ของ CNN เป็นตัวแยกคุณลักษณะเช่นเดียวกับใน MLP ปกติ ขั้นตอนการสุ่มตัวอย่างแบบสลับและการสุ่มตัวอย่างจะทำในระหว่างการฝึกอบรมและการจัดหมวดหมู่ดังนั้นจึงไม่ได้ดำเนินการ "ก่อน" การประมวลผลจริง ฉันจะไม่เรียกพวกเขาว่า "การประมวลผลล่วงหน้า" เช่นเดียวกับที่เลเยอร์ที่ซ่อนอยู่ของ MLP ไม่ได้ถูกเรียกเช่นนั้น
  3. แก้ไข.

3×35×5

ป้อนคำอธิบายรูปภาพที่นี่

9

ขั้นตอนการสุ่มตัวอย่างและการสุ่มตัวอย่างที่ตามมานั้นมีพื้นฐานมาจากหลักการเดียวกัน แต่คำนวณจากคุณสมบัติที่แยกในเลเยอร์ก่อนหน้าแทนที่จะเป็นพิกเซลดิบของภาพต้นฉบับ


ขอขอบคุณสำหรับการชี้แจง. ฉันจะตรวจสอบการกวดวิชาที่คุณกล่าวถึง
วิทยาศาสตร์คอมพิวเตอร์

กราฟิกตัวอย่างที่ดีจริงๆ ดูผลงานของผู้อ้างอิง: M. Egmont-Petersen, D. de Ridder, H. Handels การประมวลผลภาพด้วยโครงข่ายประสาทเทียม - การตรวจสอบ, การจดจำรูปแบบ, อัตรา 35, No. 10, pp. 2279-2301, 2002
Match Maker EE

สี่ปีต่อมาและตอนนี้ฉันทำงานกับ CNN เกือบทุกวัน โพสต์นี้จาก @Saul Berardo ช่วยฉันได้อย่างถูกต้อง :)
ComputerScientist

1

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


ใช่ฉันคิดว่านั่นเป็นความคิดทั่วไป ฉันไม่ชัดเจนในคำถามเดิมของฉัน แต่ฉันสงสัยว่าทำไมคณิตศาสตร์ถึงทำงานได้เช่นเหตุใดคุณสมบัติการแปลงตัวเองทำให้ชั้นแรกสามารถค้นหาชิ้นส่วนเล็ก ๆ เหล่านั้นได้
วิทยาศาสตร์คอมพิวเตอร์

1
อ่านเพิ่มเติมเกี่ยวกับการกรองและการกรองที่ตรงกัน เมื่อเคอร์เนล convolution ตรงกับสัญญาณมันจะให้ผลตอบแทนสูงสุด
SimpleLikeAnEgg

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