মডেলের কর্মক্ষমতা উন্নত করার জন্য একটি বৈজ্ঞানিক পদ্ধতি

এই নথির উদ্দেশ্যে:

মেশিন লার্নিং ডেভেলপমেন্টের চূড়ান্ত লক্ষ্য হল মোতায়েন করা মডেলের উপযোগিতা সর্বাধিক করা।

আপনি সাধারণত যেকোন ML সমস্যায় এই বিভাগে একই মৌলিক পদক্ষেপ এবং নীতিগুলি ব্যবহার করতে পারেন।

এই বিভাগটি নিম্নলিখিত অনুমান করে:

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

ক্রমবর্ধমান টিউনিং কৌশল

সুপারিশ: একটি সাধারণ কনফিগারেশন দিয়ে শুরু করুন। তারপরে, সমস্যা সম্পর্কে অন্তর্দৃষ্টি তৈরি করার সময় ক্রমবর্ধমান উন্নতি করুন। নিশ্চিত করুন যে কোন উন্নতি শক্তিশালী প্রমাণের উপর ভিত্তি করে।

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

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

কর্মক্ষমতা সর্বাধিক করার সবচেয়ে কার্যকর উপায় হল একটি সাধারণ কনফিগারেশন দিয়ে শুরু করা এবং ক্রমবর্ধমান বৈশিষ্ট্যগুলি যোগ করা এবং সমস্যার অন্তর্দৃষ্টি তৈরি করার সময় উন্নতি করা।

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

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

একটি উচ্চ স্তরে, আমাদের ক্রমবর্ধমান টিউনিং কৌশল নিম্নলিখিত চারটি ধাপের পুনরাবৃত্তি জড়িত:

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

এই বিভাগের বাকি অংশ এই কৌশলটির বিবরণ দেয়।

পরের রাউন্ডের পরীক্ষার জন্য একটি লক্ষ্য বাছুন

আপনি যদি একাধিক বৈশিষ্ট্য যুক্ত করার চেষ্টা করেন বা একসাথে একাধিক প্রশ্নের উত্তর দেন, তাহলে আপনি ফলাফলের উপর পৃথক প্রভাবগুলিকে মীমাংসা করতে পারবেন না। উদাহরণ লক্ষ্য অন্তর্ভুক্ত:

  • পাইপলাইনে সম্ভাব্য উন্নতির চেষ্টা করুন (উদাহরণস্বরূপ, একটি নতুন রেগুলার, প্রিপ্রসেসিং পছন্দ, ইত্যাদি)।
  • একটি নির্দিষ্ট মডেল হাইপারপ্যারামিটারের প্রভাব বুঝুন (উদাহরণস্বরূপ, অ্যাক্টিভেশন ফাংশন)
  • বৈধতা ত্রুটি কম করুন।

স্বল্পমেয়াদী বৈধতা ত্রুটি উন্নতির চেয়ে দীর্ঘমেয়াদী অগ্রগতিকে অগ্রাধিকার দিন

সারাংশ: বেশিরভাগ সময়, আপনার প্রাথমিক লক্ষ্য হল টিউনিং সমস্যা সম্পর্কে অন্তর্দৃষ্টি অর্জন করা।

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

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

অবশেষে, আপনি সমস্যাটি বুঝতে পারবেন। তারপরে, টিউনিং সমস্যার গঠন সম্পর্কে পরীক্ষাগুলি সর্বাধিক তথ্যপূর্ণ না হলেও আপনি বৈধতা ত্রুটির উপর সম্পূর্ণরূপে ফোকাস করতে পারেন।

পরীক্ষার পরবর্তী রাউন্ড ডিজাইন করুন

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

বৈজ্ঞানিক, উপদ্রব, এবং স্থির হাইপারপ্যারামিটার সনাক্ত করুন

একটি নির্দিষ্ট লক্ষ্যের জন্য, সমস্ত হাইপারপ্যারামিটার নিম্নলিখিত শ্রেণীগুলির মধ্যে একটিতে পড়ে:

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

উদাহরণস্বরূপ, ধরুন আপনার লক্ষ্য নিম্নরূপ:

আরও লুকানো স্তর সহ একটি মডেলের কম বৈধতা ত্রুটি আছে কিনা তা নির্ধারণ করুন৷

এক্ষেত্রে:

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

একটি নির্দিষ্ট হাইপারপ্যারামিটার একটি বৈজ্ঞানিক হাইপারপ্যারামিটার, উপদ্রব হাইপারপ্যারামিটার বা স্থির হাইপারপ্যারামিটার হতে পারে; পরীক্ষামূলক লক্ষ্যের উপর নির্ভর করে হাইপারপ্যারামিটারের উপাধি পরিবর্তিত হয়। উদাহরণস্বরূপ, অ্যাক্টিভেশন ফাংশন নিম্নলিখিত যে কোনো হতে পারে:

  • বৈজ্ঞানিক হাইপারপ্যারামিটার: ReLU বা tanh কি আমাদের সমস্যার জন্য একটি ভাল পছন্দ?
  • উপদ্রব হাইপারপ্যারামিটার: আপনি যখন বিভিন্ন সম্ভাব্য অ্যাক্টিভেশন ফাংশন অনুমোদন করেন তখন সেরা পাঁচ-স্তর মডেলটি সেরা ছয়-স্তর মডেলের চেয়ে ভাল?
  • স্থির হাইপারপ্যারামিটার: ReLU নেটগুলির জন্য, একটি নির্দিষ্ট অবস্থানে ব্যাচ স্বাভাবিককরণ যোগ করা কি সাহায্য করে?

পরীক্ষার একটি নতুন রাউন্ড ডিজাইন করার সময়:

  1. পরীক্ষামূলক লক্ষ্যের জন্য বৈজ্ঞানিক হাইপারপ্যারামিটারগুলি সনাক্ত করুন। (এই পর্যায়ে, আপনি অন্যান্য সমস্ত হাইপারপ্যারামিটারকে উপদ্রব হাইপারপ্যারামিটার হিসাবে বিবেচনা করতে পারেন।)
  2. কিছু উপদ্রব হাইপারপ্যারামিটারকে স্থির হাইপারপ্যারামিটারে রূপান্তর করুন।

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

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

কিছু অপ্টিমাইজার পরামিতি

একটি নিয়ম হিসাবে, কিছু অপ্টিমাইজার হাইপারপ্যারামিটার (যেমন শেখার হার, গতিবেগ, শেখার হারের সময়সূচী পরামিতি, অ্যাডাম বেটাস ইত্যাদি) হল উপদ্রব হাইপারপ্যারামিটার কারণ তারা অন্যান্য পরিবর্তনের সাথে সবচেয়ে বেশি ইন্টারঅ্যাক্ট করে। এই অপ্টিমাইজার হাইপারপ্যারামিটারগুলি খুব কমই বৈজ্ঞানিক হাইপারপ্যারামিটার কারণ একটি লক্ষ্য যেমন "বর্তমান পাইপলাইনের জন্য সেরা শেখার হার কী?" অনেক অন্তর্দৃষ্টি প্রদান করে না। সর্বোপরি, পরবর্তী পাইপলাইন পরিবর্তনের সাথে সর্বোত্তম সেটিং পরিবর্তন হতে পারে।

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

অপ্টিমাইজারের পছন্দ

অপ্টিমাইজারের পছন্দ সাধারণত হয়:

  • একটি বৈজ্ঞানিক হাইপারপ্যারামিটার
  • একটি নির্দিষ্ট হাইপারপ্যারামিটার

একটি অপ্টিমাইজার হল একটি বৈজ্ঞানিক হাইপারপ্যারামিটার যদি আপনার পরীক্ষামূলক লক্ষ্যে দুই বা ততোধিক ভিন্ন অপ্টিমাইজারের মধ্যে ন্যায্য তুলনা করা জড়িত থাকে। উদাহরণ স্বরূপ:

কোন অপ্টিমাইজার একটি নির্দিষ্ট সংখ্যক ধাপে সর্বনিম্ন বৈধতা ত্রুটি তৈরি করে তা নির্ধারণ করুন।

বিকল্পভাবে, আপনি বিভিন্ন কারণে অপ্টিমাইজারকে একটি নির্দিষ্ট হাইপারপ্যারামিটার করতে পারেন, যার মধ্যে রয়েছে:

  • পূর্বের পরীক্ষাগুলি পরামর্শ দেয় যে আপনার টিউনিং সমস্যার জন্য সেরা অপ্টিমাইজার বর্তমান বৈজ্ঞানিক হাইপারপ্যারামিটারের প্রতি সংবেদনশীল নয়।
  • আপনি এই অপ্টিমাইজার ব্যবহার করে বৈজ্ঞানিক হাইপারপ্যারামিটারের মান তুলনা করতে পছন্দ করেন কারণ এর প্রশিক্ষণ বক্ররেখাগুলি সম্পর্কে যুক্তি করা সহজ।
  • আপনি এই অপ্টিমাইজারটি ব্যবহার করতে পছন্দ করেন কারণ এটি বিকল্পগুলির তুলনায় কম মেমরি ব্যবহার করে৷

নিয়মিতকরণ হাইপারপ্যারামিটার

একটি নিয়মিতকরণ কৌশল দ্বারা প্রবর্তিত হাইপারপ্যারামিটারগুলি সাধারণত উপদ্রব হাইপারপ্যারামিটার। যাইহোক, রেগুলারাইজেশন কৌশলটি আদৌ অন্তর্ভুক্ত করা যায় কি না তার পছন্দ একটি বৈজ্ঞানিক বা স্থির হাইপারপ্যারামিটার।

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

আর্কিটেকচারাল হাইপারপ্যারামিটার

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

বৈজ্ঞানিক হাইপারপ্যারামিটারের উপর নির্ভরতা

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

  • বৈজ্ঞানিক হাইপারপ্যারামিটার হল অপ্টিমাইজার, যা মান নেয় {"Nesterov_momentum", "Adam"}
  • মান optimizer="Nesterov_momentum" হাইপারপ্যারামিটারগুলি প্রবর্তন করে {learning_rate, momentum} , যা হয় উপদ্রব বা স্থির হাইপারপ্যারামিটার হতে পারে।
  • মান optimizer="Adam" হাইপারপ্যারামিটারগুলি প্রবর্তন করে {learning_rate, beta1, beta2, epsilon} , যা হয় উপদ্রব বা স্থির হাইপারপ্যারামিটার হতে পারে।

যে হাইপারপ্যারামিটারগুলি শুধুমাত্র বৈজ্ঞানিক হাইপারপ্যারামিটারের নির্দিষ্ট মানগুলির জন্য উপস্থিত থাকে তাকে শর্তসাপেক্ষ হাইপারপ্যারামিটার বলা হয়। অনুমান করবেন না দুটি শর্তসাপেক্ষ হাইপারপ্যারামিটার একই কারণ তাদের একই নাম রয়েছে! পূর্ববর্তী উদাহরণে, learning_rate নামক শর্তসাপেক্ষ হাইপারপ্যারামিটারটি optimizer="Nesterov_momentum" এর জন্য optimizer="Adam" এর চেয়ে আলাদা হাইপারপ্যারামিটার। দুটি অ্যালগরিদমে এর ভূমিকা একই রকম (যদিও অভিন্ন নয়), তবে প্রতিটি অপ্টিমাইজারে ভালভাবে কাজ করে এমন মানগুলির পরিসর সাধারণত বিভিন্ন মাত্রার ক্রম অনুসারে আলাদা।

অধ্যয়নের একটি সেট তৈরি করুন

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

  • ট্রায়াল জুড়ে পরিবর্তিত হাইপারপ্যারামিটার।
  • এই হাইপারপ্যারামিটারগুলি যে মানগুলি নিতে পারে ( অনুসন্ধান স্থান )।
  • ট্রায়াল সংখ্যা.
  • একটি স্বয়ংক্রিয় অনুসন্ধান অ্যালগরিদম নমুনা যা অনুসন্ধান স্থান থেকে অনেক ট্রায়াল.

বিকল্পভাবে, আপনি ম্যানুয়ালি হাইপারপ্যারামিটার কনফিগারেশনের সেট উল্লেখ করে একটি অধ্যয়ন তৈরি করতে পারেন।

অধ্যয়নের উদ্দেশ্য একই সাথে:

  • বৈজ্ঞানিক হাইপারপ্যারামিটারের বিভিন্ন মান দিয়ে পাইপলাইন চালান।
  • উপদ্রব হাইপারপ্যারামিটারগুলিকে "অপ্টিমাইজ করা" (বা "অপ্টিমাইজ করা") যাতে বৈজ্ঞানিক হাইপারপ্যারামিটারের বিভিন্ন মানের মধ্যে তুলনা যতটা সম্ভব ন্যায্য হয়৷

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

  • একটি অধ্যয়ন যেখানে optimizer="Nesterov_momentum" এবং উপদ্রব হাইপারপ্যারামিটারগুলি {learning_rate, momentum}
  • আরেকটি অধ্যয়ন যেখানে optimizer="Adam" এবং উপদ্রব হাইপারপ্যারামিটারগুলি হল {learning_rate, beta1, beta2, epsilon}

আপনি প্রতিটি অধ্যয়ন থেকে সেরা পারফর্মিং ট্রায়াল নির্বাচন করে দুটি অপ্টিমাইজারের তুলনা করবেন।

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

একটি আরও জটিল কেস বিবেচনা করুন যেখানে আপনি বৈজ্ঞানিক হাইপারপ্যারামিটারগুলির একটি বড় সংখ্যার মান তুলনা করতে চান তবে এটি অনেকগুলি স্বাধীন অধ্যয়ন করা অবাস্তব। এই ক্ষেত্রে, আপনি নিম্নলিখিত করতে পারেন:

  • উপদ্রব হাইপারপ্যারামিটারের মতো একই অনুসন্ধানের জায়গায় বৈজ্ঞানিক পরামিতিগুলি অন্তর্ভুক্ত করুন।
  • একটি একক গবেষণায় বৈজ্ঞানিক এবং উপদ্রব হাইপারপ্যারামিটার উভয়ের নমুনা মানগুলির জন্য একটি অনুসন্ধান অ্যালগরিদম ব্যবহার করুন।

এই পদ্ধতি গ্রহণ করার সময়, শর্তাধীন হাইপারপ্যারামিটার সমস্যা সৃষ্টি করতে পারে। সর্বোপরি, বৈজ্ঞানিক হাইপারপ্যারামিটারের সমস্ত মানগুলির জন্য উপদ্রব হাইপারপ্যারামিটারের সেট একই না হলে একটি অনুসন্ধান স্থান নির্দিষ্ট করা কঠিন। এই ক্ষেত্রে, ফ্যান্সিয়ার ব্ল্যাক-বক্স অপ্টিমাইজেশান সরঞ্জামগুলির উপর আধা-এলোমেলো অনুসন্ধান ব্যবহার করার জন্য আমাদের পছন্দ আরও শক্তিশালী, কারণ এটি গ্যারান্টি দেয় যে বৈজ্ঞানিক হাইপারপ্যারামিটারের বিভিন্ন মান সমানভাবে নমুনা করা হবে। সার্চ অ্যালগরিদম যাই হোক না কেন, নিশ্চিত করুন যে এটি বৈজ্ঞানিক পরামিতিগুলি সমানভাবে অনুসন্ধান করে৷

তথ্যপূর্ণ এবং সাশ্রয়ী মূল্যের পরীক্ষার মধ্যে ভারসাম্য বজায় রাখুন

একটি অধ্যয়ন বা অধ্যয়নের ক্রম ডিজাইন করার সময়, পর্যাপ্তভাবে নিম্নলিখিত তিনটি লক্ষ্য অর্জনের জন্য একটি সীমিত বাজেট বরাদ্দ করুন:

  • বৈজ্ঞানিক হাইপারপ্যারামিটারের পর্যাপ্ত বিভিন্ন মান তুলনা করা।
  • যথেষ্ট বড় সার্চ স্পেসের উপর উপদ্রব হাইপারপ্যারামিটার টিউন করা।
  • যথেষ্ট ঘনত্বে উপদ্রব হাইপারপ্যারামিটার অনুসন্ধান স্থান নমুনা.

আপনি এই তিনটি লক্ষ্য যত ভালোভাবে অর্জন করতে পারবেন, পরীক্ষা থেকে তত বেশি অন্তর্দৃষ্টি বের করতে পারবেন। যতটা সম্ভব বৈজ্ঞানিক হাইপারপ্যারামিটারের অনেকগুলি মান তুলনা করলে আপনি পরীক্ষা থেকে যে অন্তর্দৃষ্টিগুলি অর্জন করেন তার পরিধি আরও বিস্তৃত করে৷

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

যতটা সম্ভব ঘনভাবে উপদ্রব হাইপারপ্যারামিটারের অনুসন্ধানের স্থানের নমুনা নিন। এটি করার ফলে আত্মবিশ্বাস বাড়ে যে অনুসন্ধান পদ্ধতি আপনার অনুসন্ধানের জায়গায় বিদ্যমান উপদ্রব হাইপারপ্যারামিটারগুলির জন্য কোনও ভাল সেটিংস খুঁজে পাবে। অন্যথায়, আপনি বৈজ্ঞানিক পরামিতিগুলির মানগুলির মধ্যে অন্যায্য তুলনা করতে পারেন কারণ কিছু মানগুলি উপদ্রব হাইপারপ্যারামিটারের নমুনা নিয়ে সৌভাগ্যবান হয়৷

দুর্ভাগ্যবশত, এই তিনটি মাত্রার যে কোনো একটির উন্নতির জন্য নিম্নলিখিতগুলির যেকোনো একটির প্রয়োজন হয়:

  • ট্রায়াল সংখ্যা বৃদ্ধি, এবং তাই সম্পদ খরচ বৃদ্ধি.
  • অন্যান্য মাত্রার একটিতে সম্পদ সংরক্ষণ করার উপায় খুঁজে বের করা।

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

পরীক্ষামূলক ফলাফল থেকে শিখুন

প্রস্তাবনা: পরীক্ষার প্রতিটি গ্রুপের মূল বৈজ্ঞানিক লক্ষ্য অর্জনের চেষ্টা করার পাশাপাশি, অতিরিক্ত প্রশ্নের একটি চেকলিস্ট দিয়ে যান। আপনি যদি সমস্যাগুলি আবিষ্কার করেন তবে পরীক্ষাগুলি সংশোধন করুন এবং পুনরায় চালান৷

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

যেহেতু চলমান পরীক্ষাগুলি ব্যয়বহুল হতে পারে, তাই আপনাকে পরীক্ষাগুলির প্রতিটি গ্রুপ থেকে অন্যান্য দরকারী অন্তর্দৃষ্টিগুলিও বের করা উচিত, এমনকি যদি এই অন্তর্দৃষ্টিগুলি বর্তমান লক্ষ্যের সাথে অবিলম্বে প্রাসঙ্গিক না হয়।

তাদের আসল লক্ষ্যের দিকে অগ্রগতি করার জন্য প্রদত্ত পরীক্ষার সেট বিশ্লেষণ করার আগে, নিজেকে নিম্নলিখিত অতিরিক্ত প্রশ্নগুলি জিজ্ঞাসা করুন:

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

প্রয়োজনে, পূর্ববর্তী প্রশ্নের উত্তরগুলির উপর ভিত্তি করে, অনুসন্ধানের স্থান এবং/অথবা আরও পরীক্ষার নমুনা উন্নত করতে সাম্প্রতিকতম অধ্যয়ন বা অধ্যয়নের গ্রুপকে পরিমার্জন করুন, বা অন্য কিছু সংশোধনমূলক পদক্ষেপ নিন।

একবার আপনি পূর্ববর্তী প্রশ্নগুলির উত্তর দেওয়ার পরে, আপনি আপনার আসল লক্ষ্যের দিকে পরীক্ষাগুলি যে প্রমাণগুলি প্রদান করে তা মূল্যায়ন করতে পারেন; উদাহরণস্বরূপ, একটি পরিবর্তন দরকারী কিনা তা মূল্যায়ন করা

একটি অনুসন্ধান স্থান সন্দেহজনক যদি এটি থেকে নমুনাকৃত সেরা বিন্দুটি তার সীমানার কাছাকাছি হয়। আপনি যদি সেই দিকে অনুসন্ধানের পরিসর প্রসারিত করেন তবে আপনি আরও ভাল পয়েন্ট খুঁজে পেতে পারেন।

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

প্রতিটি ট্রায়ালের জন্য বৈধকরণ উদ্দেশ্য মান সাধারণত প্রশিক্ষণের সময় এটি অর্জন করা সর্বোত্তম মান হওয়া উচিত।

যাচাইকরণ সেটে ত্রুটির হারের গ্রাফ (y-অক্ষ) বনাম পিক শেখার হার (x-অক্ষ) খারাপ অনুসন্ধান স্থান সীমানা প্রদর্শন করে। এই গ্রাফে, সেরা ট্রায়ালগুলি (সর্বনিম্ন ত্রুটির হার) সার্চ স্পেসের প্রান্তের কাছাকাছি, যেখানে শেখার সর্বোচ্চ হার।যাচাইকরণ সেটে ত্রুটির হারের গ্রাফ (y-অক্ষ) বনাম পিক শেখার হার (x-অক্ষ) ভাল অনুসন্ধান স্থান সীমানা প্রদর্শন করে। এই গ্রাফে, সেরা ট্রায়ালগুলি (সর্বনিম্ন ত্রুটির হার) সার্চ স্পেসের মাঝামাঝি, যেখানে পিক লার্নিং রেট 0.001, যখন পিক লার্নিং রেট 0.00001 বা 0.1 হয় তখন নয়৷

চিত্র 1: খারাপ অনুসন্ধান স্থান সীমানা এবং গ্রহণযোগ্য অনুসন্ধান স্থান সীমানার উদাহরণ।

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

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

অনুসন্ধানের জায়গায় পর্যাপ্ত পয়েন্টের নমুনা নেই

সাধারণভাবে, অনুসন্ধানের স্থানটি যথেষ্ট ঘনত্বে নমুনা করা হয়েছে কিনা তা জানা খুব কঠিন হতে পারে । 🤖 কম ট্রায়াল চালানোর চেয়ে বেশি ট্রায়াল চালানো ভালো, কিন্তু বেশি ট্রায়াল একটি সুস্পষ্ট অতিরিক্ত খরচ তৈরি করে।

যেহেতু আপনি যথেষ্ট নমুনা করেছেন তা জানা খুব কঠিন, তাই আমরা সুপারিশ করি:

  • আপনি সামর্থ্য কি নমুনা.
  • বারবার বিভিন্ন হাইপারপ্যারামিটার অক্ষ প্লটের দিকে তাকানোর থেকে আপনার স্বজ্ঞাত আত্মবিশ্বাসকে ক্যালিব্রেট করা এবং অনুসন্ধানের স্থানের "ভাল" অঞ্চলে কতগুলি পয়েন্ট রয়েছে তা বোঝার চেষ্টা করা।

প্রশিক্ষণ বক্ররেখা পরীক্ষা

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

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

ক্ষতির বক্ররেখা পরীক্ষা করার সময়, নিম্নলিখিত প্রশ্নগুলিতে ফোকাস করুন:

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

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

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

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

  • প্রশিক্ষণে কি উচ্চ ধাপে ধাপে ভিন্নতা আছে বা প্রশিক্ষণের দেরিতে বৈধতা ত্রুটি আছে? যদি তাই হয়, এটি নিম্নলিখিত উভয়ের সাথে হস্তক্ষেপ করতে পারে:

    • বৈজ্ঞানিক হাইপারপ্যারামিটারের বিভিন্ন মান তুলনা করার আপনার ক্ষমতা। কারণ প্রতিটি ট্রায়াল এলোমেলোভাবে একটি "ভাগ্যবান" বা "দুর্ভাগ্য" ধাপে শেষ হয়।
    • উত্পাদনে সেরা পরীক্ষার ফলাফল পুনরুত্পাদন করার আপনার ক্ষমতা। কারণ অধ্যয়নের মতো একই "ভাগ্যবান" পদক্ষেপে উত্পাদন মডেলটি শেষ নাও হতে পারে।

    ধাপে ধাপে ভিন্নতার সবচেয়ে সম্ভাব্য কারণগুলি হল:

    • প্রতিটি ব্যাচের জন্য প্রশিক্ষণ সেট থেকে এলোমেলোভাবে নমুনা উদাহরণের কারণে ব্যাচের ভিন্নতা।
    • ছোট বৈধতা সেট
    • একটি শেখার হার ব্যবহার করা যা প্রশিক্ষণে খুব বেশি দেরি করে।

    সম্ভাব্য প্রতিকার অন্তর্ভুক্ত:

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

  • চূড়ান্ত প্রশিক্ষণ ধাপের অনেক আগে প্রশিক্ষণ এবং বৈধতা সেটের কর্মক্ষমতা কি পরিপূর্ণ হয়েছে? যদি তাই হয়, তাহলে এটি ইঙ্গিত দেয় যে আপনি "গণনা-আবদ্ধ নয়" শাসনে আছেন এবং আপনি প্রশিক্ষণের ধাপের সংখ্যা কমাতে সক্ষম হতে পারেন।

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

আইসোলেশন প্লটগুলির সাথে একটি পরিবর্তন কার্যকর কিনা তা সনাক্ত করা

আইসোলেশন প্লট যা ইমেজনেটে ​​প্রশিক্ষিত ResNet-50-এর জন্য ওজন ক্ষয়ের সর্বোত্তম মূল্যের তদন্ত করে। এই ক্ষেত্রে, সর্বনিম্ন বৈধতা ত্রুটির হার হল যখন ওজন ক্ষয় ~0.00005 হয়৷

চিত্র 2: আইসোলেশন প্লট যা ইমেজনেটে ​​প্রশিক্ষিত ResNet-50-এর জন্য ওজন ক্ষয়ের সর্বোত্তম মূল্যের তদন্ত করে।

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

একটি বিচ্ছিন্নতা প্লট বৈজ্ঞানিক হাইপারপ্যারামিটারের বিভিন্ন মানের মধ্যে আপেল-থেকে-আপেল তুলনা সম্পাদন করা সহজ করে। উদাহরণস্বরূপ, চিত্র 2-এর বিচ্ছিন্নতা প্লট ওজন ক্ষয়ের মান প্রকাশ করে যা ImageNet-এ প্রশিক্ষিত ResNet-50-এর একটি নির্দিষ্ট কনফিগারেশনের জন্য সর্বোত্তম বৈধতা কর্মক্ষমতা তৈরি করে।

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

যখন আপনার কাছে (অর্ধ) র্যান্ডম অনুসন্ধানের দ্বারা ডেটা তৈরি হয় এবং আপনি একটি বিচ্ছিন্নতা প্লটের জন্য একটি ক্রমাগত হাইপারপ্যারামিটার বিবেচনা করছেন, তখন আপনি মৌলিক হাইপারপ্যারামিটার অক্ষ প্লটের x-অক্ষের মানগুলিকে বাকেট করে এবং প্রতিটি উল্লম্ব স্লাইসে সেরা ট্রায়াল গ্রহণ করে বিচ্ছিন্নতা প্লটটি আনুমানিক করতে পারেন। বালতি দ্বারা সংজ্ঞায়িত।

সাধারণভাবে দরকারী প্লটগুলি স্বয়ংক্রিয় করুন

প্লট তৈরি করার জন্য যত বেশি প্রচেষ্টা করা হবে, আপনার যতটা উচিত ততটা সেগুলি দেখার সম্ভাবনা কম। অতএব, আমরা যতটা সম্ভব স্বয়ংক্রিয়ভাবে যতগুলি প্লট তৈরি করতে আপনার পরিকাঠামো সেট আপ করার পরামর্শ দিই৷ ন্যূনতম, আমরা সুপারিশ করি যে আপনি পরীক্ষায় পরিবর্তিত সমস্ত হাইপারপ্যারামিটারের জন্য স্বয়ংক্রিয়ভাবে মৌলিক হাইপারপ্যারামিটার অক্ষ প্লট তৈরি করুন৷

উপরন্তু, আমরা সমস্ত ট্রায়ালের জন্য স্বয়ংক্রিয়ভাবে ক্ষতি বক্ররেখা তৈরি করার পরামর্শ দিই। তদ্ব্যতীত, আমরা প্রতিটি অধ্যয়নের সেরা কয়েকটি পরীক্ষা খুঁজে বের করা এবং তাদের ক্ষতির বক্ররেখা পরীক্ষা করা যতটা সম্ভব সহজ করার পরামর্শ দিই।

আপনি অন্যান্য অনেক দরকারী সম্ভাব্য প্লট এবং ভিজ্যুয়ালাইজেশন যোগ করতে পারেন। জিওফ্রে হিন্টনকে ব্যাখ্যা করতে:

প্রতিবার আপনি নতুন কিছু করার পরিকল্পনা করেন, আপনি নতুন কিছু শিখেন।

প্রার্থী পরিবর্তনকে গ্রহণ করবেন কিনা তা নির্ধারণ করুন

Summary: When deciding whether to make a change to our model or training procedure or adopt a new hyperparameter configuration, note the different sources of variation in your results.

When trying to improve a model, a particular candidate change might initially achieve a better validation error compared to an incumbent configuration. However, repeating the experiment might demonstrate no consistent advantage. Informally, the most important sources of inconsistent results can be grouped into the following broad categories:

  • Training procedure variance, retrain variance, or trial variance : the variation between training runs that use the same hyperparameters but different random seeds. For example, different random initializations, training data shuffles, dropout masks, patterns of data augmentation operations, and orderings of parallel arithmetic operations are all potential sources of trial variance.
  • Hyperparameter search variance, or study variance : the variation in results caused by our procedure to select the hyperparameters. For example, you might run the same experiment with a particular search space but with two different seeds for quasi-random search and end up selecting different hyperparameter values.
  • Data collection and sampling variance : the variance from any sort of random split into training, validation, and test data or variance due to the training data generation process more generally.

True, you can compare validation error rates estimated on a finite validation set using fastidious statistical tests. However, often the trial variance alone can produce statistically significant differences between two different trained models that use the same hyperparameter settings.

We are most concerned about study variance when trying to make conclusions that go beyond the level of an individual point in hyperparameters space. The study variance depends on the number of trials and the search space. We have seen cases where the study variance is larger than the trial variance and cases where it is much smaller. Therefore, before adopting a candidate change, consider running the best trial N times to characterize the run-to-run trial variance. Usually, you can get away with only recharacterizing the trial variance after major changes to the pipeline, but you might need fresher estimates in some cases. In other applications, characterizing the trial variance is too costly to be worth it.

Although you only want to adopt changes (including new hyperparameter configurations) that produce real improvements, demanding complete certainty that a given change helps isn't the right answer either. Therefore, if a new hyperparameter point (or other change) gets a better result than the baseline (taking into account the retrain variance of both the new point and the baseline as best as you can), then you probably should adopt it as the new baseline for future comparisons. However, we recommend only adopting changes that produce improvements that outweigh any complexity they add.

After exploration concludes

Summary: Bayesian optimization tools are a compelling option once you're done searching for good search spaces and have decided what hyperparameters are worth tuning.

Eventually, your priorities will shift from learning more about the tuning problem to producing a single best configuration to launch or otherwise use. At that point, there should be a refined search space that comfortably contains the local region around the best observed trial and has been adequately sampled. Your exploration work should have revealed the most essential hyperparameters to tune and their sensible ranges that you can use to construct a search space for a final automated tuning study using as large a tuning budget as possible.

Since you no longer care about maximizing insight into the tuning problem, many of the advantages of quasi-random search no longer apply. Therefore, you should use Bayesian optimization tools to automatically find the best hyperparameter configuration. Open-Source Vizier implements a variety of sophisticated algorithms for tuning ML models, including Bayesian Optimization algorithms.

Suppose the search space contains a non-trivial volume of divergent points , meaning points that get NaN training loss or even training loss many standard deviations worse than the mean. In this case, we recommend using black-box optimization tools that properly handle trials that diverge. (See Bayesian Optimization with Unknown Constraints for an excellent way to deal with this issue.) Open-Source Vizier has supports for marking divergent points by marking trials as infeasible, although it may not use our preferred approach from Gelbart et al. , depending on how it is configured.

After exploration concludes, consider checking the performance on the test set. In principle, you could even fold the validation set into the training set and retrain the best configuration found with Bayesian optimization. However, this is only appropriate if there won't be future launches with this specific workload (for example, a one-time Kaggle competition).