เครือข่ายประสาทสามารถจัดการกับขนาดอินพุตที่แตกต่างกันอย่างไร


42

เท่าที่ฉันจะบอกได้เครือข่ายประสาทมีจำนวนเซลล์ประสาทคงที่ในชั้นข้อมูลเข้า

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

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

ฉันยกตัวอย่าง NLP แต่ปัญหามากมายมีขนาดอินพุตที่คาดเดาไม่ได้ ฉันสนใจวิธีการทั่วไปในการจัดการกับสิ่งนี้

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


คุณสามารถอธิบายสิ่งที่คุณหมายถึงโดยการสุ่มตัวอย่างเป็นขนาดคงที่ได้หรือไม่? การสุ่มตัวอย่างทำได้อย่างไร
Charlie Parker

คำตอบ:


36

ความเป็นไปได้สามอย่างที่เข้ามาในใจ

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

Recurrent NNs (RNN) เป็น NN ที่เป็นธรรมชาติมากในการเลือกถ้าคุณมีข้อความที่มีขนาดต่างกันเป็นอินพุต คุณป้อนคำเป็นword vectors (หรือ embeddings) เพียงคำเดียวและสถานะภายในของ RNN นั้นควรเข้ารหัสความหมายของสตริงทั้งหมดของคำ นี่เป็นหนึ่งในเอกสารก่อนหน้า

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


1
อะไรคือความแตกต่างระหว่างสิ่งที่คุณเรียกว่า "recursive NNs" และ RNNs R ใช้เพื่อเรียกซ้ำ ... นอกจากนี้การอ้างอิงและพอยน์เตอร์เพียงเล็กน้อยก็มีประโยชน์เช่นกัน
Eric Platon

3
R สำหรับกำเริบ กำเริบหมายถึงการเพิ่มอินพุตเชิงเส้นใน NN เดียวกันซ้ำแล้วซ้ำอีก Recursive หมายถึงการป้อนข้อมูลตามโครงสร้างต้นไม้
BlindKungFuMaster

@BlindKungFuMaster 0 การเติมเต็มด้วยมาสก์สำหรับ MLP นั้นดีหรือไม่และไม่ส่งผลกระทบต่อความแม่นยำที่ไม่ถูกต้อง?
DINA TAKLIT

12

คนอื่น ๆ พูดถึงแล้ว:

  • การเติมเต็มศูนย์
  • RNN
  • แบบเรียกซ้ำ NN

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

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

ถ่ายจากหน้า 360 คุณสามารถอ่านเพิ่มเติมเพื่อดูวิธีการอื่น


1
มันเกิดขึ้นกับฉันว่าวิธีการนี้จะใช้งานได้หาก 1) อัตราส่วนภาพ (AR) ของภาพอินพุตทั้งหมดเท่ากัน 2) คุณลดขนาดภาพทั้งหมดเป็น AR ที่กำหนดหรือ 3) คุณใช้ภาพเป็นศูนย์ รับ AR
Matt Wenham

@Salvador Dali สามารถ "0" padding with mask เป็นทางออกที่ดีสำหรับ MLP หรือไม่
DINA TAKLIT

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

7

ใน NLP คุณมีการเรียงลำดับอินพุตโดยธรรมชาติดังนั้น RNN จึงเป็นตัวเลือกที่เป็นธรรมชาติ

สำหรับอินพุตขนาดผันแปรที่ไม่มีการเรียงลำดับเฉพาะระหว่างอินพุตคุณสามารถออกแบบเครือข่ายที่:

  1. ใช้การซ้ำซ้อนของเครือข่ายย่อยเดียวกันสำหรับแต่ละกลุ่มอินพุต (เช่นกับน้ำหนักที่ใช้ร่วมกัน) เครือข่ายย่อยนี้ซ้ำแล้วซ้ำอีกเรียนรู้การเป็นตัวแทนของอินพุต (กลุ่มของ)
  2. ใช้การดำเนินการในการเป็นตัวแทนของอินพุตที่มีความสมมาตรเช่นเดียวกับอินพุต สำหรับข้อมูลที่ไม่แปรผันตามคำสั่งการหาค่าเฉลี่ยการแทนค่าจากเครือข่ายอินพุตเป็นตัวเลือกที่เป็นไปได้
  3. ใช้เครือข่ายเอาท์พุทเพื่อลดฟังก์ชั่นการสูญเสียให้น้อยที่สุดที่เอาต์พุตตามการรวมกันของการเป็นตัวแทนของอินพุต

โครงสร้างมีลักษณะดังนี้:

โครงสร้างเครือข่าย

เครือข่ายที่คล้ายกันถูกใช้เพื่อเรียนรู้ความสัมพันธ์ระหว่างวัตถุ ( arxiv: 1702.05068 )

ตัวอย่างง่ายๆของวิธีการเรียนรู้ความแปรปรวนตัวอย่างของชุดค่าขนาดตัวแปรมีให้ที่นี่ (ข้อจำกัดความรับผิดชอบ: ฉันเป็นผู้เขียนบทความที่เชื่อมโยง)

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