โมเดล Google Inception: ทำไมมี softmax หลายอัน?


13

โทโพโลยีของโมเดล Google Inception สามารถพบได้ที่นี่: Google Inception Netowrk

ฉันสังเกตเห็นว่ามีซอฟต์แม็กซ์ 3 เลเยอร์ในรุ่นนี้ (# 154, # 152, # 145) และ 2 ในนั้นเป็นรุ่นแรก ๆ ของรุ่นนี้

จากสิ่งที่ฉันรู้เลเยอร์ softmax เป็นผลลัพธ์สุดท้ายดังนั้นทำไมจึงมีมากมาย จุดประสงค์ของอีก 2 เลเยอร์คืออะไร

คำตอบ:


27

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

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

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

นักพัฒนาของ GoogLeNet จัดการกับปัญหานี้อย่างไร พวกเขารับรู้ถึงความจริงที่ว่ามันไม่เพียง แต่คุณสมบัติของเลเยอร์สุดท้ายที่มีข้อมูลการเลือกปฏิบัติทั้งหมด: คุณลักษณะระดับกลางยังสามารถแยกแยะฉลากที่แตกต่างกันได้ และที่สำคัญที่สุดค่านิยมของพวกเขานั้น“ น่าเชื่อถือ” มากกว่าเนื่องจากถูกดึงออกมาจากเลเยอร์ก่อนหน้านี้ซึ่งการไล่ระดับสีจะมีข้อมูลเพิ่มเติม สร้างจากสัญชาตญาณนี้พวกเขาเพิ่ม "ตัวแยกประเภทเสริม" ในสองชั้นกลาง นี่คือเหตุผลสำหรับเลเยอร์การสูญเสีย "การหลบหนีเริ่มต้น" ที่อยู่ตรงกลางของเครือข่ายที่คุณอ้างถึงในคำถามของคุณ

การสูญเสียทั้งหมดนั้นเป็นการรวมกันของเลเยอร์การสูญเสียทั้งสามนี้ ฉันพูดจากบทความต้นฉบับ:

ตัวแยกประเภทเหล่านี้อยู่ในรูปของเครือข่าย convolutional ขนาดเล็กที่อยู่ด้านบนของเอาต์พุตของโมดูล Inception (4a) และ (4d) ในระหว่างการฝึกอบรมการสูญเสียของพวกเขาจะถูกรวมเข้ากับการสูญเสียทั้งหมดของเครือข่ายพร้อมกับส่วนลดลดน้ำหนัก เมื่อถึงเวลาอนุมานเครือข่ายเสริมเหล่านี้จะถูกทิ้ง

สายตา:

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


1
"... เลเยอร์ก่อนหน้านี้ซึ่งการไล่ระดับสีมีข้อมูลมากกว่า" - ทำไมล่ะ
สูงสุด

2

นอกเหนือจากคำตอบของ @ galoosh33: สำหรับฉันแล้วตัวแยกประเภทเสริมใช้ฉลากเดียวกับตัวแยกประเภทผลลัพธ์สุดท้าย ที่มา: สไลด์ 34 ในhttps://pdfs.semanticscholar.org/0b99/d677883883584d9a328f6f2d54738363997a.pdf

ก่อนหน้านี้ฉันสงสัยว่าตัวแยกประเภทเสริมเหล่านี้ใช้ฉลากประเภทอื่น (เช่นสุนัขธรรมดาแทนที่จะเป็นไซบีเรียนฮัสกี้)

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