值函数近似

值函数近似,这是一个很有意思的东西,为后面DQN做铺垫吧,就是说,你想要训练模型,你手上确实有数据,0,1,2,3,4,5。。。。。诸如此类但是,它们就只是一个个的点,它们是离散的,不是连续的,比如说有一个和重要的状态,它是最优的一个点,但它夹在了1和2的中间,然后你也拿不到这个数据,因为你能拿到的就是离散的点,你只能一步步走,不能半步走,那么想要解决离散的方法是什么,就是让它连续啊,怎么连续啊,那就就使用函数啊

 

然后我现在想要使用一个函数来得到一些东西,比如说我输入S,它可以输出给我在S这个分布下所有的action value,对,通过这个函数算出来,然后比如说,打个比方函数是aX(平方)+bX+C,比如它是一个二次函数那么决定这个函数性质的是什么,是它的"a,b,c"三个值,也可以把a,b,c理解为一个向量(记住哈向量),但是它有三个不同的维度,比如说,我看上了一个女孩子,我看上了她的美貌,才华,性格,这三个不同的维度,她是我的理想型,所以想要追我的女孩子肯定要朝着这三个方向努力,所以说,我要自己训练出一个模型,让它不断地朝那三个维度去努力,去成为那个“女神”

 

 (如图所示,S是状态量,就是输入,但我们目前最重要的是得到w向量)

那要怎么努力呢,此时就用到一个梯度下降的方法

 

 函数J(w)是一个关于w的函数,它的意义是目标状态值函数和当前状态值函数的一个方差,那我想要成为女神,是不是得不断去逼近那个“目标”值函数,所以,我是不是希望方差函数越小越好呢,所以怎么办呢,我是不是要不断逼近方差函数的谷底捏(为什么要说谷底而不是最小值呢,因为AI状态是多维度的,可以把函数想象成一座山而不是简简单单的二维平面图形),所以我要对方差函数求梯度,梯度的指向就是上升最快的点,当然,想要下降最快,可以沿着梯度的反方向走去,然后更新所求w,w是啥?是一个多维向量[a,b,c],对去更新它,w被更新了之后,只要步长是合适的,就可以不断去逼近谷底的w,一旦到了谷底,那么方差就基本上收敛,那么我和女神的距离就哈哈哈哈哈~,当然这里面还有个时序差分的概念,因为有步长,以及目标值和现实值的差分

posted @ 2023-12-27 16:37  糖子哥  阅读(5)  评论(0编辑  收藏  举报