বহু-সশস্ত্র দস্যুদের পরিচিতি

TensorFlow.org এ দেখুন Google Colab-এ চালান GitHub-এ উৎস দেখুন নোটবুক ডাউনলোড করুন

ভূমিকা

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

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

বহু সশস্ত্র দস্যু

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

MAB-এর আরও ব্যবহারিক দৃষ্টান্তে প্রতিবার শিক্ষার্থী যখনই সিদ্ধান্ত নেয় তখন পার্শ্ব তথ্যের একটি অংশ জড়িত থাকে। আমরা এই পার্শ্ব তথ্যকে "প্রসঙ্গ" বা "পর্যবেক্ষণ" বলি।

মাল্টি-আর্মড দস্যু এবং শক্তিবৃদ্ধি শিক্ষা

কেন TF-এজেন্ট লাইব্রেরিতে একটি MAB স্যুট আছে? RL এবং MAB এর মধ্যে সংযোগ কি? বহু-সশস্ত্র দস্যুদের রিইনফোর্সমেন্ট লার্নিং এর একটি বিশেষ কেস হিসেবে ভাবা যেতে পারে। উদ্ধৃত করা আরএল করার ইন্ট্রো :

প্রতিটি সময় ধাপে, প্রতিনিধি নীতি উপর ভিত্তি করে পরিবেশ উপর ক্রিয়া লাগে \(\pi(a_t|s_t)\), যেখানে \(s_t\) পরিবেশ থেকে বর্তমান পর্যবেক্ষণ, এবং একটি পুরস্কার পায় \(r_{t+1}\) এবং পরবর্তী পর্যবেক্ষণ \(s_{t+1}\) পরিবেশ থেকে . লক্ষ্য হল নীতির উন্নতি করা যাতে পুরষ্কারের যোগফল (রিটার্ন) সর্বাধিক করা যায়।

সাধারণ আরএল ক্ষেত্রে, পরবর্তী পর্যবেক্ষণ \(s_{t+1}\) পূর্বের অবস্থায় উপর নির্ভর করে \(s_t\) এবং কর্ম \(a_t\) নীতি দ্বারা নেওয়া। এই শেষ অংশটি হল যা MAB কে RL থেকে আলাদা করে: MAB-তে, পরবর্তী অবস্থা, যা হল পর্যবেক্ষণ, এজেন্ট দ্বারা নির্বাচিত কর্মের উপর নির্ভর করে না।

এই সাদৃশ্যটি আমাদের TF-এজেন্টে বিদ্যমান সমস্ত ধারণাকে পুনরায় ব্যবহার করতে দেয়।

  • একটি পরিবেশ পর্যবেক্ষণ, এবং পুরষ্কার সঙ্গে ক্রিয়া সাড়া আউটপুট।
  • একটি নীতি একটি পর্যবেক্ষণ উপর ভিত্তি করে একটি কর্ম আউটপুট, এবং
  • এজেন্ট বারবার নীতি পূর্ববর্তী পর্যবেক্ষণ অ্যাকশন-পুরস্কার tuples উপর ভিত্তি করে আপডেট।

মাশরুম পরিবেশ

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

মাশরুম

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

           | edible | poisonous
-----------|--------|----------
eating it  |     +5 | -35 / +5
leaving it |      0 |        0

LinUCB এজেন্ট

একটি প্রাসঙ্গিক দস্যু পরিবেশে ভাল পারফর্ম করার জন্য প্রতিটি কর্মের পুরষ্কার ফাংশনের উপর একটি ভাল অনুমান প্রয়োজন, পর্যবেক্ষণ দেওয়া হয়। একটি সম্ভাবনা হল রৈখিক ফাংশন সহ পুরস্কার ফাংশন অনুমান করা। হয়, প্রত্যেক ক্রিয়ারই যে \(i\), আমরা প্যারামিটার খোঁজার চেষ্টা করছেন \(\theta_i\in\mathbb R^d\) যা অনুমান

\(r_{t, i} \sim \langle v_t, \theta_i\rangle\)

যতটা সম্ভব বাস্তবতার কাছাকাছি। এখানে \(v_t\in\mathbb R^d\) সময় পদে পদে পেয়েছি প্রসঙ্গ হল \(t\)। তারপর, যদি এজেন্ট তার অনুমান খুব আত্মবিশ্বাসী, এটা নির্বাচন করতে পারবেন \(\arg\max_{1, ..., K}\langle v_t, \theta_k\rangle\) সর্বোচ্চ প্রত্যাশিত প্রতিদান পেতে।

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

  1. এটা তোলে লিনিয়ার লিস্ট স্কোয়ার প্রতি বাহুর পরামিতি জন্য অনুমান বজায় রাখে: \(\hat\theta_i\sim X^+_i r_i\), যেখানে \(X_i\) এবং \(r_i\) স্তুপীকৃত প্রেক্ষিতে এবং চক্রের পুরষ্কার যেখানে বাহু হয় \(i\) ছিলেন মনোনীত এবং \(()^+\) ছদ্ম বিপরীত হয় .
  2. এটা আস্থা ellipsoids বিপরীত সহভেদাংক দ্বারা সংজ্ঞায়িত বজায় রাখে \(X_i^\top X_i\) উপরে অনুমান জন্য।

LinUCB এর মূল ধারণা হল "অনিশ্চয়তার মুখে আশাবাদ"। এজেন্ট সেই অনুমানের বৈচিত্রের সাথে সামঞ্জস্যপূর্ণ একটি পরিমাণ দ্বারা অনুমানগুলিকে বাড়িয়ে তোলার মাধ্যমে অন্বেষণকে অন্তর্ভুক্ত করে। যে যেখানে আস্থা ellipsoids ছবি মধ্যে আসা: প্রতিবার হাত জন্য, আশাবাদী অনুমান \(\hat r_i = \max_{\theta\in E_i}\langle v_t, \theta\rangle\), যেখানে \(E_i\) উপবৃত্ত প্রায় \(\hat\theta_i\)। এজেন্ট তা চয়ন সেরা রূপ বাহু \(\arg\max_i\hat r_i\)।

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

এরপর কি?

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