layout: default
从多个方面来讲,我一直觉得强化学习是解决自动驾驶问题的一个非常好的思路,于是就动手做了一个小demo,总耗时一个月左右,现在遇到了瓶颈,来记录一下
强化学习在之前的博客中有介绍过,如果不引入神经网络,他是个可解释的模型,缺点是,不容易用可枚举的方式来表达当前的状态,但某些场景下,尽量用可枚举的方式表达当前的状态,强化学习就可行了。
以自动驾驶为例,当前的状态就是车所看到的所有信息,比如路灯、正前方、侧方的信息等信息,可以用基础的基础的计算视觉技术做识别,识别出车周围物体都有啥,比如路障、行人、自行车,把这些信息作为当前的状态,就能用强化学习建模了。
以当前的状态为key,不断优化不同key下应该采取的最优的action(行为),所有的key-action 对,存在一个表里,就是强化学习中的 q_table;通过不断模拟action,获得反馈结果,来不断修正每个key对应的 action,也就是优化 q_table,只到 q_table 稳定
可解释
可控
可模拟
其实可以类比AlphaGo,AlphaGo在和棋手做对抗,自动驾驶就是多个车和这个现实世界做对抗,通过不断模拟,优化这个系统
原始的强化学习框架参考莫凡大佬的demo,可视化用 tkinter实现,已实现的功能:
example:
github: https://github.com/wa008/reinforcement-learning
tkinter 做可视化,需要保证基础的行列不超过25,就限制了只能有10条路左右,再大单机就跑不动了,所以需要效果更好的可视化工具,通过网友求助,已知的有 SumoPy,还有两个挺好的工具在网友的评论里,这会儿去看的时候已经被删了,emmm,晚上回家找找浏览器的搜索记录,看还在不
性能问题解决之后,就能继续了
最近想看看大语言模型开源的几个项目了,过段时间再回来搞这个