5

में राज्यव्यापी बिडरेक्शनल आरएनएन कैसे काम करते हैं, केरस में Bidirectional आरएनएन के लिए रैपर भी stateful=true का समर्थन करता है। मुझे वास्तव में यह समझ में नहीं आता कि यह कैसे काम करता है:केरास

एक राज्यव्यापी यूनिडायरेक्शनल मॉडल में बैच की स्थिति अगले बैच पर ले जाती है। मुझे लगता है कि यह बिडरेक्शनल मॉडल में आगे की परत के लिए समान काम करता है।

लेकिन पिछड़ा परत कहां से राज्यों को प्राप्त कर रहा है? अगर मैं सब कुछ सही ढंग से समझता हूं तो इसे "अगले" बैच से तकनीकी रूप से प्राप्त करना चाहिए। लेकिन जाहिर है कि "अगला" बैच अभी तक कंप्यूटेट नहीं है, तो यह कैसे काम करता है?

उत्तर

1

एक एक निम्नलिखित तरीके से एक Bidirectional परत के बारे में सोच सकते हैं:

forward = Recurrent(..)(input) 
backward = Recurrent(..., reverse_input=True)(input) 
output = merge([forward, backward], ...) 

तो - जैसा कि आप देख सकते हैं - आप अस्थायी उन्मुखीकरण खो रहे हैं। आप इनपुट और अंत दोनों से इनपुट का विश्लेषण कर रहे हैं। इस मामले में - stateful=True सेटिंग को बिडरेक्शनल शाखा (forwardforward, backward से backward से लिया जाता है) के अनुसार बस पिछले नमूने से इसकी प्रारंभिक स्थिति लेता है।

इससे आपका मॉडल व्याख्या खो देता है - समवर्ती बैचों के नमूने को बैच में विभाजित कॉम्पैक्ट अनुक्रम के रूप में व्याख्या किया जा सकता है।

संबंधित मुद्दे