অপ্টিমাইজার হিসাবে গ্রেডিয়েন্ট বংশোদ্ভূত হওয়ার সাথে (পদ্ধতিগতভাবে) টিউন শিক্ষার হার কীভাবে করবেন?


12

এমএল / ডিএল ক্ষেত্রে একজন বহিরাগত; টেনস্রোফ্লো ভিত্তিক যা উদ্যাতি ডিপ লার্নিং কোর্স শুরু করেছে; অ্যাসাইনমেন্ট করা 3 সমস্যা 4; নিম্নলিখিত কনফিগারেশনের মাধ্যমে শিক্ষার হার টিউন করার চেষ্টা করছেন:

  • ব্যাচের আকার 128
  • পদক্ষেপের সংখ্যা: 2 টি যুগ পূরন করতে যথেষ্ট
  • লুকানো স্তরগুলির আকার: 1024, 305, 75
  • ওজন সূচনা: স্ট্যান্ড সহ সাধারণ কাটা হয়েছে। স্কয়ার্ট (2 / n) এর বিচ্যুতি যেখানে n পূর্ববর্তী স্তরের আকার
  • ড্রপআউট সম্ভাবনা রাখুন: 0.75
  • নিয়মিতকরণ: প্রয়োগ করা হয়নি
  • শিক্ষার হার অ্যালগরিদম: ক্ষতিকারক ক্ষয়

শিখার হারের পরামিতিগুলির সাথে প্রায় খেলেছে; তারা বেশিরভাগ ক্ষেত্রে কার্যকর বলে মনে হচ্ছে না; কোড এখানে ; ফলাফল:

Accuracy    learning_rate   decay_steps     decay_rate      staircase
93.7        .1              3000            .96             True
94.0        .3              3000            .86             False
94.0        .3              3000            .96             False
94.0        .3              3000            .96             True
94.0        .5              3000            .96             True
  • পদ্ধতিগতভাবে শেখার হার টিউন করা উচিত কীভাবে?
  • শিক্ষার হার কীভাবে পদক্ষেপের সংখ্যার সাথে সম্পর্কিত?

1
টিপট স্বয়ংক্রিয় এমএল টিউনিং পাইপলাইন সরবরাহ করে
ডেনফ্রুমুফা 11:51

উত্তর:


4

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

কোড সম্পর্কিত, এই টিউটোরিয়ালটি একবার দেখুন । এটি এবং এটি কয়েকটি উদাহরণ।

ব্যক্তিগতভাবে, আমি অ্যাডাম বা আরএমএসপ্রপ ব্যবহার করার পরামর্শ দিই। সেট করার জন্য এখনও কিছু হাইপারপ্যারামিটার রয়েছে, তবে কিছু "স্ট্যান্ডার্ড" রয়েছে যা সময়ের 99% কাজ করে। আদমের জন্য আপনি তাকান করতে পারেন তার কাগজ এবং RMSprop জন্য এই স্লাইড

সম্পাদনা

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

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

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

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


আমি কোডটিতে ইতিমধ্যে গ্রেডিয়েন্ট বংশোদ্ভূত অপ্টিমাইজার ব্যবহার করছি। লিঙ্কগুলির জন্য ধন্যবাদ!
থোরান

@ থোরান ওকে, কোডটি পড়েনি: ডি (এবং প্রশ্নটি কোনও অপ্টিমাইজারের উল্লেখ করে না)। আপনাকে আরও কিছু সহায়তা দেওয়ার জন্য আমি আমার উত্তর সম্পাদনা করেছি :)
সাইমন

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

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

খুব দুর্দান্ত জিনিস, এটি হজম করতে আমার কিছুটা সময় লাগবে: ডি
থোরান

1

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

এটি করার জন্য জনপ্রিয় একটি লাইব্রেরি হ'ল স্পিয়ার্মিন্ট।

https://github.com/JasperSnoek/spearmint


1

হাইপারগ্র্যাডিয়েন্ট বংশোদ্ভূত বিকাশের সাথে অনলাইনে লার্নিং রেট অ্যাডাপ্টেশনটিতে একটি খুব সাম্প্রতিক স্বয়ংক্রিয় শেখার-হার টিউনার দেওয়া হয়েছে

এই পদ্ধতিটি বাস্তবায়নের জন্য খুব সোজা, এসজিডির মূল ফলাফলটি দেওয়া হল:

αt=αt1+βf(θt1)Tf(θt2)

যেখানে হ'ল হাইপারপ্যারামিটার। পদ্ধতিটি অন্যান্য গ্রেডিয়েন্ট-ভিত্তিক আপডেটগুলিতেও প্রযোজ্য ( গতিবেগ ভিত্তিক পদ্ধতি)। কোনও বৈধতা সেট প্রয়োজন নেই: এর জন্য কেবল পূর্ববর্তী গ্রেডিয়েন্ট, । ধারণাটি হ'ল আলফার জন্য আপডেটের নিয়মাবলী অর্জনের জন্য উদ্দেশ্যমূলক ক্রিয়াটি শিখার হার ( ) এর আংশিক ডেরাইভেটিভ ব্যবহার করা ।যেমন ( θ টি - 2 ) αβe.g.f(θt2)α

উপাখ্যান্তভাবে, আমি এটি আমার বিদ্যমান সমস্যার শীর্ষে প্রয়োগ করেছি এবং আরও ভাল ফলাফল লক্ষ্য করেছি। আমি বা টিউন করিনি , তবে কাগজ থেকে প্রস্তাবিত রেঞ্জগুলি থেকে বেছে নিয়েছি।α 0βα0


0

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


হোল্ডআউট ডেটাसेट কীভাবে পরীক্ষা বা বৈধতা ডেটাসেট থেকে আলাদা?
থোরান

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

আপনার ব্যাখ্যা দেওয়ার জন্য সময় দেওয়ার জন্য @ আলিরিজা ধন্যবাদ। আমি ইতিমধ্যে বৈধতা ডেটাसेट ব্যবহার করছি। এবং পরীক্ষা ছাড়াই নির্ভুলতা পরিমাপ করা সম্ভব নয়!
থোরান

ঠিক আছে, আপনার আসল প্রশ্নটি শিক্ষার হার নির্ধারণের বিষয়ে ছিল: যদি আপনার মূল পোস্টে প্রথম কলামটি যথাযথভাবে অনুষ্ঠিত হয় (প্রশিক্ষণ নয়) তবে আপনি 0.5 টি 0.1 এর চেয়ে ভাল (যদিও আপনার মানগুলি> 0.5 ব্যবহার করে চালিয়ে যাওয়া উচিত) বলতে পারেন। [দ্রষ্টব্য: আপনি যদি পুনরায় পরীক্ষা-নিরীক্ষা করেন তবে পরীক্ষার জন্য কিছু তথ্য বিভক্ত করে রাখুন]
আলিরিজা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.