之前一直理解的actor-critic的算法就像網(wǎng)上的經(jīng)典圖:

actor是一個policy的(深度神經(jīng))網(wǎng)絡(luò),critic的是一個價值或者Q網(wǎng)絡(luò)。比如像DDPG和A3C里面提到的那樣算法:


聯(lián)系增強學(xué)習(xí)的一些相關(guān)actor-critic的算法分析和上圖DDPG和A3C的算法框架,我一直都認(rèn)為actor和critic是各自獨立的網(wǎng)絡(luò),算法中兩個網(wǎng)絡(luò)也是獨立更新的。后面再看Sim-to-Real Robot Learning from Pixels with Progressive Nets這篇文章時,對下面的圖:

在這篇文章中同一個網(wǎng)絡(luò)輸出策略和價值,我還認(rèn)為他們畫的是簡圖。直到最近看REINFORCEMENT LEARNING WITH UNSUPERVISED AUXILIARY TASKS和LEARNINGTO NAVIGATEIN COMPLEX ENVIRONMENTS,如下的圖:

這一系列的論文中提到的actor-critic的網(wǎng)絡(luò)是一個共享參數(shù)的網(wǎng)絡(luò),我找了一段時間,也沒有看到具體的出處,看github上別人的代碼確實是這樣實現(xiàn)的:

也就是說actor和critic是共享一個網(wǎng)絡(luò)的,網(wǎng)絡(luò)更新是根據(jù)兩者的loss和來做反向傳遞的,不過actor的loss要仔細(xì)一點才行。注意負(fù)號的含義。
對別人來說,可能就是這樣啊,對我來說,進一寸有一寸的歡喜。