使用经典的启发式算法,比如A*算法来做行车判定很不靠谱,容易卡在局部最优解,浪费大量的试错也不好优化。
特斯拉的做法呢,是使用蒙特卡洛树搜索,结合神经网络来进行行车的决策。
咱们先来说说蒙特卡洛树搜索,这个算法的名声啊很大,主要是因为谷歌当年在围棋人机大战中称王称霸的AlphaGo,就是基于这个算法的。算法的原理也很直白,就是根据当前一直的状态,在有限的时间和资源下,尽可能简单的模拟出各种可能的解决方法,并做出一个最符合要求的行动,来改变当前的状态,然后再次重新模拟。
有那么点儿高手比武,虽然两人都没动,但是在一年中已经相互过招无数,最后一招定输赢意思。
当年谷歌在AlphaGo上设计的精髓,在特斯拉的决策系统中得到了很好的体现,就是不做模拟,直接使用一个神经网络来估计在不同行驶状态下,各种驾驶决策有可能导致的结果,提供给蒙特卡洛树搜索来做选择。
而这个神经网络呢,我认为就是通过对人类驾驶行为进行模拟学习所得来的,Tesla也给出了蒙特卡洛树搜索在做选择时的要求和例子,那就是:① 安全性,有没有可能撞到东西,② 舒适性,系统所做的选择会不会突然加速或者减速而导致乘客不适&#x