যখন আমার নিউরাল নেটওয়ার্কটি ভালভাবে জেনারেল হয় না তখন আমি কী করব?


37

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


প্রশ্ন হিসাবে

আমার নিউরাল নেটওয়ার্কটি শিখতে না পারলে আমার কী করা উচিত?

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

মেটাতে উত্সর্গীকৃত থ্রেড দেখুন:

এমন কোনও জেনেরিক প্রশ্ন রয়েছে যার দিকে আমরা "আমার স্নায়ুতন্ত্রের নেটওয়ার্কটি কেন ভালভাবে সাধারণকরণ করে না?" টাইপের প্রশ্নগুলি পুনর্নির্দেশ করতে পারে?


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

@ অ্যামিবা আহ, আমি জানতাম না: আমি যখন প্রশ্নের উত্তর দেওয়ার চেষ্টা করি তখন ইউআই একটি পপ-আপ খুলে দেয়, তাই আমি ভেবেছিলাম প্রশ্নোত্তর উত্তর এক সাথে পোস্ট করা যাবে না .... ভাল, কেউ যদি আরও ভাল / আরও কিছু লেখেন আমি যা লিখতে যাচ্ছিলাম তার চেয়ে সম্পূর্ণ উত্তর, আমি কেবল একটি সদৃশ যুক্ত করা এড়াব।
ডেল্টাভিও

উত্তর:


37

প্রথম সব, এর কী উল্লেখ করা যাক "আমার স্নায়ুর নেটওয়ার্ক সাধারণের নেই ভাল" গড় এবং কি বলছে সঙ্গে পার্থক্য "আমার স্নায়ুর নেটওয়ার্ক ভালো নেই"

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

আপনার মডেল কেন সঠিকভাবে সাধারণীকরণ করছে না?

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

Overfitting রাষ্ট্র যেখানে মূল্নির্ধারক এত ভাল এটি মডেল শুরু করেছে ট্রেনিং সেট শিখতে শুরু করেছেন গোলমাল প্রশিক্ষণ নমুনার মধ্যে (সমস্ত দরকারী সম্পর্ক ব্যতীত)।

উদাহরণস্বরূপ, নীচের চিত্রটিতে আমরা দেখতে পাচ্ছি যে নীল রেখায় কীভাবে স্পষ্টভাবে ফিট রয়েছে।

তবে কেন এই খারাপ?

নতুন, পূর্বে অদেখা তথ্য (যেমন বৈধকরণ / পরীক্ষার সেট) সম্পর্কে আমাদের মডেলটি মূল্যায়ন করার চেষ্টা করার সময় , মডেলটির পারফরম্যান্স আমরা যা প্রত্যাশা করি তার থেকেও খারাপ হবে ।

কীভাবে বাধা দেওয়া যায়?

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

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

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

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

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

ব্যবহারিক পরামর্শ:

  • এখন পর্যন্ত সবচেয়ে কার্যকর নিয়ন্ত্রণ কৌশল হ'ল ড্রপআউট , যার অর্থ এটি আপনার ব্যবহার করা উচিত be তবে, আপনার সর্বত্র ড্রপআউট স্থাপন করার প্রয়োজন নেই (এবং সম্ভবত হওয়া উচিত নয়)! ওভারফিটিংয়ের সবচেয়ে প্রবণ স্তরগুলি হ'ল ফুল কানেক্টেড (এফসি) স্তরগুলি, কারণ সেগুলিতে সর্বাধিক পরামিতি থাকে। এই স্তরগুলিতে ড্রপআউট প্রয়োগ করা উচিত (পরবর্তী স্তরের সাথে তাদের সংযোগকে প্রভাবিত করবে)।
  • নিয়মিতকরণ প্রভাব ছাড়াও ব্যাচের সাধারণকরণ আরও বিভিন্ন উপায়ে আপনার মডেলকে সহায়তা করে (উদাহরণস্বরূপ, রূপান্তরকে গতি দেয়, উচ্চতর শিক্ষার হারগুলি ব্যবহারের অনুমতি দেয়)। এটিও এফসি স্তরগুলিতে ব্যবহার করা উচিত।
  • পূর্বে উল্লিখিত হিসাবে নির্ধারিত চেয়ে প্রশিক্ষণ পর্বে আপনার মডেলটি বন্ধ করা উপকারী হতে পারে। প্রথমদিকে থামার সমস্যাটি হ'ল কোনও গ্যারান্টি নেই যে, কোনও নির্দিষ্ট সময়ে, মডেলটি আবারো উন্নতি শুরু করবে না। প্রারম্ভিক থামার চেয়ে আরও কার্যকর ব্যবহারিক পদ্ধতির মডেলটির ওজন সংরক্ষণ করা যা বৈধতা সেটটিতে সেরা পারফরম্যান্স অর্জন করে। তবে সাবধান থাকুন, কারণ এটি আপনার মডেলের পারফরম্যান্সের একটি পক্ষপাতহীন অনুমান নয় (প্রশিক্ষণের সেটের তুলনায় আরও ভাল)। আপনি বৈধতা সেট ওভারফিট করতে পারেন । আরও পরে।
    কেরাস বাস্তবায়ন
  • কিছু অ্যাপ্লিকেশনগুলিতে (উদাহরণস্বরূপ চিত্র সম্পর্কিত কাজগুলি) ইতিমধ্যে প্রতিষ্ঠিত আর্কিটেকচার (যেমন ভিজিজি, রেজনেট, ইনসেপশন) অনুসরণ করার জন্য অত্যন্ত সুপারিশ করা হয়, যার জন্য আপনি ইমেজনেট ওজন পেতে পারেন। এই ডেটাসেটের জেনেরিক প্রকৃতি, বৈশিষ্ট্যগুলিকে কোনও চিত্র সম্পর্কিত কাজের জন্য যথেষ্ট জেনেরিক হতে দেয়। এটি অত্যধিক মানিয়ে নিতে দৃust় হওয়ার পাশাপাশি প্রশিক্ষণের সময় হ্রাস করবে।
    অনুরূপ ধারণার আর একটি ব্যবহার নিম্নলিখিত: আপনার টাস্কে যদি খুব বেশি ডেটা না থাকে তবে আপনি অন্য একটি অনুরূপ টাস্ক খুঁজে পেতে পারেন তবে আপনি ওভারফিটিং হ্রাস করতে ট্রান্সফার লার্নিং ব্যবহার করতে পারেন । বৃহত্তর ডেটাসেট রয়েছে এমন কাজের জন্য প্রথমে আপনার নেটওয়ার্কটিকে প্রশিক্ষণ দিন এবং তারপরে সূক্ষ্ম-সুর করার চেষ্টা করুনআপনি প্রথমে যা চেয়েছিলেন তার মডেল। প্রাথমিক প্রশিক্ষণটি বেশিরভাগ ক্ষেত্রে আপনার মডেলকে ওভারফিট করার ক্ষেত্রে আরও দৃust় করে তুলবে।
  • ডেটা বৃদ্ধি । যদিও এটি সর্বদা একটি বৃহত্তর ডেটাসেট রাখতে সহায়তা করে, ডেটা বৃদ্ধির কৌশলগুলির ত্রুটি রয়েছে। আরও সুনির্দিষ্টভাবে, আপনাকে খুব জোরালোভাবে বৃদ্ধি না করার বিষয়ে সতর্কতা অবলম্বন করতে হবে , কারণ এটি ডেটাগুলির শব্দার্থক সামগ্রীকে নষ্ট করতে পারে। উদাহরণস্বরূপ চিত্রের বৃদ্ধিতে উদাহরণস্বরূপ, আপনি যদি অনুবাদ / শিফট / স্কেল অনুবাদ করেন বা উজ্জ্বলতাটি সামঞ্জস্য করেন / চিত্রটির বিপরীতে চিত্রটি খুব বেশি পরিমাণে হারিয়ে ফেলেন তবে আপনি এতে থাকা তথ্যের অনেকটাই হারাবেন। তদ্ব্যতীত, প্রতিটি কাজের জন্য একটি অ্যাডহক ফ্যাশনে বৃদ্ধির স্কিমগুলি প্রয়োগ করা দরকার (উদাহরণস্বরূপ হাতে লেখা অঙ্কের স্বীকৃতিতে অঙ্কগুলি সাধারণত সংযুক্ত থাকে এবং খুব বেশি ঘোরানো উচিত নয়; এছাড়াও তারা কোনও দিকে উল্টানো উচিত নয়, যেমন তারা অনুভূমিকভাবে / উল্লম্বভাবে সিমেট্রিক নয় medical মেডিকেল চিত্রগুলির ক্ষেত্রেও এটি যায়)।
    সংক্ষেপে সতর্কতা অবলম্বন করুন ডেটা বৃদ্ধির মাধ্যমে অ বাস্তবসম্মত চিত্র তৈরি না করা । তদুপরি, বর্ধিত ডেটাসেট আকারের জন্য আরও দীর্ঘ প্রশিক্ষণের সময় প্রয়োজন হবে। ব্যক্তিগতভাবে, আমি যখন দেখি যে আমার মডেলটি প্রশিক্ষণ সংস্থায় লোকসানের কাছাকাছি পৌঁছেছে তখন ডেটা বৃদ্ধির বিষয়টি বিবেচনা করা শুরু করি ।0

9

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

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

1. আপনার প্রত্যাশা সঠিকভাবে সেট করুন

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

বর্তমানের অত্যাধুনিক কনভ্যুশনাল নিউরাল নেটওয়ার্কগুলি কী কী?

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

২. নিশ্চিত করুন যে আপনার প্রশিক্ষণের পদ্ধতিটি ত্রুটিহীন

প্রশ্নের উত্তরে বর্ণিত সমস্ত চেক

আমার নিউরাল নেটওয়ার্কটি শিখতে না পারলে আমার কী করা উচিত?

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

  • ইউনিট পরীক্ষা
  • ডেটাসেট চেক (প্রশিক্ষণ সেট এবং পরীক্ষা সেট উভয়ের জন্য কয়েকটি এলোমেলো ইনপুট / লেবেলের নমুনাগুলি একবার দেখুন এবং লেবেলগুলি সঠিক কিনা তা পরীক্ষা করুন; ইনপুট চিত্রগুলির প্রস্থ এবং আকার চেক করুন; প্রশিক্ষণ / পরীক্ষার সেটে নমুনাগুলি পরিবর্তন করুন এবং দেখুন এটি প্রভাবিত করে কিনা ফলাফল; ইত্যাদি)
  • র্যান্ডমাইজেশন পরীক্ষা
  • আপনার প্রিপ্রোসেসিং এবং প্যাকেজ সংস্করণগুলিকে মানিক করুন
  • সংখ্যাগত পরীক্ষাগুলির একটি লগবুক রাখুন

৩. সুপার কনভার্জেন্সি পাওয়ার চেষ্টা করুন

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

৪) আপনার নিয়মিতকরণকে ম্যাক্সএক্সএক্সএক্স সেট করা হচ্ছে

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

প্রাচীনতম নিয়মিতকরণ পদ্ধতিগুলি সম্ভবত তাড়াতাড়ি থামানো এবং ওজন ক্ষয়। অন্যদের মধ্যে কিছু:

  • ব্যাচের আকার হ্রাস করুন: ছোট ব্যাচের আকারগুলি সাধারণত ছোট সাধারণীকরণের ত্রুটির সাথে যুক্ত হয়, তাই এটি চেষ্টা করার মতো something যাইহোক, লক্ষ্য করুন যে কিছু মিনিবিচের ব্যবহারিকতার বিষয়ে বিতর্ক করে: আমার অভিজ্ঞতায় তারা সহায়তা করে (যতক্ষণ না আপনাকে মতো ক্ষুদ্র ক্ষুদ্র আকারের ব্যবহার করতে হবে ) তবে এলাদ হফফার, ইতায়ে হুবার, ড্যানিয়েল সৌদ্রি ট্রেন দীর্ঘতর, আরও সাধারণকরণ: নিউরাল নেটওয়ার্কগুলির বৃহত ব্যাচের প্রশিক্ষণে সাধারণীকরণের ব্যবধানটি বন্ধ করে দেওয়া একমত নয়। মনে রাখবেন যে আপনি যদি ব্যাচের আদর্শ ব্যবহার করেন (নীচে দেখুন), খুব ছোট মিনিব্যাচগুলি বেশ ক্ষতিকারক হবে।m=16
  • অভিযোজক অপ্টিমাইজারগুলির চেয়ে এসজিডি ব্যবহার করুন: এটি ইতিমধ্যে @ শিমাও দ্বারা আচ্ছাদন করা হয়েছে, সুতরাং আমি কেবল এটি সম্পূর্ণতার জন্যই উল্লেখ করেছি
  • ড্রপআউট ব্যবহার করুন: আপনি যদি LSTM ব্যবহার করেন তবে কেবলমাত্র LSTM স্তরটির ইনপুট এবং আউটপুট ইউনিটের জন্য স্ট্যান্ডার্ড ড্রপআউট ব্যবহার করুন। পুনরাবৃত্ত ইউনিটগুলির জন্য (গেটগুলি) পুনরাবৃত্ত ড্রপআউট ব্যবহার করুন, যেমন প্রথম তার পিএইচডি তে ইয়ারিন গাল দেখিয়েছেন as থিসিস । তবে আপনি যদি সিএনএন ব্যবহার করেন তবে ড্রপআউট এখন কম ঘন ঘন ব্যবহৃত হয়। পরিবর্তে, আপনি ঝোঁক ...
  • ... ব্যাচের নরমালাইজেশন ব্যবহার করুন: সর্বাধিক সাম্প্রতিক সিএনএন আর্কিটেকচারগুলি ব্যাচের সাধারণীকরণের পক্ষে ড্রপআউটকে এড়িয়ে চলে। এটি কেবল একটি অভিনব হতে পারে, বা এটি সম্ভবত স্পষ্টতই ড্রপআউট এবং ব্যাচের স্বাভাবিককরণ একসাথে ভাল খেলতে না পারার কারণে হতে পারে (জিয়াং লি, শুও চেন, জিয়াওলিন হু, জিয়াং ইয়াং, ভেরিয়েন্সের মাধ্যমে ড্রপআউট এবং ব্যাচের সাধারণকরণের মধ্যে বৈষম্য বোঝা শিফট )। আপনার কাছে বিশাল ডেটা সেট থাকাকালীন ব্যাচের আদর্শ ড্রপআউটের চেয়ে কার্যকর কারণ এটি সিএনএন আর্কিটেকচারের পক্ষে ড্রপআউটকে কমে যাওয়ার কারণ হতে পারে। আপনি যদি ব্যাচের সাধারণকরণ ব্যবহার করেন তবে যাচাই করুন যে প্রতিটি স্তরের জন্য ওজন এবং বায়াসগুলির বিতরণ প্রায় সাধারণ দেখতে সাধারণ দেখাচ্ছে। আরএনএনগুলির জন্য, ব্যাচের আদর্শ বাস্তবায়ন জটিল: ওজন স্বাভাবিককরণ (টিম সালিমানস, ডিয়েডেরিক পি। কিংমা,ওজন সাধারণকরণ: গভীর স্নায়ুবিক নেটওয়ার্কগুলির প্রশিক্ষণ ত্বরান্বিত করার জন্য একটি সহজ পুনঃনির্ধারণ ) একটি কার্যকর বিকল্প।
  • ডেটা বৃদ্ধির ব্যবহার করুন: এটিরও নিয়মিত প্রভাব রয়েছে।

5. হাইপারপ্যারমিটার / আর্কিটেকচার অনুসন্ধান

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

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


5

আমি নিয়মিত ব্যবহার কৌশলগুলির একটি তালিকা যা আমি সাহিত্যে দেখেছি:

  1. ব্যাচের নরমালাইজেশন ব্যবহার করা, যা অবাক করার মতো কার্যকর নিয়মিতকরণ যেখানে আমি খুব কমই আর ড্রপআউট ব্যবহার করতে দেখি, কারণ এটি কেবল প্রয়োজনীয় নয়।
  2. অল্প পরিমাণে ওজন ক্ষয়।
  3. আরও কিছু সাম্প্রতিক নিয়মিতকরণের কৌশলগুলির মধ্যে রয়েছে শেক-শেক (জ্যাভিয়ার গাস্টালডি দ্বারা "শেক-শেক নিয়ন্ত্রণকরণ") এবং কাটআউট (টেরেন্স ডিভিরিজ এবং গ্রাহাম ডাব্লু টেইলর দ্বারা "কাটআউট উইন্ডো কনভলিউশনাল নিউরাল নেটওয়ার্কগুলির উন্নত নিয়মিতকরণ")। বিশেষত, কাটআউটটি যে স্বাচ্ছন্দ্যের সাথে কার্যকর করা যায় তা এটিকে খুব আকর্ষণীয় করে তোলে। আমি এই কাজগুলি ড্রপআউটের চেয়ে ভাল বলে বিশ্বাস করি - তবে আমি নিশ্চিত নই।
  4. যদি সম্ভব হয় তবে সম্পূর্ণ সংযুক্ত স্তরযুক্ত আর্কিটেকচারের কাছে সম্পূর্ণ সমঝোতা আর্কিটেকচারকে পছন্দ করুন। ভিজিজি -১ 16 এর তুলনা করুন, যার একক সম্পূর্ণ সংযুক্ত স্তরে 100 মিলিয়ন পরামিতি রয়েছে, রেসনেট -152 এর সাথে তুলনা করুন, এতে স্তরগুলির সংখ্যার 10 গুণ বেশি এবং এখনও কম পরামিতি রয়েছে।
  5. এসএমডিকে অন্যান্য অপ্টিমাইজার যেমন র্যামসপ্রপ এবং অ্যাডামের কাছে পছন্দ করুন। এটি আরও সাধারণভাবে উন্নত দেখানো হয়েছে। ("আদম থেকে এসজিডি তে স্যুইচিংয়ের মাধ্যমে জেনারালাইজেশন পারফরম্যান্স উন্নত করা" নীতিশ শিরিশ কেশকার এবং রিচার্ড সোকার লিখেছেন)

0

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

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

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

  1. বৈশিষ্ট্য নির্বাচন সনাক্তকরণ : আপনার মডেলের কম সংখ্যক প্যারামিটার এবং কম বৈশিষ্ট্যগুলি আরও ভাল। সুতরাং আপনি যদি ১০০ মিলিয়নের মধ্যে কেবল গুরুত্বপূর্ণটিকে অন্তর্ভুক্ত করেন (এর পরিবর্তে 75৫ মিলিয়ন থাকতে পারে) তবে আপনার কাছে আরও ভাল সাধারণকরণযোগ্য মডেল থাকবে। সমস্যাটি হ'ল অনেক নিউরাল নেটওয়ার্ক বৈশিষ্ট্য নির্বাচনের ক্ষেত্রে নিখুঁত নয় বিশেষত যখন # 2 উপস্থিত থাকে। বুটস্ট্র্যাপ বা বুস্টিং মৌলিকভাবে উভয়ই ঠিক করতে পারে না (কেবলমাত্র একটি সংস্করণ বন্য বুটস্ট্র্যাপ ক্যান) সহজ কথায়, যদি আপনি নিউরাল নেটওয়ার্ক জাঙ্ক ডেটা দেন তবে এটি আপনাকে জাঙ্ক আউট দেবে। (উপরে উল্লিখিত এল 2 নরমালাইজেশন এটির সাথে সহায়তা করার ক্ষেত্রে খুব ভাল)

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

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

পিএস আমি আরও লিঙ্ক অন্তর্ভুক্ত করা উচিত?

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.