2017-02-22 22 views
10

मैं official documentation से गुजर चुका हूं लेकिन अभी भी यह समझ में नहीं आता कि TimeDistributed वास्तव में केरा मॉडल में एक परत के रूप में क्या करता है?टाइमडिस्ट्रिब्यूटेड बनाम टाइमडिस्ट्रिब्यूटेड डेंस केरास

मैं TimeDistributed और TimeDistributedDense के बीच अंतर को समझ नहीं पाया? TimeDistributedDense का उपयोग कब करेगा? क्या यह केवल प्रशिक्षण डेटा सेट को कम करने के लिए है? क्या इसका अन्य लाभ है?

क्या कोई सटीक उदाहरण के साथ समझा सकता है कि इन दो प्रकार के परत रैपर क्या करते हैं?

उत्तर

15

तो मूल रूप से TimeDistributedDense को Dense अनुक्रमों के लिए चरणबद्ध दिशा लागू करने के क्रम में केरास के शुरुआती संस्करणों में पहली बार पेश किया गया था। TimeDistributed एक केरास रैपर है जो किसी भी स्थैतिक (गैर-अनुक्रमिक) परत को प्राप्त करना संभव बनाता है और इसे अनुक्रमिक तरीके से लागू करता है। तो अगर उदा। आपकी परत इनपुट के रूप में स्वीकार करती है (d1, .., dn)TimeDistributed रैपर के लिए धन्यवाद X[0,:,:,..,:], X[1,:,...,:], ..., X[len_of_sequence,:,...,:] पर प्रदान की गई परत को लागू करके आपकी परत (sequence_len, d1, ..., dn) के आकार के साथ इनपुट स्वीकार कर सकती है।

ऐसे उपयोग का एक उदाहरण उदाहरण का उपयोग कर सकता है TimeDistributed(conv_layer) लागू करके conv_layer लागू करके एक छोटी वीडियो क्लिप पर प्रक्षेपित संकल्पक परत को क्लिप के प्रत्येक फ्रेम पर लागू किया जाता है। यह आउटपुट के अनुक्रम का उत्पादन करता है जिसे बाद में आवर्ती या TimeDistributed परत द्वारा खपत किया जा सकता है।

यह जानना अच्छा है कि TimeDistributedDense का उपयोग कम किया गया है और TimeDistributed(Dense) का उपयोग करना बेहतर है।

0

TimeDistributedDenseTimeDistributed से एक ही अंतर के साथ TimeDistributed का उपयोग केवल भिन्न अंतर के साथ किया जा सकता है न कि केवल घने परत के साथ।

Keras प्रलेखन का कहना है के बारे में है कि TimeDistributed:।

"ध्यान दें कि इस सख्ती से layers.core.TimeDistributedDense का उपयोग कर के बराबर है लेकिन क्या अलग है के बारे में TimeDistributed है कि यह एक Convolution2D साथ, मनमाना परतों ही नहीं, घने साथ इस्तेमाल किया जा सकता उदाहरण के लिए है परत "

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