آقا دو روزه دارم یاد میگیرم چجوری با پایتون کد RL بزنم تا بتونم الگوریتم شبیه سازیم رو بنویسم. جاتون خالی رسما گسسته شدم.
توی این مدت خیلی گشتم و ویدئوها و بلاگ های زیادی دیدم ولی خدایی هیچی اندازه ویدئو دیدن توی این زمینه خوب نیست. من خودم دوست دارم با کتاب خوندن یاد بگیرم چون کتاب دارای چهارچوب و نکته های که توی فهموندم قضیه کمک میکنه.
به هرحال خواستم بگم که اغلب ویدئو ها اومدن با استفاده از کتاب خونه gym محیط یا environment رو تعریف کردن. کم آموزشی دیدم تا بخواهد یاد بده چجوری محیط و agent رو از صفر یعنی از Scratch بنویسی. بعد جالبیش اینکه خیلی از ویدئوها یا زیادی تخصصی نگاه کردن یا اینکه طرف صرفا یک برنامه نویسه که بلد کد بزنه. حالا بعضی از ویئو ها یک کد از قبل آمده رو دارن و از روش توضیح میدن. اینجور ویدئو ها کلا به درد کار های پژوهشی غیر مرتبط نمیخوره حقیقت. وقتتون رو هدر ندید.
حالا توی سرچ هام به یک کانالی رسیدم به نام Machine Learning with Phil این آقا مثل اینکه فیزیک الکترونیک خونده اما بلده چجوری کد بزنه و مطلب رو برسونه. از طرفی دیگه ویدئوهاش رو ببینید متوجه میشید دانشش توی این قضیه اوکی و background یادگیری ماشینش قویه. خلاصه بنظرم خیلی خوبه و کار راه بنداز. مثلا بدون کتابخونه یادمیده چجوری مدلتون رو بسازید.
شاید ویدئوهاش برای 6 و 7 سال پیش باشه اما از قدیم گفتن old but gold.
یک بنده خدای کچل هم هست به اسم Nicholas Renotte که بد نیست. آموزش به درد نوشتن الگوریتم نمیخوره ولی باید بگم که شاید طرف کچل باشه ولی ویدئوهاش کامله.
(این پست احتمالا بعدا آپدیت نمیشه)
توی این مدت خیلی گشتم و ویدئوها و بلاگ های زیادی دیدم ولی خدایی هیچی اندازه ویدئو دیدن توی این زمینه خوب نیست. من خودم دوست دارم با کتاب خوندن یاد بگیرم چون کتاب دارای چهارچوب و نکته های که توی فهموندم قضیه کمک میکنه.
به هرحال خواستم بگم که اغلب ویدئو ها اومدن با استفاده از کتاب خونه gym محیط یا environment رو تعریف کردن. کم آموزشی دیدم تا بخواهد یاد بده چجوری محیط و agent رو از صفر یعنی از Scratch بنویسی. بعد جالبیش اینکه خیلی از ویدئوها یا زیادی تخصصی نگاه کردن یا اینکه طرف صرفا یک برنامه نویسه که بلد کد بزنه. حالا بعضی از ویئو ها یک کد از قبل آمده رو دارن و از روش توضیح میدن. اینجور ویدئو ها کلا به درد کار های پژوهشی غیر مرتبط نمیخوره حقیقت. وقتتون رو هدر ندید.
حالا توی سرچ هام به یک کانالی رسیدم به نام Machine Learning with Phil این آقا مثل اینکه فیزیک الکترونیک خونده اما بلده چجوری کد بزنه و مطلب رو برسونه. از طرفی دیگه ویدئوهاش رو ببینید متوجه میشید دانشش توی این قضیه اوکی و background یادگیری ماشینش قویه. خلاصه بنظرم خیلی خوبه و کار راه بنداز. مثلا بدون کتابخونه یادمیده چجوری مدلتون رو بسازید.
شاید ویدئوهاش برای 6 و 7 سال پیش باشه اما از قدیم گفتن old but gold.
یک بنده خدای کچل هم هست به اسم Nicholas Renotte که بد نیست. آموزش به درد نوشتن الگوریتم نمیخوره ولی باید بگم که شاید طرف کچل باشه ولی ویدئوهاش کامله.
(این پست احتمالا بعدا آپدیت نمیشه)
YouTube
Machine Learning with Phil
Howdy! At Neuralnet.ai we cover artificial intelligence and deep learning tutorials in a variety of topics, ranging from reinforcement learning to natural language processing. The bulk of my content is in deep reinforcement learning, where I present lectures…
❤3
Forwarded from coffee Time
how to implement RL with python (Env Free)
———— channels ————
1. Machine Learning with Phil
2. Nicholas Renotte
3. Luke Ditria
4. Johnny Code
———— my order ————
1. Reinforcement Learning in 3 Hours
2. create custom environment, part 2
3. How to create a reinforcement learning environment
4. create custom Env with gym
5. DQN with gym
6. complicated DRL code
7. neural networks
8. Q-learning with e-greedy
———— channels ————
1. Machine Learning with Phil
2. Nicholas Renotte
3. Luke Ditria
4. Johnny Code
———— my order ————
1. Reinforcement Learning in 3 Hours
2. create custom environment, part 2
3. How to create a reinforcement learning environment
4. create custom Env with gym
5. DQN with gym
6. complicated DRL code
7. neural networks
8. Q-learning with e-greedy
YouTube
Machine Learning with Phil
Howdy! At Neuralnet.ai we cover artificial intelligence and deep learning tutorials in a variety of topics, ranging from reinforcement learning to natural language processing. The bulk of my content is in deep reinforcement learning, where I present lectures…
👍1
coffee Time
how to implement RL with python (Env Free) ———— channels ———— 1. Machine Learning with Phil 2. Nicholas Renotte 3. Luke Ditria 4. Johnny Code ———— my order ———— 1. Reinforcement Learning in 3 Hours 2. create custom environment, part 2 3. How to create a…
اون پست قبلیه رو آبدیت نکردم همون دو کانال بنظرم از همشون شاخ تر بودن. اما این پسته که کلی لینک داره از کانال شخصی ام گذاشتم برای همین یکسری کانال های اضافه که بنظرم از بقیه بهتر بودن رو هم توی لیست به ترتیب گذاشتم.
coffee Time
how to implement RL with python (Env Free) ———— channels ———— 1. Machine Learning with Phil 2. Nicholas Renotte 3. Luke Ditria 4. Johnny Code ———— my order ———— 1. Reinforcement Learning in 3 Hours 2. create custom environment, part 2 3. How to create a…
در ادامش هم یک بخشی هست به اسم my order توی این قسمت ترتیب دیدن ویدئو ها رو برای خودم نوشته بودم
حقیقت چند وقتیه که دارم تابع هدف پایان نامه رو مینویسم اما یک چیزی که برام شده فتح قله کوه اورست پیدا کردن تاخیر صفه. شاید خیلی ها از این قضیه سر در نیارن که مشکل چی می تونه باشه.
ببینید شما میتوانید به دو روش برای سیستم تون تاخیر صف بدست بیارید. مثلا اگر سیستم صفتون M/M/1 باشه یا هر مدل شناخته شده دیگه ای باشه خب خیلی راحته تنها باید از روش های ارزیابی کارایی استفاده کنید. این روش ها فرمول های شناخته شده داره که قابل استفاده است. از طرفی این مدل ها برای سیستم های زمان پیوسته پیشنهاد شده. هرچند با تعمیم دادن اون ها میشه زمان گسسته رو هم نوشت.
مثلا فرمول زیر برای تاخیر صف در مدل صف سیستم های M\G\1 است.
D_i (t) = Q(t) + X_n (t) - X_i (t)
تاخیر صف میشه جمع تاخیر وظایفی که در صف هستند + تاخیر وظیفه ای که در حال پردازش است منهای زمان ورودی وظیفه به صف.
یا مثلا در مدل صفی همچون M/M/1 اگر متوسط تعداد وظایف در صف را بخواهیم به دست بیارییم با استفاده از نظریه Little میشد به دست آورد.
اما مشکل زمانی شروع میشه که سیستم مدل صف نداره مثلا نمیدونی نرخ ورود وظایف به صف چجوریه. الان منم دقیقا اینجا به مشکل خوردم. توی مدل سیستمی من نرخ ورود وظایف به سیستم یا دقیق تر بگم صف را ندارم. حالا چون نرخ ورود رو ندارم نمیتونم از فرمول های صف پیشنهادی استفاده کنم. باید دنبال یک راه حل جدید یا دیگه ای باشم.
برای همین چندتا از paper ها رو گشتم دیدم این مسئله ها رو به طور معمول با استفاده از نظریه کنترل حل میکنند نه روش های ارزیابی. در ادامه میخوام خیلی خلاصه در این باره صحبت کنم.
از نظر control theory سیستم ها به چند تا تقسیم میشوند. سیستم های خطی و سیستم های غیر خطی از همه معروف تر است. حالا این سیستم ها با گذر زمان و در طول اجرا شون از حالت های مختلفی عبور میکنند. ما میاییم حالاتی که سیستم از آن عبور میکنه رو بدست میاریم تا بتونیم تحلیل رفتار کنیم. شما سیستم را میتونید از چند منظر تحلیل رفتار کنید. به طور کلی یا قطعیت میخواهید یا عدم قطعیت میخواهید یا رفتارها را محدود میکنید و از نظر پایداری تحلیل میکنید.
تحلیل سیستم های غیر خطی مشکل تر از سیستم های خطی است. در سیستم های خطی ما میگوییم سیستم پایدار است اما در سیستم های غیر خطی میگوییم سیستم در فلان نقطه پایدار است. این نقطه رو نقطه تعادل یا equalibrium point میگویند.
نظریه کنترل از کلی نظریه های دیگر درست شده است. یکی از این نظریه ها که من جدیدا با اون آشنا شدم نظریه lyapunov است.
این نظریه هم برای سیستم های خطی کاربرد داره و هم غیر خطی. در واقع ایده این نظریه از فیزیک میاد. این نظریه خیلی تیریویال است و قابل درک.
این نظریه دو تا چالش اساسی داره. اول اینکه باید یک تابع لیاپونوو رو ما بدست بیاریم. این تابع تابع هدف مون هست. مثلا مصرف انرژی و... . پیدا کردن این تابع سخته چون تعداد این توابع خیلی زیاد هست. دومین مشکل هم چیزی هست به نام asymptatic stability. نظریه لیاپونوو شرط کافی برای پایداری را بیان میکنه نه لازم. بنابراین این نوع از پایداری باعث شده که چندین نظریه دیگه بیاد و نظریه لیاپونوو را تکمیل کنه. نظریه همچون stellar.
خوب فکر کنم توضیح درباره این تا همین جا کافیه. بنظرم این پروپوزال خیلی چیز جالبی داره سمتم میاره. برخی نظریه هایی که توی حل مسائل زمانبندی پیدا میکنم داره جالب تر میکنه کار رو :) چند وقت پیش هم با استاد خرسندی یکسری صحبت ها داشتم و ایشون نسبت به پایان نامه امیدوار بود که پتانسیل چاپ و مقاله کردن داره. همین اتفاق هم خواهد افتاد.
ببینید شما میتوانید به دو روش برای سیستم تون تاخیر صف بدست بیارید. مثلا اگر سیستم صفتون M/M/1 باشه یا هر مدل شناخته شده دیگه ای باشه خب خیلی راحته تنها باید از روش های ارزیابی کارایی استفاده کنید. این روش ها فرمول های شناخته شده داره که قابل استفاده است. از طرفی این مدل ها برای سیستم های زمان پیوسته پیشنهاد شده. هرچند با تعمیم دادن اون ها میشه زمان گسسته رو هم نوشت.
مثلا فرمول زیر برای تاخیر صف در مدل صف سیستم های M\G\1 است.
D_i (t) = Q(t) + X_n (t) - X_i (t)
تاخیر صف میشه جمع تاخیر وظایفی که در صف هستند + تاخیر وظیفه ای که در حال پردازش است منهای زمان ورودی وظیفه به صف.
یا مثلا در مدل صفی همچون M/M/1 اگر متوسط تعداد وظایف در صف را بخواهیم به دست بیارییم با استفاده از نظریه Little میشد به دست آورد.
اما مشکل زمانی شروع میشه که سیستم مدل صف نداره مثلا نمیدونی نرخ ورود وظایف به صف چجوریه. الان منم دقیقا اینجا به مشکل خوردم. توی مدل سیستمی من نرخ ورود وظایف به سیستم یا دقیق تر بگم صف را ندارم. حالا چون نرخ ورود رو ندارم نمیتونم از فرمول های صف پیشنهادی استفاده کنم. باید دنبال یک راه حل جدید یا دیگه ای باشم.
برای همین چندتا از paper ها رو گشتم دیدم این مسئله ها رو به طور معمول با استفاده از نظریه کنترل حل میکنند نه روش های ارزیابی. در ادامه میخوام خیلی خلاصه در این باره صحبت کنم.
از نظر control theory سیستم ها به چند تا تقسیم میشوند. سیستم های خطی و سیستم های غیر خطی از همه معروف تر است. حالا این سیستم ها با گذر زمان و در طول اجرا شون از حالت های مختلفی عبور میکنند. ما میاییم حالاتی که سیستم از آن عبور میکنه رو بدست میاریم تا بتونیم تحلیل رفتار کنیم. شما سیستم را میتونید از چند منظر تحلیل رفتار کنید. به طور کلی یا قطعیت میخواهید یا عدم قطعیت میخواهید یا رفتارها را محدود میکنید و از نظر پایداری تحلیل میکنید.
تحلیل سیستم های غیر خطی مشکل تر از سیستم های خطی است. در سیستم های خطی ما میگوییم سیستم پایدار است اما در سیستم های غیر خطی میگوییم سیستم در فلان نقطه پایدار است. این نقطه رو نقطه تعادل یا equalibrium point میگویند.
نظریه کنترل از کلی نظریه های دیگر درست شده است. یکی از این نظریه ها که من جدیدا با اون آشنا شدم نظریه lyapunov است.
این نظریه هم برای سیستم های خطی کاربرد داره و هم غیر خطی. در واقع ایده این نظریه از فیزیک میاد. این نظریه خیلی تیریویال است و قابل درک.
این نظریه دو تا چالش اساسی داره. اول اینکه باید یک تابع لیاپونوو رو ما بدست بیاریم. این تابع تابع هدف مون هست. مثلا مصرف انرژی و... . پیدا کردن این تابع سخته چون تعداد این توابع خیلی زیاد هست. دومین مشکل هم چیزی هست به نام asymptatic stability. نظریه لیاپونوو شرط کافی برای پایداری را بیان میکنه نه لازم. بنابراین این نوع از پایداری باعث شده که چندین نظریه دیگه بیاد و نظریه لیاپونوو را تکمیل کنه. نظریه همچون stellar.
خوب فکر کنم توضیح درباره این تا همین جا کافیه. بنظرم این پروپوزال خیلی چیز جالبی داره سمتم میاره. برخی نظریه هایی که توی حل مسائل زمانبندی پیدا میکنم داره جالب تر میکنه کار رو :) چند وقت پیش هم با استاد خرسندی یکسری صحبت ها داشتم و ایشون نسبت به پایان نامه امیدوار بود که پتانسیل چاپ و مقاله کردن داره. همین اتفاق هم خواهد افتاد.
❤2