अब हम Deep Learning की एक और शानदार शाखा की ओर बढ़ते हैं — 🎮 Reinforcement Learning (RL) जहाँ agent खुद से environment से सीखता है — trial and error के ज़रिए।
🔶 1. Reinforcement Learning क्या होता है?
Reinforcement Learning (RL) एक ऐसा learning paradigm है जिसमें एक agent environment में actions लेता है और rewards के आधार पर सीखता है कि कैसे बेहतर decision लिए जाएँ।
🎯 “RL is learning by interacting with the environment.”
🧠 Real-World Analogy:
Scenario
RL Mapping
बच्चा साइकिल चलाना सीखता है
Agent learns by falling & balancing
गेम खेलते समय स्कोर बढ़ाना
Agent earns reward by right actions
रेस्टोरेंट में नया खाना try करना
Exploration of unknown choices
🧩 2. Key Components of RL
Component
Description
🧠 Agent
जो decision लेता है (AI system)
🌍 Environment
जिसमें agent operate करता है
🎯 State (S)
वर्तमान स्थिति (e.g., board configuration)
🎮 Action (A)
जो कदम agent लेता है
💰 Reward (R)
Action के बदले मिलने वाली feedback
🔄 Policy (π)
Action लेने की strategy
🔮 Value Function (V)
किसी state की “future reward” expectation
🧮 Q-Value (Q)
Action के आधार पर reward की quality
🔁 3. RL का Interaction Cycle (Markov Decision Process – MDP)
अब हम समझते हैं GAN का Training Process, जो deep learning में सबसे रोचक और चुनौतीपूर्ण processes में से एक है। यह एक दो neural networks के बीच का “game” है — Generator vs Discriminator, जो एक-दूसरे को हराने की कोशिश करते हैं।
🔶 1. Overview: GAN कैसे Train होता है?
GAN दो parts से मिलकर बनता है:
Model
काम
🎨 Generator (G)
नकली data generate करता है
🕵️♂️ Discriminator (D)
Decide करता है कि data असली है या नकली
दोनों को बारी-बारी से train किया जाता है — Discriminator असली और नकली data में फर्क करना सीखता है, और Generator उसे बेवकूफ बनाने की कोशिश करता है।
🔁 2. Training Process Step-by-Step:
✅ Step 1: Real Data और Noise Prepare करें
एक mini-batch असली data x∼pdata से लें
Generator के लिए random noise vector z∼N(0,1) generate करें
✅ Step 2: Generator से Fake Data बनाएँ
Generator को noise vector zinput दें
वह fake sample generate करेगा: x^=G(z)
✅ Step 3: Discriminator को Train करें
उसे real data xxx और fake data x^ दोनों input दें
D को binary classification करना सिखाएँ:
D(x)→1
D(G(z))→0
Loss Function (Binary Cross-Entropy):
Discriminator के parameters को update करें
✅ Step 4: Generator को Train करें
अब Generator को better fake data generate करने के लिए update करें
उसके लिए Discriminator को fool करना लक्ष्य होता है:
Generator के parameters को update करें (Discriminator को freeze करके)
✅ Step 5: Repeat…
Step 1 से 4 को कई epochs तक repeat करें
धीरे-धीरे Generator realistic data generate करने लगेगा
और Discriminator उसे पहचानने में fail होने लगेगा (50% confidence)
🧠 PyTorch-Style Training Loop (Pseudo Code)
for epoch in range(num_epochs): for real_data in dataloader:
अब हम GAN (Generative Adversarial Network) के दो सबसे महत्वपूर्ण components की तुलना करेंगे: 🎭 Generator vs Discriminator ये दोनों एक-दूसरे के विरोधी हैं, लेकिन साथ में मिलकर GAN को powerful बनाते हैं।
🔶 1. GAN का मूल विचार (Core Idea)
GAN architecture में दो models होते हैं:
Generator (G) — नकली data बनाता है
Discriminator (D) — बताता है कि data असली है या नकली
इन दोनों models का उद्देश्य होता है एक-दूसरे को beat करना। 👉 यही competition GAN को smart और creative बनाता है।
🧠 2. Role of Generator (G)
Feature
Description
🛠️ काम
Random noise से synthetic data generate करता है
🎯 Goal
इतना realistic data बनाना कि Discriminator उसे पहचान ना सके
🔄 Input
Random vector z∼N(0,1)
📤 Output
Fake image / data sample G(z)
🧠 सीखता है
कैसे असली data की नकल की जाए
“Generator एक कलाकार है — जो नकली चित्र बनाता है।”
🔧 Example:
z = torch.randn(64, 100) # Random noise fake_images = generator(z) # Generated samples
🧠 3. Role of Discriminator (D)
Feature
Description
🛠️ काम
Real और fake data में भेद करना
🎯 Goal
सही-सही पहचानना कि data असली है या नकली
🔄 Input
Data sample (real or fake)
📤 Output
Probability: Real (1) या Fake (0)
🧠 सीखता है
असली और नकली data के अंतर
“Discriminator एक जज है — जो असली और नकली पहचानता है।”
🔧 Example:
real_score = discriminator(real_images) # Output close to 1 fake_score = discriminator(fake_images) # Output close to 0
🔁 4. GAN Training Dynamics
चरण
विवरण
1️⃣ Generator एक नकली image बनाता है
Generator random noise vector z∼N(0,1)को लेकर fake image G(z) produce करता है।
2️⃣ Discriminator असली और नकली दोनों samples पर prediction करता है
Discriminator को एक batch असली data x और fake data G(z)का मिलता है, और वह predict करता है कि कौन सा sample असली है और कौन नकली।
3️⃣ Discriminator की loss को minimize किया जाता है
Discriminator को train किया जाता है ताकि वह असली samples को 1 और नकली samples को 0 classify कर सके (binary classification)।
4️⃣ अब Generator की बारी है — वो अपनी trick और smart बनाता है
Generator को train किया जाता है ताकि उसका fake output ऐसा हो कि Discriminator उसे “real” समझे। यानी वह Discriminator की prediction को गलत करने की कोशिश करता है।
5️⃣ यह process बार-बार दोहराई जाती है (adversarial loop)
इस adversarial game में दोनों models better होते जाते हैं। Generator बेहतर fake samples बनाता है, और Discriminator उन्हें पकड़ने में तेज़ होता है।
👉 इस loop से दोनों models बेहतर होते जाते हैं।
⚔️ 5. Comparison Table
Feature
Generator (G)
Discriminator (D)
उद्देश्य
नकली data बनाना
असली और नकली में अंतर करना
Input
Noise vector z
Data sample x
Output
Fake sample (image, text, etc.)
Probability (real or fake)
Target
Discriminator को धोखा देना
Generator को पकड़ना
Learns from
Discriminator के feedback से
Real vs fake examples से
Neural Net Type
Generator network (decoder जैसा)
Classifier network (binary)
📊 Visualization
Noise (z) ↓ [ Generator ] ↓ Fake Data ───► [ Discriminator ] ◄─── Real Data ↓ Predicts: Real or Fake?
📝 Practice Questions
Generator और Discriminator में क्या अंतर है?
Generator क्या generate करता है और किस input से?
Discriminator क्या predict करता है?
GAN training में दोनों networks एक-दूसरे से कैसे सीखते हैं?
अब हम deep learning की सबसे क्रांतिकारी और रचनात्मक तकनीक को समझने जा रहे हैं — 🎭 Generative Adversarial Networks (GANs)
यह deep learning का एक ऐसा क्षेत्र है जो machines को नई चीजें “create” करना सिखाता है — जैसे इंसानों की तरह तस्वीरें बनाना, आर्टिफिशियल आवाज़ें, नए फैशन डिज़ाइन, और यहां तक कि पूरी दुनिया की नक़ल करना।
🔶 1. What is a GAN?
GANs एक तरह का generative model है जो deep learning का उपयोग करके नई data instances generate करता है। GAN architecture में दो neural networks होते हैं जो एक-दूसरे के खिलाफ (adversarial) train होते हैं:
🎯 “एक network generate करता है, दूसरा उसे judge करता है।”
🔁 2. GAN Structure
Noise (z) ↓ [Generator Network] ↓ Fake Data (x̂) ↓ [Discriminator Network] ↑ ↓ Real Data (x) Real or Fake?
🔹 Generator (G):
Random noise से fake data generate करता है
इसका उद्देश्य है Discriminator को धोखा देना
🔹 Discriminator (D):
असली और नकली data के बीच अंतर करने की कोशिश करता है
इसका उद्देश्य है fake data को पकड़ना
🧠 3. Game Between Generator and Discriminator
Generator चाहता है कि Discriminator को धोखा दे
Discriminator चाहता है कि वो सही-सही असली और नकली data पहचान ले