日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

多智能体强化学习之MADDPG

發布時間:2024/3/24 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 多智能体强化学习之MADDPG 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

論文原文:Multi-Agent Actor-Critic for Mixed Cooperative-Competitive Environments

論文翻譯:MADDPG翻譯

閱讀本文需要強化學習基礎,可以參考我前面的文章:多智能體強化學習入門

關于MADDPG強化學習算法的基礎DDPG的可以查看我的文章:強化學習實踐教學

對于MADDPG推薦的博客有:探秘多智能體強化學習-MADDPG算法原理及簡單實現,里面包含代碼實現。

github代碼(基于Tensorflow):https://github.com/princewen/tensorflow_practice/tree/master/RL/Basic-MADDPG-Demo

MADDPG算法是單智能體算法DDPG在多智能體環境下的改進。其中最核心的差別就是,每個Agent的Critic部分都能夠獲取所有Agent的動作信息,進行中心化訓練和非中心化執行。即在訓練的時候,引入可以觀察全局的critic來指導actor訓練,而測試的時候只使用有局部觀測的actor采取行動。off-line采用中心化訓練,on-line采用非中心化執行,on-line與off-line的共同點就是actor,即只需要利用觀測到的局部信息。

下面以兩個智能體的情況為例:
r1(s,a1)=Ea2∈A,s′∈S[r1(s′)p(s′∣s,a1,a2)π2(a2∣s)]r_1(s,a_1) = E_{a_2 \in A,s' \in S}[r_1(s')p(s'|s,a_1,a_2) \pi_2(a_2| s)] r1?(s,a1?)=Ea2?A,sS?[r1?(s)p(ss,a1?,a2?)π2?(a2?s)]

p1(s′∣s,a1)=∑a2∈Ap(s′∣s,a1,a2)π2(a2∣s)p_1(s' |s ,a_1) = \sum_{a_2 \in A} p(s' |s,a_1,a_2) \pi_2 (a_2| s) p1?(ss,a1?)=a2?A?p(ss,a1?,a2?)π2?(a2?s)

根據論文描述,算法在以下約束條件下運行:(1)學習的策略只能在執行時只能使用本地信息(即它們自己的觀察結果),(2)我們無需知道環境的可微分動力學模型(3)我們對智能體之間的通信方法不做任何結構上的假設(即,我們不假設一個可區分的通信渠道)。 一旦滿足上述要求,那么將產生一個通用的多智能體學習算法,不僅可以應用于具有明確通信渠道的合作博弈,還可以應用競爭性博弈和只涉及主體之間物理交互的博弈。

論文中三個改進是:

  • 集中式訓練,分布式執行:訓練時采用集中式學習訓練critic與actor,使用時actor只用知道局部信息就能運行。critic需要其他智能體的策略信息,本文給了一種估計其他智能體策略的方法,能夠只用知道其他智能體的觀測與動作。
  • 改進了經驗回放記錄的數據。為了能夠適用于動態環境,每一條信息由(x,x′,aq,...,an,r1,...,rn)(x,x',a_q,...,a_n,r_1,...,r_n)(x,x,aq?,...,an?,r1?,...,rn?) 組成,x=(o1,...,on)x = (o_1,...,o_n)x=(o1?,...,on?) 表示每個智能體的觀測。
  • 利用策略集合效果優化(policy ensemble):對每個智能體學習多個策略,改進時利用所有策略的整體效果進行優化。以提高算法的穩定性以及魯棒性。
  • 代碼

    def actor_network(name):with tf.variable_scope(name) as scope:x = state_inputx = tf.layers.dense(x, 64)if self.layer_norm:x = tc.layers.layer_norm(x, center=True, scale=True)x = tf.nn.relu(x)x = tf.layers.dense(x, 64)if self.layer_norm:x = tc.layers.layer_norm(x, center=True, scale=True)x = tf.nn.relu(x)x = tf.layers.dense(x, self.nb_actions,kernel_initializer=tf.random_uniform_initializer(minval=-3e-3, maxval=3e-3))x = tf.nn.tanh(x)return xdef critic_network(name, action_input, reuse=False):with tf.variable_scope(name) as scope:if reuse:scope.reuse_variables()x = state_inputx = tf.layers.dense(x, 64)if self.layer_norm:x = tc.layers.layer_norm(x, center=True, scale=True)x = tf.nn.relu(x)x = tf.concat([x, action_input], axis=-1)x = tf.layers.dense(x, 64)if self.layer_norm:x = tc.layers.layer_norm(x, center=True, scale=True)x = tf.nn.relu(x)x = tf.layers.dense(x, 1, kernel_initializer=tf.random_uniform_initializer(minval=-3e-3, maxval=3e-3))return x

    上面是模型部分的代碼,actor部分相對于DDPG沒有變化,Critic部分只需要加入其它智能體的動作作為輸入即可。

    # 最大化Q值 self.actor_loss = -tf.reduce_mean( critic_network(name + '_critic', action_input=tf.concat([self.action_output, other_action_input], axis=1), reuse=True)) self.actor_train = self.actor_optimizer.minimize(self.actor_loss)self.target_Q = tf.placeholder(shape=[None, 1], dtype=tf.float32) self.critic_loss = tf.reduce_mean(tf.square(self.target_Q - self.critic_output)) self.critic_train = self.critic_optimizer.minimize(self.critic_loss)

    在Loss計算上可以看到依舊遵循DDPG的方法。Critic的估計值盡量靠近預測值,actor盡量使得Critic的估計值越大越好。

    agent1_memory.add(np.vstack([o_n[0], o_n[1], o_n[2]]),np.vstack([agent1_action[0], agent2_action[0], agent3_action[0]]),r_n[0], np.vstack([o_n_next[0], o_n_next[1], o_n_next[2]]), False)agent2_memory.add(np.vstack([o_n[1], o_n[2], o_n[0]]),np.vstack([agent2_action[0], agent3_action[0], agent1_action[0]]),r_n[1], np.vstack([o_n_next[1], o_n_next[2], o_n_next[0]]), False)agent3_memory.add(np.vstack([o_n[2], o_n[0], o_n[1]]),np.vstack([agent3_action[0], agent1_action[0], agent2_action[0]]),r_n[2], np.vstack([o_n_next[2], o_n_next[0], o_n_next[1]]), False)

    在經驗池儲存上,MADDPG不但要儲存自身的可觀察的狀態信息,還要儲存的是其它智能體的可觀測狀態信息。同時儲存自身和他人的動作信息。以及每個智能體的下一個狀態。

    總結

    以上是生活随笔為你收集整理的多智能体强化学习之MADDPG的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 毛片网站在线免费观看 | 爆操av| 欧美精品 在线观看 | 天天躁日日躁aaaa视频 | 亚洲av乱码一区二区 | 欧美性videos高清精品 | 亚洲一区二区视频在线 | 成人网站免费观看入口 | 精品国产乱码久久久久久闺蜜 | 精品人伦一区二区三 | 干日本少妇首页 | 欧美三根一起进三p | 少妇又紧又深又湿又爽视频 | a级片在线 | 国产精品无码毛片 | 操操插插 | 青青伊人精品 | 精品国产一二三区 | 免费一区二区三区视频在线 | 久久黄网| 九一天堂 | 免费三片60分钟 | 他趴在我两腿中间添得好爽在线看 | 午夜成人免费视频 | 欧美在线性视频 | 麻豆av网 | 欧美视频在线一区 | 黄色片99 | 草久影院 | 91色精品 | 欧美人与性禽动交精品 | 日韩亚洲国产精品 | 好吊色欧美一区二区三区视频 | 草莓视频在线观看入口w | 五月婷久久 | 黑人激情视频 | 91激情影院 | 性高潮久久久久久 | 欧美色图俺去了 | 裸体按摩www性xxxcom | 欧美放荡性医生videos | 91网在线看 | 国产老头和老头xxxx× | 就去干成人网 | 美女毛片在线 | 91免费视频播放 | 久久一 | 永久免费看成人av的动态图 | 超薄肉色丝袜一二三 | 97超碰在线播放 | 欧美激情xxxxx | 国产一区二区三区视频在线观看 | 国产日韩欧美高清 | 天天干国产 | 久热这里只有精品6 | 日韩在线观看网址 | 淫僧荡尼巨乳(h)小说 | 亚洲综合在线第一页 | 欧美日韩中文字幕在线视频 | 欧美91在线 | 极品人妻videosss人妻 | 黄频视频在线观看 | 黄色片的网站 | 在线播放亚洲精品 | 激情自拍视频 | 性生交大片免费看狂欲 | 欧美综合影院 | 叶爱在线 | 特黄老太婆aa毛毛片 | 欧美一级网址 | 一区二区三区四区视频在线观看 | 黑鬼巨鞭白妞冒白浆 | 亚洲精品在线播放视频 | 我要看免费的毛片 | 综合色婷婷一区二区亚洲欧美国产 | 白丝美女被草 | 在线观看av免费 | 进去里视频在线观看 | 一区二区三区免费高清视频 | 麻豆av在线免费观看 | 黄色片美女 | 99久久99久久久精品棕色圆 | 久久精品久久久久 | 久久99精品久久久久婷婷 | 致命弯道8在线观看免费高清完整 | 91欧美视频 | 国产51视频 | 日韩欧美的一区二区 | 激情视频在线免费观看 | 国产男女猛烈无遮挡免费视频动漫 | 国产成人av一区二区三区不卡 | 日本亲与子乱xxx | 国产1页 | 91九色pron | 午夜av福利 | 激情文学亚洲色图 | 国产精品第1页 | 老男人av| 日韩乱论 |