هوش مصنوعی با پایتون – یادگیری Reinforcement

3 سال پیش

هوش مصنوعی با پایتون – یادگیری Reinforcement

در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، شما به طور مفصل در مورد مفاهیم یادگیری Reinforcement در هوش مصنوعی با پایتون یاد خواهید گرفت.

پیشنهاد ویژه : آموزش طراحی سایت با پایتون

مبانی یادگیری Reinforcement

این نوع یادگیری برای تقویت شبکه بر اساس اطلاعات منتقد استفاده می شود. یعنی یک شبکه تحت آموزش Reinforcement، بازخوردهایی از محیط دریافت می کند. با این حال، بازخورد ارزشیابی است و مانند موارد یادگیری تحت نظارت، آموزنده نیست. بر اساس این بازخورد ، شبکه تنظیمات وزن ها را انجام می دهد تا در آینده اطلاعات بهتر منتقدان را بدست آورد.

این فرایند یادگیری مشابه یادگیری تحت نظارت است اما ممکن است اطلاعات ما بسیار کمتر باشد. شکل زیر نمودار بلوکی یادگیری تقویت را نشان می دهد –

Basics of Reinforcement Learning

بلوک های ساختمانی: محیط و عامل

محیط و عامل اصلی ترین عناصر سازنده یادگیری تقویت در هوش مصنوعی هستند. این بخش به طور مفصل درباره آنها بحث می کند –

عامل (Agent)

عامل هر چیزی است که بتواند محیط خود را از طریق حسگرها درک کند و از طریق تأثیرگذارها بر آن محیط عمل کند.

یک عامل انسانی دارای اندام های حسی مانند چشم، گوش، بینی، زبان و پوست به موازات سنسورها و اندام های دیگری مانند دست ها، پاها، دهان برای تأثیرگذاری است.

یک عامل رباتیک برای حسگرها ، و موتورها و محرکهای مختلف برای اثربخشها جایگزین دوربینها و محدوده یاب مادون قرمز می شود.

یک عامل نرم افزار رشته های بیتی را به عنوان برنامه ها و اقدامات خود رمزگذاری کرده است.

اصطلاحات عامل

اصطلاحات زیر بیشتر در یادگیری Reinforcement در هوش مصنوعی استفاده می شود –

  • Performance Measure of Agent – این معیارهاست که تعیین می کند تا چه میزان یک نماینده موفق است.
  • Behavior of Agent  – عملی است که عامل پس از هر دنباله ادراکی خاص انجام می دهد.
  • Percept – ورودی های ادراکی عامل در یک نمونه خاص است.
  • Percept Sequence – این تاریخچه از همه چیزهایی است که یک عامل تا به امروز درک کرده است.
  • Agent Function  – این یک نقشه از توالی دستورالعمل به یک عمل است.

محیط (Environment)

برخی از برنامه ها در یک محیط کاملاً مصنوعی محدود به ورودی صفحه کلید، پایگاه داده، سیستم فایل های رایانه ای و خروجی کاراکتر روی صفحه کار می کنند.

در مقابل، برخی از عوامل نرم افزاری، مانند ربات های نرم افزاری یا softbots ، در دامنه های softbot غنی و نامحدود وجود دارند. شبیه ساز دارای یک محیط بسیار دقیق و پیچیده است. نماینده نرم افزار باید مجموعه ای طولانی از اقدامات را در زمان واقعی انتخاب کند.

به عنوان مثال، یک softbot که برای اسکن تنظیمات آنلاین مشتری و نمایش موارد جالب برای مشتری طراحی شده است، در یک محیط واقعی و همچنین مصنوعی کار می کند.

خواص محیط
محیط دارای خواص چندگانه است که در زیر بحث شده است –

  • Discrete/Continuous – اگر تعداد محدودی از حالت های متمایز و واضح تعریف شده از محیط وجود داشته باشد ، محیط گسسته است ، در غیر این صورت پیوسته است. به عنوان مثال، شطرنج یک محیط گسسته و رانندگی یک محیط پیوسته است.
  • Observable/Partially Observable – اگر برای تعیین وضعیت کامل محیط در هر نقطه زمانی از ادراکات امکان پذیر باشد، قابل مشاهده است. در غیر این صورت فقط تا حدی قابل مشاهده است.
  • Static/Dynamic– اگر محیط در هنگام کار یک عامل تغییر نکند، ثابت است. در غیر این صورت پویاست.
  • Single agent/Multiple agents – محیط ممکن است حاوی عوامل دیگری باشد که ممکن است از نوع مشابه یا متفاوت با عامل باشند.
  • Accessible/Inaccessible– اگر دستگاه حسی عامل بتواند به حالت کامل محیط دسترسی داشته باشد ، محیط برای آن عامل قابل دسترسی است. در غیر این صورت غیرقابل دسترسی است.
  • Deterministic/Non-deterministic– اگر وضعیت بعدی محیط کاملاً توسط وضعیت فعلی و عملکردهای عامل تعیین شود، در این صورت محیط قطعی است. در غیر این صورت غیر قطعی است.
  • Episodic/Non-episodic – در یک فضای اپیزودیک، هر قسمت متشکل از عامل درک و سپس اقدام به آن است. کیفیت عملکرد آن فقط به خود اپیزود بستگی دارد. قسمت های بعدی به عملکردهای قسمت های قبلی بستگی ندارد. محیط های اپیزودیک بسیار ساده تر هستند زیرا نماینده نیازی به آینده اندیشی ندارد.

Properties of Environment

 

ساختن یک محیط با پایتون

برای عامل یادگیری Reinforcement ساختمان، ما از بسته OpenAI Gym استفاده خواهیم کرد که می تواند با کمک دستور زیر نصب شود –

pip install gym

 

در OpenAI Gym محیط های مختلفی وجود دارد که می تواند برای اهداف مختلف مورد استفاده قرار گیرد. تعداد کمی از آنها Cartpole-v0 ، Hopper-v1 و MsPacman-v0 هستند. آنها به موتورهای مختلفی احتیاج دارند.

کد زیر نمونه ای از کد پایتون را برای محیط cartpole-v0 نشان می دهد

import gym
env = gym.make('CartPole-v0')
env.reset()
for _ in range(1000):
   env.render()
   env.step(env.action_space.sample())

Constructing an Environment with Python

 

می توانید محیط های دیگر را نیز به روشی مشابه بسازید.

ساخت یک عامل یادگیری با پایتون

برای نمایندگی یادگیری Reinforcement ساختمان، ما از بسته OpenAI Gym استفاده خواهیم کرد همانطور که نشان داده شده است –

import gym
env = gym.make('CartPole-v0')
for _ in range(20):
   observation = env.reset()
   for i in range(100):
      env.render()
      print(observation)
      action = env.action_space.sample()
      observation, reward, done, info = env.step(action)
      if done:
         print("Episode finished after {} timesteps".format(i+1))
         break

Constructing a learning agent with Python

 

منبع.

لیست جلسات قبل آموزش هوش مصنوعی با برنامه نویسی پایتون

  1. آموزش هوش مصنوعی با برنامه نویسی پایتون – مفهوم کلی
  2. شروع آموزش هوش مصنوعی با برنامه نویسی پایتون
  3. یادگیری ماشین در هوش مصنوعی با برنامه نویسی پایتون
  4. هوش مصنوعی با برنامه نویسی پایتون، آماده ‌سازی داده ها
  5. هوش مصنوعی با پایتون، یادگیری نظارت شده و طبقه بندی
  6. هوش مصنوعی با برنامه نویسی پایتون – یادگیری تحت نظارت: رگرسیون
  7. هوش مصنوعی با برنامه نویسی پایتون – برنامه نویسی منطقی
  8. هوش مصنوعی با پایتون – یادگیری بدون نظارت: خوشه بندی
  9. هوش مصنوعی با پایتون – پردازش زبان طبیعی
  10. هوش مصنوعی با پایتون – پکیج NLTK
  11. هوش مصنوعی با پایتون – تجزیه و تحلیل داده های سری زمانی
  12. هوش مصنوعی با پایتون – تشخیص گفتار
  13. هوش مصنوعی با پایتون – جستجوی کاشف
  14. هوش مصنوعی با پایتون – بازی
  15. هوش مصنوعی با پایتون – شبکه های عصبی

 

0
برچسب ها :
نویسنده مطلب erfan molaei

دیدگاه شما

بدون دیدگاه