প্রাক প্রশিক্ষিত সিএনএন শ্রেণিবদ্ধ ব্যবহার করে এটি আলাদা চিত্রের ডেটাসেটে প্রয়োগ করুন


11

আপনি কিভাবে হবে নিখুত একটি প্রাক প্রশিক্ষিত neural network একটি পৃথক সমস্যা এটি প্রয়োগ কিভাবে? আপনি কি প্রাক প্রশিক্ষিত মডেলটিতে আরও স্তর যুক্ত করতে এবং এটি আপনার ডেটা সেটে পরীক্ষা করতে চান?

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

উত্তর:


15

পড়ুন - স্থানান্তর শিক্ষা যখন অসুবিধে হয়? (@ মিডিয়া ধন্যবাদ) (আমার কাছে খুব তথ্যবহুল মনে হচ্ছে, তাই এই উত্তরটি সম্পূর্ণরূপে তৈরি করতে এখানে যুক্ত করা হয়েছে ...)

আপনার প্রশ্নের উত্তর .. (এখানে শুরু)

স্থানান্তর শিক্ষা আপনি যা খুঁজছেন তা হ'ল ..

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

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

মডেলগুলিকে টিউন করার জন্য কখন?

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

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

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

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

ফাইন-টিউন করার কৌশলগুলি

সূক্ষ্ম-সুরকরণ বাস্তবায়নের জন্য কয়েকটি সাধারণ নির্দেশিকা নীচে:

  • সাধারণ অনুশীলনটি হ'ল প্রাক-প্রশিক্ষিত নেটওয়ার্কের শেষ স্তর (সফটম্যাক্স স্তর) কেটে ফেলা এবং আমাদের নতুন সফটম্যাক্স স্তরটি প্রতিস্থাপন করা যা আমাদের নিজস্ব সমস্যার সাথে প্রাসঙ্গিক। উদাহরণস্বরূপ, ইমেজনেটে ​​প্রাক-প্রশিক্ষিত নেটওয়ার্কটি 1000 বিভাগ সহ একটি সফটম্যাক্স স্তর নিয়ে আসে।

  • যদি আমাদের কাজটি 10 ​​টি বিভাগে শ্রেণিবদ্ধ হয় তবে নেটওয়ার্কের নতুন সফটম্যাক্স স্তরটি 1000 বিভাগের পরিবর্তে 10 বিভাগের হবে। এরপরে আমরা প্রাক প্রশিক্ষিত ওজনকে সূক্ষ্ম সুরক্ষার জন্য নেটওয়ার্কে আবার প্রচার চালাই। নিশ্চিত করুন যে ক্রস বৈধকরণ সম্পাদিত হয়েছে যাতে নেটওয়ার্কটি ভালভাবে সাধারণীকরণ করতে সক্ষম হয়।

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

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

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

আমার উত্তরের উত্স হ'ল এই আশ্চর্যজনক কোর্সগুলি থেকে অনুবাদ করা ..

আরও পড়ার জন্য,


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

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