LeakyReLU और PReLU में क्या अंतर है?


42

मुझे लगा कि दोनों, PRLLU और Leaky ReLU

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

हालाँकि, केरस के पास डॉक्स में दोनों कार्य हैं ।

लीक से हटकर

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)

सवाल

क्या मुझे कुछ गड़बड़ लगी? नहीं कर रहे हैं f1 और f2 के बराबर f (यह मानते हुए α(0,1) ?)

जवाबों:


50

विकिपीडिया से सीधे :

यहाँ छवि विवरण दर्ज करें

  • जब इकाई सक्रिय नहीं होती है तो लीक रे एलयू एक छोटे, गैर-शून्य ढाल की अनुमति देता है।

  • पैरामीट्रिक ReLU इस विचार को एक पैरामीटर में रिसाव के गुणांक बनाकर आगे ले जाता है जो अन्य तंत्रिका नेटवर्क मापदंडों के साथ सीखा जाता है।


3
आह, धन्यवाद, मैं हमेशा भूल जाते हैं कि लीकी ReLUs है एक hyperparameter और पैरामीट्रिक ReLUs किया है एक पैरामीटर के रूप। αα
मार्टिन थोमा

1
Google- के लिए: यह ठीक है । (Btw, मेरे लिए यह प्रश्न "लीके रेएलयू बनाम PRELU" के लिए अब तीसरा परिणाम है)
मार्टिन थोमा

3
@MartinThoma सच! उसके लिए कोई अपराध नहीं! जिस तरह से मुझे जवाब मिला वह बहुत बेवकूफ था; मुझे नहीं पता था कि PReLU में 'P ’क्या था, इसलिए मैंने यह पता लगाया और फिर यह पता लगाने की कोशिश की कि PReLU केवल' Parametric ReLU’ टाइप करके क्या था, जो मुझे विकिपीडिया पृष्ठ पर मिला। मैंने आपके प्रश्न के कारण कुछ दिन सीखा;)
थॉमस डब्ल्यू

1
अच्छा लगा। Thats यह कैसे होना चाहिए :-) इस मामले में मेरा थोड़ा सक्रियण फ़ंक्शन अवलोकन आपके लिए भी दिलचस्प हो सकता है। लेख जर्मन में (आंशिक रूप से) है, लेकिन मुझे लगता है कि उस हिस्से के लिए यह मायने नहीं रखना चाहिए
मार्टिन थोमा
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.