নিউরাল নেটওয়ার্ককে বাড়ানোর প্রশিক্ষণ দেওয়া কি সম্ভব?


23

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

আমি কীভাবে একটি এনএনকে বাড়তি প্রশিক্ষণ দিতে পারি, অর্থাৎ, পূর্ববর্তী প্রশিক্ষণের পর্যায়কালে পূর্ববর্তী অর্জিত তথ্য ভুলে না গিয়ে?

উত্তর:


10

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

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

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

ট্রান্সফার শেখার সময় কিছু বিষয় মনে রাখা উচিত :

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

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

আপনি যদি এই বিষয়ে আগ্রহী হন তবে অতিরিক্ত রেফারেন্স: গভীর স্নায়বিক নেটওয়ার্কগুলিতে বৈশিষ্ট্যগুলি কতটা স্থানান্তরযোগ্য?


ট্রান্সফার লার্নিং কেবলমাত্র বর্ধনশীল শেখার সম্পাদনের উপায় নয়।
এনবিরো

7

এটি করতে পারে এমন একটি উপায় এখানে।

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

পুনরাবৃত্তি


আপনি যদি কেবলমাত্র সর্বশেষ স্তরের (প্রশিক্ষণ ক্লাস + নতুন ক্লাস) নতুন ক্লাসগুলিকে সমন্বিত করেন তবে মডেলটি উপযুক্ত হতে পারে না কারণ আমরা নতুন ক্লাসগুলির সাথে প্রশিক্ষণ নিতে চাই (কেবলমাত্র) এবং মডেলটি (প্রশিক্ষণ + নতুনের আকারের সাথে অ্যারের আশা করে) ক্লাস,)।
জোয়েল কারনেইরো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.