「复试」项目
尊敬的各位老师好!我叫杨瑷珺,本科就读于北京航空航天大学,计算机科学与技术专业。
在校期间,我掌握了较扎实的数学基础和编程能力,通过查阅期刊论文了解最新科研动向。
除此之外,我积极参与各类比赛并获得奖项,有效提升了我的工程实践能力。在毕业设计中,我独立完成从文献调研到模型实现的全流程工作,并且,该项目被获评为北航校级优秀毕设。
在实践方面,我先后在中国软件与技术服公司、北京航空航天大学和清华大学进行实习。实习期间,我参与了世界模型、时间序列预测、强化学习和目标检测等人工智能相关项目。这些经历使我不仅掌握了深层技术,更形成了"从理论到应用"的完整研发视角。
上海交通大学一直是我向往的学校,很希望能得到在贵校学习的机会。攻读研究生期间,我会专注于理论与实践的双向发展,深入学习技术背后的底层原理。我的目标是成为一名优秀的工程师,为这个行业做出实质性贡献。我深信计算机领域的技术发展,必将将推动社会的下一场变革。
以上是我的自我介绍。非常感谢各位老师的聆听!
1. 技术细节与模型设计
Q:为什么选择Attention-LSTM而不是普通LSTM或Transformer?测试集误差0.02的具体指标是什么(如MAE、RMSE)?如何防止过拟合?
- Attention-LSTM能捕捉时间序列中不同时间步的权重差异(如心理状态的变化关键节点),而普通LSTM对所有时间步平等处理,Transformer则对短序列可能过参数化。
- 误差指标为标准化后的MSE(均方误差),通过数据归一化后计算,最终误差范围在0~1之间。
- 防止过拟合的方法:① 数据增强(通过滑动窗口生成多时间步样本);② Dropout层和L2正则化;③ 5折交叉验证调整超参。
2. 模型对比与优化
Q:LightGBM相比传统方法提升9倍速度,“传统方法"具体指哪些?LightGBM的哪些特性使其适合此场景?
- 传统方法指基于逻辑回归和随机森林的基线模型,以及手工规则筛查(如阈值判断)。
- LightGBM的优势:① 基于直方图的决策树算法降低计算复杂度;② Leaf-wise生长策略减少冗余分裂;③ 支持类别特征自动处理,适合问卷中的多分类变量;④ GPU加速进一步提升实时性。
3. Attention机制的数学表达
Attention机制通过动态计算输入序列中不同位置的权重,使模型能够聚焦于与当前输出最相关的部分。
数学公式(缩放点积注意力,Scaled Dot-Product Attention)
假设输入序列为 $ X = [x_1, x_2, …, x_n] $,每个位置 $x_i$ 通过线性变换生成:
- 查询向量(Query)、键向量(Key)、值向量(Value):
权重计算: $\text{Attention}(Q, K, V) = \text{softmax}\left( \frac{QK^T}{\sqrt{d_k}} \right) V$
其中:
- $d_k$ 是键向量的维度,缩放因子$\sqrt{d_k}$ 防止点积过大导致梯度消失。
- softmax 归一化权重,表示每个位置的重要性。
4. LSTM的数学原理
LSTM通过三个门控机制(遗忘门、输入门、输出门)和一个细胞状态(Cell State)解决长期依赖问题。
假设当前时间步输入为 $x_t$ ,上一时间步的隐藏状态为 $h_{t-1}$ ,细胞状态为 $C_{t-1}$ ,则:
遗忘门(决定丢弃哪些信息): $f_t = \sigma(W_f \cdot [h_{t-1}, x_t] + b_f)$
输入门(更新细胞状态)
$i_t = \sigma(W_i \cdot [h_{t-1}, x_t] + b_i)$ $\tilde{C}t = \tanh(W_C \cdot [h{t-1}, x_t] + b_C)$
细胞状态更新 $C_t = f_t \odot C_{t-1} + i_t \odot \tilde{C}_t$
输出门(生成当前隐藏状态)
$o_t = \sigma(W_o \cdot [h_{t-1}, x_t] + b_o) \$ $h_t = o_t \odot \tanh(C_t)$
其中: $\sigma$ 是sigmoid函数,$\odot$ 表示逐元素相乘(Hadamard积)。
5. LightGBM算法原理
LightGBM基于梯度提升决策树(GBDT),通过两种关键技术提升效率:
- GOSS(Gradient-based One-Side Sampling)
- 保留梯度绝对值大的样本(对模型影响大),随机采样梯度小的样本,减少计算量。
- EFB(Exclusive Feature Bundling)
- 将互斥的特征(不同时取非零值)捆绑为一个特征,降低特征维度。
算法细节
- 基于直方图的决策树 将连续特征离散化为直方图,通过直方图差值加速分裂点查找(复杂度从 \( O($\text{样本数}$) \) 降至 \( O($\text{直方图bin数}$) \))。
- Leaf-wise生长策略 每次选择当前损失下降最大的叶子节点分裂,而非Level-wise的广度优先分裂,减少冗余计算。
数学表达(以特征分裂为例)
对于特征 \( j \) 的分裂阈值 \( d \),计算增益:
$Gain = \frac{(\sum_{x \in A} g_x)^2}{\sum_{x \in A} h_x + \lambda} + \frac{(\sum_{x \in B} g_x)^2}{\sum_{x \in B} h_x + \lambda} - \frac{(\sum_{x \in C} g_x)^2}{\sum_{x \in C} h_x + \lambda}$ 其中:- $g_x$ 和 $h_x$ 分别为样本 $x$ 的一阶和二阶梯度;
- $A, B$ 是分裂后的左右子节点, $C = A \cup B$。
LightGBM参数调优:
- 如何设置学习率、树深度、叶子节点数?
- 答案示例:通过网格搜索和贝叶斯优化调整,最终设置
learning_rate=0.05
,num_leaves=31
。
价值函数作用于策略网络,策略网络生成动作以后,间接作用于价值网络
价值网络它主要作用其实就是来帮助策略网络更好的学习,价值网络的输出是V(s),这是由价值网络来预测的,Q(s,a)这个动作值函数是state s 在 action a以后得到的未来累计回报,那么在PPO中,策略网络的更新的损失函数是需要优势函数A(s,a)的,而A实际上又依赖于价值网络的输出的状态值函数V(s)。更新完后,策略网络接着生成动作,交互,产生新的状态和奖励信号,之后这些产生的数据又再次用于更新价值网络
1. 算法原理与选择依据
Q1:为什么选择PPO(近端策略优化)算法训练自动驾驶智能体?与DQN、SAC等其他强化学习算法相比,PPO在连续控制任务中的优势是什么?
- 选择PPO的原因:
① 自动驾驶任务需要高维连续动作空间(油门、方向盘转角),PPO通过策略梯度法直接优化策略网络,适合连续控制;
② PPO的“截断重要性采样”机制平衡了采样效率与稳定性,避免策略更新步幅过大导致发散。 - 对比优势:
- vs DQN:DQN基于Q-learning,需离散化动作空间,导致控制精度下降;
- vs SAC:SAC虽支持连续动作,但对超参数敏感,PPO更易于调参且训练稳定。
2. 多模态输入与特征融合
Q2:如何设计多模态输入处理框架?为什么选择ShuffleNetV2提取图像特征,并使用GRU进行时序建模?线性组合融合多模态特征的局限性是什么?
- 框架设计:
① 图像模态:ShuffleNetV2轻量化(适合实时性要求),通过通道重排(Channel Shuffle)增强特征交互;
② 时序建模:GRU捕捉车辆状态(速度、位置)、导航指令的时序依赖,更新门控机制降低计算量;
③ 特征融合:对图像特征(CNN输出)、时序状态(GRU隐层)、结构化数据(如车道线距离)进行Z-score标准化后线性加权。 - 线性组合的局限性:
① 无法建模模态间非线性交互(如图像中的障碍物与导航指令冲突时的决策);
② 改进方向:引入注意力机制(如Transformer)动态调整模态权重。
3. 策略网络与动作建模
Q3:为什么使用Beta分布而非高斯分布建模连续动作空间?策略网络输出油门、刹车、方向盘的协同控制时,如何避免动作冲突? 参考答案:
- Beta分布优势:
① 输出范围固定(0~1),无需额外裁剪,适合油门/刹车等归一化操作;
② 双峰分布可建模极端动作(如紧急刹车),比单峰高斯分布更灵活。 - 动作协同设计:
① 物理约束:刹车与油门互斥,通过输出层设计(如$sigmoid(brake) * (1 - sigmoid(throttle))$)强制约束;
② 奖励函数惩罚:对同时踩油门和刹车的行为施加负奖励,引导策略网络学习合规动作。
5. PPO(近端策略优化)
目标函数设计:
PPO 通过限制策略更新的幅度来平衡探索与利用,核心为截断重要性采样目标函数: $L^{CLIP}(\theta) = \mathbb{E}t \left[ \min\left( r_t(\theta) \hat{A}t, \text{clip}(r_t(\theta), 1-\epsilon, 1+\epsilon) \hat{A}t \right) \right]$ 其中 $r_t(\theta) = \frac{\pi\theta(a_t|s_t)}{\pi{\theta{old}}(a_t|s_t)}$ ,$\epsilon$ 是截断阈值(通常为0.1~0.2)。
优势估计:使用 GAE 计算 $\hat{A}t$,平衡偏差与方差: $\hat{A}t = \sum{l=0}^{T-t} (\gamma \lambda)^l \delta{t+l}, \quad \delta_t = r_t + \gamma V(s_{t+1}) - V(s_t)$
为何选择PPO?
- 项目适配性:自动驾驶需连续动作空间(油门/刹车/方向盘),PPO直接优化策略网络,支持高维输出;
- 稳定性:通过重要性采样截断,避免策略更新突变(对比TRPO的复杂约束计算);
6. Beta分布建模连续动作
- 概率密度函数: $f(x; \alpha, \beta) = \frac{x^{\alpha-1}(1-x)^{\beta-1}}{B(\alpha, \beta)}, \quad B(\alpha, \beta) = \frac{\Gamma(\alpha)\Gamma(\beta)}{\Gamma(\alpha+\beta)}$
- 输出范围:$x \in [0,1]$,天然适配归一化动作(如油门0~1)。
为何选择Beta分布而非高斯分布?
- 边界控制:无需额外裁剪,避免梯度截断问题(高斯分布在边界处概率非零);
- 多峰性:可建模紧急刹车$\alpha \ll \beta$或全油门$\alpha \gg \beta$等极端动作。
7. GRU时序建模
结构对比LSTM
- 门控简化:GRU用更新门(决定保留多少旧记忆)和重置门(决定忽略多少旧记忆)替代LSTM的输入/遗忘/输出门,参数量减少
$$ \begin{aligned} z_t &= \sigma(W_z \cdot [h_{t-1}, x_t]) \quad &\text{(更新门)} \\ r_t &= \sigma(W_r \cdot [h_{t-1}, x_t]) \quad &\text{(重置门)} \\ \tilde{h}_t &= \tanh(W \cdot [r_t \odot h_{t-1}, x_t]) \quad &\text{(候选状态)} \\ h_t &= (1 - z_t) \odot h_{t-1} + z_t \odot \tilde{h}_t \quad &\text{(最终状态)} \end{aligned} $$
8. CNN模型
主要特点:
- 局部连接(Local Connectivity): CNN利⽤卷积层中的滤波器(或称卷积核)在输⼊图像上进⾏滑动,以
提取局部特征。每个滤波器只与输⼊的⼀⼩部分连接,这称为局部感受。
- 权共享(Weight Sharing): 同⼀个滤波器在整个输⼊图像上滑动,并应⽤相同的权。这减少了参数
的数,提⾼了模型的训练效率。
- 平移不变性(Translation Invariance): 由于滤波器在图像上滑动,CNN能够很好地捕捉图像中的局部特
征,并对平移变换具有鲁棒性。
- 层次化特征表示(Hierarchical Feature Representation): CNN通过多个卷积层和池化层的叠加,逐步
提取图像的低级特征(如边缘、⻆点)和⾼级特征(如复杂形状和对象)。
9. 如何解决CNN的过拟合问题?
过拟合是机器学习中常⻅的问题,尤其是在深度学习模型,如CNN中。过拟合发⽣时,模型在训练数据上表现良
好,但在未⻅过的数据上表现较差。为了减少过拟合,
可以采取以下策略:
数据增强(Data Augmentation) :通过旋转、平移、缩放、翻转等⽅法⼈为增加训练数据的多样性,帮
助模型学习到更加泛化的特征。
Dropout:在训练过程中随机“丢弃”(即设置为零)某些神经元的输出,这种⽅法能够有效减少模型对特定
训练样本的依赖,增强模型的泛化能⼒。
正则化(Regularization) :向损失函数中添加正则项,如L1或L2正则化,限制模型权的⼤⼩,防⽌模型
过于复杂。
早停(Early Stopping) :在验证集上监控模型的性能,当模型的验证误差开始增加时停⽌训练,以避免过
拟合。
使⽤预训练模型(Transfer Learning) :利⽤在⼤型数据集上预训练的模型作为初始模型,对特定任务进
⾏微调,可以有效利⽤预训练模型的泛化能⼒,
减少过拟合⻛险。
10. 什么是感受野(ReceptiveField)?
在CNN中,感受野(Receptive Field) 是指卷积神经⽹络中某⼀层输出特征图上的⼀个元素对原始输⼊图像中区
域的映射⼤⼩。
换句话说,它描述了输出特征图中单个元素视范围内包含的输⼊图像的区域⼤⼩。
感受的⼤⼩由⽹络中所有前⾯层的滤波器(卷积核)⼤⼩、步⻓和池化操作共同决定。感受越⼤,⽹络能够捕
获的输⼊图像的全局信息越多,
但同时可能会丢失⼀些细节信息;反之,**感受较⼩**则能够捕获更多的局部细节信息。
- 选择PPO的原因: