DDPG 算法 可以输出 在[0,1]范围内的 2维 向量吗? 比如 一般的ddpg 直接输出action=0.256,
我想可以输出一个二维向量吗 比如 [0.254,0.7456],这种用ddpg 可以实现吗,具体在ddpg的代码基础上怎么修改?
麻烦大佬给点建议?
你是指原来的动作空间纬度是1,现在纬度变成2了?
直接将输出层节点数改成2个不就好了。。。
确定策略梯度只是策略网络输出的动作是确定的,而不是一个概率分布。至于输出的动作空间是多大,直接改输出层节点数就可以了。
老哥 我想问下, 最后一层是 nn.Sigmoid() 输出 在【0,1】 之间 ,我输出state【20,4000,2000,5000,200】 为什么 输出的action 总是
【0,1】,【1,1】,【1,0】,【0,0】。。 其中的一种 输出的并不是0到1小数。 但我把他们改成 state 输入[0.1,0.12,0.25,0.26,0.20] 却又正常了 , 输出的是【0.4544,0.5656】这个 比较正常的。 老哥 这是什么原因吗?
看你的描述,我估计是:
sigmoid虽然出理论上(0, 1),但是在实际实现时候会设置成当小于多少直接置零,大于多少直接等于1。
你输入[20, 4000, ...]等很大的数,导致计算到最后触发了上面的这个机制。因此一般会对输入进行归一化,确保各个纬度的量纲是一致的。
好的,我先按照您的方法试试,如果对输入做归一化处理的化,对实际的action决策的正确性质,可以保证吗?
对了,有没有什么好用的归一化函数,懒得自己处理
麻烦您看一下 有什么好办法
这是正在做什么研究啊~
可以简单地除以一个最大值-最小值,比如图片输入可以每个像素值均除以255。或者减去均值除以方差,等等。
这得实际去训练啊,训练完成之后这些值会慢慢趋于正常吧。不要拿在前面很大输入时候训练的参数。
老哥 ,请问您一个问题,我想用ddpg做一个如下的操作,输入state,输出10维向量(都是0,1)之间的数据,保证前5维的小数加在一起等于1,后5维度的小数加在一起等于1。action:【0.2,0.2,0.1,0.05,0.4,0.05, 0.25,0.3,0.25,0.1,0.1】
在网络forward前向计算函数中,将前5纬数据一起通过softmax函数,后5纬数据一起通过softmax函数,然后再分别输出就可以了。
太感谢您了,老哥真的谢谢您。
老哥按照您的方法实现了,您看一下对不对,就是还有这里的sigmoid函数还需不需要?
应该不要更好。
能够回答下我提出的那个问题吗,谢谢啦
你是指原来的动作空间纬度是1,现在纬度变成2了?
直接将输出层节点数改成2个不就好了。。。
确定策略梯度只是策略网络输出的动作是确定的,而不是一个概率分布。至于输出的动作空间是多大,直接改输出层节点数就可以了。
老哥 我想问下, 最后一层是 nn.Sigmoid() 输出 在【0,1】 之间 ,我输出state【20,4000,2000,5000,200】 为什么 输出的action 总是
【0,1】,【1,1】,【1,0】,【0,0】。。 其中的一种 输出的并不是0到1小数。 但我把他们改成 state 输入[0.1,0.12,0.25,0.26,0.20] 却又正常了 , 输出的是【0.4544,0.5656】这个 比较正常的。 老哥 这是什么原因吗?
看你的描述,我估计是:
sigmoid虽然出理论上(0, 1),但是在实际实现时候会设置成当小于多少直接置零,大于多少直接等于1。
你输入[20, 4000, ...]等很大的数,导致计算到最后触发了上面的这个机制。因此一般会对输入进行归一化,确保各个纬度的量纲是一致的。
好的,我先按照您的方法试试,如果对输入做归一化处理的化,对实际的action决策的正确性质,可以保证吗?
对了,有没有什么好用的归一化函数,懒得自己处理
这是正在做什么研究啊~
可以简单地除以一个最大值-最小值,比如图片输入可以每个像素值均除以255。或者减去均值除以方差,等等。
这得实际去训练啊,训练完成之后这些值会慢慢趋于正常吧。不要拿在前面很大输入时候训练的参数。
老哥 ,请问您一个问题,我想用ddpg做一个如下的操作,输入state,输出10维向量(都是0,1)之间的数据,保证前5维的小数加在一起等于1,后5维度的小数加在一起等于1。action:【0.2,0.2,0.1,0.05,0.4,0.05, 0.25,0.3,0.25,0.1,0.1】
在网络forward前向计算函数中,将前5纬数据一起通过softmax函数,后5纬数据一起通过softmax函数,然后再分别输出就可以了。
太感谢您了,老哥真的谢谢您。
老哥按照您的方法实现了,您看一下对不对,就是还有这里的sigmoid函数还需不需要?
应该不要更好。
能够回答下我提出的那个问题吗,谢谢啦