重要的事情先说:花了两周时间把小破站里吴老师早期的课完整过了一遍,只怪年少不知吴老师好,错把xx当成宝,上链接:(超爽中英!) 2025公认最好的【吴恩达机器学习】教程! 非常的丝滑,后续结合开源端到端上手会很快。

动机

从事智驾的Planning部分,额对,就是所谓的传统决策规划。决策规划模型化的工作业界内实际很早就一直在演进了,但是从2022年才开始有相关量产落地且效果不错的成果呈现,然后在2024年基本确定了模型化的主导地位,到如今的VLM、VLA、RL应用的高速迭代,从planning开发视角面对城区各种问题,也一直在思考如何进一步提升。仅以此作为自己转变的开端。

  1. 明确目标:终极目标是共同努力下把智驾做好,具体则是把决策规划做好,而不是局限在通过采样、搜索或者博弈递推等少数路径把它做好。so,模型化更好,那就是更好的路,果断接受与吸收。
  2. 之前有所抵触,本质上是陷入了局部困境,兜底工作不能少,同时又没有机会从事新的技术栈提升。解决方案也直白,为当前工作设好封版阈值,并非所有问题都要解,赚取提升空间。
  3. 积极入局,保持积极状态迎接更多可能性

模型的过程类似于信息压缩的过程—>决策规划工程师干的实质上就是特征提取的事—>当前决策能实现的,模型化一定也能实现。
模型化能实现的前提是模型具备思考推理的能力Cot,或者模型对自身的预期输出有足够的评价能力AR+RL。

刷剧开始

回看8年前的一些尝试:《BP神经网络在轮胎气压监测系统自学习匹配中的应用》,只能说自己错付不少:低头干活还要抬头看路。
当理解业务本身诉求,模型能力本身就能快速适用并发挥它的作用。


以前收藏夹吃灰,现在重新扒出来看,对深度学习的只言片语与碎片知识做一次系统性扫盲:
2025公认最好的【吴恩达机器学习】教程

第一章节:基础理论科普

   直接B站刷学习视频即可,基本都能涉及以前的零碎空白,包括基础的梯度下降对权重的迭代等,搞motion的同学估计看了会发现自己调参过程实际就是模型数据训练过程,区别在于研发同学知道哪些是关键feature,比如:安全距离设计、碰撞风险评估,模型则需要学习识别这些特征。短时间速刷,包赚。
在这里插入图片描述

查漏补缺:

  1. 向量化为何能实现计算的加速,矩阵并行计算的好处,之前没从这维度思考过,只管咋用了
  2. scikit-learn 工具,不直接搞深度学习好像不咋用的到,也可能是我村儿了,以前用matlab到神经网络工具箱
  3. 梯度下降里经典牛顿法、牛顿法、拟牛顿法:梯度下降法、牛顿法和拟牛顿法拟牛顿法

第二章节:核心算法

很多概念或者结构以前都是知道大概或者只是交流听到的多一些,非常的散,这个看完有种畅通感,再次感谢吴老师。
在这里插入图片描述

查漏补缺:

1. 可微的直观理解

差异对比 示例 思考
神经网络 从输入->输出,层间前向传播均为连续,反向传播通过梯度下降进行参数更新,求导完事;在这里插入图片描述 难点在于真值/期望设计:不足够理解智驾业务无法实现好的训练效果,就像不是好的数学老师,给不出好的数学考卷一样
传统决策规划 决策环节存在较多离散化设计,比如使用根据障碍物预测轨迹决策是否超车无论是A*/DP还是if else,都涉及阈值设计,阈值选取的本质:大量问题数据–>把palnning同学给训了–>训出来的阈值更新到代码中 也具备黑盒性,比如判定cut in的阈值怎么来的(经验值)?逻辑不黑盒,但是很多阈值是黑盒或经验值。优势主打一个可控,见效快,兜底良方

2. 之前缺少理解的概念名词:

名词 理解/解释
熵Entropy 反映自身信息混乱程度:10个小动物,2小猫、5小狗、3小兔子,太乱了~在这里插入图片描述
交叉熵Cross-Entropy 来计算预测分布与真实分布之间的差异,交叉熵越大,预测和真实越不准~ 你是否有过疑问:为啥损失函数很多用的都是交叉熵(cross entropy)在这里插入图片描述
KL散度Kullback-Leibler Divergence 也是衡量预测结果和真实分布的差异,数据自身的熵为常数,本质KL散度和交叉熵作用一致:KL散度(Kullback-Leibler Divergence,KLD) 在这里插入图片描述
softmax函数 多类问题中需要将其进行概率化分布,通过softmax即可实现:在这里插入图片描述
正则化 将权重也约束到目标函数中,避免权重跑飞,直接受益就是提高了泛化性在这里插入图片描述
评估指标:精确率/召回率/F1_Score 智驾中常见问题,保P还是保R:图1图2

3. 一些小点思考

  1. 线性组合的结果还是线性组合,这也是需要非线性激活函数的原因,同时可以拟合任意非线性函数的话,behavior planner中的各种条件判断,本质上就可以全部替掉。常见一个ReLu激活函数
  2. 偏差、方差的粗鄙理解:通过偏差来看网络结构是否存在缺陷,方差来看网络是否缺少数据过拟合 在这里插入图片描述
  3. 迁移学习这里有点意思,现在火起来的AR+RL,通过RL来对大规模结构的AR模型进行微调,是否和吴老师这个图逻辑上是一致的:在这里插入图片描述
  4. 后续开始拿PLUTO练手,然后和模型同学积极交流

第三章节:进阶了

在这里插入图片描述

查漏补缺:

1. 之前缺少理解的概念名词:

名词 理解/解释
协同过滤算法:collaborative filtering 不知道特征的时候,通过多用户数据进行协同评估
通俗理解:一个不抽烟的老板进了一批各种各样的烟–>观察销量和客户对烟的评价–>来评估不同的烟都有什么特点,哪种更受欢迎–>下次根据不同客户推荐不同的烟在这里插入图片描述
推荐系统中的特征匹配 先通过MLP进行特征提取,然后用户特征-电影特征,通过点积获得匹配程度,这里类似attention呢在这里插入图片描述
强化学习Reinforcement Learning 这里贴好很奈斯的博文:强化学习的10层境界:从巴甫洛夫的狗到贝叶斯大脑(上)
今年智驾到主题从模仿学习–>强化学习方案,也是借鉴了DeepSeek中引入强化学习获得极佳效果
宝藏网址:张伟楠老师:动手学强化学习
DQN:Deep learning Q Network 课程主要讲的事基于价值的强化学习方案,智驾领域采用更多的基于策略(on policy),很直白:Q表非常的繁琐和复杂,直接用神经网络代替在这里插入图片描述
软更新Soft update Q function不直接替换,采用缓更新策略
这里像卡尔曼滤波?区别是这里系数手动设置在这里插入图片描述

2. 额外联想

  1. 强化学习感觉像是模仿学习或者监督学习的兜底,或者方向指引…并且RL环节可以很好的替代传统planning中后处理环节。而不论是on value还是on policy,没有足够准确的world model,是难以实现RL的效果。在数据量爆炸的当下,是时候了。
for t in range(max_num_timesteps):
        
        # From the current state S choose an action A using an ε-greedy policy
        state_qn = np.expand_dims(state, axis=0)  # state needs to be the right shape for the q_network
        q_values = q_network(state_qn)
        action = utils.get_action(q_values, epsilon)
        
        # Take action A and receive reward R and the next state S'
        next_state, reward, terminated, done, _ = env.step(action)
        
        # Store experience tuple (S,A,R,S') in the memory buffer.
        # We store the done variable as well for convenience.
        memory_buffer.append(experience(state, action, reward, next_state, done))
        
        # Only update the network every NUM_STEPS_FOR_UPDATE time steps.
        update = utils.check_update_conditions(t, NUM_STEPS_FOR_UPDATE, memory_buffer)
        
        if update:
            # Sample random mini-batch of experience tuples (S,A,R,S') from D
            experiences = utils.get_experiences(memory_buffer)
            
            # Set the y targets, perform a gradient descent step,
            # and update the network weights.
            agent_learn(experiences, GAMMA)
        
        state = next_state.copy()
        total_points += reward
        
        if done:
            break
  1. 大模型的搭建,像是一个社会学,或者管理学本身:
    模型结构——这个人的教育背景/体系:
      幼儿园-小学-初中-高中-大学-硕士-博士;
      幼儿园-小学-初中-高中-大学-硕博连读;
      幼儿园-小学-初中-高中-少年班-直博;
    微调——毕业生到公司接受公司培训
  2. 人本身就是一个巨模型,整个世界通过源源不断的数据训练着人类,人类也在不断丰富整个世界模型
    在这里插入图片描述
Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐