Capsule Neural Networks - ชุดของชั้นประสาทที่ซ้อนกัน



Capsule Networks - บล็อกนี้พูดถึงข้อ จำกัด ของ Convolutional Neural Networks และวิธีที่ Capsule Neural Networks แก้ไขข้อ จำกัด เหล่านั้น

เครือข่ายแคปซูล:

Capsule Networks คืออะไร? โดยพื้นฐานแล้วเป็นเครือข่ายของชั้นประสาทที่ซ้อนกัน

ฉันอยากจะแนะนำให้คุณอ่านบล็อกด้านล่างนี้ด้วย:





ฉันสมมติว่าพวกคุณรู้จัก Convolutional Neural Networks (CNN) ที่นี่ฉันจะแนะนำคุณเล็กน้อยในเรื่องเดียวกันเพื่อที่ฉันจะได้พูดคุยถึงข้อ จำกัด ของ CNN

คุณยังสามารถดูวิดีโอด้านล่างเกี่ยวกับ Convolutional Neural Network



Convolutional Neural Networks (CNN)

Convolutional Neural Networks นั้นโดยทั่วไปแล้วจะมีชั้นเซลล์ประสาทเทียมหลายชั้นซึ่งใช้สำหรับการมองเห็นของคอมพิวเตอร์ ด้านล่างฉันได้กล่าวถึงเลเยอร์เหล่านี้:

Convolutional Neural Network - Capsule Neural Network - Edureka

ชั้น Convolutional: เมื่อเราใช้ Feedforward Neural Networks (Multi Layer Perceptron) ในการจำแนกภาพมีความท้าทายมากมาย ความท้าทายที่น่าผิดหวังที่สุดคือการแนะนำพารามิเตอร์จำนวนมากให้พิจารณาวิดีโอสอนเกี่ยวกับ CNN



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

ReLU เลเยอร์: ฟังก์ชันการแปลงหน่วยเชิงเส้นตรง (ReLU) จะเปิดใช้งานโหนดหากอินพุตอยู่เหนือปริมาณที่กำหนดในขณะที่อินพุตอยู่ต่ำกว่าศูนย์เอาต์พุตจะเป็นศูนย์ แต่เมื่ออินพุตสูงกว่าเกณฑ์ที่กำหนดจะมีความสัมพันธ์เชิงเส้นกับ ตัวแปรตาม

  • ในเลเยอร์นี้เราจะลบค่าลบทั้งหมดออกจากรูปภาพที่กรองแล้วและแทนที่ด้วยค่าศูนย์
  • สิ่งนี้ทำเพื่อหลีกเลี่ยงไม่ให้ค่ารวมกันเป็นศูนย์

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

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

ด้วยวิธีนี้ ConvNets จะเปลี่ยนเลเยอร์รูปภาพต้นฉบับทีละชั้นจากค่าพิกเซลดั้งเดิมเป็นคะแนนสุดท้ายของคลาส

นี่เป็นคำแนะนำสั้น ๆ เกี่ยวกับ Convolutional Neural Networks ฉันยังคงแนะนำให้คุณดูวิดีโอ CNN ที่ฉันฝังไว้ในโพสต์นี้

ในบล็อก Capsule Networks ตอนนี้ฉันจะพูดถึงข้อ จำกัด บางประการของ Convolutional Neural Networks

ข้อ จำกัด ของ Convolutional Neural Networks:

ขอฉันอธิบายเรื่องนี้ด้วยการเปรียบเทียบ

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

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

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

ข้อ จำกัด นี้เป็นเพราะเลเยอร์ Max Pooling

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

ดังนั้นภาพใบหน้าที่แสดงด้านบนจะถูกจัดว่าเป็นใบหน้าปกติ เลเยอร์การรวมยังเพิ่มความไม่แปรเปลี่ยนประเภทนี้

นี่ไม่ใช่ความตั้งใจของเลเยอร์การรวมกัน สิ่งที่ควรทำร่วมกันคือการแนะนำตำแหน่งทิศทางตะวันออกและแปรผันตามสัดส่วน

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

มาดูวิธีแก้ปัญหาที่เสนอโดย จอฟฟรีย์ฮินตัน .

จะแก้ปัญหานี้ได้อย่างไร?

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

ในกระดาษที่ออกโดย จอฟฟรีย์ฮินตัน เซลล์ประสาทประเภทนี้เรียกว่าแคปซูล แคปซูลเหล่านี้แสดงผลเวกเตอร์แทนที่จะเป็นค่าสเกลเลอร์เดียว

เป็นระดับสูงกว่าปริญญาตรีและปริญญาโทเหมือนกัน

ผมขอเปิดไฟให้กับ Capsule Networks บ้าง

Capsule Networks คืออะไร?

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

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

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

เราสามารถพูดได้ว่ามันใช้งานได้กับความเท่าเทียมกันไม่ใช่ความคงที่

ความไม่แน่นอน: คือการตรวจจับคุณสมบัติโดยไม่คำนึงถึงรูปแบบต่างๆ ตัวอย่างเช่นเซลล์ประสาทตรวจจับจมูกจะตรวจจับจมูกโดยไม่คำนึงถึงทิศทาง

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

แคปซูลส่งออกเวกเตอร์เพื่อแสดงถึงการมีอยู่ของเอนทิตี การวางแนวของเวกเตอร์แสดงถึงคุณสมบัติของเอนทิตี

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

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

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

ให้ฉันบอกคุณตอนนี้ว่า Capsule Networks ทำงานอย่างไร

Capsule Networks ทำงานอย่างไร

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

ตอนนี้เรามาดูกันว่าจะเกิดอะไรขึ้นใน Capsule Networks

เครือข่ายประสาทแคปซูล:

ให้เราพิจารณา Capsule Neural Network ที่ 'uผม'คือเวกเตอร์กิจกรรมของแคปซูล'ผม'ในเลเยอร์ด้านล่าง.

ขั้นตอน - 1: ใช้เมทริกซ์การเปลี่ยนแปลงในijไปยังเอาต์พุตแคปซูล uผม ของเลเยอร์ก่อนหน้า ตัวอย่างเช่นด้วยเมทริกซ์ m × k เราแปลง k-Dยูผม ถึง m-Dคุณ ^ญ | i. ((ม×ก) × (k × 1) = ม× 1)

มันคือการทำนาย ( โหวต ) จากแคปซูล 'i' ที่เอาต์พุตของแคปซูล 'j' ด้านบน ‘v'คือเวกเตอร์กิจกรรมของแคปซูล'ญ ’ในเลเยอร์ด้านบน

ขั้นตอน - 2: คำนวณผลรวมถ่วงน้ำหนัก sด้วยน้ำหนักij.ijคือค่าสัมประสิทธิ์การมีเพศสัมพันธ์ ผลรวมของสัมประสิทธิ์เหล่านี้เท่ากับหนึ่ง เป็นพารามิเตอร์จริงที่ทำงานกับความสัมพันธ์ของกลุ่มแคปซูลที่เราพูดถึงก่อนหน้านี้

ขั้นตอน - 3: ใน Convolutional Neural Networks เราใช้ฟังก์ชัน ReLU ในที่นี้เราจะใช้ฟังก์ชัน squashing เพื่อปรับขนาดเวกเตอร์ระหว่าง 0 และความยาวหน่วย มันจะย่อเวกเตอร์ขนาดเล็กเป็นศูนย์และเวกเตอร์ยาวเป็นเวกเตอร์หน่วย ดังนั้นความเป็นไปได้ของแต่ละแคปซูลจึงมีขอบเขตระหว่างศูนย์ถึงหนึ่ง

มันคือการทำนาย ( โหวต ) จากแคปซูล 'i' ที่เอาต์พุตของแคปซูล 'j' ด้านบน หากเวกเตอร์กิจกรรมมีความคล้ายคลึงกันอย่างใกล้ชิดกับเวกเตอร์การทำนายเราจะสรุปได้ว่าแคปซูล ‘ผม'มีความเกี่ยวข้องอย่างมากกับแคปซูล ‘ญ ’. (ตัวอย่างเช่นแคปซูลจมูกมีความสัมพันธ์อย่างมากกับแคปซูลใบหน้า) ความคล้ายคลึงกันดังกล่าววัดโดยใช้ผลคูณสเกลาร์ของเวกเตอร์การทำนายและกิจกรรม ดังนั้นความคล้ายคลึงกันจึงคำนึงถึงทั้งความคล้ายคลึงและคุณสมบัติของคุณลักษณะ (แทนที่จะเป็นเพียงความเหมือนในเซลล์ประสาท)

ขั้นตอนที่ 4: คำนวณคะแนนความเกี่ยวข้อง 'bij‘. มันจะเป็นผลิตภัณฑ์ดอทของเวกเตอร์กิจกรรมและเวกเตอร์การทำนาย ค่าสัมประสิทธิ์การมีเพศสัมพันธ์ผมคำนวณเป็นค่า softmax ของผม:

ค่าสัมประสิทธิ์การมีเพศสัมพันธ์ cijคำนวณเป็นค่า softmax ของ bij.

ข. นี้ijมีการอัปเดตซ้ำ ๆ ในการทำซ้ำหลายครั้ง.

นี้เรียกว่าเป็น การกำหนดเส้นทางตามข้อตกลง .

แผนภาพด้านล่างเป็นตัวอย่างหนึ่ง:

หลังจากบล็อกนี้ใน Capsule Networks ฉันจะมาพร้อมกับบล็อกเกี่ยวกับการใช้งาน Capsule Neural Network โดยใช้ TensorFlow

ฉันหวังว่าคุณจะสนุกกับการอ่านบล็อกนี้เกี่ยวกับเครือข่ายแคปซูลโปรดดูไฟล์ โดย Edureka บริษัท การเรียนรู้ออนไลน์ที่เชื่อถือได้ซึ่งมีเครือข่ายผู้เรียนที่พึงพอใจมากกว่า 250,000 คนกระจายอยู่ทั่วโลก หลักสูตรการฝึกอบรม Edureka Deep Learning พร้อมใบรับรอง TensorFlow ช่วยให้ผู้เรียนมีความเชี่ยวชาญในการฝึกอบรมและเพิ่มประสิทธิภาพเครือข่ายประสาทขั้นพื้นฐานและ Convolutional โดยใช้โครงการและงานแบบเรียลไทม์พร้อมกับแนวคิดต่างๆเช่นฟังก์ชัน SoftMax, เครือข่ายประสาทอัตโนมัติเข้ารหัสอัตโนมัติ, เครื่อง Boltzmann ที่ จำกัด (RBM)

มีคำถามสำหรับเรา? โปรดระบุไว้ในส่วนความคิดเห็นแล้วเราจะติดต่อกลับไป