10

मैं समझने की कोशिश कर रहा हूं कि केरास में टाइम डिस्ट्रिब्यूटेड रैपर क्या करता है।केरास में टाइमडिस्ट्रिब्यूटेड परत की भूमिका क्या है?

मुझे लगता है कि टाइम डिस्ट्रिब्यूटेड "इनपुट के प्रत्येक अस्थायी टुकड़े पर एक परत लागू करता है।"

लेकिन मैंने कुछ प्रयोग किया और परिणाम प्राप्त हुए जिन्हें मैं समझ नहीं पाया।

संक्षेप में, एलएसटीएम परत के संबंध में, टाइम डिस्ट्रिब्यूटेड और केवल घने परत समान परिणाम सहन करते हैं।

model = Sequential() 
model.add(LSTM(5, input_shape = (10, 20), return_sequences = True)) 
model.add(TimeDistributed(Dense(1))) 
print(model.output_shape) 

model = Sequential() 
model.add(LSTM(5, input_shape = (10, 20), return_sequences = True)) 
model.add((Dense(1))) 
print(model.output_shape) 

दोनों मॉडलों के लिए, मैं के उत्पादन में आकार (कोई नहीं, 10, 1) मिला है।

कोई भी आरएनएन परत के बाद टाइमडिस्ट्रिब्यूटेड और घने परत के बीच अंतर को समझा सकता है?

+0

वर्तमान में कोई अंतर नहीं है, [यहां] (https://github.com/fchollet/keras/issues/278) इसके बारे में एक चर्चा। मुझे लगता है कि मूल उद्देश्य इनपुट को फ़्लैटन करने के लिए 'घने' परत के बीच एक अंतर बनाना था और फिर फिर से बदलना, इसलिए अलग-अलग समय चरणों को जोड़ने और अधिक पैरामीटर होने और समय-समय पर अलग-अलग चरणों को अलग करने के लिए 'टाइम डिस्ट्रिब्यूटेड' (इसलिए कम पैरामीटर)। आपके मामले में 'घने' में 500 पैरामीटर होना चाहिए था, 'टाइम डिस्ट्रिब्यूटेड' केवल 50 – gionni

+0

@ गियोनी नोप, इसमें पैरामीटर की संख्या (दोनों 6) होनी चाहिए। तो वास्तव में कोई अंतर नहीं है? –

+0

हाँ, बिल्कुल, वे अंतर होने पर पैरामीटर की संख्या हैं। फिलहाल – gionni

उत्तर

7

keras में - अनुक्रमिक मॉडल का निर्माण करते समय - आमतौर पर दूसरा आयाम (नमूना आयाम के बाद एक) - time आयाम से संबंधित है। इसका मतलब यह है कि यदि उदाहरण के लिए, अपने डेटा (sample, time, width, length, channel) साथ 5-dim है आप एक convolutional परत का उपयोग लागू हो सकते हैं TimeDistributed आदेश 5-d उत्पादन प्राप्त करने के लिए एक समय आयाम (हर बार टुकड़ा करने के लिए एक ही परत को लागू करने) के साथ (जो (sample, width, length, channel) साथ 4-dim के लिए लागू है) ।

Dense के साथ मामला है कि में keras संस्करण 2.0 Dense से डिफ़ॉल्ट रूप से है केवल पिछले आयाम के लिए आवेदन किया है (उदाहरण के लिए आप आकार (n, m, o, p) आप आकार (n, m, o, 10) साथ उत्पादन मिलेगा साथ इनपुट करने के लिए Dense(10) लागू हो) अपने मामले में तो Dense और TimeDistributed(Dense) समकक्ष हैं।

+1

नहीं है यदि आपको कोई फर्क नहीं पड़ता है तो मैं एक उत्थान की सराहना करता हूं। –

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