প্রশ্ন লার্নিং: রিইনফোর্সমেন্ট লার্নিং সম্পর্কে আপনার যা জানা দরকার



এই নিবন্ধটি পাইথন কোডের মাধ্যমে রিইনফোর্সমেন্ট লার্নিংয়ের একটি সুন্দর উপমা মাধ্যমে কিউ-লার্নিংয়ের একটি বিশদ এবং বিস্তৃত জ্ঞান সরবরাহ করে।

এবং এমন কয়েকটি ডোমেন যা শিল্পের শীর্ষস্থানীয় বুজওয়ার্ডগুলির মধ্যে রয়েছে এবং একটি ভাল কারণে। এআই ২০২০ সালের মধ্যে ২.৩ মিলিয়ন কর্মসংস্থান সৃষ্টি করতে চলেছে যার প্রধান লক্ষ্য বিবেচনা করে মেশিনগুলিকে মানুষের আচরণ অনুকরণে সক্ষম করা to অদ্ভুত তাই না? সুতরাং, আজ আমরা কিউ লার্নিং নিয়ে আলোচনা করতে যাচ্ছি, নিম্নলিখিত ক্রমে রিইনফোর্সমেন্ট লার্নিংয়ের বিল্ডিং ব্লক:

শক্তিবৃদ্ধি শিক্ষা কি?

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





আগ্রহের মূল ক্ষেত্রগুলি:

  • পরিবেশ
  • কর্ম
  • পুরষ্কার
  • রাষ্ট্র

শক্তিবৃদ্ধি শেখা - q শেখা



রিইনফোর্সমেন্ট লার্নিং মেশিন লার্নিংয়ের একটি শাখা যা সিস্টেমগুলি তাদের নিজস্ব সিদ্ধান্তের ফলাফলগুলি থেকে শিখতে দেয়। এটি একটি নির্দিষ্ট ধরণের সমস্যা সমাধান করে যেখানে সিদ্ধান্ত গ্রহণ ক্রমযুক্ত এবং লক্ষ্য দীর্ঘমেয়াদী।

কিউ-লার্নিং প্রক্রিয়া

আমাদের সমস্যা বিবরণী দিয়ে কি শিখছে তা বুঝতে দিন। এটি আমাদের শক্তিবৃদ্ধি শেখার সমাধানের অর্থাত্ এজেন্টস, পরিবেশ, ক্রিয়া, পুরষ্কার এবং রাজ্যগুলির মূল উপাদানগুলি সংজ্ঞায়িত করতে সহায়তা করবে।

অটোমোবাইল কারখানার সাদৃশ্য:



ইনফরমেশনটিতে রূপান্তরের ধরণ

আমরা রোবট দ্বারা ভরা একটি অটোমোবাইল কারখানায় আছি। এই রোবটগুলি কার জমায়েত করার জন্য প্রয়োজনীয় অংশগুলি সরবরাহ করে কারখানার কর্মীদের সহায়তা করে। এই বিভিন্ন অংশগুলি 9 টি স্টেশনে কারখানার বিভিন্ন স্থানে অবস্থিত। অংশগুলির মধ্যে চ্যাসিস, চাকা, ড্যাশবোর্ড, ইঞ্জিন এবং অন্যান্য রয়েছে include কারখানা মাস্টার সেই স্থানটিকে অগ্রাধিকার দিয়েছেন যেখানে চ্যাসিসটি সর্বোচ্চ অগ্রাধিকার হিসাবে ইনস্টল করা হচ্ছে। আসুন এখানে সেটআপটি দেখুন:

যুক্তরাষ্ট্র:

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

ক্রিয়া:

ক্রিয়াগুলি কোনও স্থানে রোবট দ্বারা চালিত পদক্ষেপগুলি ছাড়া কিছুই নয়। বিবেচনা করুন, একটি রোবটটি এল 2 অবস্থানে রয়েছে এবং সরাসরি স্থানগুলি যেখানে এটি স্থানান্তর করতে পারে সেগুলি হ'ল এল 5, এল 1 এবং এল 3। আমরা যদি এটি কল্পনা করি তবে আসুন এটি আরও ভালভাবে বুঝতে পারি:

পুরস্কার:

সরাসরি এক রাজ্য থেকে অন্য রাজ্যে যাওয়ার জন্য রোবটকে পুরষ্কার দেওয়া হবে। উদাহরণস্বরূপ, আপনি সরাসরি এল 2 এবং বিপরীতে থেকে এল 5 এ পৌঁছাতে পারেন। সুতরাং, উভয় ক্ষেত্রে 1 এর পুরষ্কার প্রদান করা হবে। আসুন পুরষ্কারের টেবিলটি একবার দেখুন:

কারখানা মাস্টার চ্যাসিসের অবস্থানটিকে অগ্রাধিকার দিয়েছিল তা মনে রাখবেন। এটি L7 ছিল, সুতরাং আমরা আমাদের পুরষ্কারের টেবিলের মধ্যে এই সত্যটি অন্তর্ভুক্ত করতে যাচ্ছি। সুতরাং, আমরা (L7, L7) অবস্থানটিতে খুব বড় সংখ্যক (আমাদের ক্ষেত্রে 999) বরাদ্দ করব।

বেলম্যান সমীকরণ

এখন ধরুন কোনও রোবটকে বিন্দু A থেকে B এ যাওয়ার দরকার রয়েছে এটি এমন পথটি বেছে নেবে যা ইতিবাচক প্রতিদান দেবে। মনে করি এটি অনুসরণ করার জন্য আমরা পদচিহ্নের ক্ষেত্রে পুরষ্কার সরবরাহ করি।

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

ভি (গুলি) = সর্বাধিক (আর (গুলি, ক) + এবং # 120632 ভি (গুলি)

কোথায়:

  • s = একটি নির্দিষ্ট অবস্থা
  • a = ক্রিয়া
  • s '= রোবটটি এস থেকে যায় এমন স্থিতি
  • & # 120632 = ছাড়ের ফ্যাক্টর
  • আর (গুলি, ক) = একটি পুরষ্কার ফাংশন যা একটি রাজ্য এবং পদক্ষেপ গ্রহণ করে (ক) এবং একটি পুরষ্কারের মানকে আউটপুট করে
  • ভি (গুলি) = একটি বিশেষ অবস্থায় থাকার মান

এখন গন্তব্য নীচের ব্লকটি 1 এর পুরষ্কার হবে যা সর্বোচ্চ পুরষ্কার, তবে অন্য ব্লকের কী হবে? ঠিক আছে, এখানেই ছাড়ের ফ্যাক্টরটি আসে Let 0.9 এর ছাড়ের উপাদানটি ধরে নিই এবং সমস্ত ব্লককে একে একে পূরণ করুন।

মার্কভ সিদ্ধান্ত প্রক্রিয়া

ভাবুন কোনও রোবট কমলা ব্লকে রয়েছে এবং গন্তব্যে পৌঁছাতে হবে। তবে সামান্য অকার্যকরতা থাকলেও রোবট উপরে উঠার পরিবর্তে কোন পথ অবলম্বন করবে তা নিয়ে বিভ্রান্ত হবে।

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

একটি মার্কভ সিদ্ধান্ত প্রক্রিয়া (MDP) একটি স্বতন্ত্র সময় স্টোকাস্টিক নিয়ন্ত্রণ প্রক্রিয়া। এটি এমন পরিস্থিতিতে মডেলিংয়ের সিদ্ধান্ত গ্রহণের জন্য একটি গাণিতিক কাঠামো সরবরাহ করে যেখানে ফলাফলগুলি আংশিকভাবে এলোমেলো এবং আংশিকভাবে সিদ্ধান্ত প্রস্তুতকারকের নিয়ন্ত্রণে থাকে।

সুতরাং আমরা আমাদের আসল বেলম্যান সমীকরণটি ব্যবহার করতে যাচ্ছি এবং এতে পরিবর্তন আনব। আমরা যা জানি না তা হ'ল পরবর্তী অবস্থা। s ’। আমরা যা জানি তা হ'ল একটি পালা ঘটার সম্ভাবনা এবং আসুন সমীকরণটি পরিবর্তন করা যাক।

ভি (গুলি) = সর্বোচ্চ (আর (গুলি, ক) + এবং # 120632 ভি (গুলি))

সি ++ এ ফাংশন ওভারলোডিং

ভি (গুলি) = সর্বোচ্চ (আর (গুলি, ক) + এবং # 120632 63 সিগমাs ’পি (গুলি, এ, এস ’) ভি (গুলি)

পি (গুলি, এ, এস ’): রাষ্ট্র থেকে সরানোর সম্ভাবনা s প্রতি s ’ কর্মের সাথে প্রতি

সিগমাs ’পি (গুলি, এ, এস ’) ভি (গুলি): রোবোটের এলোমেলো প্রত্যাশা

ভি (গুলি) = সর্বাধিক (আর (গুলি, ক) + এবং # 120632 ((0.8 ভি (রুম)আপ)) + (0.1 ভি (ঘর)নিচে) +…।))

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

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

প্রশ্ন (গুলি, ক) = (আর (গুলি, ক) + এবং # 120632 সিগমাs ’পি (গুলি, এ, এস ’) ভি (গুলি)

ক্রিয়াটির গুণমানকে এই পরিমাণে সমীকরণ করার ক্ষেত্রে, আমরা ধরে নিতে পারি যে ভি (গুলি) হল কিউ (গুলি, ক) এর সমস্ত সম্ভাব্য মান সর্বাধিক of সুতরাং আসুন আমরা ভি (গুলি) কে কি () এর ফাংশন দিয়ে প্রতিস্থাপন করি।

প্রশ্ন (গুলি, ক) = (আর (গুলি, ক) + এবং # 120632 সিগমাs ’পি (গুলি, এ, এস ’) সর্বাধিক প্রশ্ন (গুলি), একটি ’))

আমরা কিউ লার্নিংয়ের চূড়ান্ত সমীকরণের এক ধাপ কাছাকাছি। আমরা একটি চালু করতে যাচ্ছি সাময়িক পার্থক্য সময়ের সাথে পরিবেশের পরিবর্তনের ক্ষেত্রে Q-মান গণনা করা। তবে আমরা কীভাবে পরিবর্তনটি পর্যবেক্ষণ করব?

বর্গ মধ্যে পদ্ধতি কি

টিডি (গুলি, ক) = (আর (গুলি, ক) + এবং # 120632 সিগমাs ’পি (গুলি, এ, এস ’) সর্বাধিক প্রশ্ন (গুলি), ক ’(), প্রশ্ন (গুলি, ক)

আমরা একই সূত্রের সাহায্যে নতুন প্রশ্ন (গুলি, ক) পুনরায় গণনা করি এবং এটি থেকে পূর্বের পরিচিত Q (গুলি, ক) কে বিয়োগ করি। সুতরাং, উপরের সমীকরণটি হয়ে যায়:

প্রশ্নটি(গুলি, ক) = প্রশ্নt-1(গুলি, ক) + D টিডিটি(গুলি, ক)

প্রশ্নটি(গুলি, ক) = বর্তমান Q- মান

প্রশ্নt-1(গুলি, ক) = পূর্ববর্তী Q- মান

প্রশ্নটি(গুলি, ক) = প্রশ্নt-1(গুলি, ক) + α (আর (গুলি, ক) + এবং # 120632 সর্বাধিক প্রশ্ন (গুলি), এ ')-প্রশ্নt-1(গুলি, ক)

প্রশ্ন লার্নিং ডেমো: NumPy

আমি ব্যবহার করতে যাচ্ছি কিউ লার্নিং কীভাবে কাজ করে তা প্রদর্শনের জন্য NumPy।

পদক্ষেপ 1: আমদানি, প্যারামিটার, রাজ্য, ক্রিয়া এবং পুরষ্কার

এনপি গামা = 0.75 # ছাড় ছাড়ের ফ্যাক্টর আলফা = 0.9 # শিক্ষার হারের অবস্থান_তো_স্টেট = L 'এল 1': 0, 'এল 2': 1, 'এল 3': 2, 'এল 4': 3, 'এল 5': 4, ' L6 ': 5,' L7 ': 6,' L8 ': 7,' L9 ': 8} ক্রিয়া = [0,1,2,3,4,5,6,7,8] পুরষ্কার = এনপি.আররে ( [[0,1,0,0,0,0,0,0,0], [1,0,1,0,0,0,0,0,0], [0,1,0,0, 0,1,0,0,0], [0,0,0,0,0,0,1,0,0], [0,1,0,0,0,0,0,1,0] , [0,0,1,0,0,0,0,0,0], [0,0,0,1,0,0,0,1,0], [0,0,0,0, 1,0,1,0,1], [0,0,0,0,0,0,0,1,0]])

পদক্ষেপ 2: অবস্থানের মানচিত্র সূচক

state_to_location = ডিক্ট ((রাষ্ট্র, অবস্থান) অবস্থানের জন্য, অবস্থানের স্থানে___সেট.সাইটগুলি ())

পদক্ষেপ 3: কিউ লার্নিং প্রক্রিয়াটি ব্যবহার করে সর্বোত্তম রুট পান

Def get_optimal_route (start_location, end_location): পুরষ্কার_নিউ = এনপি.কপি (পুরষ্কার) সমাপ্তি_স্টেট = অবস্থান_ টু_স্টেট [শেষ_লোকেশন] পুরষ্কার_ নতুন [সমাপ্তি_স্তর, শেষ_স্তানা] = 999 কিউ = এনপি.আরএই (# কিউ]] আই (রেঞ্জ) (1000) এর জন্য শেখার প্রক্রিয়া: # একটি এলোমেলো অবস্থা কারেন্ট_স্টেট = এনপি.রেন্ডম.অরেন্ডিন্ট (0,9) বাছাই # পাইথন উপরের সীমাবদ্ধ প্লেযোগ্য_অ্যাকশনগুলি [=] # রেঞ্জের জন্য নতুন পুরষ্কারের ম্যাট্রিক্সের মাধ্যমে আইট্রেট করে ( 9): যদি পুরষ্কারগুলি_ নতুন [বর্তমান_সেটেট, জে]> 0: প্লেযোগ্য_অ্যাকশনস.এপেন্ড (জে) # একটি র্যান্ডম ক্রিয়া চয়ন করুন যা আমাদের পরের রাজ্যে নিয়ে যাবে Next_state = np.random.choice (প্লেযোগ্য_অ্যাকশনস) # গণনা অস্থায়ী পার্থক্য টিডি = পুরষ্কার_নিউ [বর্তমান_স্তর , পরের_স্টেট] + গামা * কিউ [পরের_স্তর, এনপি.আরগম্যাক্স (কিউ [পরবর্তী_মূর্তি,])] - প্রশ্ন [বর্তমান_সেটেট, নেক্সট_স্টেট] # বেলম্যান সমীকরণ Q ব্যবহার করে কিউ-মান আপডেট করা হচ্ছে [কারেন্ট_স্টেট, নেক্সট_স্টেট] + = আলফা * টিডি # শুরুর অবস্থানের রুটের সাথে সর্বোত্তম রুটটি সূচনা করুন = [সূচনা_পরিচালনা] # পরবর্তী অবস্থানের সাথে পরবর্তী অবস্থানের সাথে স্থানীয়করণ শুরু করুন_পরিচালনা = তারকা t_location # চূড়ান্ত স্থানে পৌঁছানোর জন্য প্রয়োজনীয় পুনরাবৃত্তির সঠিক সংখ্যা সম্পর্কে আমরা জানি না, সুতরাং লুপটি পুনরাবৃত্তির জন্য পুনঃনির্মাণের জন্য ভাল পছন্দ হবে (পরবর্তী_লোকেশন! = শেষ_স্থান): # শুরুর অবস্থাটি শুরু করা / স্টেট = অবস্থান_ টো_স্টেট [স্টার্ট_লোকেশন] # পরের_সামগ্রী = এনপি.আরগম্যাক্স (কিউ [আরম্ভের_সেটেট]] শুরু করার সাথে সম্পর্কিত সর্বোচ্চ কিউ-মানটি আনুন # আমরা পরবর্তী রাষ্ট্রের সূচক পেয়েছি got তবে আমাদের সংশ্লিষ্ট চিঠিটি দরকার পরের_পরিচালনা = রাষ্ট্র_ত_ স্থান [পরবর্তী_স্তরান] রুট.অ্যাপেন্ড (পরের_স্থান) # পরবর্তী পুনরাবৃত্তির জন্য শুরুর অবস্থান আপডেট করুন_পরিচালনা = পরের_পরিবর্তন রুট

পদক্ষেপ 4: রুটটি মুদ্রণ করুন

মুদ্রণ (get_optimal_route ('L1', 'L9'))

আউটপুট:

এটির সাথে সাথে আমরা কিউ-লার্নিংয়ের শেষে এসেছি। আমি আশা করি আপনি সাময়িক পার্থক্য, বেলম্যান সমীকরণ এবং আরও অনেকগুলি যেমন বিভিন্ন নির্ভরতাগুলির সাথে কিউ লার্নিংয়ের কাজ জানতে পেরেছিলেন।

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