Rumah >Peranti teknologi >AI >Pembelajaran pengukuhan Q-pembelajaran mendalam menggunakan simulasi lengan robot Panda-Gym
Pembelajaran Pengukuhan (RL) ialah kaedah pembelajaran mesin yang membolehkan ejen mempelajari cara berkelakuan dalam persekitarannya melalui percubaan dan kesilapan. Ejen diberi ganjaran atau dihukum kerana mengambil tindakan yang membawa kepada hasil yang diingini. Lama kelamaan, ejen belajar untuk mengambil tindakan yang memaksimumkan ganjaran yang diharapkan
Ejen RL biasanya dilatih menggunakan Proses Keputusan Markov (MDP), yang memodelkan rangka kerja matematik masalah keputusan berurutan. MDP terdiri daripada empat bahagian:
Matlamat ejen adalah untuk mempelajari fungsi dasar yang memetakan keadaan kepada tindakan. Maksimumkan pulangan jangkaan ejen dari semasa ke semasa melalui fungsi polisi.
Pembelajaran Q mendalam ialah algoritma pembelajaran pengukuhan yang menggunakan rangkaian saraf dalam untuk mempelajari fungsi dasar. Rangkaian saraf dalam mengambil keadaan semasa sebagai input dan output vektor nilai, di mana setiap nilai mewakili tindakan yang mungkin. Ejen kemudiannya mengambil tindakan berdasarkan nilai tertinggi
Pembelajaran Q mendalam ialah algoritma pembelajaran pengukuhan berasaskan nilai, bermakna ia mempelajari nilai setiap pasangan tindakan keadaan. Nilai pasangan tindakan keadaan ialah ganjaran yang dijangkakan untuk ejen mengambil tindakan tersebut dalam keadaan tersebut.
Actor-Critic ialah algoritma RL yang menggabungkan berasaskan nilai dan berasaskan dasar. Terdapat dua komponen:
Pelakon: Pelakon bertanggungjawab untuk memilih operasi.
Pengkritik: Bertanggungjawab untuk menilai tingkah laku Pelakon.
Pelakon dan pengkritik dilatih pada masa yang sama. Pelakon dilatih untuk memaksimumkan ganjaran yang dijangkakan dan pengkritik dilatih untuk meramalkan ganjaran yang dijangkakan dengan tepat untuk setiap pasangan tindakan keadaan
Algoritma Actor-Critic mempunyai beberapa kelebihan berbanding algoritma pembelajaran pengukuhan yang lain. Pertama, ia adalah lebih stabil, yang bermaksud bahawa berat sebelah kurang berkemungkinan berlaku semasa latihan. Kedua, ia lebih cekap, yang bermaksud ia boleh belajar lebih cepat. Ketiga, ia lebih berskala dan boleh digunakan untuk masalah dengan keadaan dan ruang tindakan yang besar
Jadual di bawah meringkaskan perbezaan utama antara Deep Q-learning dan Actor-Critic:
Actor-Critic ialah seni bina pembelajaran pengukuhan popular yang menggabungkan pendekatan berasaskan dasar dan berasaskan nilai. Ia mempunyai banyak kelebihan yang menjadikannya pilihan yang kukuh untuk menyelesaikan pelbagai tugasan pembelajaran pengukuhan:
Berbanding kaedah kecerunan dasar tradisional, A2C biasanya mempunyai prestasi yang lebih rendah semasa melatih varians. Ini kerana A2C menggunakan kedua-dua kecerunan dasar dan fungsi nilai, dan menggunakan fungsi nilai untuk mengurangkan varians dalam pengiraan kecerunan. Varians yang rendah bermakna proses latihan adalah lebih stabil dan boleh menumpu kepada dasar yang lebih baik dengan lebih cepat
Disebabkan ciri-ciri varians yang rendah, A2C biasanya boleh mempelajari polisi pada kelajuan yang lebih cepat Baik. strategi. Ini amat penting untuk tugasan yang memerlukan simulasi yang meluas, kerana kelajuan pembelajaran yang lebih pantas menjimatkan masa dan sumber pengkomputeran yang berharga.
Ciri ketara A2C ialah ia mempelajari dasar dan fungsi nilai secara serentak. Gabungan ini membolehkan ejen memahami dengan lebih baik kaitan antara persekitaran dan tindakan, dengan itu membimbing penambahbaikan dasar dengan lebih baik. Kewujudan fungsi nilai juga membantu mengurangkan ralat dalam pengoptimuman dasar dan meningkatkan kecekapan latihan.
A2C boleh menyesuaikan diri dengan pelbagai jenis ruang tindakan, termasuk tindakan berterusan dan diskret, dan sangat serba boleh. Ini menjadikan A2C sebagai algoritma pembelajaran pengukuhan yang boleh digunakan secara meluas yang boleh digunakan untuk pelbagai tugas, daripada kawalan robot kepada pengoptimuman permainan
A2C boleh diselaraskan dengan mudah untuk memanfaatkan sepenuhnya pelbagai teras pelayan pemprosesan dan sumber pengkomputeran yang diedarkan. Ini bermakna lebih banyak data empirikal boleh dikumpul dalam masa yang lebih singkat, sekali gus meningkatkan kecekapan latihan.
Walaupun kaedah Pelakon-Pengkritik mempunyai beberapa kelebihan, mereka juga menghadapi beberapa cabaran, seperti penalaan hiperparameter dan potensi ketidakstabilan dalam latihan. Walau bagaimanapun, dengan penalaan dan teknik yang sesuai seperti main semula pengalaman dan rangkaian sasaran, cabaran ini boleh dikurangkan sebahagian besarnya, menjadikan Actor-Critic kaedah yang berharga dalam pembelajaran pengukuhan
🎜panda-gym dibangunkan berdasarkan enjin PyBullet dan merangkumi 6 tugasan seperti capaian, tolak, gelongsor, pilih&letak, susun, dan selak di sekeliling lengan robot panda. Ia diilhamkan terutamanya oleh OpenAI Fetch.
Kami akan menggunakan panda-gym sebagai contoh untuk menunjukkan kod di bawah
Pertama, kita perlu mengukuhkan persekitaran untuk pembelajaran.
!apt-get install -y \libgl1-mesa-dev \libgl1-mesa-glx \libglew-dev \xvfb \libosmesa6-dev \software-properties-common \patchelf !pip install \free-mujoco-py \pytorch-lightning \optuna \pyvirtualdisplay \PyOpenGL \PyOpenGL-accelerate\stable-baselines3[extra] \gymnasium \huggingface_sb3 \huggingface_hub \ panda_gym
import os import gymnasium as gym import panda_gym from huggingface_sb3 import load_from_hub, package_to_hub from stable_baselines3 import A2C from stable_baselines3.common.evaluation import evaluate_policy from stable_baselines3.common.vec_env import DummyVecEnv, VecNormalize from stable_baselines3.common.env_util import make_vec_env
env_id = "PandaReachDense-v3" # Create the env env = gym.make(env_id) # Get the state space and action space s_size = env.observation_space.shape a_size = env.action_space print("\n _____ACTION SPACE_____ \n") print("The Action Space is: ", a_size) print("Action Space Sample", env.action_space.sample()) # Take a random action
env = make_vec_env(env_id, n_envs=4) env = VecNormalize(env, norm_obs=True, norm_reward=True, clip_obs=10.)
5 Cipta model A2C
model = A2C(policy = "MultiInputPolicy",env = env,verbose=1)
Dalam "panda-gym", gabungan berkesan lengan robotik Panda dan persekitaran GYM membolehkan kami melakukan pembelajaran pengukuhan lengan robotik secara tempatan dengan mudah,
Seni bina Aktor-Critik di mana ejen belajar membuat penambahbaikan tambahan pada setiap kali langkah berbeza dengan fungsi ganjaran yang jarang (yang hasilnya adalah binari), menjadikan kaedah Actor-Critic amat sesuai untuk jenis tugasan ini.
Dengan menggabungkan pembelajaran dasar dan anggaran nilai dengan lancar, ejen robot dapat memanipulasi pengesan hujung lengan robotik dengan mahir dan mencapai kedudukan sasaran yang ditentukan dengan tepat. Ini bukan sahaja menyediakan penyelesaian praktikal untuk tugas seperti kawalan robot, tetapi juga berpotensi untuk mengubah pelbagai bidang yang memerlukan pembuatan keputusan yang tangkas dan bermaklumat
Atas ialah kandungan terperinci Pembelajaran pengukuhan Q-pembelajaran mendalam menggunakan simulasi lengan robot Panda-Gym. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!