নিউরাল নেটওয়ার্কগুলি ডিবাগ করার মধ্যে সাধারণত হাইপারপ্যারামিটারগুলি টুইট করা, শিখানো ফিল্টারগুলিকে ভিজ্যুয়ালাইজ করা এবং গুরুত্বপূর্ণ মেট্রিকগুলি প্লট করা জড়িত। আপনি যে হাইপারপ্রেমিটারগুলি ব্যবহার করছেন তা ভাগ করে নিতে পারেন?
- আপনার ব্যাচের আকার কত?
- আপনার শিক্ষার হার কত?
- আপনি কোন ধরণের অটোনকোডার ব্যবহার করছেন?
- আপনি কি কোনও ডিনয়েজিং অটোরকোডার ব্যবহার করার চেষ্টা করেছেন? (আপনি কোন দুর্নীতির মূল্যবোধ চেষ্টা করেছেন?)
- কয়টি লুকানো স্তর এবং কোন আকার?
- আপনার ইনপুট চিত্রগুলির মাত্রা কী কী?
প্রশিক্ষণের লগগুলি বিশ্লেষণ করাও কার্যকর। আপনার পুনর্গঠন ক্ষতির একটি গ্রাফ প্লট করুন (ওয়াই-অক্ষ) যুগের ক্রিয়া হিসাবে (এক্স-অক্ষ)। আপনার পুনর্গঠন ক্ষতি কি রূপান্তর বা ডাইভার্জিং হয়?
এখানে মানব লিঙ্গ শ্রেণিবিন্যাসের জন্য একটি অটোরকোডার উদাহরণ যা ডাইভারিং হচ্ছে, 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% অলাভজনক) রয়েছে। সুতরাং এর অর্থ সংকেত নির্বিশেষে নেটওয়ার্কটি কেবল "লাভজনক" প্রতিক্রিয়া জানাতে শিখেছে। আমি সম্ভবত এটি আরও কিছুর জন্য আরও বড় নেট দিয়ে আরও দীর্ঘ সময়ের জন্য প্রশিক্ষণ দেব। এছাড়াও, দেখে মনে হচ্ছে এই ডেটাটি একরকম অন্তর্নিহিত আর্থিক ডেটাসেট থেকে উত্পন্ন। আমি আপনাকে সুপারিশ করব যে উপরে বর্ণিত হিসাবে আপনার সমস্যাগুলি ভেক্টরগুলিতে সংশোধন করার পরে আপনি পুনরাবৃত্ত নিউরাল নেটওয়ার্কগুলি সন্ধান করুন। আরএনএনগুলি এমন টাইমরিজ ডেটাগুলিতে পাওয়া যায় এমন কিছু অস্থায়ী নির্ভরতা ক্যাপচারে সহায়তা করতে পারে। আশাকরি এটা সাহায্য করবে.