শক্তিবৃদ্ধি শেখার ক্ষেত্রে একটি সীমাবদ্ধ অ্যাকশন স্পেস কীভাবে প্রয়োগ করা যায়?


13

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

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

আসুন আমরা বলি যে এখানে 5 টি ক্রিয়া রয়েছে এবং তাদের প্রাপ্যতা কোনও অভ্যন্তরীণ অবস্থার উপর নির্ভর করে (যা পূর্ববর্তী ক্রিয়া এবং / অথবা নতুন রাষ্ট্র / পর্যবেক্ষণের জায়গার দ্বারা সংজ্ঞায়িত):

  • 2 টি ক্রিয়া (0 এবং 1) সর্বদা উপলব্ধ
  • 2 টি ক্রিয়া (2 এবং 3) কেবল তখনই পাওয়া যায় যখন অভ্যন্তরীণ_সেট == 0 থাকে
  • 1 টি ক্রিয়া (4) কেবল তখনই পাওয়া যায় যখন অভ্যন্তরীণ_সেট == 1 থাকে

সুতরাং, অভ্যন্তরীণ_সেট == 0 এবং অভ্যন্তরীণ_সেট == 1 থাকাকালীন 3 টি ক্রিয়া উপলব্ধ থাকে তখন 4 টি ক্রিয়া উপলব্ধ।

আমি এটি বাস্তবায়নের কয়েকটি সম্ভাবনার কথা ভাবছি:

  1. অভ্যন্তরীণ_সেটের উপর নির্ভর করে প্রতিটি পদক্ষেপে ক্রিয়া স্থান পরিবর্তন করুন। আমি ধরে নিলাম এটি বাজে।
  2. কিছুই করবেন না: মডেলটি বুঝতে দিন যে অনুপলব্ধ ক্রিয়াটি বেছে নেওয়ার কোনও প্রভাব নেই।
  3. করণীয়- কিছুই নয়: মডেলটি অনুপলব্ধ ক্রিয়াটি চয়ন করলে পুরস্কারটিকে কিছুটা নেতিবাচকভাবে প্রভাবিত করে।
  4. মডেলটিকে সহায়তা করুন: রাজ্য / পর্যবেক্ষণের জায়গাতে একটি পূর্ণসংখ্যার অন্তর্ভুক্ত করে যা অভ্যন্তরীণ_সেটের মান + বুলেট পয়েন্ট 2 বা 3 এর মডেলটিকে জানিয়ে দেয়

এটি বাস্তবায়নের অন্যান্য উপায় আছে? আপনার অভিজ্ঞতা থেকে, কোনটি সেরা হবে?

উত্তর:


5

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

উদাহরণস্বরূপ, আপনি যে পরিস্থিতিতে বর্ণনা করেছেন:

  • 2 টি ক্রিয়া (0 এবং 1) সর্বদা উপলব্ধ
  • 2 টি ক্রিয়া (2 এবং 3) কেবল তখনই পাওয়া যায় যখন অভ্যন্তরীণ_সেট == 0 থাকে
  • 1 টি ক্রিয়া (4) কেবল তখনই পাওয়া যায় যখন অভ্যন্তরীণ_সেট == 1 থাকে

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


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


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

আমি অবশ্যই আশা করি পারফরম্যান্সের জন্য উপকারী হবে যদি আপনি internal_stateভেরিয়েবলের জন্য ইনপুট বৈশিষ্ট্য (গুলি) অন্তর্ভুক্ত করতে পারেন ।

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


2

টেনসরফোর্সের মতো কাঠামো ব্যবহার করে রাষ্ট্র পরিচালিত নিয়মের উপর নির্ভরশীল অ্যাকশন স্পেসের উপর নির্দিষ্ট সীমাবদ্ধতা রয়েছে এমন একটি নীতিগত অপ্টিমাইজেশন উপাদান ডিজাইন করা উদ্দেশ্য objective

প্রশ্নে নকশার বিকল্পগুলি তালিকাভুক্ত

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

  • অভ্যন্তরীণ_সেটের উপর নির্ভর করে প্রতিটি পদক্ষেপে ক্রিয়া স্থান পরিবর্তন করুন। আমি ধরে নিলাম এটি বাজে।
  • কিছুই করবেন না: মডেলটি বুঝতে দিন যে অনুপলব্ধ ক্রিয়াটি বেছে নেওয়ার কোনও প্রভাব নেই।
  • করণীয়- কিছুই নয়: মডেলটি অনুপলব্ধ ক্রিয়াটি চয়ন করলে পুরস্কারটিকে কিছুটা নেতিবাচকভাবে প্রভাবিত করে।
  • মডেলটিকে সহায়তা করুন: রাজ্য / পর্যবেক্ষণের জায়গাতে একটি পূর্ণসংখ্যার অন্তর্ভুক্ত করে যা অভ্যন্তরীণ_সেটের মান + বুলেট পয়েন্ট 2 বা 3 এর মডেলটিকে জানিয়ে দেয়

প্রাথমিক বিশ্লেষণ

প্রতিটি পদক্ষেপের জন্য ক্রিয়া স্থান পরিবর্তন করা সত্যই বুদ্ধিমান। এটি প্রকৃতপক্ষে বলা হয়েছে যে সমস্যার জন্য যথাযথ উপস্থাপনা এবং মানুষ যেভাবে খেলা করে এবং যেভাবে কম্পিউটার দাবা এবং গোতে মানুষকে পরাজিত করে।

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

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

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

    a. Represent rule-conditioned learning in nomenclature
    b. Represent convergence mathematically using the new nomenclature
    c. Determining a method of convergence
    d. Proving convergence
    e. Rechecking
    f. Defining a smooth and efficient algorithm
    g. Providing PAC learning information for planning
    f. Peer review
    g. Extending the classes of the library
    h. Proof of concept with the current problem above
    i. Additional cases and metrics comparing the approach with the others
    j. Extending the library flexibility to support more such dev

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

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

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


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

1

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

পাইসের কোডের উদাহরণ হিসাবে একবার দেখুন https://github.com/haje01/gym-tictactoe/blob/master/example/base_agent.py :

ava_actions = env.available_actions()
action = agent.act(state, ava_actions)
state, reward, done, info = env.step(action)
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.