मुख्य कंटेंट तक स्किप करें

रीइन्फोर्समेंट लर्निंग परिचय

पिछले लेखों में, हमने देखा कि AlphaGo ने मानव गेम रिकॉर्ड से सुपरवाइज़्ड लर्निंग का उपयोग कैसे किया। लेकिन सुपरवाइज़्ड लर्निंग की एक मूलभूत सीमा है: यह केवल मानव की नकल कर सकती है, मानव से आगे नहीं जा सकती

AI को मानव से आगे ले जाने के लिए, हमें एक अलग लर्निंग मेथड चाहिए—रीइन्फोर्समेंट लर्निंग (Reinforcement Learning, RL)

यह लेख आपको शून्य से रीइन्फोर्समेंट लर्निंग की मुख्य अवधारणाएं समझाएगा, जो बाद में सेल्फ-प्ले और MCTS इंटीग्रेशन के लिए नींव तैयार करेगा।


रीइन्फोर्समेंट लर्निंग क्या है?

अन्य लर्निंग मेथड से तुलना

मशीन लर्निंग के मुख्य रूप से तीन पैराडाइम हैं:

पैराडाइमसीखने का तरीकाउदाहरण
सुपरवाइज़्ड लर्निंगलेबल्ड डेटा से सीखनाइमेज क्लासिफिकेशन, नेक्स्ट मूव प्रेडिक्शन
अनसुपरवाइज़्ड लर्निंगअनलेबल्ड डेटा से स्ट्रक्चर खोजनाक्लस्टरिंग, डायमेंशनैलिटी रिडक्शन
रीइन्फोर्समेंट लर्निंगइंटरैक्शन एक्सपीरियंस से सीखनाशतरंज खेलना, गेम खेलना, रोबोट कंट्रोल

रीइन्फोर्समेंट लर्निंग की विशेषता है: कोई आपको सही जवाब नहीं बताता, आपको ट्रायल और एरर से खुद खोजना होता है

एक सहज उदाहरण

कल्पना करें आप एक कुत्ते को नई ट्रिक सिखा रहे हैं:

  1. कुत्ता कोई एक्शन करता है (शायद रैंडम)
  2. यदि एक्शन सही है, आप उसे ट्रीट देते हैं (पॉजिटिव रिवॉर्ड)
  3. यदि एक्शन गलत है, आप ट्रीट नहीं देते या धीरे से "नहीं" कहते हैं (नेगेटिव या जीरो रिवॉर्ड)
  4. कई प्रयासों के बाद, कुत्ता सीख जाता है कि कौन से एक्शन रिवॉर्ड लाते हैं

यही रीइन्फोर्समेंट लर्निंग का सार है: रिवॉर्ड सिग्नल के माध्यम से सीखना कि कैसे एक्ट करें

गो में रीइन्फोर्समेंट लर्निंग का अनुप्रयोग

गो में:

  • हर चाल एक "एक्शन" है
  • गेम के अंत में, जीत-हार "रिवॉर्ड" है
  • AI को सीखना है: कौन सी चालें अंततः जीत की ओर ले जाती हैं?

लेकिन यहां एक बड़ी चुनौती है: डिलेड रिवॉर्ड। एक गेम में 200 से ज्यादा चालें हो सकती हैं, लेकिन जीत-हार का पता अंत में ही चलता है। 50वीं चाल पर चली गई चाल का अंतिम परिणाम में कितना योगदान है?

यह रीइन्फोर्समेंट लर्निंग की सबसे कठिन समस्याओं में से एक है, जिसे हम क्रेडिट असाइनमेंट प्रॉब्लम (Credit Assignment Problem) कहते हैं।


मुख्य अवधारणाएं

Agent (एजेंट) और Environment (एनवायरनमेंट)

रीइन्फोर्समेंट लर्निंग की बेसिक आर्किटेक्चर में दो मुख्य किरदार हैं:

Agent (एजेंट):

  • निर्णय लेने वाला मुख्य किरदार
  • गो में, यह खेलने वाला AI है
  • इसके पास एक "पॉलिसी" (Policy) है, जो बताती है कि किस स्टेट में क्या एक्शन लेना है

Environment (एनवायरनमेंट):

  • Agent जिससे इंटरैक्ट करता है
  • गो में, यह बोर्ड + प्रतिद्वंद्वी है
  • Agent का एक्शन लेता है, नया स्टेट और रिवॉर्ड रिटर्न करता है

State (स्टेट)

स्टेट s एनवायरनमेंट का पूर्ण विवरण है। गो में:

  • स्टेट में शामिल: वर्तमान बोर्ड पोज़िशन, किसकी बारी है, को स्टेट आदि
  • स्टेट स्पेस बहुत विशाल है: लगभग 1017010^{170} संभावित स्टेट

स्टेट में मार्कोव प्रॉपर्टी होनी चाहिए: भविष्य केवल वर्तमान स्टेट पर निर्भर है, इतिहास पर नहीं।

Action (एक्शन)

एक्शन a वह बिहेवियर है जो Agent ले सकता है। गो में:

  • हर खाली पॉइंट एक संभावित एक्शन है
  • "पास" जोड़कर, कुल 19×19+1=36219 \times 19 + 1 = 362 एक्शन
  • लेकिन वास्तव में कई पोज़िशन इलीगल हैं (जैसे सुसाइड, को)

Reward (रिवॉर्ड)

रिवॉर्ड r एक्शन पर एनवायरनमेंट का फीडबैक है। गो में:

  • जीत: +1+1
  • हार: 1-1
  • गेम के दौरान: 00 (यही सबसे चुनौतीपूर्ण है!)

रिवॉर्ड सिग्नल की स्पार्सिटी गो रीइन्फोर्समेंट लर्निंग की मुख्य कठिनाइयों में से एक है।

Policy (पॉलिसी)

पॉलिसी π Agent का बिहेवियर रूल है, बताती है कि हर स्टेट में क्या करना है।

पॉलिसी हो सकती है:

  • डिटरमिनिस्टिक पॉलिसी: a=π(s)a = \pi(s), हर स्टेट के लिए एक यूनीक एक्शन
  • स्टोकैस्टिक पॉलिसी: aπ(as)a \sim \pi(a|s), एक्शन का प्रोबेबिलिटी डिस्ट्रीब्यूशन देती है

AlphaGo में, Policy Network एक स्टोकैस्टिक पॉलिसी है, जो हर पोज़िशन की चाल प्रोबेबिलिटी आउटपुट करती है।


मार्कोव डिसीजन प्रोसेस (MDP)

MDP की परिभाषा

मार्कोव डिसीजन प्रोसेस (Markov Decision Process, MDP) रीइन्फोर्समेंट लर्निंग का गणितीय फ्रेमवर्क है।

एक MDP पांच तत्वों (S,A,P,R,γ)(S, A, P, R, \gamma) से परिभाषित होता है:

सिंबलअर्थगो में संदर्भ
SSस्टेट स्पेससभी संभावित बोर्ड पोज़िशन
AAएक्शन स्पेससभी वैध चाल पोज़िशन
$P(s's,a)$ट्रांज़िशन प्रोबेबिलिटी
R(s,a,s)R(s,a,s')रिवॉर्ड फंक्शनजीत-हार परिणाम
γ\gammaडिस्काउंट फैक्टरभविष्य के रिवॉर्ड की महत्ता

मार्कोव प्रॉपर्टी

MDP की मुख्य धारणा है मार्कोव प्रॉपर्टी (Markov Property):

P(st+1st,at,st1,at1,,s0)=P(st+1st,at)P(s_{t+1}|s_t, a_t, s_{t-1}, a_{t-1}, \ldots, s_0) = P(s_{t+1}|s_t, a_t)

सरल भाषा में: भविष्य केवल वर्तमान पर निर्भर है, अतीत पर नहीं

क्या गो इस प्रॉपर्टी को पूरा करता है?

देखने में, हां—यदि वर्तमान बोर्ड स्टेट पता है, तो सभी वैध चालें पता हैं। लेकिन वास्तव में, गो में को रूल है, जिसके लिए पिछली स्टेट याद रखनी होती है। AlphaGo इसे पिछली 8 चालों के बोर्ड को इनपुट फीचर में एनकोड करके हैंडल करता है।

गो डिटरमिनिस्टिक MDP है

गो की एक विशेष प्रॉपर्टी है: ट्रांज़िशन डिटरमिनिस्टिक है

बोर्ड गेम में, जब आप एक चाल चलते हैं, बोर्ड स्टेट का बदलाव पूरी तरह निश्चित है (डाइस गेम में रैंडमनेस के विपरीत)। इसलिए:

P(ss,a)={1यदि s एक्शन a के बाद की स्टेट है0अन्यथाP(s'|s,a) = \begin{cases} 1 & \text{यदि } s' \text{ एक्शन } a \text{ के बाद की स्टेट है} \\ 0 & \text{अन्यथा} \end{cases}

लेकिन याद रखें, गो टू-प्लेयर गेम है, प्रतिद्वंद्वी की चाल "अनिश्चितता" लाती है। यह समस्या को एडवर्सेरियल MDP बना देता है।

रिवॉर्ड डिज़ाइन

रिवॉर्ड फंक्शन का डिज़ाइन रीइन्फोर्समेंट लर्निंग के लिए बहुत महत्वपूर्ण है। गो में, सबसे प्राकृतिक डिज़ाइन है:

R(sT)={+1यदि AI जीता1यदि AI हाराR(s_T) = \begin{cases} +1 & \text{यदि AI जीता} \\ -1 & \text{यदि AI हारा} \end{cases}

जहां TT गेम समाप्त होने का टाइम स्टेप है।

यह स्पार्स रिवॉर्ड बड़ी चुनौती लाता है:

  • एक गेम में 200-300 चालें हो सकती हैं
  • केवल आखिरी चाल पर जीत-हार पता चलता है
  • बीच की किसी चाल की क्वालिटी कैसे जानें?

कुछ रिसर्च ने डेंस रिवॉर्ड डिज़ाइन करने की कोशिश की, जैसे:

  • कैप्चर रिवॉर्ड
  • टेरिटरी एस्टिमेशन रिवॉर्ड
  • पोज़िशन इवैल्यूएशन रिवॉर्ड

लेकिन AlphaGo की सफलता बताती है: केवल फाइनल जीत-हार को रिवॉर्ड के रूप में उपयोग करके भी, पर्याप्त सेल्फ-प्ले के माध्यम से, AI परिष्कृत मिडगेम टैक्टिक्स सीख सकता है


वैल्यू फंक्शन

वैल्यू फंक्शन की आवश्यकता क्यों?

रीइन्फोर्समेंट लर्निंग का लक्ष्य क्यूमुलेटिव रिवॉर्ड को मैक्सिमाइज़ करना है। लेकिन रिवॉर्ड डिलेड है, हमें "वर्तमान स्टेट कितनी अच्छी है" का मूल्यांकन करने का तरीका चाहिए।

यही वैल्यू फंक्शन (Value Function) का काम है।

स्टेट वैल्यू फंक्शन V(s)

स्टेट वैल्यू फंक्शन Vπ(s)V^\pi(s) को इस प्रकार परिभाषित किया जाता है: स्टेट ss से शुरू करके, पॉलिसी π\pi का पालन करते हुए, प्रत्याशित क्यूमुलेटिव रिवॉर्ड।

Vπ(s)=Eπ[t=0γtrt+1s0=s]V^\pi(s) = \mathbb{E}_\pi \left[ \sum_{t=0}^{\infty} \gamma^t r_{t+1} \mid s_0 = s \right]

जहां:

  • Eπ\mathbb{E}_\pi पॉलिसी π\pi के तहत एक्सपेक्टेड वैल्यू है
  • γ[0,1]\gamma \in [0, 1] डिस्काउंट फैक्टर है, जो निकट के रिवॉर्ड को दूर के से ज्यादा महत्वपूर्ण बनाता है
  • rt+1r_{t+1} टाइम स्टेप t+1t+1 पर मिलने वाला रिवॉर्ड है

गो में, V(s)V(s) को इस प्रकार समझा जा सकता है: वर्तमान पोज़िशन से शुरू करके, AI के जीतने की प्रोबेबिलिटी। AlphaGo की Value Network यही फंक्शन सीखती है।

एक्शन वैल्यू फंक्शन Q(s,a)

एक्शन वैल्यू फंक्शन Qπ(s,a)Q^\pi(s,a) आगे बढ़कर, स्टेट ss में एक्शन aa लेने की वैल्यू मूल्यांकित करता है:

Qπ(s,a)=Eπ[t=0γtrt+1s0=s,a0=a]Q^\pi(s,a) = \mathbb{E}_\pi \left[ \sum_{t=0}^{\infty} \gamma^t r_{t+1} \mid s_0 = s, a_0 = a \right]

Q(s,a)Q(s,a) को इस प्रकार समझा जा सकता है: वर्तमान पोज़िशन में यह चाल चलने पर, अंततः जीतने की प्रोबेबिलिटी

V और Q का संबंध

इन दोनों फंक्शन का गहरा संबंध है:

Vπ(s)=aπ(as)Qπ(s,a)V^\pi(s) = \sum_a \pi(a|s) Q^\pi(s,a)

यानी, स्टेट वैल्यू = सभी संभावित एक्शन का वेटेड एवरेज, वेट पॉलिसी द्वारा निर्धारित।

यदि हम ऑप्टिमल पॉलिसी π\pi^* जानते हैं:

V(s)=maxaQ(s,a)V^*(s) = \max_a Q^*(s,a)

ऑप्टिमल स्टेट वैल्यू = बेस्ट एक्शन की Q वैल्यू।

बेलमैन इक्वेशन

वैल्यू फंक्शन एक सुंदर रिकर्सिव संबंध पूरा करता है—बेलमैन इक्वेशन (Bellman Equation):

Vπ(s)=aπ(as)sP(ss,a)[R(s,a,s)+γVπ(s)]V^\pi(s) = \sum_a \pi(a|s) \sum_{s'} P(s'|s,a) \left[ R(s,a,s') + \gamma V^\pi(s') \right]

सरल भाषा में: वर्तमान स्टेट की वैल्यू = इमीडिएट रिवॉर्ड + डिस्काउंटेड नेक्स्ट स्टेट वैल्यू

यह इक्वेशन डायनामिक प्रोग्रामिंग और कई रीइन्फोर्समेंट लर्निंग एल्गोरिथम का थ्योरेटिकल बेस है।

AlphaGo की Value Network

AlphaGo में, Value Network V(s)V(s) सीखती है—वर्तमान पोज़िशन की जीत दर का मूल्यांकन।

इनपुट: बोर्ड स्टेट s (19×19×17 फीचर टेंसर)
आउटपुट: जीत दर एस्टिमेट V(s) ∈ [-1, 1] (tanh एक्टिवेशन)

Value Network का ट्रेनिंग टारगेट फाइनल रिजल्ट प्रेडिक्ट करना है:

L=E[(Vθ(s)z)2]L = \mathbb{E} \left[ (V_\theta(s) - z)^2 \right]

जहां z{1,+1}z \in \{-1, +1\} गेम का वास्तविक परिणाम है।


पॉलिसी ग्रेडिएंट मेथड

वैल्यू से पॉलिसी तक

ट्रेडिशनल रीइन्फोर्समेंट लर्निंग मेथड (जैसे Q-Learning) "वैल्यू-बेस्ड" हैं: पहले वैल्यू फंक्शन सीखें, फिर उससे पॉलिसी निकालें।

लेकिन गो जैसी बड़ी एक्शन स्पेस वाली समस्याओं में, सीधे पॉलिसी सीखना अधिक प्रभावी हो सकता है। यही पॉलिसी ग्रेडिएंट (Policy Gradient) मेथड का विचार है।

पॉलिसी का पैरामीटराइज़ेशन

हम न्यूरल नेटवर्क से पॉलिसी रिप्रेज़ेंट करते हैं:

πθ(as)\pi_\theta(a|s)

जहां θ\theta नेटवर्क पैरामीटर हैं। नेटवर्क स्टेट ss इनपुट लेता है, प्रत्येक एक्शन की प्रोबेबिलिटी आउटपुट करता है।

AlphaGo में, यही Policy Network है:

  • इनपुट: बोर्ड स्टेट
  • आउटपुट: 361 पोज़िशन की चाल प्रोबेबिलिटी (+ पास)

पॉलिसी ग्रेडिएंट थ्योरम

हम ऑप्टिमल पैरामीटर θ\theta^* खोजना चाहते हैं, जो प्रत्याशित क्यूमुलेटिव रिवॉर्ड मैक्सिमाइज़ करे:

J(θ)=Eπθ[trt]J(\theta) = \mathbb{E}_{\pi_\theta} \left[ \sum_t r_t \right]

पॉलिसी ग्रेडिएंट थ्योरम बताता है कि JJ का θ\theta के सापेक्ष ग्रेडिएंट कैसे गणना करें:

θJ(θ)=Eπθ[tθlogπθ(atst)Gt]\nabla_\theta J(\theta) = \mathbb{E}_{\pi_\theta} \left[ \sum_t \nabla_\theta \log \pi_\theta(a_t|s_t) \cdot G_t \right]

जहां Gt=k=tTγktrkG_t = \sum_{k=t}^{T} \gamma^{k-t} r_k टाइम tt से शुरू होने वाला क्यूमुलेटिव रिवॉर्ड है।

सहज समझ

इस फॉर्मूला को इस प्रकार समझा जा सकता है:

  1. θlogπθ(atst)\nabla_\theta \log \pi_\theta(a_t|s_t): एक्शन ata_t की प्रोबेबिलिटी बढ़ाने के लिए पैरामीटर कैसे एडजस्ट करें
  2. GtG_t: इस एक्शन से मिला कुल रिटर्न

इसलिए:

  • यदि Gt>0G_t > 0 (अच्छा परिणाम), इस एक्शन की प्रोबेबिलिटी बढ़ाएं
  • यदि Gt<0G_t < 0 (बुरा परिणाम), इस एक्शन की प्रोबेबिलिटी कम करें

यही क्रेडिट असाइनमेंट का एक समाधान है!

REINFORCE एल्गोरिथम

REINFORCE सबसे सरल पॉलिसी ग्रेडिएंट एल्गोरिथम है:

एल्गोरिथम: REINFORCE

1. पॉलिसी नेटवर्क पैरामीटर θ इनिशियलाइज़ करें

2. दोहराएं:
a. वर्तमान पॉलिसी π_θ से एक गेम पूरा करें, ट्रैजेक्टरी कलेक्ट करें:
τ = (s_0, a_0, r_1, s_1, a_1, r_2, ..., s_T)

b. प्रत्येक स्टेप का क्यूमुलेटिव रिटर्न कैलकुलेट करें:
G_t = r_{t+1} + γ·r_{t+2} + γ²·r_{t+3} + ...

c. पॉलिसी ग्रेडिएंट कैलकुलेट करें:
∇J = (1/T) Σ_t ∇_θ log π_θ(a_t|s_t) · G_t

d. पैरामीटर अपडेट करें:
θ ← θ + α · ∇J

गो में, इसका अर्थ है:

  1. AI को खुद एक गेम खेलने दें
  2. यदि अंत में जीत (G=+1G = +1), सभी चली गई चालों की प्रोबेबिलिटी बढ़ाएं
  3. यदि अंत में हार (G=1G = -1), सभी चली गई चालों की प्रोबेबिलिटी कम करें
  4. इस प्रक्रिया को लाखों बार दोहराएं

बेसलाइन (Baseline)

REINFORCE की एक समस्या हाई वेरिएंस है। एक जीती हुई गेम में भी कुछ बुरी चालें हो सकती हैं, लेकिन उन सभी की प्रोबेबिलिटी बढ़ जाएगी।

समाधान है बेसलाइन (baseline) जोड़ना:

θJ=E[tθlogπθ(atst)(Gtb(st))]\nabla_\theta J = \mathbb{E} \left[ \sum_t \nabla_\theta \log \pi_\theta(a_t|s_t) \cdot (G_t - b(s_t)) \right]

आम चयन है b(st)=V(st)b(s_t) = V(s_t), यही एडवांटेज फंक्शन (Advantage Function) है:

A(st,at)=GtV(st)A(s_t, a_t) = G_t - V(s_t)

एडवांटेज फंक्शन मापता है: "यह एक्शन एवरेज से कितना बेहतर है?"

  • A>0A > 0: यह एक्शन एक्सपेक्टेशन से बेहतर, प्रोबेबिलिटी बढ़ाएं
  • A<0A < 0: यह एक्शन एक्सपेक्टेशन से बुरा, प्रोबेबिलिटी कम करें

AlphaGo बेसलाइन कैलकुलेट करने के लिए Value Network का उपयोग करता है, इसीलिए Policy Network और Value Network दोनों को साथ ट्रेन करना जरूरी है।


एक्सप्लोरेशन और एक्सप्लॉइटेशन

दुविधा

रीइन्फोर्समेंट लर्निंग एक क्लासिक दुविधा का सामना करती है: एक्सप्लोरेशन vs एक्सप्लॉइटेशन (Exploration vs. Exploitation)

  • एक्सप्लॉइटेशन (Exploitation): वर्तमान ज्ञान के आधार पर, सबसे अच्छा लगने वाला एक्शन चुनें
  • एक्सप्लोरेशन (Exploration): अनिश्चित एक्शन ट्राई करें, शायद बेहतर स्ट्रैटेजी मिले

प्योर एक्सप्लॉइटेशन लोकल ऑप्टिमम में फंस सकता है; प्योर एक्सप्लोरेशन स्पष्ट रूप से बुरी चालों पर समय बर्बाद करता है।

गो में चुनौती

गो में, यह समस्या विशेष रूप से गंभीर है:

  1. विशाल एक्शन स्पेस: 361 संभावित चालें
  2. स्पार्स रिवॉर्ड: केवल गेम के अंत में पता चलता है
  3. लॉन्ग-टर्म इम्पैक्ट: एक चाल का प्रभाव दर्जनों चालों बाद दिख सकता है

ε-Greedy स्ट्रैटेजी

सबसे सरल एक्सप्लोरेशन मेथड:

π(as)={1ε+εAयदि a=argmaxQ(s,a)εAअन्यथा\pi(a|s) = \begin{cases} 1 - \varepsilon + \frac{\varepsilon}{|A|} & \text{यदि } a = \arg\max Q(s,a) \\ \frac{\varepsilon}{|A|} & \text{अन्यथा} \end{cases}

1ε1-\varepsilon प्रोबेबिलिटी से बेस्ट एक्शन चुनें, ε\varepsilon प्रोबेबिलिटी से रैंडम चुनें।

लेकिन यह गो के लिए बहुत क्रूड है—रैंडम पोज़िशन पर चाल चलना, ज्यादातर समय बुरी चाल होगी।

Softmax एक्सप्लोरेशन

बेहतर मेथड है softmax डिस्ट्रीब्यूशन:

π(as)=exp(Q(s,a)/τ)aexp(Q(s,a)/τ)\pi(a|s) = \frac{\exp(Q(s,a)/\tau)}{\sum_{a'} \exp(Q(s,a')/\tau)}

जहां τ\tau टेम्परेचर पैरामीटर है:

  • τ0\tau \to 0: ग्रीडी स्ट्रैटेजी के करीब (प्योर एक्सप्लॉइटेशन)
  • τ\tau \to \infty: यूनिफॉर्म रैंडम के करीब (प्योर एक्सप्लोरेशन)
  • τ=1\tau = 1: एक्सप्लोरेशन और एक्सप्लॉइटेशन का बैलेंस

AlphaGo सेल्फ-प्ले ट्रेनिंग में डायवर्सिटी बढ़ाने के लिए समान तकनीक का उपयोग करता है।

UCB और PUCT

MCTS में, एक्सप्लोरेशन और एक्सप्लॉइटेशन UCB (Upper Confidence Bound) फॉर्मूला द्वारा हैंडल होते हैं। AlphaGo इसके वेरिएंट PUCT का उपयोग करता है:

score(s,a)=Q(s,a)+cpuctP(s,a)N(s)1+N(s,a)\text{score}(s,a) = Q(s,a) + c_{\text{puct}} \cdot P(s,a) \cdot \frac{\sqrt{N(s)}}{1 + N(s,a)}

यह फॉर्मूला PUCT फॉर्मूला विस्तार में विस्तार से समझाया गया है।

इंट्रिंसिक एक्सप्लोरेशन

AlphaGo में एक इम्प्लिसिट एक्सप्लोरेशन मेकेनिज़्म भी है: सेल्फ-प्ले खुद एक्सप्लोरेशन है

चूंकि न्यूरल नेटवर्क प्रोबेबिलिटी डिस्ट्रीब्यूशन आउटपुट करता है, डिटरमिनिस्टिक एक्शन नहीं, हर सेल्फ-प्ले गेम अलग होता है। यह स्वाभाविक रूप से लाता है:

  • टैक्टिकल डायवर्सिटी: समान पोज़िशन में अलग-अलग चालें ट्राई हो सकती हैं
  • स्टाइल इवोल्यूशन: ट्रेनिंग के साथ, AI मानव के कभी न ट्राई किए गए जोसेकी "डिस्कवर" कर सकता है
  • सेल्फ-करेक्शन: यदि कोई चाल हमेशा हारती है, उसकी प्रोबेबिलिटी धीरे-धीरे कम हो जाती है

गो रीइन्फोर्समेंट लर्निंग की विशेषताएं

अन्य क्षेत्रों से तुलना

गो रीइन्फोर्समेंट लर्निंग की कुछ अनूठी विशेषताएं हैं:

विशेषतागोरोबोट कंट्रोलवीडियो गेम
स्टेट स्पेसडिस्क्रीट, बहुत बड़ाकंटीन्यूअसडिस्क्रीट, मीडियम
एक्शन स्पेसडिस्क्रीट, बड़ाकंटीन्यूअसडिस्क्रीट, छोटा
ट्रांज़िशनडिटरमिनिस्टिकस्टोकैस्टिकडिटरमिनिस्टिक या स्टोकैस्टिक
रिवॉर्डबहुत स्पार्सडिज़ाइन करने योग्यमॉडरेट डेंस
एनवायरनमेंट मॉडलज्ञात (नियम)अज्ञातआंशिक रूप से ज्ञात
एडवर्सेरियलपरफेक्ट इन्फॉर्मेशन गेमआमतौर पर नहींहो सकता है

डिटरमिनिस्टिक ट्रांज़िशन

गो के नियम पूरी तरह ज्ञात हैं। जब आप एक चाल चलते हैं, अगला स्टेट निश्चित है। इसका अर्थ है:

  • सटीक सिमुलेशन संभव: एनवायरनमेंट मॉडल सीखने की जरूरत नहीं
  • परफेक्ट रोलबैक: MCTS सटीक सर्च कर सकता है
  • एनवायरनमेंट रैंडमनेस हैंडल नहीं करनी: कई समस्याएं सरल हो जाती हैं

परफेक्ट इन्फॉर्मेशन

गो परफेक्ट इन्फॉर्मेशन गेम है—दोनों पक्ष पूरा बोर्ड देख सकते हैं। यह पोकर (हिडन इन्फॉर्मेशन) से अलग है, कुछ मायनों में समस्या सरल बनाता है:

  • प्रतिद्वंद्वी की हिडन इन्फॉर्मेशन हैंडल नहीं करनी
  • Minimax फ्रेमवर्क उपयोग कर सकते हैं
  • स्टेट रिप्रेज़ेंटेशन सीधा है

सेल्फ-प्ले की संभावना

चूंकि नियम ज्ञात और निश्चित हैं, AI खुद से खेल सकता है बिना असली प्रतिद्वंद्वी के। यह लाता है:

  • अनलिमिटेड ट्रेनिंग डेटा: कभी भी नया गेम जेनरेट कर सकते हैं
  • स्थिर प्रतिद्वंद्वी लेवल: प्रतिद्वंद्वी खुद है, लेवल समान है
  • ग्रैजुअल इम्प्रूवमेंट: जैसे-जैसे खुद मजबूत होते हैं, प्रतिद्वंद्वी भी मजबूत होता है

यही AlphaGo की सफलता की कुंजी है, अगले लेख सेल्फ-प्ले में विस्तार से चर्चा करेंगे।

लॉन्ग-टर्म क्रेडिट असाइनमेंट

गो का रिवॉर्ड बहुत स्पार्स है (केवल फाइनल जीत-हार), और एक गेम में 200-300 चालें हो सकती हैं। यह गंभीर क्रेडिट असाइनमेंट प्रॉब्लम लाता है:

50वीं चाल की एक अच्छी चाल, 250वीं चाल पर जीत पर, क्रेडिट कैसे सही ढंग से असाइन करें?

AlphaGo का समाधान कई तकनीकों का कॉम्बिनेशन है:

  1. Value Network: मिड-गेम पोज़िशन की जीत दर मूल्यांकित करती है, इमीडिएट फीडबैक देती है
  2. MCTS: सर्च से हर चाल की क्वालिटी वेरिफाई करता है
  3. बहुत सारे गेम: स्टैटिस्टिकल लर्निंग से क्रेडिट असाइनमेंट

सिमेट्री

गो बोर्ड में 8 गुना सिमेट्री है (4 रोटेशन × 2 मिरर)। AlphaGo इसका उपयोग डेटा ऑगमेंटेशन के लिए करता है:

  • हर ट्रेनिंग पोज़िशन 8 वेरिएंट जेनरेट कर सकती है
  • इफेक्टिव ट्रेनिंग डेटा बहुत बढ़ जाता है
  • नेटवर्क सिमेट्री-इनवेरिएंट फीचर सीखती है

एल्गोरिथम तुलना

वैल्यू-बेस्ड vs पॉलिसी-बेस्ड

मेथडफायदेनुकसानउपयुक्त सिचुएशन
वैल्यू-बेस्ड (Q-Learning)हाई सैंपल एफिशिएंसीबड़े एक्शन स्पेस में कठिनछोटा एक्शन स्पेस
पॉलिसी-बेस्ड (REINFORCE)बड़े एक्शन स्पेस हैंडल कर सकता हैहाई वेरिएंस, लो सैंपल एफिशिएंसीबड़ा एक्शन स्पेस
Actor-Criticदोनों का बैलेंसदो नेटवर्क साथ ट्रेन करनी होती हैंजनरल परपज़

AlphaGo का चयन

AlphaGo Actor-Critic आर्किटेक्चर का वेरिएंट उपयोग करता है:

  • Policy Network (Actor): सीधे एक्शन प्रोबेबिलिटी आउटपुट करती है
  • Value Network (Critic): स्टेट वैल्यू मूल्यांकित करती है

लेकिन यह ट्रेडिशनल Actor-Critic अपडेट वे नहीं उपयोग करता, बल्कि:

  1. सुपरवाइज़्ड लर्निंग: पहले मानव गेम से इनिशियल Policy Network सीखती है
  2. पॉलिसी ग्रेडिएंट: सेल्फ-प्ले से Policy Network को स्ट्रेंथन करती है
  3. रिग्रेशन लर्निंग: सेल्फ-प्ले डेटा से Value Network ट्रेन करती है
  4. MCTS इंटीग्रेशन: वास्तविक गेम में दोनों नेटवर्क कंबाइन करती है

यह हाइब्रिड मेथड कई तकनीकों के फायदे कंबाइन करती है, AlphaGo की सफलता की एक कुंजी है।


इम्प्लीमेंटेशन कंसीडरेशंस

ट्रेनिंग स्टेबिलिटी

पॉलिसी ग्रेडिएंट मेथड कभी-कभी अस्थिर हो सकती हैं। आम तकनीकें:

ग्रेडिएंट क्लिपिंग:

# ग्रेडिएंट नॉर्म लिमिट करें
max_grad_norm = 0.5
torch.nn.utils.clip_grad_norm_(policy_net.parameters(), max_grad_norm)

लर्निंग रेट डिके:

# ट्रेनिंग के साथ लर्निंग रेट कम करें
scheduler = torch.optim.lr_scheduler.StepLR(optimizer, step_size=100, gamma=0.9)

PPO/TRPO जैसे एडवांस्ड एल्गोरिथम: हर अपडेट में पॉलिसी चेंज लिमिट करते हैं, कैटास्ट्रॉफिक फॉरगेटिंग रोकते हैं।

मेमोरी मैनेजमेंट

गो गेम लंबे होते हैं, बहुत सारी ट्रैजेक्टरी स्टोर करनी होती है। आम स्ट्रैटेजी:

एक्सपीरियंस रीप्ले:

# पिछले एक्सपीरियंस स्टोर करें
replay_buffer = ReplayBuffer(max_size=1000000)

# रैंडम सैंपल से ट्रेन करें
batch = replay_buffer.sample(batch_size=256)

प्रायोरिटाइज़्ड एक्सपीरियंस रीप्ले: "सरप्राइज़िंग" एक्सपीरियंस (बड़े TD एरर वाले) को प्राथमिकता से रीप्ले करें।

पैरेलाइज़ेशन

रीइन्फोर्समेंट लर्निंग को हाई पैरेलाइज़ किया जा सकता है:

  • मल्टी-थ्रेड गेम: एक साथ कई गेम चलाएं
  • डिस्ट्रीब्यूटेड ट्रेनिंग: कई मशीनों पर साथ ट्रेन करें
  • एसिंक्रोनस अपडेट: A3C जैसे एल्गोरिथम

AlphaGo की ट्रेनिंग में सैकड़ों GPU और TPU का उपयोग हुआ, हजारों सेल्फ-प्ले गेम साथ चले।


एनिमेशन संदर्भ

इस लेख में शामिल मुख्य अवधारणाएं और एनिमेशन नंबर:

नंबरअवधारणाभौतिकी/गणित संदर्भ
H1Agent-Environment इंटरैक्शनमार्कोव चेन
H4पॉलिसी ग्रेडिएंटस्टोकैस्टिक ऑप्टिमाइज़ेशन
H6एक्सप्लोरेशन और एक्सप्लॉइटेशनमल्टी-आर्म्ड बैंडिट

सारांश

रीइन्फोर्समेंट लर्निंग AlphaGo के मानव से आगे जाने की कुंजी तकनीक है। हमने सीखा:

  1. बेसिक फ्रेमवर्क: Agent, Environment, State, Action, Reward
  2. MDP: मार्कोव डिसीजन प्रोसेस, रीइन्फोर्समेंट लर्निंग का गणितीय बेस
  3. वैल्यू फंक्शन: V(s)V(s) और Q(s,a)Q(s,a), स्टेट और एक्शन की क्वालिटी मूल्यांकित करते हैं
  4. पॉलिसी ग्रेडिएंट: सीधे पॉलिसी ऑप्टिमाइज़ करने का मेथड, REINFORCE एल्गोरिथम
  5. एक्सप्लोरेशन और एक्सप्लॉइटेशन: लर्निंग प्रोसेस में कोर ट्रेड-ऑफ
  6. गो की विशेषताएं: डिटरमिनिस्टिक, परफेक्ट इन्फॉर्मेशन, स्पार्स रिवॉर्ड की चुनौतियां और अवसर

अगले लेख में, हम विस्तार से देखेंगे कि AlphaGo सेल्फ-प्ले का उपयोग करके मानव से आगे की स्किल कैसे हासिल करता है।


आगे पढ़ने के लिए


संदर्भ सामग्री

  1. Sutton, R. S., & Barto, A. G. (2018). Reinforcement Learning: An Introduction (2nd ed.). MIT Press.
  2. Silver, D. (2015). "Lectures on Reinforcement Learning". University College London.
  3. Schulman, J., et al. (2017). "Proximal Policy Optimization Algorithms." arXiv preprint.
  4. Williams, R. J. (1992). "Simple statistical gradient-following algorithms for connectionist reinforcement learning." Machine Learning, 8(3-4), 229-256.
  5. Silver, D., et al. (2016). "Mastering the game of Go with deep neural networks and tree search." Nature, 529, 484-489.