`ঘন` এবং `কেরাসের` টাইমডিস্ট্রিবিউটডেন্সি` এর মধ্যে পার্থক্য `


34

আমি এখনও মধ্যে পার্থক্য সম্পর্কে বিভ্রান্ত করছি Denseএবং TimeDistributedDenseএর Kerasযদিও ইতিমধ্যে কিছু অনুরূপ প্রশ্ন জিজ্ঞাসা আছে এখানে এবং এখানে । লোকেরা প্রচুর আলোচনা করছে তবে সাধারণ-সম্মত কোন সিদ্ধান্ত নেই।

এবং যদিও, এখানে , @ fchollet বলেছেন যে:

TimeDistributedDenseDense3 ডি টেন্সরের প্রতিটি টাইমস্টেপে একই (সম্পূর্ণরূপে সংযুক্ত) অপারেশন প্রয়োগ করে।

তাদের মধ্যে ঠিক কী পার্থক্য রয়েছে সে সম্পর্কে আমার এখনও বিশদ চিত্রণ প্রয়োজন।

উত্তর:


41

ধরা যাক আপনার কাছে সারি এবং 700 কলামগুলির সাথে টাইম-সিরিজ ডেটা রয়েছে যা আপনি কেরাসের একটি স্তরকে খাওয়াতে চান । আপনি আরএনএনকে এটি খাওয়ানোর আগে আপনার পূর্ববর্তী ডেটাটি একটি 3D টেনসারে পুনরায় আকার দেওয়া দরকার। সুতরাং এটি একটি এন × 700 × 1 হয়ে যায় ।এন700SimpleRNN(200, return_sequence=True)এন×700×1

নিবন্ধিত আরএনএন

চিত্রটি https://colah.github.io/posts/2015-08- থেকে ব্যাখ্যা নেওয়া হয়েছে- LSTMs

আরএনএন-এ, আপনার কলামগুলি ("700 কলাম") আরএনএন-এর টাইমস্টেপ। আপনার ডেটা থেকে প্রক্রিয়া করা হয় । আরএনএনকে ডেটা খাওয়ানোর পরে, এখন এটির 700 আউটপুট রয়েছে যা এইচ 1 থেকে এইচ 700 , এইচ 1 থেকে এইচ 200 নয়টি=1 টি 70017001200 । মনে রাখবেন যে এখন আপনার ডেটার আকারটি যা নমুনা (সারি) এক্স টাইমস্টেপস (কলাম) এক্স চ্যানেলএন×700×200

এবং তারপর, যখন আপনি একটি আবেদন TimeDistributedDense, আপনি একটি আবেদন করছি Denseস্তর প্রতিটি timestep উপর, যার মানে আপনি একটি আবেদন করছি Denseপ্রতিটি স্তর , এইচ 2 , ..., টি যথাক্রমে। যার অর্থ: আসলে আপনি এর প্রতিটি চ্যানেলে সম্পূর্ণরূপে সংযুক্ত অপারেশন প্রয়োগ করছেন ("200" এক) যথাক্রমে, h 1 থেকে h 700 পর্যন্ত1 ম " 1 × 1 × 200 "12টি17001×1×200 " 700th "পর্যন্ত "।1×1×200

কেন আমরা এই করছেন? কারণ আপনি আরএনএন আউটপুট সমতল করতে চান না।

আরএনএন আউটপুট সমতল করা হচ্ছে না কেন? কারণ আপনি প্রতিটি টাইমস্টেপ মান পৃথক রাখতে চান।

কেন প্রতিটি টাইমস্টেপ মান পৃথক রাখা? কারণ:

  • আপনি কেবল মানগুলি তার নিজস্ব টাইমস্টেপের মধ্যে ইন্টারেক্ট করতে চান
  • আপনি বিভিন্ন টাইমস্টেপ এবং চ্যানেলগুলির মধ্যে এলোমেলো ইন্টারঅ্যাকশন করতে চান না।

এবং তারপরে, আপনি যখন টাইমডিস্ট্রিবিউটডেন্স প্রয়োগ করেন, আপনি প্রতিটি টাইমস্টেপে একটি ঘন স্তর প্রয়োগ করছেন -> এর অর্থ প্রতিটি টাইমস্টেপটি ঘন স্তরের ওজন ভাগ করে নেবে? ঘন স্তরটি দিয়ে এটি কেবল শেষ টাইমস্টেপটিতে প্রয়োগ হয় না?
o0omycomputero0o

2
Blog.keras.io/… এ কেরাস উদাহরণে টাইমডিসট্রিবিউটডেন্স ব্যবহার করা হয় না কেন ?
ব্যবহারকারী 1934212

কারণ টাইমডিস্ট্রিবিউটডেন্স ইতিমধ্যে অবচয় করা হয়েছে। কেরাস ২.০ থেকে, ঘন> দ্বি-মাত্রিক টেনসর ভালভাবে পরিচালনা করতে পারে
রিয়েল্ট করুন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.