- drlzh.ai एक प्रैक्टिकल डीप रिइन्फोर्समेंट लर्निंग कोर्स है, जिसमें सिर्फ पढ़ने के बजाय एल्गोरिद्म को खुद implement कराया जाता है, और इसमें MDP व tabular RL से लेकर RLHF, Decision Transformers, Dreamer और meta-learning तक शामिल हैं
- रूट notebooks एक guided TODO-आधारित प्रैक्टिस ट्रैक हैं, और
solution/ notebooks में पूरी तरह चलने वाले versions दिए गए हैं, जिन्हें अटकने पर देखा जा सकता है
- curriculum
00-18 notebooks से बना है; foundational ट्रैक को क्रम से आगे बढ़ने के लिए डिज़ाइन किया गया है, जबकि advanced notebooks self-contained हैं, लेकिन numbering बेसिक learning path देती है
- Docker workspace एक साथ code-server, notebooks, Python
>=3.13,<3.14, Jupyter kernel, dependencies, और DRL-ZH AI Companion VS Code extension उपलब्ध कराता है
- learners को Python, PyTorch basics, और probability, statistics, linear algebra, calculus जैसी ML math की समझ होनी चाहिए; notebooks यह मानकर चलते हैं कि आप असली training code पढ़ और modify कर सकते हैं
प्रोजेक्ट अवलोकन
- drlzh.ai एक hands-on डीप रिइन्फोर्समेंट लर्निंग कोर्स है, जिसे एल्गोरिद्म खुद बनवाने के लिए डिज़ाइन किया गया है
- learning scope MDP और tabular RL से शुरू होकर आगे इन विषयों तक फैलता है
- Atari agent-आधारित एल्गोरिद्म
- continuous-control robots
- AlphaZero-स्टाइल planning
- language models के लिए RLHF
- Decision Transformers
- VLA-स्टाइल policies
- world models
- Dreamer
- meta-learning
- रूट notebooks प्रैक्टिस ट्रैक हैं, जिनमें code को जानबूझकर guided
TODO sections से बदला गया है
solution/ notebooks पूरी और executable versions देती हैं, ताकि learners कोर्स से बाहर जाए बिना अटके हुए हिस्सों को सुलझा सकें
curriculum की संरचना
- कोर्स
00 से 18 तक notebooks से बना है
00-07 Foundations
- MDPs, tabular RL, DQN, REINFORCE, actor-critic methods, DDPG, TD3, SAC, PPO implement कराए जाते हैं
08-10 Breaking assumptions
- RND curiosity, multi-agent RL, और BC व IQL का उपयोग करने वाला offline RL शामिल है
11 Planning
- Monte Carlo Tree Search, self-play, और AlphaZero-स्टाइल policy/value learning शामिल है
12-13 Modern AI stack
- PPO-आधारित RLHF, DPO, GRPO, Decision Transformers, NanoVLA(
DTVLA) शामिल हैं
14 Production
- TensorBoard, checkpoints, debugging, multiple seeds, Ray, Optuna शामिल हैं
15-16 World models
- SAC-आधारित MBPO और RSSM latent imagination का उपयोग करने वाले
DR3AM/Dreamer शामिल हैं
17-18 Meta + wrap-up
- MAML, FOMAML, fast adaptation, और कोर्स wrap-up शामिल है
- foundational notebooks के लिए क्रम से आगे बढ़ना माना गया है
- advanced notebooks self-contained हैं, लेकिन numbering exploration से लेकर कोर्स capstone तक का बेसिक path देती है
DRL-ZH AI Companion
- Docker workspace में इस कोर्स के लिए VS Code extension DRL-ZH AI Companion शामिल है
- extension यह पहचानता है कि user किस notebook और
TODO पर काम कर रहा है
- सीधे जवाब देने के बजाय यह Socratic hints देता है
- यह text mode और voice mode को support करता है
- LLM key user को खुद लानी होगी
- Gemini default है
- OpenAI, Anthropic, Groq भी supported हैं
runtime environment और शुरुआत करने का तरीका
- recommended setup Docker है
- Docker नीचे दिए गए components को एक reproducible workspace में उपलब्ध कराता है
- code-server
- notebooks
- Python
>=3.13,<3.14
- Jupyter kernel
- dependencies
- AI Companion
- बेसिक startup प्रक्रिया
- Docker और Git install करें, repository clone करें, फिर उस directory में जाएँ
- Linux/macOS पर file ownership को user के अनुसार सेट करने के लिए
printf "UID=$(id -u)\nGID=$(id -g)\n" > .env चलाएँ
- default environment शुरू करें
docker compose up --build -d
- Chromium-आधारित browser में
http://localhost:8080 खोलें और Python (drl-zh) kernel चुनें
00_Intro.ipynb खोलें और TODO भरना शुरू करें
- अगर NVIDIA GPU access चाहिए, तो यह command इस्तेमाल करें
docker compose -f docker-compose.yml -f docker-compose.gpu.yml up --build -d
- छोटा CPU-only image चाहिए तो यह command इस्तेमाल करें
docker compose -f docker-compose.yml -f docker-compose.cpu.yml up --build -d
- अगर आप native setup पसंद करते हैं, तो MANUAL.md में Python, Poetry, VS Code, Companion निर्देश देख सकते हैं
आवश्यक ज्ञान और लाइसेंस
- learners को नीचे दी गई चीज़ों की जानकारी होनी चाहिए
- Python
- PyTorch basics
- ML के लिए ज़रूरी probability, statistics, linear algebra, calculus
- notebooks RL खुद सिखाते हैं, लेकिन यह मानकर चलते हैं कि आप असली training code पढ़ और modify कर सकते हैं
- लाइसेंस MIT है, और अधिक जानकारी LICENSE में है
1 टिप्पणियां
Hacker News टिप्पणियां
आधुनिक deep reinforcement learning सीखते समय अच्छे resources तो बहुत मिले, लेकिन theory और practice का वह balance नहीं मिला जो मेरे अनुभव के हिसाब से ठीक बैठता, इसलिए मैंने खुद बनाया और open source कर दिया
Python notebooks की एक series में QLearning, DQN, SAC, PPO जैसे algorithms को scratch से फिर से implement किया, और इसे इस तरह बनाया कि 2018/2019 के आसपास की latest techniques तक theory और coding exercises को step-by-step follow किया जा सके
Title Andrej Karpathy के "Neural Network: Zero To Hero" से लिया गया है, और YouTube videos बनाने का भी इरादा था, लेकिन अभी तक समय नहीं मिला
References: https://github.com/alessiodm/drl-zh/blob/main/00_Intro.ipynb, https://karpathy.ai/zero-to-hero.html
अगर बाद में chapters को और expand किया जाए, तो पहले से ठीक चलने वाली सरल चीजों के बजाय जब चीजें टूटें तो क्या करें इस पर बात करना अच्छा होगा
जैसे behavior लगातार maximum value पर stuck हो जाना, या off-policy learning में कितना भी noise डालने पर भी exploration शुरू न होना
Basics आम तौर पर चल जाते हैं, लेकिन जब अचानक ऐसी problem आती है जिसके बारे में कोई ठीक से बात नहीं करता, तब काम आने वाली practical सामग्री और ज्यादा होनी चाहिए
असली deep reinforcement learning applications में सफल cases से ज्यादा असफल cases मिलते हैं, और इस tutorial में भी troubleshooting, tuning और productization की तरफ कमी है
अगर expand करने का समय मिला तो इस हिस्से को priority दूंगा: https://www.alexirpan.com/2018/02/14/rl-hard.html
University में reinforcement learning तीन semesters पढ़ी, लेकिन यह जानकर बहुत निराशा हुई कि modern reinforcement learning techniques Tetris में simple heuristics को भी नहीं हरा पातीं
Reinforcement learning concepts को भी दूसरे tools की तरह सही जगह इस्तेमाल करना जरूरी है
Classes में अक्सर यह हिस्सा छूट जाता है कि powerful ideas real world में कहां काम आ सकते हैं
Optimal policy की बात करना अच्छा है, लेकिन अगर यह नहीं समझा पाए कि इसे कहां apply किया जा सकता है, तो यह आसानी से दिलचस्प math के bundle तक सीमित रह जाता है
फिर भी मुझे लगता है कि इसके basics और fundamentals सीखना worthwhile है
Supervised learning, unsupervised learning और हाल में बहुत attention पाने वाली semi-supervised learning के उलट, reinforcement learning learning problem को environment से interact करने और feedback लेने वाले agent के रूप में बहुत elegant तरीके से model करती है
आज भी RLHF जैसे LLM fine-tuning, Covariant जैसी robotics companies, और Nvidia Eureka की तरह LLM और reinforcement learning को combine करने वाली research जैसे practical success cases हैं: https://www.alexirpan.com/2018/02/14/rl-hard.html, https://blogs.nvidia.com/blog/eureka-robotics-research/
OpenAI Gym जैसा, music generation के लिए एक deep reinforcement learning framework बनाया है
अगर original post के algorithms test करना चाहें तो इस्तेमाल कर सकते हैं, issues और PRs भी welcome हैं
https://github.com/chaosprint/RaveForce
पहले खुद deep reinforcement learning देखी थी, लेकिन agent कोई meaningful progress नहीं कर पाया, और statistics या machine learning background लगभग न होने से यह debug करना मुश्किल था कि क्या गलत हो रहा है
इस material को follow करके देखूंगा कि क्या होता है
अगर सिर्फ यह देखना है कि algorithm सच में चलता है या नहीं, तो
solutionfolder से कोई चलने लायक algorithm चुनकर सीधे run कर सकते हैंठीक चला तो उसके बाद scratch से फिर से implement करने का मजा ले सकते हैं
Beginners को यह बात साफ-साफ बतानी चाहिए
Machine learning topics, खासकर reinforcement learning से जुड़े topics में यही सबसे निराशाजनक हिस्सा है
कुछ साल पहले मैंने भी ऐसा ही कुछ बनाया था। PPO तक नहीं जाता और style भी अलग है
https://learndrl.com/
इसे बेहतर या खराब कहने का इरादा नहीं है, लेकिन learning के नजरिए से वही जानकारी कई formats में मिलना हमेशा अच्छा होता है
MDP example देखने के बाद, non-deterministic transition function को introduce करने के तरीके पर एक suggestion देना चाहता हूं
मौजूदा example में non-determinism इस तरह आता है कि agent ऊपर या नीचे जाने की कोशिश करता है लेकिन गलती से left या right चला जाता है; text में यह बात पर्याप्त रूप से explain नहीं है कि agent गलती करता है, इसलिए
transition()function की comment पहले थोड़ा confusing लगीसाथ ही educational तौर पर non-determinism को agent के बजाय environment से आने वाला बताना बेहतर हो सकता है। उदाहरण के लिए, rough surface पर चलना, जहां tracks या limbs को move करने पर भी हमेशा intended result नहीं मिलता
मौजूदा wording action से random action, और फिर random state तक जाने वाले function जैसी लगती है, जबकि definition action से random state तक जाने वाले function की है
शुरुआत में सोचा था कि videos में voiceover से text की gaps भर दूंगा, लेकिन videos बनाने का समय नहीं मिला, इसलिए फिलहाल ऐसी gaps ही ठीक कर रहा हूं
तीसरा notebook काफी पढ़ने के बाद ही समझ आया कि
TODOmarked code sections असल में reader द्वारा implement की जाने वाली coding exercises हैं, और उसके बाद आने वाले tests अपना answer check करने के लिए हैंApproach smart है, लेकिन शुरुआत से clear नहीं दिखा
पहले लगा कि big picture में बाधा न आए इसलिए छोटी-मोटी details TODO छोड़ दी गई हैं, जबकि वास्तव में वही हिस्से core थे
TODOconfusing हो सकता है, और README.md में instructions update कर दिए हैं ताकि साफ लिखा हो कि वे पूरे किए जाने वाले coding sections हैंTheory तो सीखी थी, लेकिन reinforcement learning को असल में इस्तेमाल करने के लिए जरूरी practical knowledge की कमी के साथ अधर में था; यह बिल्कुल उसी type का course लगता है जिसे मैं ढूंढ रहा था
अच्छा लग रहा है, README में YouTube video links जोड़ना अच्छा रहेगा
फिर भी community में interest दिख रहा है, तो बनाने की कोशिश करूंगा, और तब तक README ठीक कर दूंगा