在问题建模中,为什么引入了强化学习,而不是有监督的学习?
在这里我们引入了强化学习,而不是有监督的学习去训练,因为:
1)去创建有 label 的样本很难 32 个样本 256B,理论上 sample 有 256^256 种可能性,对每个这种样本,需要遍历 300K 的可能性才能找出最好的那一个。创建及选择 sample,create label 的工作量都非常大。
2)这不是普通的 one-class-label 问题 给定一个样本,并不是有唯一的最好的一个结果,很有可能很多的选择都能取得相同的压缩效果,N class(N 基本不可知)的训练又增加了很多难度。
3)需要一种自动化的方法 压缩的 tool 等参数选择很有可能是需要扩展的,如果发生整个训练样本的创建等都需要重新再来。需要一种自动化的办法。
用什么样的强化学习呢?DQN,policy gradient,还是 actor-critic? 如前面分析,DQN 是不太适合 reward/action 不连续的的情况,这里的参数,譬如 majorMode 0 和 1 是完全不同的两种结果,所以 DQN 不合适。此外,压缩问题一方面不容易评价另外网络也没有那么复杂,不需要 actor-critic。最终我们选择了 policy gradient。
Policy gradient 常见的 loss 是用一个慢慢提高的 baseline 作为衡量标准来反馈当前的 action 是否合适,但这里并不太合适(效果尝试了也不太好),因为这里 sample 的理论 block(256^256)state 太多了一些。为此,我们专门设计了一个 loss。得到了每个 block 的参数后,考虑到 block 的相关性等。可以用统计的办法,聚合得到整个 timeline 的最终参数设置。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。