স্পার্স কোডিং ইনপুট ভেক্টরগুলিকে উপস্থাপন করার জন্য ভিত্তি ভেক্টরগুলির একটি ওভার-সম্পূর্ণ সেট শেখার হিসাবে সংজ্ঞায়িত করা হয় (<- আমরা এটি কেন চাই)। স্পার কোডিং এবং অটেনকোডার এর মধ্যে পার্থক্য কী? আমরা কখন স্পার্স কোডিং এবং অটোরকোডার ব্যবহার করব?
স্পার্স কোডিং ইনপুট ভেক্টরগুলিকে উপস্থাপন করার জন্য ভিত্তি ভেক্টরগুলির একটি ওভার-সম্পূর্ণ সেট শেখার হিসাবে সংজ্ঞায়িত করা হয় (<- আমরা এটি কেন চাই)। স্পার কোডিং এবং অটেনকোডার এর মধ্যে পার্থক্য কী? আমরা কখন স্পার্স কোডিং এবং অটোরকোডার ব্যবহার করব?
উত্তর:
মডেলগুলি দেখে পার্থক্যগুলি সন্ধান করা যেতে পারে। প্রথমে বিরল কোডিংয়ের দিকে নজর দেওয়া যাক।
স্পার্স কোডিং উদ্দেশ্যকে হ্রাস করে যেখানে ডাব্লু ঘাঁটির একটি ম্যাট্রিক্স, এইচ কোডের একটি ম্যাট্রিক্স এবং এক্স আমাদের উপস্থাপন করতে চান এমন ডেটারির ম্যাট্রিক্স । λ কার্যকরী sparsity এবং পুনর্গঠন মধ্যবর্তী একটি ট্রেড। মনে রাখবেন যে যদি আমাদের এইচ দেওয়া হয় তবে কমপক্ষে স্কোয়ারের মাধ্যমে ডাব্লু এর অনুমান করা সহজ easy
শুরুতে, আমাদের তবে । তবুও, অনেকগুলি অ্যালগরিদম রয়েছে যা এইচ এর প্রতি শ্রদ্ধার সাথে উপরের উদ্দেশ্যটিকে সমাধান করতে পারে । প্রকৃতপক্ষে, আমরা এইভাবে অনুমান করি: আমাদের যদি একটি অদেখা এক্স এর অন্তর্গত h জানতে চান তবে একটি অপ্টিমাইজেশন সমস্যা সমাধান করা দরকার ।
অটো এনকোডারগুলি নিরীক্ষণ করা নিউরাল নেটওয়ার্কগুলির একটি পরিবার। এগুলির মধ্যে অনেকগুলি রয়েছে, উদাহরণস্বরূপ গভীর অটো এনকোডার বা যারা নিয়মিতকরণের বিভিন্ন কৌশল যুক্ত রয়েছে - যেমন নিন্দিত, সংক্রামক, বিরল। এমনকি জেনারেটরি স্টোকাস্টিক নেটওয়ার্ক বা ভেরিয়েশনাল অটো এনকোডার হিসাবেও সম্ভাব্যতা রয়েছে। তাদের সবচেয়ে বিমূর্ত রূপ - এক্স | |
লক্ষ্য করুন সৌন্দর্য প্রায় মত এল একবার আমরা সেটএইচ=σ( ওয়াট টি এক্স)। উভয়ের পার্থক্য হ'ল i) অটো এনকোডারগুলি তাদের সাধারণ ফর্মগুলিতে স্পারসিটি উত্সাহ দেয় না ii) একটি অটেনকোডার কোডগুলি সন্ধানের জন্য একটি মডেল ব্যবহার করে, অপেক্ষাকৃত কম কোডিং অপ্টিমাইজেশনের মাধ্যমে এটি করে।
প্রাকৃতিক চিত্রের ডেটাগুলির জন্য, নিয়মিত অটো এনকোডার এবং স্পার্স কোডিংয়ের সাথে খুব মিল পাওয়া যায় । তবে অটো এনকোডারগুলিঅনেক বেশি দক্ষএবং সহজেই আরও জটিল মডেলগুলিতে সাধারণীকরণ হয়। উদাহরণস্বরূপ ডিকোডারটি অত্যন্ত ননলাইনার হতে পারে, উদাহরণস্বরূপ একটি গভীর নিউরাল নেটওয়ার্ক। তদ্ব্যতীত, একটিকে স্কোয়ার ক্ষতির সাথে আবদ্ধ করা হয়নি (যার উপর ডাব্লু ফর এল এস সি অনুমাননির্ভর করে)
এছাড়াও নিয়মিতকরণের বিভিন্ন পদ্ধতিতে বিভিন্ন বৈশিষ্ট্যের সাথে উপস্থাপনের উপস্থাপনা করা হয়। অস্বীকারকারী অটো এনকোডারগুলিও নির্দিষ্ট আকারের আরবিএম ইত্যাদির সমতুল্য হিসাবে দেখানো হয়েছে etc.
আপনি যদি কোনও পূর্বাভাস সমস্যার সমাধান করতে চান তবে আপনার অটো এনকোডারগুলির প্রয়োজন হবে না যদি না আপনার কাছে কেবলমাত্র সামান্য লেবেলযুক্ত ডেটা এবং প্রচুর লেবেলযুক্ত ডেটা থাকে। তারপরে আপনি সাধারণত গভীর অটো এনকোডারকে প্রশিক্ষণ দেওয়া এবং গভীর নিউরাল নেট প্রশিক্ষণের পরিবর্তে শীর্ষে একটি রৈখিক এসভিএম স্থাপন করা ভাল।
তবে এগুলি বিতরণের বৈশিষ্ট্য ক্যাপচারের জন্য খুব শক্তিশালী মডেল। এটি অস্পষ্ট, তবে এটিকে কঠোর পরিসংখ্যানগত তথ্যে রূপান্তরিত করা গবেষণা বর্তমানে পরিচালিত হয়। গভীর সুপ্ত গাউসির মডেলগুলি ওরফে ভেরিয়াল অটো এনকোডার বা জেনারেটরি স্টোকাস্টাস্টিক নেটওয়ার্কগুলি অটো এনকোডারগুলি প্রাপ্ত করার আকর্ষণীয় উপায় যা সম্ভবত অন্তর্নিহিত ডেটা বিতরণের অনুমান করে।
নিউরোসায়েন্সে নিউরাল কোডিং শব্দটি উদ্দীপনা দ্বারা প্ররোচিত নিউরনের বৈদ্যুতিক ক্রিয়াকলাপের নিদর্শনগুলিকে বোঝাতে ব্যবহৃত হয়। তার পালা দিয়ে স্পর্শ কোডিং এক ধরণের প্যাটার্ন। একটি কোড বিচ্ছিন্ন বলা হয় যখন একটি উদ্দীপনা (চিত্রের মতো) কেবল অপেক্ষাকৃত কম সংখ্যক নিউরনগুলির সক্রিয়করণকে উত্সাহ দেয়, যা সম্মিলিতভাবে এটিকে একটি বিচ্ছিন্ন উপায়ে উপস্থাপন করে। মেশিন লার্নিংয়ে স্পার্স কোড মডেল তৈরি করতে ব্যবহৃত একই অপ্টিমাইজেশনের সীমাবদ্ধতা স্পার্স অটেনকোডারগুলি বাস্তবায়নের জন্য ব্যবহার করা যেতে পারে, যা নিয়মিত স্বতন্ত্র কোডাররা বিরল সীমাবদ্ধতার সাথে প্রশিক্ষিত হয়। আপনার প্রতিটি প্রশ্নের জন্য বেলো আরও বিস্তারিত ব্যাখ্যা দেওয়া হল।
স্পার্স কোডিং ইনপুট ভেক্টরগুলিকে উপস্থাপন করতে বেস ভেক্টরগুলির একটি ওভার-সম্পূর্ণ সেট শেখার হিসাবে সংজ্ঞায়িত করা হয় (<- আমরা এটি কেন চাই)
প্রথমত, কমপক্ষে (হুবেল ও উইজেল, 1968) এর পরে এটি জানা গেছে যে ভি 1 অঞ্চলে নির্দিষ্ট কোষ রয়েছে যা প্রান্তের মতো উদ্দীপনাকে সর্বাধিক সাড়া দেয় (অন্যদের "দরকারী" বৈশিষ্ট্য ছাড়াও)। স্পার্স কোডিং এমন একটি মডেল যা এই সিস্টেমটির অনেকগুলি পর্যবেক্ষণের বৈশিষ্ট্যগুলি ভালভাবে ব্যাখ্যা করে। আরও তথ্যের জন্য দেখুন (ওলশাউসেন এবং ফিল্ড, 1996) ।
দ্বিতীয়ত, এটি দেখানো হচ্ছে যে মডেলটি স্পার্স কোডিং বর্ণনা করে তা মেশিন লার্নিংয়ে বৈশিষ্ট্য আহরণের জন্য একটি দরকারী কৌশল এবং ট্রান্সফার শেখার কার্যগুলিতে ভাল ফলাফল দেয়। রায়না এট আল। (2007) দেখিয়েছে যে হাতে ভিত্তিযুক্ত অক্ষরের সমন্বয়ে একটি প্রশিক্ষণ সেট শিখেছে "ভিত্তি ভেক্টর" (বৈশিষ্ট্যগুলি, পেন-স্ট্রোক এবং প্রান্ত হিসাবে) একটি হাত-লিখিত অঙ্কগুলির স্বীকৃতি কার্যের শ্রেণিবিন্যাসকে উন্নত করে। পরে স্পার্স কোডিং ভিত্তিক মডেলগুলি "গভীর" নেটওয়ার্কগুলি প্রশিক্ষণের জন্য ব্যবহৃত হয়, "স্পার্স গভীর বিশ্বাসের জাল" তৈরির জন্য স্পারস বৈশিষ্ট্য সনাক্তকারীগুলির স্তরগুলি স্তূপ করে (লি এট আল। 2007)। বেশ কয়েকটি স্তর (বিখ্যাত "গুগল ব্রেইন") একটি নেটওয়ার্ক নির্মানের জন্য স্পার্স কোডিং ভিত্তিক মডেলগুলি ব্যবহার করে ইমেজ স্বীকৃতিতে চমকপ্রদ ফলাফল অর্জন করা হয়েছে, যা একটি বিড়ালের চিত্রকে সম্পূর্ণরূপে অব্যবহৃত পদ্ধতিতে পার্থক্য করতে সক্ষম ছিল (লে এট আল। , 2013) ।
তৃতীয়ত, সংক্ষেপণ সম্পাদনের জন্য সম্ভবত শিখে নেওয়া ভিত্তিটি ব্যবহার করা সম্ভব। এটি সত্যই কেউ কাউকে করতে দেখেনি।
স্পার কোডিং এবং অটেনকোডার এর মধ্যে পার্থক্য কী?
একটি অটোরকোডার এমন একটি মডেল যা এর ইনপুটটিকে পুনর্গঠন করার চেষ্টা করে, সাধারণত কিছুটা বাধা ব্যবহার করে। উইকিপিডিয়া অনুসারে এটি "দক্ষ কোডিং শেখার জন্য ব্যবহৃত একটি কৃত্রিম নিউরাল নেটওয়ার্ক"। অটেনকোডার সংজ্ঞাতে স্পারসিটির প্রয়োজন নেই। স্পার্স কোডিং ভিত্তিক কনট্রেন্টগুলি উপলভ্য কৌশলগুলির মধ্যে একটি, তবে আরও কিছু রয়েছে, উদাহরণস্বরূপ অটোইনকোডারস, কনট্রাকটিভ অটোর কোডার্স এবং আরবিএমকে অস্বীকার করুন। সমস্তই নেটওয়ার্কটিকে ইনপুটটির ভাল উপস্থাপনা শিখায় (এটি সাধারণত "স্পার্স" )ও হয়।
আমরা কখন স্পার্স কোডিং এবং অটোরকোডার ব্যবহার করব?
আপনি সম্ভবত বৈশিষ্ট্য নিষ্কাশন এবং / অথবা গভীর নেটওয়ার্কগুলির প্রাক-প্রশিক্ষণের জন্য একটি অটো-এনকোডার ব্যবহার করতে আগ্রহী। যদি আপনি স্পারসিটি সীমাবদ্ধতার সাথে একটি অটোনকোডার কার্যকর করেন তবে আপনি উভয়ই ব্যবহার করবেন।
একটি স্পর্শকৃত কোডার হ'ল ধরণের অর্ধেক অটো-এনকোডারের মতো। একটি অটো-এনকোডার এর মতো কাজ করে:
input => neural net layer => hidden outputs => neural net layer => output
পিছনে প্রচারের জন্য, ত্রুটি সংকেত, ক্ষতি, হ'ল: ইনপুট - আউটপুট
আমরা যদি লুকানো আউটপুটগুলিতে স্পারসিটি সীমাবদ্ধতা প্রয়োগ করি, তবে বেশিরভাগটি শূন্য হবে এবং কয়েকটি 1s হবে। তারপরে দ্বিতীয় স্তরটি মূলত লিনিয়ার বেস ফাংশনগুলির একটি সেট, যা একত্রে যুক্ত করা হয়, লুকানো আউটপুটগুলির মধ্যে কোনটি 1 এস অনুসারে হয়।
বিরল কোডিংয়ে আমাদের কাছে এর দ্বিতীয়ার্ধটি রয়েছে:
codes => neural net layer => output
'কোডস' হ'ল সংখ্যার একগুচ্ছ, নিউরাল নেট স্তরের ওজন দ্বারা প্রতিনিধিত্ব করা বেস ফাংশনগুলির জন্য নির্বাচন করে। ওলশাউসনের কাগজে যেহেতু, তারা কোডগুলিতে স্পারসিটি সীমাবদ্ধতা প্রয়োগ করছে, কোডগুলি ঠিক তেমনই স্পার্স অটো-এনকোডার হিসাবে বিচ্ছিন্ন: বেশিরভাগ কয়েকটি শূন্যের সাথে শূন্য।
পার্থক্যটি আমরা এখন স্পষ্ট দেখতে পাচ্ছি: স্পার্স কোডিংয়ের জন্য, নিউরাল নেটওয়ার্কের প্রথমার্ধ নেই: কোডগুলি নিউরাল নেট দ্বারা স্বয়ংক্রিয়ভাবে আমাদের সরবরাহ করা হয় না।
স্পার্স কোডিংয়ে আমরা কীভাবে কোডগুলি পেতে পারি? ইনপুট চিত্রের সাথে মিলে আউটপুট সরবরাহ করে এমন কোডের সেটটি সন্ধান করতে আমাদের গ্রেডিয়েন্ট বংশোদ্ভূত বা অনুরূপ ব্যবহার করে যা করা হয় তা আমাদের নিজেদেরকে অনুকূল করতে হবে। আমাদের প্রতিটি পরীক্ষার চিত্র সহ প্রতিটি চিত্রের জন্য এটি করতে হবে।
আপনি সম্ভবত এই একই বিষয়ে https://arxiv.org/abs/1708.03735v2 এই সাম্প্রতিক কাগজটি পড়তে চাইতে পারেন । এই গবেষণাপত্রে লেখকরা দেখিয়েছেন যে প্রকৃতপক্ষে কেউ একটি স্বয়ংক্রিয় কোডার সেটআপ করতে পারে যে গ্রাউন্ড ট্রুথ ডিকশনারিটি সেই অটোইনকোডারটির স্কোয়ার লস ফাংশনের একটি গুরুত্বপূর্ণ বিষয় point