গভীর শিক্ষায় অটোনকোডার এবং এনকোডার-ডিকোডার মধ্যে কি পার্থক্য রয়েছে?


উত্তর 1:

আমি এখানে এই দুটি পদ দেখতে চাই (অনানুষ্ঠানিকভাবে)। এনকোডার-ডিকোডারটিকে খুব সাধারণ কাঠামো / আর্কিটেকচার ডিজাইন হিসাবে ভাবেন। এই নকশায় আপনার কিছু ফাংশন রয়েছে যা কোনও ইনপুট স্পেসকে ম্যাপ করে, এটি যেভাবেই হোক না কেন, কোনও ভিন্ন / সুপ্ত স্পেসে ("এনকোডার")। ডিকোডারটি কেবলমাত্র পরিপূরক ফাংশন যা (এনকোডারগুলির) সুপ্ত স্থান থেকে অন্য লক্ষ্য স্পেসে (একটি কী আমরা প্রচ্ছন্ন স্থান থেকে ডিকোড করতে চাই) একটি মানচিত্র তৈরি করি। নোটগুলি কেবল ফাঁকা জায়গাগুলি ম্যাপিং করে এবং একটি ভাগ করা সুপ্ত স্থানের মাধ্যমে সংযুক্ত করে আপনি ফ্রেঞ্চ ভাষায় টোকেনের ক্রম (যেমন, সেই ইংরেজি বাক্যটির অনুবাদ) এর সাথে ইংরেজিতে টোকেনের ক্রম (যেমন একটি ইংরেজি বাক্য) ম্যাপের মতো কিছু করতে পারেন Note ফরাসী ভাষায়)। কিছু স্নায়বিক অনুবাদ মডেলগুলিতে, আপনি একটি নির্দিষ্ট ভেক্টরের সাথে ইংরাজী ক্রম মানচিত্র করেন (বাক্যটি পুনরুক্তিকরূপে নেটওয়ার্কটি প্রবর্তন করতে ব্যবহৃত নেটওয়ার্কের একটি বিরামচিহ্নের চিহ্নে পৌঁছানোর পরে শেষ অবস্থাটি বলেছিলেন), যেখান থেকে আপনি ফ্রেঞ্চ ক্রমিকায় ডিকোড করবেন ।

একটি অটোরকোডার (বা স্বয়ংক্রিয়ভাবে সংযুক্তকারী, যেমন এটি ধ্রুপদী হিসাবে পরিচিত ছিল) একটি এনকোডার-ডিকোডার আর্কিটেকচারের একটি বিশেষ কেস - প্রথমত, লক্ষ্য স্থানটি ইনপুট স্পেসের (যেমন, ইংরেজী লক্ষ্যগুলিতে ইংরেজী ইনপুট) এবং দ্বিতীয়টি, লক্ষ্য ইনপুট সমান হতে হবে। সুতরাং আমরা ভেক্টরগুলিতে ভেক্টরগুলির মতো কিছু ম্যাপিং করব (নোট করুন যে এটি এখনও ক্রম হতে পারে, কারণ তারা পুনরাবৃত্ত অটোএনকোডারস, তবে আপনি এখন এই ক্ষেত্রে রয়েছেন, ভবিষ্যতের পূর্বাভাস না দিয়ে কেবল একটি রাষ্ট্র / স্মৃতি এবং বর্তমান প্রদত্ত বর্তমানের পুনর্গঠন করছেন) বর্তমান)। এখন, একটি অটোরকোডারটি সত্যই অটো-অ্যাসোসিয়েশন বোঝানো হয়েছে, সুতরাং আমরা মূলত ইনপুটটিকে "পুনরায়" স্মরণ করার জন্য একটি মডেল তৈরি করার চেষ্টা করছি, যা স্বয়ংক্রিয়কোডারটিকে প্যাটার্ন সমাপ্তির মতো কাজ করতে দেয় তাই যদি আমরা আমাদের অটোরকোডারকে একটি আংশিক দূষিত ইনপুট দিই, এটি মেমরি থেকে সঠিক প্যাটার্নটি "পুনরুদ্ধার" করতে সক্ষম হবে।

এছাড়াও, সাধারণত, আমরা অটোরকোডারগুলি তৈরি করি কারণ ভবিষ্যদ্বাণীমূলক মডেল শেখার চেয়ে আমরা প্রতিনিধিত্ব পেতে আগ্রহী (যদিও কেউ তর্ক করতে পারে আমরা ভবিষ্যদ্বাণীপূর্ণ মডেলগুলি থেকেও বেশ কার্যকর উপস্থাপনা পেতে পারি ...)।

তবে ছোট গল্পটি সহজ: একটি স্বয়ংক্রিয়কোডার আসলেই কোনও এনকোডার-ডিকোডারের একটি বিশেষ উদাহরণ। এটি বিশেষত কার্যকর যখন আমরা এনকোডার এবং ডিকোডারকে একটি বৈকল্পিক অটোরকোডারের মতো কিছু তৈরি করতে চাই, যা এনকোডারের সাথে নকশায় ডিকোডারকে প্রতিসম তৈরি করা থেকে মুক্তি দেয় (অর্থাত, এনকোডারটি 2-স্তরের কনভ্যুশনাল নেটওয়ার্ক হতে পারে) যখন ডিকোডারটি 3-স্তরযুক্ত ডিকনভোলিউশনাল নেটওয়ার্ক হতে পারে)। একটি বৈকল্পিক অটোরকোডারে সুপ্ত স্পেসের ধারণাটি আরও স্পষ্ট হয়ে ওঠে, কারণ এখন আমরা সত্যিকার অর্থে ইনপুটটিকে (যেমন কোনও চিত্র বা নথি ভেক্টর) একটি সুপ্ত ভেরিয়েবলটিতে মানচিত্র করি, যা থেকে আমরা মূল / একই ইনপুটটিকে পুনর্গঠন করব (যেমন চিত্র হিসাবে বা দস্তাবেজ ভেক্টর)।

আমি আরও মনে করি যে পরিভাষার অপব্যবহার থেকে বিরাট বিভ্রান্তি আসে। আজকাল, এমএল লোকেরা বিশেষত শব্দগুলিকে মিশ্রিত করে এবং মেলে ঝোঁক দেয় (কিছু এমন করে জিনিসগুলি ঠান্ডা করে তোলে বা এমন বাজওয়ার্ডগুলি খুঁজে পায় যা পাঠক / অনুদানকারী / খ্যাতি / গৌরব ইত্যাদিকে আকর্ষণ করবে) তবে এটি আংশিকভাবে পুনরায় ব্র্যান্ডিংয়ের কারণে হতে পারে কৃত্রিম নিউরাল নেটওয়ার্কগুলি "গভীর শেখার" হিসাবে ;-) [যেহেতু, শেষ পর্যন্ত, সবাই অর্থের কাজ চালিয়ে যেতে চায়]


উত্তর 2:

প্রকৃতপক্ষে.

একটি এনকোডার-ডিকোডার আর্কিটেকচারের একটি এনকোডার বিভাগ রয়েছে যা একটি ইনপুট নেয় এবং এটিকে একটি সুপ্ত স্থানে মানচিত্র করে। ডিকোডার অংশটি সেই সুপ্ত স্থান নেয় এবং এটিকে একটি আউটপুটে মানচিত্র করে। সাধারণত এটির ফলাফল আরও ভাল হয়। একটি স্বয়ংক্রিয় কোডার কেবল এক্সটিকে একটি ইনপুট হিসাবে নেয় এবং এক্স (এখন x_hat) আউটপুট হিসাবে পুনর্গঠন করার চেষ্টা করে।

সাধারণত ব্যবহারের ক্ষেত্রে ভিন্ন হয়। অটেনকোডারগুলি সাধারণত নিরীক্ষণযোগ্য শেখার পরিস্থিতিতে ব্যবহার করা হবে, যেহেতু আমরা দেখতে পাচ্ছি যে কোনও লেবেলের প্রয়োজন নেই, কেবলমাত্র ডেটা। এনকোডার-ডিকোডার আর্কিটেকচারগুলি প্রায়শই আরও সাধারণ পদ্ধতিতে ব্যবহৃত হয়, যেমন আপনি সেগনেট পেপার এবং আরও সাধারণভাবে এনএমটির সাথে উল্লেখ করেছেন।