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


15

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

গুগল অনুসন্ধান থেকে আমি নিম্নলিখিত উত্তরগুলি পেয়েছি:

  • এটি প্রশিক্ষণকে দ্রুত রূপান্তর করতে সহায়তা করে
  • এটি প্রশিক্ষণের সময় কোনও পক্ষপাত প্রতিরোধ করে
  • এটি মডেলটিকে প্রশিক্ষণের ক্রম শিখতে বাধা দেয়

তবে, এগুলির যে কোনও প্রভাব এলোমেলোভাবে পরিবর্তিত হওয়ার কারণে কেন তা বুঝতে আমার সমস্যা হয়। কেউ কি একটি স্বজ্ঞাত ব্যাখ্যা দিতে পারেন?

উত্তর:


8

অন্য ব্যাখ্যা দেওয়ার চেষ্টা করার জন্য:

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

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


1
একটি নিউরাল নেটওয়ার্ক যাতে প্রতিটি যুগের মধ্যে তথ্য দেওয়া হয় সেই ক্রমটি কীভাবে শিখতে পারে?
কোড পোপ

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

6

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


6

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

নিউরাল নেটওয়ার্কের প্রশিক্ষণের প্রক্রিয়া হ'ল লস ফাংশনের ন্যূনতম মান , যেখানে নিউরন এবং মধ্যে ম্যাট্রিক্স (বা বেশ কয়েকটি ম্যাট্রিক) প্রতিনিধিত্ব করে প্রশিক্ষণ ডেটাসেটকে উপস্থাপন করে। আমি একটি সাবস্ক্রিপ্ট ব্যবহার ইঙ্গিত রয়েছে যা আমাদের কম শুধুমাত্র ওজন বেশি ঘটে (যে, আমরা কি খুঁজছি যেমন যে কমিয়ে আনা হয়) যখন সংশোধন করা হয়েছে।X(W)এক্স এক্স ডাব্লু ডাব্লু এক্স এক্সWXXWWX

এখন, আমরা যদি ধরে নেই যে আমরা আছে উপাদান (যে আছে নেটওয়ার্কের মধ্যে ওজন), একটি মধ্যে একটি পৃষ্ঠ হয় -dimensional স্থান। একটি ভিজ্যুয়াল অ্যানালগ দেওয়ার জন্য, কল্পনা করুন যে আমাদের কেবল দুটি নিউরন ওজন রয়েছে ( )। তারপর একটি সহজ জ্যামিতিক ব্যাখ্যা আছে: এটা একটি 3-মাত্রিক স্থান একটি পৃষ্ঠ হয়। এটি এই সত্য থেকেই উদ্ভূত হয় যে ওজনের কোনও প্রদত্ত ম্যাট্রিকের জন্য , ক্ষতির ক্রিয়াটি মূল্যায়ন করা যেতে পারে এবং সেই মানটি পৃষ্ঠের উচ্চতায় পরিণত হয়।ডব্লু পি PWPপি = 2 ডাব্লু এক্সP+1P=2WX

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

এর সমাধান হ'ল মিনি ব্যাচের প্রশিক্ষণটি বদলে যাওয়া combined প্রদত্ত পুনরাবৃত্তির সময় সারিগুলিকে পরিবর্তিত করে কেবল সেগুলির একটি উপসেটে প্রশিক্ষণ দেওয়ার মাধ্যমে প্রতিটি পুনরাবৃত্তির সাথে পরিবর্তিত হয় এবং এটি সম্ভবত বেশ সম্ভব যে প্রশিক্ষণের পুনরাবৃত্তির পুরো ক্রম এবং দুটি যুগের পুনরাবৃত্তি ঠিক একই সঞ্চালিত হবে না । এর প্রভাবটি হ'ল সমাধানকারী স্থানীয় ন্যূনতম থেকে খুব সহজেই "বাউন্স" করতে পারেন। কল্পনা করুন যে সমাধানকারী পুনরাবৃত্তির এ স্থানীয় সর্বনিম্ন আটকে প্রশিক্ষণ মিনি- ব্যাচ সঙ্গে । এই স্থানীয় সাথে of ওজনের একটি নির্দিষ্ট মূল্যে মূল্যায়ন; আমরা এটিকেএক্স আমি এক্স আমি এক্স আমি ( ওয়াট আমি ) এক্স আমি + + 1 এক্স আমি + + 1 ( ওয়াট আমি ) এক্স আমি ( ওয়াট আমি ) এক্স আমি + + 1এক্স আমি এক্স ওয়াট ওয়াটXXiXiXi(Wi)। পরবর্তী পুনরাবৃত্তিতে আমাদের ক্ষতির পৃষ্ঠের আকৃতিটি আসলে পরিবর্তিত হয় কারণ আমরা using ব্যবহার করছি , অর্থাৎ, from থেকে খুব আলাদা মান গ্রহণ করতে পারে এবং এটি সম্ভব যে এটি কোনও স্থানীয় সাথে মিলে না! আমরা এখন একটি গ্রেডিয়েন্ট আপডেট গণনা করতে পারি এবং প্রশিক্ষণ দিয়ে চালিয়ে যেতে পারি। স্পষ্ট হবে: আকৃতি হবে - সাধারণভাবে - যা থেকে আলাদা হতে। মনে রাখবেন যে, এখানে আমি ক্ষয় ফাংশন উল্লেখ করছি একটি প্রশিক্ষণ সেটে মূল্যায়ন ; এটি সমস্ত সম্ভাব্য মানের তুলনায় সংজ্ঞায়িত একটি সম্পূর্ণ পৃষ্ঠ surfaceXi+1Xi+1(Wi)Xi(Wi)Xi+1XiXW, নির্দিষ্ট মানের জন্য সেই ক্ষতির মূল্যায়ন (যা কেবলমাত্র একটি স্কেলার) । এছাড়াও নোট করুন যে যদি মিনি ব্যাচগুলি পরিবর্তন না করে ব্যবহার করা হয় তবে লোকসানের উপরিভাগের "বিবিধকরণ" এর একটি ডিগ্রি এখনও রয়েছে, তবে সলভার দ্বারা দেখা একটি সীমাবদ্ধ (এবং তুলনামূলকভাবে ছোট) সংখ্যার অনন্য ত্রুটি থাকবে (বিশেষত, এটি দেখতে পাবে) মিনি-ব্যাচগুলির একই সঠিক সেট - এবং সেইজন্য লোকসানের পৃষ্ঠগুলি - প্রতিটি যুগের সময়)।W

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


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

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

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

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

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

4

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


1

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

আমি আশা করি যে পরিষ্কার ছিল।


1

এখানে আরও স্বজ্ঞাত ব্যাখ্যা:

গ্রেডিয়েন্ট বংশদ্ভুত ব্যবহার করার সময়, আমরা ক্ষতির গ্রেডিয়েন্টের দিকে যেতে হ্রাস করতে চাই। গ্রেডিয়েন্টটি প্রতিটি রাউন্ড ওজন আপডেটের জন্য একক মিনি ব্যাচ থেকে ডেটা দ্বারা গণনা করা হয়। আমরা যা ঘটতে চাই তা হ'ল এই মিনি-ব্যাচ-ভিত্তিক গ্রেডিয়েন্টটি মোটামুটি জনসংখ্যার গ্রেডিয়েন্ট, কারণ এটি আরও দ্রুত একত্রিত হওয়ার আশা করে। (কল্পনা করুন আপনি যদি নেটওয়ার্কটি একটি মিনি-ব্যাচে 100 ক্লাস 1 ডেটা এবং অন্যটিতে 100 ক্লাস 2 ডেটা খাওয়ান তবে নেটওয়ার্কটি চারপাশে ঘুরে বেড়াবে A

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

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

এটাই আমার বোঝাপড়া। আশা করি এটা সাহায্য করবে.

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