|
|
||
|---|---|---|
| .. | ||
| lab | ||
| CartPole-RL-PyTorch.ipynb | ||
| CartPole-RL-TF.ipynb | ||
| README.md | ||
| notebook.ipynb | ||
| tmp.ipynb | ||
README.md
డీప్ రీన్ఫోర్స్మెంట్ లెర్నింగ్
రీన్ఫోర్స్మెంట్ లెర్నింగ్ (RL) అనేది పర్యవేక్షిత లెర్నింగ్ మరియు పర్యవేక్షణ లేని లెర్నింగ్ తర్వాత ఒక ప్రాథమిక మెషీన్ లెర్నింగ్ పద్ధతిగా భావించబడుతుంది. పర్యవేక్షిత లెర్నింగ్లో మనం ఫలితాలు తెలిసిన డేటాసెట్పై ఆధారపడతాము, కానీ RL చేసి నేర్చుకోవడం అనే సిద్ధాంతంపై ఆధారపడి ఉంటుంది. ఉదాహరణకు, మనం మొదటిసారి కంప్యూటర్ గేమ్ను చూసినప్పుడు, నియమాలు తెలియకపోయినా ఆడటం మొదలుపెడతాము, ఆడుతూ మన ప్రవర్తనను సర్దుబాటు చేసుకుంటూ మన నైపుణ్యాలను మెరుగుపరుస్తాము.
పూర్వ-లెక్చర్ క్విజ్
RL నిర్వహించడానికి మనకు అవసరం:
- ఒక పరిసరము లేదా సిమ్యులేటర్ గేమ్ నియమాలను సెట్ చేసే. మనం సిమ్యులేటర్లో ప్రయోగాలు నిర్వహించి ఫలితాలను గమనించగలగాలి.
- ఒక రివార్డ్ ఫంక్షన్, ఇది మన ప్రయోగం ఎంత విజయవంతమైందో సూచిస్తుంది. కంప్యూటర్ గేమ్ ఆడటం నేర్చుకోవడంలో, రివార్డ్ అంటే మన తుది స్కోరు.
రివార్డ్ ఫంక్షన్ ఆధారంగా మనం మన ప్రవర్తనను సర్దుబాటు చేసి నైపుణ్యాలను మెరుగుపరచగలగాలి, తద్వారా తదుపరి సారి మెరుగ్గా ఆడగలుగుతాము. ఇతర మెషీన్ లెర్నింగ్ రకాలతో RL మధ్య ప్రధాన తేడా ఏమిటంటే, RLలో మనం గేమ్ ముగిసే వరకు గెలిచామా లేదా ఓడామా అనేది తెలియదు. కాబట్టి ఒక నిర్దిష్ట చర్య మంచిదా కాదా అనేది చెప్పలేము - గేమ్ చివరే రివార్డ్ అందుతుంది.
RL సమయంలో మనం సాధారణంగా అనేక ప్రయోగాలు చేస్తాము. ప్రతి ప్రయోగంలో, ఇప్పటివరకు నేర్చుకున్న ఉత్తమ వ్యూహాన్ని అనుసరించడం (exploitation) మరియు కొత్త సంభావ్య స్థితులను అన్వేషించడం (exploration) మధ్య సమతుల్యత అవసరం.
OpenAI జిమ్
RL కోసం అద్భుతమైన సాధనం OpenAI Gym - ఒక సిమ్యులేషన్ పరిసరము, ఇది అటారీ గేమ్స్ నుండి పోల బలాన్సింగ్ వెనుక భౌతిక శాస్త్రం వరకు అనేక వాతావరణాలను సిమ్యులేట్ చేయగలదు. ఇది రీన్ఫోర్స్మెంట్ లెర్నింగ్ అల్గోరిథమ్స్ శిక్షణకు అత్యంత ప్రాచుర్యం పొందిన సిమ్యులేషన్ పరిసరాలలో ఒకటి, మరియు OpenAI నిర్వహిస్తుంది.
గమనిక: OpenAI జిమ్ అందుబాటులో ఉన్న అన్ని పరిసరాలను మీరు ఇక్కడ చూడవచ్చు.
కార్ట్పోల్ బలాన్సింగ్
మీరు సగటున Segway లేదా Gyroscooters వంటి ఆధునిక బలాన్సింగ్ పరికరాలను చూసి ఉంటారు. అవి యాక్సిలరోమీటర్ లేదా జైరోస్కోప్ నుండి సంకేతం అందుకున్నప్పుడు చక్రాలను సర్దుబాటు చేసి ఆటోమేటిక్గా సమతుల్యం సాధిస్తాయి. ఈ విభాగంలో, మనం ఇలాంటి సమస్యను - ఒక కంబళిని సమతుల్యం చేయడం - ఎలా పరిష్కరించాలో నేర్చుకుంటాము. ఇది సర్కస్ ప్రదర్శకుడు తన చేతిలో కంబళిని సమతుల్యం చేయాల్సిన పరిస్థితికి సమానంగా ఉంటుంది, కానీ ఈ కంబళి సమతుల్యం 1Dలో జరుగుతుంది.
సరళీకృత బలాన్సింగ్ వెర్షన్ను కార్ట్పోల్ సమస్యగా పిలుస్తారు. కార్ట్పోల్ ప్రపంచంలో, మనకు ఎడమ లేదా కుడి వైపు కదలగల ఒక హారిజాంటల్ స్లైడర్ ఉంటుంది, మరియు స్లైడర్ పై ఒక నిలువు కంబళిని సమతుల్యం చేయడం లక్ష్యం.
ఈ పరిసరాన్ని సృష్టించి ఉపయోగించడానికి, మనకు కొన్ని పాథాన్ కోడ్ లైన్లు అవసరం:
import gym
env = gym.make("CartPole-v1")
env.reset()
done = False
total_reward = 0
while not done:
env.render()
action = env.action_space.sample()
observaton, reward, done, info = env.step(action)
total_reward += reward
print(f"Total reward: {total_reward}")
ప్రతి పరిసరాన్ని క్రింది విధంగా యాక్సెస్ చేయవచ్చు:
env.resetకొత్త ప్రయోగాన్ని ప్రారంభిస్తుందిenv.stepఒక సిమ్యులేషన్ దశను నిర్వహిస్తుంది. ఇది ఆక్షన్ స్పేస్ నుండి ఒక చర్యను తీసుకుని, ఆబ్జర్వేషన్ స్పేస్ నుండి ఒక పరిశీలనను, అలాగే రివార్డ్ మరియు ముగింపు ఫ్లాగ్ను ఇస్తుంది.
పై ఉదాహరణలో మనం ప్రతి దశలో యాదృచ్ఛిక చర్యను తీసుకుంటున్నాము, అందుకే ప్రయోగం జీవితకాలం చాలా తక్కువగా ఉంటుంది:
RL అల్గోరిథం లక్ష్యం ఒక మోడల్ - అంటే పాలసీ π - శిక్షణ ఇవ్వడం, ఇది ఇచ్చిన స్థితికి స్పందించి చర్యను ఇస్తుంది. పాలసీని ప్రాబబిలిస్టిక్గా కూడా పరిగణించవచ్చు, ఉదా: ఏ స్థితి s మరియు చర్య a కోసం π(a|s) అంటే మనం ఆ s స్థితిలో a చర్య తీసుకోవాల్సిన సంభావ్యత.
పాలసీ గ్రాడియెంట్స్ అల్గోరిథం
పాలసీని మోడల్ చేయడానికి స్పష్టమైన మార్గం ఒక న్యూరల్ నెట్వర్క్ సృష్టించడం, ఇది స్థితులను ఇన్పుట్గా తీసుకుని, సంబంధిత చర్యలను (లేదా అన్ని చర్యల ప్రాబబిలిటీలను) ఇస్తుంది. ఇది సాధారణ క్లాసిఫికేషన్ టాస్క్లాగా ఉంటుంది, కానీ ప్రధాన తేడా ఏమిటంటే మనకు ముందే ఏ దశలో ఏ చర్య తీసుకోవాలో తెలియదు.
ఇక్కడ ఆ ప్రాబబిలిటీలను అంచనా వేయడం లక్ష్యం. మనం సంచిత రివార్డ్స్ వెక్టర్ను నిర్మిస్తాము, ఇది ప్రయోగం ప్రతి దశలో మన మొత్తం రివార్డ్ను చూపిస్తుంది. అలాగే, మనం రివార్డ్ డిస్కౌంటింగ్ను వర్తింపజేస్తాము, అంటే ముందటి రివార్డ్స్ను కొంత గుణకం γ=0.99తో గుణించి వాటి ప్రాముఖ్యతను తగ్గిస్తాము. ఆపై, ప్రయోగ మార్గంలో ఎక్కువ రివార్డులు ఇచ్చే దశలను బలపరిచే ప్రయత్నం చేస్తాము.
పాలసీ గ్రాడియెంట్ అల్గోరిథం గురించి మరింత తెలుసుకోండి మరియు దాన్ని ఉదాహరణ నోట్బుక్లో చూడండి.
యాక్టర్-క్రిటిక్ అల్గోరిథం
పాలసీ గ్రాడియెంట్స్ పద్ధతికి మెరుగైన వెర్షన్ యాక్టర్-క్రిటిక్ అని పిలవబడుతుంది. దీని ప్రధాన ఆలోచన ఏమిటంటే న్యూరల్ నెట్వర్క్ రెండు విషయాలను ఇస్తుంది:
- ఏ చర్య తీసుకోవాలో నిర్ణయించే పాలసీ - దీనిని యాక్టర్ అంటారు
- ఆ స్థితిలో మనం పొందగల మొత్తం రివార్డ్ అంచనా - దీనిని క్రిటిక్ అంటారు.
ఈ నిర్మాణం ఒక GAN లాగా ఉంటుంది, ఇక్కడ రెండు నెట్వర్క్లు పరస్పరం వ్యతిరేకంగా శిక్షణ పొందుతాయి. యాక్టర్ మనం తీసుకోవాల్సిన చర్యను సూచిస్తాడు, క్రిటిక్ ఫలితాన్ని అంచనా వేస్తాడు. కానీ మన లక్ష్యం ఈ రెండు నెట్వర్క్లను కలిసి శిక్షణ ఇవ్వడం.
ప్రయోగ సమయంలో మనకు నిజమైన సంచిత రివార్డ్స్ మరియు క్రిటిక్ ఇచ్చిన ఫలితాలు రెండూ తెలిసినందున, వాటి మధ్య తేడాను తగ్గించే లాస్ ఫంక్షన్ సృష్టించడం సులభం. దీన్ని క్రిటిక్ లాస్ అంటారు. పాలసీ గ్రాడియెంట్ అల్గోరిథం విధానాన్ని ఉపయోగించి యాక్టర్ లాస్ను కూడా లెక్కించవచ్చు.
ఈ అల్గోరిథమ్స్ ఒకటి నడిపిన తర్వాత, మన కార్ట్పోల్ ఇలా ప్రవర్తిస్తుంది:
✍️ వ్యాయామాలు: పాలసీ గ్రాడియెంట్స్ మరియు యాక్టర్-క్రిటిక్ RL
క్రింది నోట్బుక్స్లో మీ అభ్యాసాన్ని కొనసాగించండి:
ఇతర RL పనులు
ఈ రోజుల్లో రీన్ఫోర్స్మెంట్ లెర్నింగ్ వేగంగా అభివృద్ధి చెందుతున్న పరిశోధనా రంగం. కొన్ని ఆసక్తికర RL ఉదాహరణలు:
- కంప్యూటర్ను అటారీ గేమ్స్ ఆడటానికి నేర్పించడం. ఈ సమస్యలో సవాలు ఏమిటంటే మనకు సులభమైన వెక్టర్ రూపంలో స్థితి ఉండదు, స్క్రీన్షాట్ ఉంటుంది - కాబట్టి CNN ఉపయోగించి ఈ స్క్రీన్ చిత్రాన్ని ఫీచర్ వెక్టర్గా మార్చాలి లేదా రివార్డ్ సమాచారాన్ని తీసుకోవాలి. అటారీ గేమ్స్ జిమ్లో అందుబాటులో ఉన్నాయి.
- చెస్, గో వంటి బోర్డు గేమ్స్ ఆడటానికి కంప్యూటర్ను నేర్పించడం. ఇటీవల, అల్ఫా జీరో వంటి ఆధునిక ప్రోగ్రాములు రెండు ఏజెంట్లు పరస్పరం పోటీ పడుతూ, ప్రతి దశలో మెరుగుపడుతూ, మొదలైనవి.
- పరిశ్రమలో, RL సిమ్యులేషన్ నుండి నియంత్రణ వ్యవస్థలను సృష్టించడానికి ఉపయోగిస్తారు. Bonsai అనే సేవ ప్రత్యేకంగా దీనికోసం రూపొందించబడింది.
ముగింపు
ఇప్పుడు మనం ఏజెంట్లను శిక్షణ ఇస్తూ, గేమ్ యొక్క కావలసిన స్థితిని నిర్వచించే రివార్డ్ ఫంక్షన్ ఇవ్వడం ద్వారా, మరియు శోధన స్థలాన్ని తెలివిగా అన్వేషించడానికి అవకాశం ఇచ్చి మంచి ఫలితాలు సాధించడం నేర్చుకున్నాము. మనం రెండు అల్గోరిథమ్స్ విజయవంతంగా ప్రయత్నించి, తక్కువ సమయంలో మంచి ఫలితాలు సాధించాము. అయితే, ఇది RL లో మీ ప్రయాణం ప్రారంభం మాత్రమే, మీరు దీన్ని లోతుగా తెలుసుకోవాలనుకుంటే ప్రత్యేక కోర్సు తీసుకోవడం మంచిది.
🚀 సవాలు
'ఇతర RL పనులు' విభాగంలో పేర్కొన్న అనువర్తనాలను పరిశీలించి, వాటిలో ఒకదాన్ని అమలు చేయడానికి ప్రయత్నించండి!
పోస్ట్-లెక్చర్ క్విజ్
సమీక్ష & స్వీయ అధ్యయనం
మన Machine Learning for Beginners Curriculumలో క్లాసికల్ రీన్ఫోర్స్మెంట్ లెర్నింగ్ గురించి మరింత తెలుసుకోండి.
సూపర్ మారియో గేమ్ ఆడటం కంప్యూటర్ ఎలా నేర్చుకుంటుందో వివరిస్తున్న ఈ అద్భుతమైన వీడియోను చూడండి.
అసైన్మెంట్: మౌంటైన్ కార్ శిక్షణ
ఈ అసైన్మెంట్లో మీ లక్ష్యం వేరే జిమ్ పరిసరాన్ని శిక్షణ ఇవ్వడం - Mountain Car.
అస్పష్టత:
ఈ పత్రాన్ని AI అనువాద సేవ Co-op Translator ఉపయోగించి అనువదించబడింది. మేము ఖచ్చితత్వానికి ప్రయత్నించినప్పటికీ, ఆటోమేటెడ్ అనువాదాల్లో పొరపాట్లు లేదా తప్పిదాలు ఉండవచ్చు. మూల పత్రం దాని స్వదేశీ భాషలో అధికారిక మూలంగా పరిగణించాలి. ముఖ్యమైన సమాచారానికి, ప్రొఫెషనల్ మానవ అనువాదం సిఫార్సు చేయబడుతుంది. ఈ అనువాదం వాడకంలో ఏర్పడిన ఏవైనా అపార్థాలు లేదా తప్పుదారితీసే అర్థాలు కోసం మేము బాధ్యత వహించము.

