অটোরকোডাররা অর্থবোধক বৈশিষ্ট্যগুলি শিখতে পারে না


24

এই দুটি হিসাবে আমার 50,000 চিত্র রয়েছে:

তথ্য উদাহরণ তথ্য উদাহরণ 2

তারা ডেটা গ্রাফ চিত্রিত। আমি এই চিত্রগুলি থেকে বৈশিষ্ট্যগুলি বের করতে চেয়েছিলাম তাই আমি থায়ানো (ডিপলাইরনিং ডটকম) দ্বারা সরবরাহিত অটোরকোডার কোডটি ব্যবহার করেছি।

সমস্যাটি হ'ল, এই অটোইনকোডারগুলি কোনও বৈশিষ্ট্য শিখতে পারে বলে মনে হয় না। আমি আরবিএম চেষ্টা করেছি এবং এটি একই রকম।

এমএনআইএসটি ডেটাসেট দুর্দান্ত বৈশিষ্ট্য সরবরাহ করে তবে আমার ডেটা কোনও ফল দেয় বলে মনে হয় না। আমি নীচে উদাহরণগুলি বন্ধ করে রেখেছি:

এমএনআইএসটিতে ফিল্টার তৈরি করা হয়েছে:

mnist ফিল্টার

আমার ডেটা সম্পর্কে প্রশিক্ষণ দ্বারা তৈরি ফিল্টার:

আমার ডেটা থেকে ফিল্টার

আমি গোপন স্তরের আকার এবং প্রশিক্ষণের যুগের অনেকগুলি পৃথক ক্রিয়াকলাপ ব্যবহার করেছি তবে ফলাফলগুলি সর্বদা একই থাকে।

কেন এটি কাজ করে না? কেন এই চিত্রগুলি থেকে অটোরকোডাররা বৈশিষ্ট্যগুলি বের করতে পারে না?

সম্পাদনা করুন:

একই সমস্যা আছে যে কারও জন্য। সমাধানটি সত্যিই সহজ ছিল এবং কারণটি সত্যই বোবা। আমি আরজিবি এনকোডিং থেকে 0 - 1 এর পরিসরে ভাসতে পিক্সেল মানগুলি পুনরুদ্ধার করতে ভুলে গিয়েছি।

পুনরুদ্ধার মানগুলি সমস্যার সমাধান করে।

উত্তর:


15

নিউরাল নেটওয়ার্কগুলি ডিবাগ করার মধ্যে সাধারণত হাইপারপ্যারামিটারগুলি টুইট করা, শিখানো ফিল্টারগুলিকে ভিজ্যুয়ালাইজ করা এবং গুরুত্বপূর্ণ মেট্রিকগুলি প্লট করা জড়িত। আপনি যে হাইপারপ্রেমিটারগুলি ব্যবহার করছেন তা ভাগ করে নিতে পারেন?

  • আপনার ব্যাচের আকার কত?
  • আপনার শিক্ষার হার কত?
  • আপনি কোন ধরণের অটোনকোডার ব্যবহার করছেন?
  • আপনি কি কোনও ডিনয়েজিং অটোরকোডার ব্যবহার করার চেষ্টা করেছেন? (আপনি কোন দুর্নীতির মূল্যবোধ চেষ্টা করেছেন?)
  • কয়টি লুকানো স্তর এবং কোন আকার?
  • আপনার ইনপুট চিত্রগুলির মাত্রা কী কী?

প্রশিক্ষণের লগগুলি বিশ্লেষণ করাও কার্যকর। আপনার পুনর্গঠন ক্ষতির একটি গ্রাফ প্লট করুন (ওয়াই-অক্ষ) যুগের ক্রিয়া হিসাবে (এক্স-অক্ষ)। আপনার পুনর্গঠন ক্ষতি কি রূপান্তর বা ডাইভার্জিং হয়?

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

রূপান্তরকারী এখানে একটি: (আমরা এটি চাই)

ভ্যানিলা "নিয়ন্ত্রণহীন" এমন একটি সমস্যায় পড়তে পারে যেখানে তারা কেবল পরিচয় ম্যাপিং শিখতে পারে। সম্প্রদায়টি ডেনোইজিং, স্পার্স এবং সংবেদনশীল স্বাদ তৈরির কারণগুলির মধ্যে একটি।

আপনি কি এখানে আপনার ডেটার একটি ছোট উপসেট পোস্ট করতে পারেন? আমি আমার এক স্বয়ংক্রিয় কোডার থেকে ফলাফল আপনাকে দেখাতে ইচ্ছুক হতে চাই।

পাশের নোটে: আপনি নিজেকে জিজ্ঞাসা করতে পারেন আপনি যখন গ্রাফগুলির চিত্রগুলি প্রথম স্থানে ব্যবহার করছেন তখন যখন এই গ্রাফগুলি সহজেই ডেটার ভেক্টর হিসাবে উপস্থাপন করা যায়। অর্থাত,

[0, 13, 15, 11, 2, 9, 6, 5]

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

উত্তর অনুসরণ করুন (তথ্য দেওয়া।)

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

এখানে হাইপারপ্যারামিটারগুলি আমি এটির সাথে প্রশিক্ষিত করেছি:

batch_size = 4
epochs = 100
pretrain_learning_rate = 0.01
finetune_learning_rate = 0.01
corruption_level = 0.2

ফিল্টারগুলি এখানে পোস্ট করা যথেষ্ট ভাল ছিল বলে আমি 58 তম যুগের পরে প্রাক প্রশিক্ষণ বন্ধ করে দিয়েছি। আমি যদি আপনি হয়ে থাকি তবে আমি 1000x1000x1000 আর্কিটেকচারের সাথে শুরুর জন্য একটি পূর্ণ 3-স্তরযুক্ত স্ট্যাকড ডেনোইজিং অটেনকোডারকে প্রশিক্ষণ দেব।

সূক্ষ্ম-সুরকরণ পদক্ষেপের ফলাফলগুলি এখানে:

validation error 24.15 percent
test error 24.15 percent

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


আমার ব্যাচের আকার 20. শিক্ষার হারটি 0.1 এ সেট করা হয়েছে। আমি অ্যাক্টিভেটর এবং সংঘটিত অটোরকোডারগুলি চেষ্টা করেছি no আমি একটি লুকানো স্তর ব্যবহার করি আমি 50 থেকে 1000 নিউরন পর্যন্ত সব চেষ্টা করেছি। আমি চিত্রগুলি 25x25 এ পুনরায় পুনঃস্থাপন করেছি - সুতরাং এগুলি ম্যানিস্টের চেয়ে আরও ছোট। এটির মূল্যের জন্য, আমি আমার সংরক্ষণাগারটিতে সমস্ত তথ্য সংযুক্ত করে রেখেছি: আপনি কি আমাকে নিজের অটোর কোডার এবং এই ডেটা ফলাফল দেখাতে পারেন?
b93d44

সংরক্ষণাগার: mega.co.nz/…
বি 9৩৪৪

ঠিক আছে, আমি সেই ডেটা দিয়ে একটি নেটওয়ার্ক প্রশিক্ষণ পেয়েছি। উত্তরে সম্পাদনা দেখুন।
সবালবা

এটি সত্যিই আকর্ষণীয় দেখায়। আপনি কি আপনার কোড পোস্ট করতে পারেন? আমি সত্যিই এটি প্রশংসা করব। আমি মনে করি আমার কোডে আমার কিছু বাগ থাকতে পারে যা নেটওয়ার্কটিকে প্রশিক্ষণ দেওয়া থেকে বিরত রাখে। আমি লক্ষ্য করেছি আপনার সুন্দর সুরের মঞ্চ আছে? আমি মনে করি যে আমার অটোরকোডারটি কোনও ফিনিটুনিং ছাড়াই কেবলমাত্র প্রিটেইন করে। কিছু মনে না করলে আপনি কি আমাকে আপনার সমাধানটি দেখাতে পারেন?
b93d44

আমার কোডটি পোস্ট করতে পারছে না কারণ এটি আমার সংস্থার, তবে আমি আপনাকে এই টিউটোরিয়ালটিতে নির্দেশ করতে পারি যার একটি ডিনোইজিং অটোরকোডার তৈরির উদাহরণ কোড রয়েছে: ডিপলাইনিং.নাট / টিউটোরিয়াল / ডিএ এইচটিএমএল । হাইপারপ্যারামিটারের সমস্ত পরামর্শই সেই কোডটির জন্য থাকবে।
সবালবা

3

আমার কাছে মন্তব্য করার মতো যথেষ্ট প্রতিবেদন নেই, তাই আমি এটি উত্তরে রেখে দেব। তবে সঠিক কারণ আমি জানি না:

  1. নীচের বাম অঞ্চলের প্যাটার্নটি আপনার দ্বিতীয় উদাহরণের মতো দেখায় এবং ডান নীচের কোণায় থাকা নিদর্শনটি আপনার প্রথম উদাহরণের মতো মনে হয়, যখন ঘনিষ্ঠভাবে পরিদর্শন করা হয়। প্রশ্নটি হ'ল, আপনার উত্সের ডেটাতে কত বৈচিত্র? যদি সমস্ত 50 000 চিত্র একই প্যাটার্নের পরিবর্তিত হয় তবে আমরা দেখতে পাই এই 3 অর্থবহ বৈশিষ্ট্য মানচিত্রগুলি আপনার সমস্ত ডেটা ব্যাখ্যা এবং পুনর্গঠন করার জন্য অটোরকোডারটির পক্ষে যথেষ্ট যথেষ্ট হতে পারে।

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


1. আমি মনে করি এই ডেটাতে প্রচুর বৈচিত্র্য রয়েছে। এই 50,000 গ্রাফগুলির প্রত্যেকেরই কিছুটা আলাদা slightly আমি মনে করি এটি কেবল অসম্ভব যে স্বয়ংক্রিয়কোডার কেবলমাত্র 3 টি ফিল্টারের ভিত্তিতে সেগুলি পুনর্নির্মাণ করতে পারে। 2. পুনর্গঠন ত্রুটি অনুমান করার জন্য কোনও টিপস? আমি যে কোডটি ব্যবহার করছি তা ত্রুটি সরবরাহ করে তবে এটি সত্যিই বড় সংখ্যা যা আমাকে বেশি কিছু বলে না। আমার কি পুনর্নির্মাণ ত্রুটিটি ইনপুট বা লুকানো স্তরগুলির সংখ্যার সাথে তুলনা করা উচিত?
b93d44
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.