ওভারফিটিং: L2 নিয়মিতকরণ

L2 রেগুলাইজেশন একটি জনপ্রিয় রেগুলাইজেশন মেট্রিক, যা নিম্নলিখিত সূত্রটি ব্যবহার করে:

$$L_2\text{ regularization } = {w_1^2 + w_2^2 + ... + w_n^2}$$

উদাহরণস্বরূপ, নিচের সারণিতে ছয়টি ওয়েটযুক্ত একটি মডেলের জন্য L2 রেগুলারাইজেশনের গণনা দেখানো হলো:

মূল্য বর্গকৃত মান
w 1 ০.২ ০.০৪
w 2 -০.৫ ০.২৫
w 3 ৫.০ ২৫.০
w 4 -১.২ ১.৪৪
w 5 ০.৩ ০.০৯
ডাব্লিউ -০.১ ০.০১
২৬.৮৩ = মোট

লক্ষ্য করুন যে শূন্যের কাছাকাছি ওয়েট L2 রেগুলাইজেশনকে তেমন প্রভাবিত করে না, কিন্তু বড় ওয়েট ব্যাপক প্রভাব ফেলতে পারে। উদাহরণস্বরূপ, পূর্ববর্তী গণনায়:

  • একটিমাত্র ওজন ( w₃ ) মোট জটিলতার প্রায় ৯৩% অবদান রাখে।
  • বাকি পাঁচটি ওয়েট সম্মিলিতভাবে মোট জটিলতার মাত্র প্রায় ৭% অবদান রাখে।

L2 রেগুলারাইজেশন ওয়েটগুলোকে শূন্যের দিকে উৎসাহিত করে, কিন্তু কখনোই ওয়েটগুলোকে একেবারে শূন্যে ঠেলে দেয় না।

অনুশীলনী: আপনার বোধগম্যতা যাচাই করুন।

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

নিয়মিতকরণের হার (ল্যাম্বডা)

যেমনটি উল্লেখ করা হয়েছে, প্রশিক্ষণ ক্ষতি এবং জটিলতার কোনো একটি সংমিশ্রণকে ন্যূনতম করার চেষ্টা করে:

$$\text{minimize(loss} + \text{ complexity)}$$

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

অর্থাৎ, মডেল ডেভেলপারদের লক্ষ্য থাকে নিম্নলিখিত বিষয়গুলো করা:

$$\text{minimize(loss} + \lambda \text{ complexity)}$$

একটি উচ্চ নিয়মিতকরণের হার:

  • এটি রেগুলারাইজেশনের প্রভাবকে শক্তিশালী করে, ফলে ওভারফিটিং-এর সম্ভাবনা কমে যায়।
  • এটি মডেল ওয়েটগুলোর এমন একটি হিস্টোগ্রাম তৈরি করে, যার নিম্নলিখিত বৈশিষ্ট্যগুলো থাকে:
    • একটি স্বাভাবিক বন্টন
    • গড় ওজন ০।

একটি কম নিয়মিতকরণের হার:

  • এটি রেগুলারাইজেশনের প্রভাব কমিয়ে দেয়, ফলে ওভারফিটিং হওয়ার সম্ভাবনা বেড়ে যায়।
  • এর ফলে মডেল ওয়েটগুলোর একটি হিস্টোগ্রাম তৈরি হয় যার বিন্যাস সমতল হয়ে থাকে।

উদাহরণস্বরূপ, উচ্চ রেগুলাইজেশন রেটের জন্য মডেল ওয়েটগুলোর হিস্টোগ্রামটি চিত্র ১৮-তে দেখানো হিস্টোগ্রামের মতো দেখতে হতে পারে।

চিত্র ১৮। একটি মডেলের ওয়েটসমূহের হিস্টোগ্রাম, যার গড় শূন্য এবং যা একটি স্বাভাবিক বন্টন অনুসরণ করে।
চিত্র ১৮। উচ্চ রেগুলাইজেশন রেটের জন্য ওয়েট হিস্টোগ্রাম। গড় শূন্য। স্বাভাবিক বন্টন।

এর বিপরীতে, কম রেগুলাইজেশন রেট একটি অপেক্ষাকৃত সমতল হিস্টোগ্রাম তৈরি করে, যেমনটি চিত্র ১৯-এ দেখানো হয়েছে।

চিত্র ১৯। শূন্য গড় বিশিষ্ট একটি মডেলের ওয়েটসমূহের হিস্টোগ্রাম যা একটি ফ্ল্যাট ডিস্ট্রিবিউশন এবং একটি নরমাল ডিস্ট্রিবিউশনের মাঝামাঝি অবস্থানে রয়েছে।
চিত্র ১৯। নিম্ন রেগুলাইজেশন রেটের জন্য ওয়েট হিস্টোগ্রাম। গড় শূন্য হতেও পারে, নাও হতে পারে।

নিয়মিতকরণের হার বাছাই করা

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

আর্লি স্টপিং: জটিলতা-ভিত্তিক রেগুলাইজেশনের একটি বিকল্প

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

যদিও সময়ের আগে থামানো সাধারণত ট্রেনিং লস বাড়িয়ে দেয়, এটি টেস্ট লস কমাতে পারে।

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

লার্নিং রেট এবং রেগুলারাইজেশন রেটের মধ্যে ভারসাম্য খুঁজে বের করা

লার্নিং রেট এবং রেগুলাইজেশন রেট সাধারণত ওয়েটগুলোকে বিপরীত দিকে চালিত করে। উচ্চ লার্নিং রেট প্রায়শই ওয়েটগুলোকে শূন্য থেকে দূরে টেনে নিয়ে যায়; অন্যদিকে উচ্চ রেগুলাইজেশন রেট ওয়েটগুলোকে শূন্যের দিকে ঠেলে দেয়।

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

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