RNN vs CNN ในระดับสูง


53

ฉันกำลังคิดเกี่ยวกับ Recurring Neural Networks (RNN) และความหลากหลายของพวกเขาและ Convolutional Neural Networks (CNN) และพันธุ์ของพวกเขา

สองประเด็นนี้จะยุติธรรมหรือไม่ที่จะพูดว่า:

  • ใช้ CNN เพื่อแยกส่วนประกอบ (เช่นรูปภาพ) ออกเป็นคอมโพเนนต์ย่อย (เช่นวัตถุในภาพเช่นโครงร่างของวัตถุในภาพ ฯลฯ )
  • ใช้ RNN เพื่อสร้างการรวมกันของคอมโพเนนต์ย่อย (คำบรรยายภาพ, การสร้างข้อความ, การแปลภาษา ฯลฯ )

ฉันจะขอบคุณถ้าใครต้องการชี้ให้เห็นความไม่ถูกต้องใด ๆ ในงบเหล่านี้ เป้าหมายของฉันที่นี่คือการได้รับรากฐานที่ชัดเจนยิ่งขึ้นเกี่ยวกับการใช้ CNN และ RNNs

คำตอบ:


42

ซีเอ็นเอ็นจะเรียนรู้ที่จะจดจำรูปแบบข้ามอวกาศ ดังนั้นตามที่คุณพูดซีเอ็นเอ็นจะเรียนรู้ที่จะรู้จักองค์ประกอบของรูปภาพ (เช่นเส้นโค้งและอื่น ๆ ) จากนั้นเรียนรู้ที่จะรวมส่วนประกอบเหล่านี้เพื่อรับรู้โครงสร้างที่มีขนาดใหญ่ขึ้น (เช่นใบหน้าวัตถุ ฯลฯ )

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

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

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


3
คุณสามารถรับปรีชาญาณที่ดีสำหรับความแตกต่างของโมเดลRNNจากkarpathy.github.io/assets/rnn/diags.jpeg - กราฟิกที่คัดลอกมามากมาย ซีเอ็นเอ็นนั้นมาพร้อมกับ MLPs และโมเดลที่ไม่ใช่แบบเรียกซ้ำอื่น ๆ เช่นเดียวกับที่ใช้โมเดลตัวต่อตัวเท่านั้น
Neil Slater

@ NeilSlater ฉันรู้ดีว่าบทความต้นฉบับของภาพนี้ แต่ไม่สามารถแยกสิ่งที่มีประโยชน์ออกมาได้ กรุณาช่วยอธิบายสิ่งที่คุณเรียนรู้จากภาพได้ไหม
สวัสดีแองเจิล

2
@ Hi-Angel: ภาพแสดงให้เห็นถึงความสัมพันธ์ที่เป็นไปได้ระหว่างลำดับและเอนทิตีเดียวที่สามารถถูกแมปโดยแบบจำลอง หากคุณเข้าใจการเรียงสับเปลี่ยนเป็นอย่างดีแล้วคุณอาจไม่ได้อะไรจากมันเลย เหตุผลที่รูปภาพปรากฏในบทความนี้คือมันแสดงให้เห็นถึงความยืดหยุ่นสัมพัทธ์ของ RNNs: RNN สามารถนำไปใช้กับปัญหาทุกประเภทที่แสดง (เช่นสามารถใช้ในปัญหาการแปลภาษาซึ่งตรงกับรายการที่ 4) ในขณะที่ เครือข่าย feed-forward จะใช้กับปัญหาที่ตรงกับภาพแรกเท่านั้น
Neil Slater


23

ความแตกต่างระหว่าง CNN และ RNN มีดังนี้:

ซีเอ็นเอ็น:

  1. CNN รับอินพุตที่มีขนาดคงที่และสร้างเอาต์พุตที่มีขนาดคงที่

  2. ซีเอ็นเอ็นเป็นประเภทของเครือข่ายประสาทเทียมแบบส่งต่อ - เป็นรูปแบบของ perceptrons หลายชั้นซึ่งออกแบบมาเพื่อใช้ในการประมวลผลล่วงหน้าจำนวนน้อยที่สุด

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

  4. CNN เหมาะอย่างยิ่งสำหรับการประมวลผลภาพและวิดีโอ

RNN:

  1. RNN สามารถจัดการกับความยาวอินพุต / เอาต์พุตโดยพลการ

  2. RNN ซึ่งแตกต่างจากเครือข่ายประสาท feedforward สามารถใช้หน่วยความจำภายในเพื่อประมวลผลลำดับของอินพุตโดยพลการ

  3. เครือข่ายประสาทที่เกิดขึ้นอีกใช้ข้อมูลอนุกรมเวลา (เช่นสิ่งที่ฉันพูดล่าสุดจะส่งผลต่อสิ่งที่ฉันจะพูดต่อไป)

  4. RNN เหมาะสำหรับการวิเคราะห์ข้อความและคำพูด



ซีเอ็นเอ็นที่ไม่มีเลเยอร์หนาแน่นสามารถรับอินพุตขนาดใดก็ได้
Mikael Rousson

1

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

โดยทั่วไปแล้วซีเอ็นเอ็นมีแนวโน้มที่จะดึงฟีเจอร์ในท้องถิ่นและตำแหน่งคงที่ (ไม่ขึ้นอยู่กับตำแหน่งของพวกเขา) และ RNN มีแนวโน้มที่จะพบรูปแบบ diffenret ตลอดเวลาแม้ว่าพวกเขาจะอยู่ห่างไกล

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

ดังนั้นเมื่อผลลัพธ์ถูกกำหนดโดยทั้งประโยคหรือการพึ่งพาความหมายในระยะยาวซีเอ็นเอ็นไม่มีประสิทธิภาพดังที่แสดงในบทความนี้ซึ่งผู้เขียนเปรียบเทียบทั้งสองเทคนิคบน taks NLP

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