ความแตกต่างระหว่าง LeakyReLU และ PReLU คืออะไร


42

ฉันคิดว่าทั้ง PReLU และ LeLe ReLU นั้นคือ

f(x)=max(x,αx) with α(0,1)

Keras แต่มีฟังก์ชั่นทั้งในเอกสาร

ReLU ที่รั่วไหล

แหล่งที่มาของ LeakyReLU :

return K.relu(inputs, alpha=self.alpha)

ดังนั้น (ดูรหัส relu )

f1(x)=max(0,x)αmax(0,x)

PReLU

แหล่งที่มาของ PReLU :

def call(self, inputs, mask=None):
    pos = K.relu(inputs)
    if K.backend() == 'theano':
        neg = (K.pattern_broadcast(self.alpha, self.param_broadcast) *
               (inputs - K.abs(inputs)) * 0.5)
    else:
        neg = -self.alpha * K.relu(-inputs)
    return pos + neg

ดังนั้น

f2(x)=max(0,x)αmax(0,x)

คำถาม

ฉันทำอะไรผิดหรือเปล่า? ไม่และเทียบเท่ากับ (สมมติว่า ?)f1f2fα(0,1)

คำตอบ:


50

ส่งตรงจากวิกิพีเดีย :

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

  • LeLil ReLUอนุญาตการไล่ระดับสีขนาดเล็กและไม่เป็นศูนย์เมื่อหน่วยไม่ทำงาน

  • Parametric ReLUนำความคิดนี้ไปใช้โดยทำให้สัมประสิทธิ์การรั่วไหลเป็นพารามิเตอร์ที่เรียนรู้พร้อมกับพารามิเตอร์เครือข่ายประสาทอื่น ๆ


3
อ่าขอบคุณฉันลืมเสมอว่า ReLU ที่รั่วไหลมีเป็น hyperparameter และ Parametric ReLUs มีเป็นพารามิเตอร์ αα
Martin Thoma

1
สำหรับของ Google สิ่ง: ไม่เป็นไร (Btw สำหรับฉันคำถามนี้เป็นผลลัพธ์ที่สามตอนนี้สำหรับ "Leaky ReLU เทียบกับ PReLU")
Martin Thoma

3
@MartinThoma จริง! ไม่มีความผิดเลย! วิธีที่ฉันพบคำตอบนั้นค่อนข้างโง่เช่นกัน ฉันไม่รู้ว่า 'P' ใน PReLU คืออะไรดังนั้นฉันจึงหาคำตอบแล้วลองคิดดูว่า PReLU คืออะไรโดยเพียงพิมพ์ 'Parametric ReLU' ซึ่งพาฉันไปที่หน้าวิกิพีเดีย ฉันได้เรียนรู้บางสิ่งบางอย่างในแต่ละวันเนื่องจากคำถามของคุณ;)
โทมัส W

1
ดี นั่นเป็นวิธีที่ควร :-) ในกรณีนี้ภาพรวมฟังก์ชั่นการเปิดใช้งานเล็ก ๆ ของฉันอาจน่าสนใจสำหรับคุณเช่นกัน บทความนี้เป็น (บางส่วน) เป็นภาษาเยอรมัน แต่ฉันเดาว่าส่วนนั้นไม่ควรสำคัญ
Martin Thoma
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.