স্পার কোডিং এবং অটেনকোডার এর মধ্যে পার্থক্য কী?


35

স্পার্স কোডিং ইনপুট ভেক্টরগুলিকে উপস্থাপন করার জন্য ভিত্তি ভেক্টরগুলির একটি ওভার-সম্পূর্ণ সেট শেখার হিসাবে সংজ্ঞায়িত করা হয় (<- আমরা এটি কেন চাই)। স্পার কোডিং এবং অটেনকোডার এর মধ্যে পার্থক্য কী? আমরা কখন স্পার্স কোডিং এবং অটোরকোডার ব্যবহার করব?


1
স্পার্স কোডিং আসলে স্পার্স অটোরকোডার হিসাবে পরিচিত একটি নির্দিষ্ট ধরণের অটেনকোডার গঠন করে । সুতরাং আপনি স্বতন্ত্র কোডিংয়ের সাবসেট হিসাবে স্পার্স কোডিং বিবেচনা করতে পারেন যদি আপনি চান।
হ্যালো গুডবাই

উত্তর:


34

মডেলগুলি দেখে পার্থক্যগুলি সন্ধান করা যেতে পারে। প্রথমে বিরল কোডিংয়ের দিকে নজর দেওয়া যাক।

স্পার্স কোডিং

স্পার্স কোডিং উদ্দেশ্যকে হ্রাস করে যেখানে ডাব্লু ঘাঁটির একটি ম্যাট্রিক্স, এইচ কোডের একটি ম্যাট্রিক্স এবং এক্স আমাদের উপস্থাপন করতে চান এমন ডেটারির ম্যাট্রিক্স । λ কার্যকরী sparsity এবং পুনর্গঠন মধ্যবর্তী একটি ট্রেড। মনে রাখবেন যে যদি আমাদের এইচ দেওয়া হয় তবে কমপক্ষে স্কোয়ারের মাধ্যমে ডাব্লু এর অনুমান করা সহজ easy

Lsc=||WHX||22reconstruction term+λ||H||1sparsity term
WXλHW

শুরুতে, আমাদের তবে । তবুও, অনেকগুলি অ্যালগরিদম রয়েছে যা এইচ এর প্রতি শ্রদ্ধার সাথে উপরের উদ্দেশ্যটিকে সমাধান করতে পারে । প্রকৃতপক্ষে, আমরা এইভাবে অনুমান করি: আমাদের যদি একটি অদেখা এক্স এর অন্তর্গত h জানতে চান তবে একটি অপ্টিমাইজেশন সমস্যা সমাধান করা দরকারHএইচhx

অটো এনকোডারস

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

D(d(e(x;θr);θd),x)
কিন্তু এখন আমরা জন্য অনেক সহজ এক সঙ্গে বরাবর যেতে হবে: যেখানে σ হ'ল লজিস্টিক সিগময়েড σ ( এক্স ) = 1 এর মতো একটি ননলাইনার ফাংশন
Lae=||Wσ(WTX)X||2
σσ(x)=11+exp(x)

মিল

লক্ষ্য করুন সৌন্দর্য প্রায় মত এলLsc একবার আমরা সেটএইচ=σ( ওয়াট টি এক্স)। উভয়ের পার্থক্য হ'ল i) অটো এনকোডারগুলি তাদের সাধারণ ফর্মগুলিতে স্পারসিটি উত্সাহ দেয় না ii) একটি অটেনকোডার কোডগুলি সন্ধানের জন্য একটি মডেল ব্যবহার করে, অপেক্ষাকৃত কম কোডিং অপ্টিমাইজেশনের মাধ্যমে এটি করে।LaeH=σ(WTX)

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

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

কিন্তু কেন?

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

তবে এগুলি বিতরণের বৈশিষ্ট্য ক্যাপচারের জন্য খুব শক্তিশালী মডেল। এটি অস্পষ্ট, তবে এটিকে কঠোর পরিসংখ্যানগত তথ্যে রূপান্তরিত করা গবেষণা বর্তমানে পরিচালিত হয়। গভীর সুপ্ত গাউসির মডেলগুলি ওরফে ভেরিয়াল অটো এনকোডার বা জেনারেটরি স্টোকাস্টাস্টিক নেটওয়ার্কগুলি অটো এনকোডারগুলি প্রাপ্ত করার আকর্ষণীয় উপায় যা সম্ভবত অন্তর্নিহিত ডেটা বিতরণের অনুমান করে।


আপনার উত্তরের জন্য ধন্যবাদ! তাহলে কি এর অর্থ স্পার্স কোডিং কোনও অবস্থাতেই ব্যবহার করা উচিত নয়, তবে অটোরকোডার? এছাড়াও, স্পার্স কোডিংয়ে একটি অতিরিক্ত শব্দ থাকা উচিত যা ডাব্লু নিয়মিত করে?
রকটিস্টার

এর মতো কোনও সাধারণ নিয়ম নেই। এসি এর এইগুলির একটি সুবিধা রয়েছে: অনুকূলিতকরণের মাধ্যমে এনকোডিং খুব শক্তিশালী হতে পারে।
বায়ারজ

দুঃখিত, আপনি কি এই সম্পর্কে বিস্তারিত বলতে পারেন?
রকটিস্টার

কিছু সীমাবদ্ধতা অনুসরণ করতে অনুমান করা হয়েছে এমন একটি নির্দিষ্ট মানচিত্র থাকা (এখানে: বিরল ফলাফল) অপটিমাইজারের চেয়ে কম শক্তিশালী যা সম্ভবত অনেকগুলি পুনরাবৃত্তির চেয়ে সমাধান খুঁজে পাওয়ার চেষ্টা করে।
বায়ারজ

1
এই প্রশ্নটি আবার সামনে আনার জন্য দুঃখিত। আমি মনে করি অটোরকোডারটি স্পারসিটিও উত্সাহিত করতে পারে, অর্থাত্ স্পার্স অটোয়েনকোডার।
রকটিস্টার

11

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

স্পার্স কোডিং ইনপুট ভেক্টরগুলিকে উপস্থাপন করতে বেস ভেক্টরগুলির একটি ওভার-সম্পূর্ণ সেট শেখার হিসাবে সংজ্ঞায়িত করা হয় (<- আমরা এটি কেন চাই)

প্রথমত, কমপক্ষে (হুবেল ও উইজেল, 1968) এর পরে এটি জানা গেছে যে ভি 1 অঞ্চলে নির্দিষ্ট কোষ রয়েছে যা প্রান্তের মতো উদ্দীপনাকে সর্বাধিক সাড়া দেয় (অন্যদের "দরকারী" বৈশিষ্ট্য ছাড়াও)। স্পার্স কোডিং এমন একটি মডেল যা এই সিস্টেমটির অনেকগুলি পর্যবেক্ষণের বৈশিষ্ট্যগুলি ভালভাবে ব্যাখ্যা করে। আরও তথ্যের জন্য দেখুন (ওলশাউসেন এবং ফিল্ড, 1996)

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

তৃতীয়ত, সংক্ষেপণ সম্পাদনের জন্য সম্ভবত শিখে নেওয়া ভিত্তিটি ব্যবহার করা সম্ভব। এটি সত্যই কেউ কাউকে করতে দেখেনি।

স্পার কোডিং এবং অটেনকোডার এর মধ্যে পার্থক্য কী?

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

আমরা কখন স্পার্স কোডিং এবং অটোরকোডার ব্যবহার করব?

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


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

কোথায় বলা হয়েছে যে তারা একই জিনিস? দয়া করে আমাকে বলুন এবং আমি উত্তরটি সংশোধন করব।
শৌল বেরার্ডো

প্রথম বাক্যে।
বায়ারজ

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

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

1

একটি স্পর্শকৃত কোডার হ'ল ধরণের অর্ধেক অটো-এনকোডারের মতো। একটি অটো-এনকোডার এর মতো কাজ করে:

input  =>  neural net layer  =>  hidden outputs => neural net layer => output

পিছনে প্রচারের জন্য, ত্রুটি সংকেত, ক্ষতি, হ'ল: ইনপুট - আউটপুট

আমরা যদি লুকানো আউটপুটগুলিতে স্পারসিটি সীমাবদ্ধতা প্রয়োগ করি, তবে বেশিরভাগটি শূন্য হবে এবং কয়েকটি 1s হবে। তারপরে দ্বিতীয় স্তরটি মূলত লিনিয়ার বেস ফাংশনগুলির একটি সেট, যা একত্রে যুক্ত করা হয়, লুকানো আউটপুটগুলির মধ্যে কোনটি 1 এস অনুসারে হয়।

বিরল কোডিংয়ে আমাদের কাছে এর দ্বিতীয়ার্ধটি রয়েছে:

                                codes => neural net layer => output

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

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

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


0

আপনি সম্ভবত এই একই বিষয়ে https://arxiv.org/abs/1708.03735v2 এই সাম্প্রতিক কাগজটি পড়তে চাইতে পারেন । এই গবেষণাপত্রে লেখকরা দেখিয়েছেন যে প্রকৃতপক্ষে কেউ একটি স্বয়ংক্রিয় কোডার সেটআপ করতে পারে যে গ্রাউন্ড ট্রুথ ডিকশনারিটি সেই অটোইনকোডারটির স্কোয়ার লস ফাংশনের একটি গুরুত্বপূর্ণ বিষয় point

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.