อะไรคือเลเยอร์ Convolutional 1D ในการเรียนรู้เชิงลึก?


13

ฉันมีความเข้าใจโดยทั่วไปเกี่ยวกับบทบาทและกลไกของเลเยอร์ convolutional ใน Deep Learning สำหรับการประมวลผลภาพในกรณีที่มีการใช้งาน 2D หรือ 3D พวกเขา "เพียงแค่" พยายามจับรูปแบบ 2D ในภาพ (ใน 3 ช่องในกรณี 3D)

แต่เมื่อเร็ว ๆ นี้ฉันชนกับชั้น 1D ในบริบทของการประมวลผลภาษาธรรมชาติซึ่งเป็นเรื่องที่แปลกใจสำหรับฉันเพราะในการทำความเข้าใจของฉันการบิด 2D ถูกนำมาใช้เป็นพิเศษในการจับรูปแบบ 2D ที่เป็นไปไม่ได้ ของพิกเซลภาพ อะไรคือตรรกะที่อยู่เบื้องหลัง 1D convolution?

คำตอบ:


16

ในระยะสั้นไม่มีอะไรพิเศษเกี่ยวกับจำนวนมิติสำหรับการโน้มน้าวใจ มิติใด ๆ ของการโน้มน้าวใจอาจได้รับการพิจารณาหากเหมาะสมกับปัญหา

จำนวนมิติเป็นคุณสมบัติของปัญหาที่กำลังแก้ไข ตัวอย่างเช่น 1D สำหรับสัญญาณเสียง 2D สำหรับภาพ 3D สำหรับภาพยนตร์ . .

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

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

  2. น้ำหนักที่ใช้ร่วมกันเป็นรูปแบบหนึ่งของการทำให้เป็นมาตรฐาน

  3. โครงสร้างของรูปแบบการสนทนาทำให้สมมติฐานที่แข็งแกร่งเกี่ยวกับความสัมพันธ์ท้องถิ่นในข้อมูลซึ่งเมื่อจริงทำให้มันเหมาะกับปัญหา

    3.1 รูปแบบท้องถิ่นให้ข้อมูลการทำนายที่ดี (และ / หรือสามารถนำมารวมกันเป็นประโยชน์ในรูปแบบการทำนายที่ซับซ้อนมากขึ้นในชั้นที่สูงขึ้น)

    3.2 ประเภทของรูปแบบที่พบในข้อมูลสามารถพบได้ในหลายที่ การค้นหารูปแบบเดียวกันในจุดข้อมูลชุดอื่นนั้นมีความหมาย

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


2D สำหรับภาพระดับสีเทาเท่านั้นหรือไม่ จะเกิดอะไรขึ้นเมื่อคุณแนะนำ RGB
Mohammad Athar

1
@MohammadAthar: RGB แสดงเป็นช่องสัญญาณ (หรือแผนที่คุณลักษณะ ) ของข้อมูล 2D แยกต่างหากและมักจะพิจารณาเป็น 2 มิติเมื่ออธิบายเลเยอร์ CNN หากคุณใช้ TensorFlow หรือ Keras คุณจะต้องใช้คำนิยามเลเยอร์ Conv2D เพื่อจัดการภาพสี อย่างไรก็ตามการใช้งานมักจะมีโครงสร้าง 3 มิติและ 4 มิติภายในเพื่อจัดเก็บน้ำหนัก . . และการบิด 2 มิติข้ามหลายช่องสัญญาณเป็นกรณีพิเศษของการบิด 3D ทางคณิตศาสตร์ (ที่อินพุตและเคอร์เนลมิติต้องตรงกันสำหรับเลเยอร์สุดท้าย) ดังนั้นนี่เป็นแบบแผนการตั้งชื่อให้มากที่สุด
Neil Slater
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.