গ্রিড ভিত্তিক গেমটি শিখতে নিউরাল নেটওয়ার্কের জন্য ইনপুট / আউটপুট এনকোডিং


13

আমি এর উপরে একটি গভীর নিউরাল নেটওয়ার্ক প্রশিক্ষণের অভিপ্রায় নিয়ে একটি সাধারণ খেলনা গেমটি লিখছি। গেমস বিধিগুলি মোটামুটি নিম্নলিখিত:

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

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

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

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


আমরা কি ধরে নেব যে আপনি মেশিনটি অজানা খেলাটি শিখতে চান এবং তারপরে এটি কীভাবে জিতবেন? (মেশিন লার্নিং সফটওয়্যারটি লেখার আগে প্রোগ্রামারের কাছে যে নিয়মগুলি প্রোগ্রামের জন্য উপলব্ধ রয়েছে সেগুলি কীভাবে জিততে হয় তা শেখার বিপরীতে)
ফৌচ্রিস্টিয়ান

উত্তর:


1
  • টুকরোগুলি উপস্থাপন করতে আপনার একক ইনপুট ম্যাট্রিক্স ব্যবহার করতে সক্ষম হওয়া উচিত। বিভিন্ন ধরণের টুকরোগুলির জন্য কেবল একটি পূর্ণসংখ্যা নম্বর নির্ধারণ করুন। সাদা পাথর ধনাত্মক পূর্ণসংখ্যার হতে পারে এবং কালো পাথর negativeণাত্মক হতে পারে।

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

  • চূড়ান্ত স্কোরের পার্থক্যটি মুভগুলির আকাঙ্ক্ষার উপর একটি বড় প্রভাব ফেলে। একটি বড় স্কোর পার্থক্য ফাংশন উপর একটি বৃহত প্রভাব হতে হবে। অতএব আপনি আপনার ক্ষতি ফাংশনে স্কোর পার্থক্যটির মাত্রাটি অন্তর্ভুক্ত করতে চাইতে পারেন।

এটি ডিপ কিউ লার্নিংয়ের মতো ধরণের কাজ। সম্ভবত আপনি এটিও দেখতে চাইবেন।


1

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

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

আমি আউটপুট জন্য n + 1 উপাদানযুক্ত একটি ভেক্টর ব্যবহার করব: সমস্ত সম্ভাব্য পদক্ষেপের জন্য n, এবং পাসের জন্য 1। এটি প্রতিটি পদক্ষেপের প্রত্যাশিত পুরষ্কারকে এনকোড করবে, সম্ভাবনাটি নয়।

চালগুলি প্রয়োগ করে আপনি কী বোঝেন তা নিশ্চিত নন। তবে আপনি যখন এটিকে কি-লার্নিংয়ের মতো প্রশিক্ষণ দিতে যাচ্ছেন তখন নির্দিষ্ট সম্ভাবনার সাথে প্রতি একবার এবং একবার সম্পূর্ণরূপে এলোমেলো পদক্ষেপ গ্রহণ করা বুদ্ধিমান হয়ে উঠবে (10% বার বলুন)। Https://en.wikedia.org/wiki/Reinforment_learning দেখুন


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