เลเยอร์รวมกำไรสูงสุดทั่วโลกคืออะไรและอะไรคือข้อได้เปรียบเหนือเลเยอร์สูงสุด?


55

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

คำตอบ:


69

Global max pooling = เลเยอร์ max pooling สามัญที่มีขนาดพูลเท่ากับขนาดของอินพุต (ลบด้วยขนาดตัวกรอง + 1 เพื่อความแม่นยำ) คุณจะเห็นว่าMaxPooling1Dการpool_lengthโต้แย้งGlobalMaxPooling1Dนั้นไม่เกิดขึ้น

ตัวอย่างเช่นหากอินพุตของเลเยอร์พูลรวมสูงสุดคือโกลบอลพูลรวมสูงสุดเอาต์พุตในขณะที่เลเยอร์พูลพูลแม็กซ์สามัญธรรมดาที่มีขนาดพูลเท่ากับ 3 เอาต์พุต (สมมติว่าก้าวย่าง = 1)0,1,2,2,5,1,252,2,5,5,5

สามารถเห็นได้ในรหัส :

class GlobalMaxPooling1D(_GlobalPooling1D):
    """Global max pooling operation for temporal data.
    # Input shape
        3D tensor with shape: `(samples, steps, features)`.
    # Output shape
        2D tensor with shape: `(samples, features)`.
    """

    def call(self, x, mask=None):
        return K.max(x, axis=1)

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


4
มาที่นี่มองหาค่าเฉลี่ยทั่วโลกร่วมกัน (GAP) แต่จากที่เรียบง่าย แต่มีประสิทธิภาพมากตัวอย่างเช่นคุณฉันคิดว่าฉันสามารถคาดเดาสิ่งที่ไม่ GAP :)
Josh

ขอบคุณสำหรับคำตอบสั้น ๆ นี้ +1 ตัวอย่างเล็ก ๆ ที่คุณให้คือสิ่งที่ทำให้ฉันเข้าใจจริงๆว่า Global Max Pooling กำลังทำอะไรอยู่
rayryeng - Reinstate Monica

13

ตามที่อธิบายในบทความนี้ที่เสนอการรวมกำไรโดยรวมทั่วโลก (GAP):

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

อย่างไรก็ตามเลเยอร์ที่เชื่อมต่ออย่างสมบูรณ์นั้นมีแนวโน้มที่จะเกิด overfitting ซึ่งจะขัดขวางความสามารถในการวางนัยทั่วไปของเครือข่ายโดยรวม การออกกลางคันถูกนำเสนอโดย Hinton et al ในฐานะเครื่องมือปรับสมดุลซึ่งจะสุ่มตั้งครึ่งของการเปิดใช้งานให้กับเลเยอร์ที่เชื่อมต่ออย่างเต็มที่เป็นศูนย์ระหว่างการฝึก มีการปรับปรุงความสามารถในการวางนัยทั่วไปและป้องกันการ overfitting

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

แก้ไข: แนะนำโดย @MaxLawnboy นี่คือกระดาษอื่นในหัวข้อเดียวกัน


อีกบทความเกี่ยวกับ all-CNN models arxiv.org/pdf/1412.6806v3.pdf
Maxim Mikhaylov

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