版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
AI应用算法工程师(校招)高频面试题
精选100道·含详细解答
面试前刷一遍,心中更有底
★表示出题频率:★★★较高★★★★很高★★★★★最高
一、基础理论与算法底座(20道)
1.请详细推导一下逻辑回归的损失函数,并说明为什么不用平方误差损失?★★★★★(考
察核心算法推导)
2.深度学习中常见的激活函数有哪些?请对比分析Sigmoid、ReLU和GELU的优缺点。
★★★★★(考察底层网络基石理解)
3.请解释什么是过拟合?在训练深度神经网络时,你通常会使用哪些方法来缓解过拟合?
★★★★★(考察模型调优通用思路)
4.梯度消失和梯度爆炸产生的原因是什么?从网络结构和优化器角度分别可以如何解决?
★★★★★(考察深度学习基础痛点分析)
5.请说明L1正则化和L2正则化的数学本质区别,为什么L1更容易产生稀疏解?★★★★★
(考察数学基础与算法原理)
6.随机森林和GBDT有什么核心区别?它们在处理特征缺失值时的内在逻辑是什么?
★★★★★(考察传统机器学习核心模型)
7.详细描述下BatchNormalization和LayerNormalization的区别,以及各自最适用的场景。
★★★★★(考察神经网络机制与场景匹配)
8.请手推一下SVM(支持向量机)的优化目标函数及对偶问题。★★★★(考察高阶数学推
导能力)
9.什么是交叉熵(CrossEntropy)?它和KL散度有什么数学关系?★★★★★(考察信息论
与损失函数基础)
10.卷积神经网络(CNN)中的感受野是如何计算的?池化层(Pooling)的主要作用是什
么?★★★★★(考察CV方向基础网络组件)
11.循环神经网络(RNN)为什么难以处理长序列数据?LSTM的门控机制是如何缓解这个问
题的?★★★★★(考察NLP方向经典网络机制)
12.K-means聚类算法中K值该如何科学选择?如何解决算法对初始质心敏感的问题?
★★★★(考察经典无监督算法理解)
13.优化器Adam和SGD相比,优势和劣势分别在哪里?在什么场景下你会优先坚持使用
SGD?★★★★★(考察优化算法原理与实践经验)
14.评估分类模型时,准确率、精确率、召回率、F1和AUC分别代表什么物理意义?在极度
不平衡样本下主要看哪个指标?★★★★★(考察核心模型评估标准)
15.注意力机制(AttentionMechanism)的本质思想是什么?Q、K、V分别代表什么物理含
义?★★★★★(考察现代网络核心组件理解)
16.介绍一下XGBoost相对于原始GBDT做了哪些工程和算法层面上的核心改进?★★★★
(考察集成学习前沿理论)
17.决策树划分节点时,信息增益、信息增益率和基尼指数有什么区别?分别对应哪种决策树
算法?★★★★(考察决策树底层逻辑)
18.如果训练集的Loss一直在下降,但验证集的Loss先下降后上升,说明了什么问题?该如
何干预?★★★★★(考察模型训练诊断能力)
19.简述流形学习(ManifoldLearning)的基本思想,及其在非线性降维中的经典应用。
★★★(考察前沿算法理论拓展)
20.朴素贝叶斯算法中的“朴素”指的是什么条件假设?这种假设在实际应用中存在什么局限
性?★★★★(考察概率图模型基础)
二、大模型基础与前沿技术(15道)
1.详细拆解Transformer的架构,解释为什么它必须要有位置编码(PositionalEncoding)?
★★★★★(考察大模型底层基石理解)
2.Self-Attention中的缩放因子(Scalingfactor)有什么实际作用?为什么要除以维度dk的平
方根?★★★★★(考察核心算法底层数学细节)
3.GPT系列模型(Decoder-only)和BERT模型(Encoder-only)在架构选择和预训练目标
上有什么本质区别?★★★★★(考察主流预训练范式差异)
4.介绍一下LoRA(Low-RankAdaptation)微调技术的数学原理,为什么它能大幅度降低显
存占用?★★★★★(考察大模型参数高效微调技术)
5.PromptEngineering中常用的Zero-shot、Few-shot和ChainofThought(CoT)分别是如何
激发大模型涌现能力的?★★★★★(考察AI应用层核心技术手段)
6.什么是RLHF(基于人类反馈的强化学习)?请描述其训练流程中的三个核心阶段。
★★★★★(考察大模型对齐与偏好学习机制)
7.RAG(检索增强生成)技术的核心Pipeline是什么?它主要解决了大模型落地的哪些痛
点?★★★★★(考察热门AI业务应用架构)
8.在构建RAG系统时,如果检索出的Chunk质量不高或不相关,你会从哪些维度去优化检索
召回模块?★★★★(考察RAG系统工程调优思路)
9.大模型常见的词表构建算法有哪些?请对比BPE算法和WordPiece算法的差异。★★★★
(考察分词器底层基本原理)
10.大语言模型在推理阶段常遇到“幻觉”(Hallucination)现象,导致幻觉的根本原因有哪
些,算法层面如何缓解?★★★★★(考察大模型应用痛点分析)
11.什么是KVCache?它在Transformer生成式的自回归推理加速中起到了什么绝对性作用?
★★★★(考察模型推理与工程加速原理)
12.P-Tuning和PromptTuning有什么区别?它们在参数高效微调(PEFT)领域的应用场景有
何不同?★★★★(考察大模型微调技术演进路径)
13.解释旋转位置编码(RoPE)的核心思想,以及它相比绝对位置编码在外推性上的巨大优
势。★★★★(考察前沿大模型组件理论)
14.Agent(智能体)与传统的单次大模型API调用主要区别是什么?一个标准的Agent通常包
含哪些核心模块?★★★★(考察前沿AI交互范式认知)
15.如果让你设计一个多模态大模型(如同时理解图像和文本),你认为在网络结构上对齐不
同模态特征的关键难点在哪里?★★★(考察多模态前沿技术认知拓展)
三、编程与工程实现能力(15道)
1.解释一下Python中GIL(全局解释器锁)的概念,它对算法工程师写多线程处理数据流有
什么实际影响?★★★★(考察基础语言机制底层理解)
2.Python中的生成器(Generator)和迭代器(Iterator)有什么区别?在处理海量训练数据
时为什么推荐用生成器?★★★★(考察代码内存管理优化思维)
3.简述PyTorch中Autograd(自动求导)的计算图机制,这个动态图是在什么时候被构建,
又在什么时候被销毁的?★★★★★(考察深度学习核心框架底层原理)
4.在PyTorch训练流程中,调用model.train()和model.eval()的区别到底在哪里?具体
改变了哪些特定层的行为?★★★★★(考察框架规范使用与排障基础)
5.手撕代码:请仅使用Numpy或PyTorch原生API,实现一个完整的Self-Attention前向传播过
程。★★★★★(考察核心算法白板代码实现能力)
6.当训练模型遇到显存溢出(OOM)问题时,在不更换更强硬件的前提下,你会采取哪些
代码级或工程级的手段来解决?★★★★★(考察工程排障与资源极限压榨能力)
7.PyTorch分布式训练中,DataParallel(DP)和DistributedDataParallel(DDP)有什么核
心区别?为什么业界推崇DDP?★★★★(考察模型分布式训练基础工程认知)
8.请简述在C++中指针和引用的区别,以及在底层推理引擎开发中,智能指针是如何防范内
存泄漏的?★★★★(考察C++底层工程实现与内存安全)
9.常见的AI模型压缩技术有哪些?请分别简述模型量化(Quantization)和模型剪枝
(Pruning)的基本原理和损耗。★★★★★(考察模型部署与推理优化理论)
10.介绍一下ONNX是什么?为什么算法工程师在部署模型到生产环境时,通常需要先将模型
导出为ONNX格式?★★★★(考察工程落地部署标准流认知)
11.手撕代码:实现一个快速排序(QuickSort)算法,并详细分析其平均时间复杂度和最坏
情况的原因。★★★★★(考察基础数据结构与算法基本功)
12.手撕代码:给定一个二叉树的根节点,如何使用非递归(迭代加栈)的方式实现前序遍
历?★★★★(考察经典算法实现与边界处理)
13.解释一下Docker容器技术的基本原理,以及在算法工程交付中编写高质量Dockerfile的常
见注意事项。★★★★(考察工程环境隔离与交付落地能力)
14.面对超大语料文件(如单文件100GB的文本)的读取、清洗和去重,在有限内存下,你
会设计怎样的流式工程算法来保证效率?★★★★(考察大数据并行处理工程思维)
15.Triton推理服务器和TensorRT各自的核心作用是什么?在实际大流量业务部署中如何将二
者结合使用?★★★(考察模型推理加速进阶工程认知)
四、项目经历与实习挖掘(20道)
1.请挑一个你写在简历里认为最有技术挑战的AI应用项目,详细描述项目的业务背景、你的
核心技术贡献以及最终量化收益。★★★★★(考察项目深度与真实度挖掘)
2.在你简历中提到的核心项目中,你的Baseline模型最初是如何选型的?为什么选择它而不
是直接套用当时最复杂的SOTA模型?★★★★★(考察模型选型逻辑与性价比考量)
3.你项目中的训练数据是如何获取、清洗和标注的?面对实际业务中不可避免的“脏数
据”和“标注噪声”,你做了哪些针对性处理?★★★★★(考察数据敏感度与脏活累活处理
能力)
4.在该项目研发期间,你遇到的最难跨越的一个“BadCase”是什么?请详细说明你从发现
问题、分析根因到最终解决的整个闭环。★★★★★(考察问题解决闭环与深度分析思
维)
5.简历上提到你的模型在某指标上提升了X%,请问这个提升具体是由数据清洗、特征工程
还是模型结构优化带来的?你怎么做AblationStudy来证明?★★★★★(考察效果归因与
实验严谨性)
6.如果现在让你带着现有的技术视野重新做一遍你最自豪的这个项目,你会推翻哪些当初的
设计或者尝试哪些不同的优化路径?★★★★★(考察项目复盘总结与反思迭代能力)
7.项目里使用的核心评估指标是你自己定的还是业务方定的?这个线下评估指标能百分百反
映该模型在真实线上场景中的业务价值吗?★★★★(考察业务指标拆解与全局视角)
8.在做项目或者实习团队协作时,如果你负责的算法模块与其他同学的工程端模块发生接口
冲突或性能互耗,你是如何主动协调解决的?★★★★★(考察团队协作边界跨越与沟通
机制)
9.简历中提到的这个深度学习模型研发,你是如何划分训练集、验证集和测试集的?有没有
遇到过潜伏很深的数据泄露(DataLeakage)问题?★★★★(考察实验全流程规范性与
避坑经验)
10.在上一段实习经历中,你尝试过的哪些特征工程或模型调优方案最终被证明是无效的?你
从这些失败尝试中提炼出了什么经验论?★★★★★(考察挫折抗压与试错复盘能力)
11.针对你实习期参与优化的搜推模型或者业务模型,当出现线上A/BTest效果和线下离线评
估指标发生倒挂不一致时,你通常如何排查?★★★★★(考察线上线下一致性排查实战
经验)
12.当业务方给的项目交付周期非常紧凑时,你是如何合理排期,平衡“快速跑通MVP(最小可
行性产品)版本”和“追求极致算法性能”之间的矛盾的?★★★★(考察工程交付意识与项目
时间管理)
13.简历中提到你在GitHub上开源过算法代码,请问你认为一份高质量、可复用的开源算法代
码库必须具备哪些工程要素?★★★★(考察代码规范意识与开源协作精神)
14.实习期间,如果导师突然给你分配了一个你以前完全没有接触过的算法子领域方向,你是
如何规划路径在一周内快速上手并给出初步方案的?★★★★★(考察陌生领域的快速学
习与方法论归纳)
15.看到你在这个项目中使用了特定的开源预训练大模型,请说明你在微调时冻结了哪些网络
层,解冻了哪些层,为什么做出这样的实验设计?★★★★(考察迁移学习实操细节与网
络层理解)
16.针对你在该项目中的数据处理和推理服务架构设计,如果未来线上的真实并发流量突然暴
增10倍,你的系统链路最先会遇到什么瓶颈?★★★★(考察架构前瞻性与系统容量压测
认知)
17.简历里写到熟练使用HuggingFace生态,请详述如何利用Transformers库底层的API高效
地进行大模型的流式输出(Streaming)操作。★★★★(考察常用工具链底层API熟悉程
度)
18.这个算法项目上线运行后,你是如何监控模型性能随时间发生衰减(ModelDrift/Data
Drift)的?触发模型重训或干预的明确条件是什么?★★★★(考察模型全生命周期监控
管理闭环)
19.在和非技术背景的产品经理对齐AI需求时,如果你发现对方期望的智能化目标在现有的数
据和算力条件下根本无法实现,你会怎么推动沟通?★★★★★(考察跨部门沟通与技术
预期管理)
20.你在这个核心项目中运用的最复杂的算法原理,如果让你现在给完全不懂技术的HR或者
家里长辈解释,你会怎么通俗易懂地打比方说明?★★★(考察技术抽象表达与降维沟通
能力)
五、业务场景落地与问题解决(15道)
1.假设公司要从零开始开发一套面向内部员工的智能客服问答系统,请你口述这个AI应用的
整体技术架构图,涵盖数据流转和核心算法模块设计。★★★★★(考察AI系统全局架构
设计能力)
2.如果公司的GPU算力资源非常窘迫,只有几张消费级显卡,但业务线强制要求一个月内
上线一个效果达标的大模型应用,你会给出什么破局的技术落地思路?★★★★★(考察
资源受限场景下的破局思维与灵活度)
3.针对电商业务的“商品营销文案自动生成”任务,你会如何结合现有的大模型能力,并在算
法和后处理层面保证生成的文案绝对不会产生虚假夸大宣传?★★★★★(考察业务安全
风控与幻觉兜底控制)
4.假设现在是晚上9点,线上推荐信息流的点击率(CTR)监控看板突然出现断崖式下跌,
作为当前值班的算法负责人,请说出你排查问题的优先级和具体步骤。★★★★★(考察
线上故障排查逻辑与危机应急处理)
5.业务侧现在急需利用AI技术识别存量历史合同文本中的潜在法律风险点,但公司目前一张
打好标签的训练数据都没有,你会如何冷启动推进这个算法项目?★★★★★(考察从0到
1的冷启动与无监督弱监督方案构建)
6.安全部门希望算法团队提供一个能实时检测千万级短视频流中低俗违规内容的系统,你认
为这个系统的推理延迟指标和高召回率指标该如何权衡?技术方案该怎么定?★★★★
(考察高并发实时计算与多模态风控识别架构)
7.如果让你设计一个基于计算机视觉的工厂流水线零件缺陷检测应用,但工厂现场的光照条
件受天气影响极大且经常剧烈变化,你的算法方案怎么保证在极端光照下的鲁棒性?
★★★★(考察CV落地场景鲁棒性设计与数据增强)
8.面向开发者的AI辅助编程工具(如代码补全)在生成代码时,极有可能会引入安全漏洞或
不合规的开源协议代码,如果你是该产品的算法负责人,你会设计怎样的算法卡点逻辑?
★★★★(考察AI应用原生安全意识与内容过滤)
9.假设你需要将一个百亿参数量级的视觉或语言模型部署到用户的移动端手机上,但APP
可用内存严格限制在2G以内,你会结合哪些端侧AI加速与轻量化前沿技术?★★★★(考
察端侧边缘计算AI技术视野广度)
10.我们的核心APP准备下周上线一个针对纯新用户的“算法冷启动个性化推荐”模块,在新用
户历史行为数据完全为零的极寒启动状态下,你会用什么特征策略来推断其偏好?
★★★★★(考察搜推经典冷启动问题的策略储备)
11.在设计一款医疗影像AI辅助初筛应用时,专业医生反馈算法在极少数情况下会给出完全违
背基本医学常识的离谱判断,你如何将医学专家的确定性规则优雅地融入到深度神经网络
中?★★★★(考察确定性专家系统与黑盒深度学习的结合方案)
12.如何利用现有的大语言模型(LLM)去优化传统垂直搜索业务场景中长尾Query(搜索
词)的召回率低下问题?请简述你的技术方案和数据流设计。★★★★(考察大模型技术
对传统核心业务线的改造赋能)
13.随着AIGC的爆发,当大模型生成的内容涉及严重的版权争议时,在纯算法底层有什么技
术手段(例如数字水印注入、知识溯源等)可以作为平台方的版权保护或免责方案?
★★★(考察前沿AI伦理挑战与技术应对手段储备)
14.如果你需要为公司美术设计部门开发一个内部的“文生图”提效应用,但发现开源的基础
StableDiffusion模型生成的画风完全不符合本公司的品牌调性,你会如何运用工程手段对
其进行定制化改造?★★★★(考察AIGC场景应用能力与微调控制)
15.在自动驾驶或车联网AI场景下,车辆端侧传感器传回云端的数据时常存在严重的网络延迟
甚至断网丢失情况,你怎么设计云端大模型与车端小模型的“端云协同”AI算法架构来保证
极端情况下的安全性?★★★(考察物联网通信受限下的端云协同架构设计)
六、综合素质与职业规划(15道)
1.你怎么理解“AI应用算法工程师”这个岗位在公司业务链条中的角色定位?你觉得它和纯做
底层前沿模型研发的研究员(AIResearcher)在日常工作上有什么核心区别?★★★★★
(考察核心岗位自我认知与角色定位)
2.面临秋招众多公司的选择,为什么特别选择投递我们公司的这个AI岗位?你觉得你的过往
学术/项目背景中,哪一项特质与我们当前的主营业务方向最契合匹配?★★★★★(考察
求职动机诚意与企业业务匹配度)
3.算法技术尤其是大模型技术日新月异,知识半衰期极短,请问你平时是通过哪些渠道获取
最新技术资讯,并依靠什么方法论保持对前沿技术的敏锐度与动手实操能力的?
★★★★★(考察技术热情与持续学习方法论)
4.如果明天Leader让你去跟进并落地一篇刚在学术顶会(如NIPS/CVPR/ACL)上发表的最
新Paper,请详细描述你从阅读理解、评估可行性到完成代码复现的完整行动步骤。
★★★★★(考察学术阅读拆解与高效代码复现实战能力)
5.回顾你的大学本科或研究生求学阶段,你经历过的最大的一次技术或项目上的挫败是什
么?你最终是如何从这次低谷中调整心态走出来,并从中提炼出了什么教训?★★★★★
(考察抗挫折韧性与逆商心态调整)
6.如果你顺利入职后,发现日常真实工作中有60%以上的时间都在做“洗数据”、“处理脏日
志”和“封装对接API”这种偏底层的工程脏活累活,跟你想的“天天研究高大上模型结构”完
全不同,你会怎么在心里调整这种落差预期?★★★★★(考察职场成熟度与抗压预期管
理)
7.请描述一下未来3到5年内,你在人工智能领域的个人职业发展规划是怎样的图景?你希
望自己在公司内成为具备什么样标签的技术专家或者复合型人才?★★★★★(考察中长
期职业规划清晰度与自我驱动力)
8.坦诚地评价一下自己,你觉得自己目前作为一名应届生,最大的技术短板或能力缺失是什
么?为了弥补这个短板,你在最近半年内采取了哪些具体的、可量化的实际行动?
★★★★(考察客观自我反省认知与超强执行力)
9.假设你现在手头有两个可供选择的Task:一个是去打磨优化一个已经非常成熟但对业务很
核心的旧模型,期望再压榨提升2%的性能;另一个是去调研一个完全未知、极具风险但
也可能带来技术颠覆的前沿应用落地可行性。你内心更倾向选哪个?为什么?★★★★
(考察日常工作偏好与性格冒险/求稳特质)
10.请分享一个在你的过往经历中,你通过主动去钻研学习了一项原本不属于你负责范围内的
新技术,从而一举解决了一个团队里其他人都束手无策的难题的经历。★★★★(考察技
术主动性与边界突破创造的价值)
11.你认为在学校实验室里做相对纯粹的科研发Paper,和进入真实互联网企业做有营收压力
的AI业务应用落地,两者之间最大的思维差异或评估标准差异应该在哪里?★★★★(考
察产研鸿沟差异认知与商业化思维落地)
12.如果在一个重要项目中,你的Leader给你定了一个极其激进的KPI或上线时间节点,你经
过仔细排期评估后认为技术上按时、保质完成的概率不到10%,这种情况下你将如何与
Leader进行有效沟通而不只是消极抱怨?★★★★(考察向上沟通技巧与职场期望管理能
力)
13.在未来的跨部门项目团队中,如果遇到一个性格非常强势、且在核心技术方案上与你产生
严重分歧甚至僵持不下的同事,你通常会采取何种策略来破冰并推进合作目标的达成?
★★★★(考察职场复杂人际关系处理与求同存异能力)
14.抛开学校导师布置的任务或公司实习的KPI要求,请分享一个你在课外或者业余时间自己
纯粹出于兴趣折腾过的AI小工具、小脚本或极客小项目,并说明它满足了你什么需求。
★★★(考察对技术纯粹且极致的热爱驱动力)
15.你认为在未来3-5年内,假设AGI(通用人工智能)的基础能力进一步爆发甚至接近成熟
时,作为一名“AI应用算法工程师”,你的核心行业壁垒和不可替代的竞争力会演变为什
么?★★★(考察个人技术行业洞察力与宏观认知格局)
AI应用算法工程师(校招)高频面试题解答
一、基础理论与算法底座(20道)
本板块主要考察应届生对机器学习与深度学习底层数学原理及经典模型的掌握扎实
度,这是评估技术发展潜力与排查复杂Bug能力的重要基石。
Q1:请详细推导一下逻辑回归的损失函数,并说明为什么不用平方误差损失?
答题分析:
考察频率:★★★★★
考察点:考察核心算法推导
答题思路:点明本质是最大似然估计,说明推导过程(连乘化连加、加负号最小化)。解
释不用MSE的两大原因:非凸性导致局部最优,Sigmoid求导导致梯度消失。结合实验观
察作答。
避坑点:避免干背公式,要讲出背后的物理意义;不要忘记提及非凸带来的优化困难。
参考回答:
逻辑回归损失函数的推导其实基于最大似然估计。我们假设样本服从伯努利分布,
写出它的似然函数。为了计算方便,通常取对数将连乘转化为连加,再添加负号把
它变成一个需要最小化的目标,这推导出的结果刚好就是常见的交叉熵损失。
平时做基础分类任务时,我们通常不会用平方误差损失,主要有两个层面的原因。
一个是优化空间的性质问题。平方误差搭配Sigmoid激活函数后,原本的凸函数会
变成非凸函数,梯度下降时模型容易掉进局部最优的坑里出不来,增加调参成本。
更关键的原因在于反向传播时的更新效率。用平方误差求导,公式里会保留
Sigmoid的导数项。当预测值极端偏离真实标签时,Sigmoid导数反而趋近于零,
引发梯度消失现象,让参数几乎停滞不前。而交叉熵求导恰巧能抵消这一项,使得
误差越大更新步长越大,训练过程顺畅很多。
Q2:深度学习中常见的激活函数有哪些?请对比分析Sigmoid、ReLU和GELU
的优缺点。
答题分析:
考察频率:★★★★★
考察点:考察底层网络基石理解
答题思路:分类列举常见函数。分别指出Sigmoid的梯度消失痛点,ReLU的神经元死亡
问题,以及GELU通过引入随机正则化带来的平滑优势,贴近当前大模型常用的底层逻
辑。
避坑点:不要只背课本,要结合现在Transformer时代主流使用GELU的实际情况展现视
野。
参考回答:
日常实验中我接触比较多的激活函数主要包括Sigmoid、Tanh、ReLU系列以及现
在大模型常用的GELU。这几种函数各有特点,适用的场景也不太一样。
Sigmoid早年用得很广,它可以把输出映射到0到1之间,很适合做二分类的概率输
出。但它的缺点比较明显,在输入过大或过小时梯度几乎为零,很容易导致深层网
络梯度消失,而且它的输出不是零中心的。
ReLU后来成了CV领域的标配,因为在正区间梯度恒定为1,计算快且能有效缓解
梯度消失。不过它存在神经元死亡的问题,输入小于零时梯度直接归零,这时候参
数就不再更新了。
现在我看很多预训练模型都在用GELU。它其实在ReLU的基础上引入了随机正则化
的思想,结合了高斯分布的累积概率。这就让函数在零点附近有一段平滑的非线性
过渡,保留了微小的梯度,不仅缓解了死神经元问题,整体优化过程也更平滑。
Q3:请解释什么是过拟合?在训练深度神经网络时,你通常会使用哪些方法来
缓解过拟合?
答题分析:
考察频率:★★★★★
考察点:考察模型调优通用思路
答题思路:用口语化表达解释过拟合(模型记住了噪声)。从数据层面(扩增)、网络结
构层面(Dropout、早停)、损失函数层面(正则化)三个维度有条理地阐述。
避坑点:回答过于零散缺乏结构,或者脱离实际只是罗列名词,缺乏“工程实践”视角的总
结。
参考回答:
我们在训练模型时经常会遇到过拟合的现象,直观表现就是模型在训练集上指标特
别好,但一到验证集或测试集效果就大幅下滑。这本质上是因为模型复杂度过高,
把训练数据里的一些特有噪声也当成通用规律死记硬背下来了。
在平时的代码实践中,我习惯从三个维度去缓解这个问题。数据层面上,如果是CV
任务我会做图像旋转、裁剪等数据增强操作,或者简单地去收集更多数据,这是最
根本的办法。
在网络结构和训练策略层面,最常用的是引入Dropout,让神经元按一定概率随机
失活,打破它们之间的联合适应性。同时我也会配合使用EarlyStopping,在验证
集Loss开始反弹上升时提前终止训练,避免模型过度拟合。
损失函数层面,我会在优化器里加入L2正则化,也就是权重衰减,限制模型参数变
得过大。多管齐下的话,通常能把过拟合控制在一个比较合理的范围内。
Q4:梯度消失和梯度爆炸产生的原因是什么?从网络结构和优化器角度分别可
以如何解决?
答题分析:
考察频率:★★★★★
考察点:考察深度学习基础痛点分析
答题思路:点明根源在于反向传播的链式法则导致连乘效应。提出解决思路:网络结构
(残差连接、BN层、换激活函数),优化器(梯度裁剪、合理初始化)。
避坑点:只说现象不说数学本质(链式法则);解决方法分类不清。
参考回答:
梯度消失和梯度爆炸其实是硬币的两面,它们的数学根源都在于反向传播时的链式
法则。当网络层数变深,每一层的导数连乘起来。如果这些导数大多小于1,连乘
后就会趋近于零,前面网络层的参数就没法更新,这就是梯度消失;反之导数大于
1,连乘后数值会指数级膨胀,导致梯度爆炸。
在实际搭建网络时,我通常会通过一些结构设计来规避。更换激活函数很有效,比
如用ReLU替代Sigmoid,让正区间的导数保持为1。另外,引入Batch
Normalization层也能强制把数据拉回到标准分布,避免输入落入激活函数的饱和
区。如果是非常深的网络,加上ResNet那样的残差连接,能让梯度通过跳跃连接直
接传回去。
从优化器和训练策略的角度,针对梯度爆炸,最直接的做法就是加上梯度裁剪
(GradientClipping),强制设定一个阈值把超出的梯度压下来。同时,配合合理
的参数初始化方法也能在起步阶段稳住梯度。
Q5:请说明L1正则化和L2正则化的数学本质区别,为什么L1更容易产生稀疏
解?
答题分析:
考察频率:★★★★★
考察点:考察数学基础与算法原理
答题思路:指出L1是绝对值之和,L2是平方和。解释稀疏解的几何意义(等高线与正则
化图形的交点:方形的顶点对应坐标轴,圆形的交点较少在坐标轴)。
避坑点:纯口述数学公式比较难懂,建议用“几何交点”和“梯度下降”的画面感来表述,体
现深刻理解。
参考回答:
关于L1和L2正则化,从数学公式上看,L1是在损失函数里加了所有权重参数绝对
值的和,而L2加的是参数平方和。它们都是通过限制参数规模来防止模型过拟合,
但产生的结果形态差异挺大的。
在特征选择时我比较喜欢用L1,因为它更容易产生稀疏解,能把一些不重要的特征
权重直接变成零。从几何空间去理解这个现象会直观很多。在二维空间里,L1正则
化的约束区域是一个正方形,顶点正好落在坐标轴上。而原始损失函数的等高线向
外扩张时,大概率会先和这个正方形的顶点相交,交点在坐标轴上也就意味着其中
一个参数变成了零。
相比之下,L2正则化的约束区域是个平滑的圆形,损失函数的等高线和圆相交的地
方,很少会刚好落在坐标轴上。所以L2会让权重整体变小,趋向于零,但通常不会
完全等于零。从梯度下降的角度看,L1的导数是常数,参数靠近零时依然匀速下
降;而L2的导数和参数成正比,越靠近零下降越慢,很难彻底归零。
Q6:随机森林和GBDT有什么核心区别?它们在处理特征缺失值时的内在逻辑
是什么?
答题分析:
考察频率:★★★★★
考察点:考察传统机器学习核心模型
答题思路:对比集成思路(BaggingvsBoosting)、树的构建(独立并行vs依赖串
行)、偏差方差折中。说明基于树的模型处理缺失值的原生优势逻辑。
避坑点:不要把区别只停留在“并行和串行”上,要深入到降低偏差和方差的本质。
参考回答:
随机森林和GBDT虽然都是树模型的集成,但它们底层的思想差异很大。随机森林
走的是Bagging路线,它的每棵树都是互相独立、并行生成的,主要通过引入样本
随机和特征随机来降低模型的方差,提升泛化能力。
GBDT则是基于Boosting思想,树与树之间是串行的依赖关系。它每次都在拟合上
一棵树留下的负梯度,也就是残差。所以它主要是在不断降低模型的偏差,依靠弱
学习器的累加来逼近真实结果。正因为这样,GBDT通常比较容易过拟合,对参数
调优的要求也会比随机森林更高。
在处理数据缺失值方面,树模型本身都有原生优势。它们在分裂节点时,不需要像
线性模型那样去填补一个具体的值。对于缺失特征,算法通常的做法是把有缺失值
的样本分别分到左子树和右子树,计算哪边的信息增益更大,就默认把缺失数据划
拨过去。这种基于数据分布本身去寻找最优路径的做法,在平时处理脏数据时能省
去很多特征工程的麻烦。
Q7:详细描述下BatchNormalization和LayerNormalization的区别,以及各
自最适用的场景。
答题分析:
考察频率:★★★★★
考察点:考察神经网络机制与场景匹配
答题思路:说明计算维度的区别:BN沿Batch维度对特定通道求均值方差,LN沿Channel
维度对单个样本求均值方差。对比适用场景:BN适合CV,LN适合NLP及序列变长的场
景。
避坑点:容易把两者在三维/四维张量上的计算轴弄混;没有解释清楚为什么NLP不用
BN。
参考回答:
这两种归一化方法在日常调网络时用得非常多,它们最大的区别在于计算均值和方
差的切入维度不同。BatchNormalization是沿着Batch维度去计算的。也就是在同
一个通道下,把当前批次所有样本的数据拿来一起算。
LayerNormalization则是沿着通道或者特征维度来算的。它只看单个样本,计算
这个样本所有特征向量的均值和方差,跟同一个Batch里的其他样本没有任何关
系。
这种计算方式决定了它们适用的场景。在做计算机视觉任务时,图像的特征维度比
较固定,而且不同通道捕捉的局部特征差异大,用BN对每个通道单独归一化效果更
好。但如果是在做自然语言处理尤其是遇到RNN或者Transformer时,句子的长度
通常不一样,Batch里会有很多Padding填充。这时候如果还用BN,算出来的统计
量就很不稳定。所以处理序列数据或者在动态图网络中,我们更倾向于用LN,让每
个样本自己管自己。
Q8:请手推一下SVM(支持向量机)的优化目标函数及对偶问题。
答题分析:
考察频率:★★★★
考察点:考察高阶数学推导能力
答题思路:口述推导逻辑:硬间隔最大化得出带约束的最小化1/2||w||^2。引入拉格朗日
乘子转为无约束问题。通过KKT条件求偏导代回,转化为对偶问题(最大化乘子alpha的
表达式)。
避坑点:无法白板推导,口述时跳步太多;忘记提及KKT条件和为什么要转对偶(方便核
函数技巧)。
参考回答:
在推导SVM优化的过程中,我们最初的想法是找到一个超平面,不仅要把正负样本
分开,还要让离这个平面最近的样本点也就是支持向量间的间隔最大化。通过几何
距离的定义,这个目标最终可以转化为求权重向量w的L2范数的一半的最小值,约
束条件是所有样本都能被正确分类。
因为这是一个带有不等式约束的凸二次规划问题,为了方便求解并且后续引入核函
数,我们会用拉格朗日乘子法把它转化为对偶问题。具体来说,我们会为每一个样
本点引入一个拉格朗日乘子Alpha,构建出一个无约束的拉格朗日函数。
接下来我们先让这个函数对w和b求偏导并令其为零,利用KKT条件得出w和Alpha
的关系式。把这些关系代回到原函数里,我们就把原本关于w和b的最小化问题,转
化成了仅关于Alpha的最大化对偶问题。这样做的好处是计算复杂度直接和样本数
量挂钩,而不是和特征维度挂钩,高维映射时计算起来更从容。
Q9:什么是交叉熵(CrossEntropy)?它和KL散度有什么数学关系?
答题分析:
考察频率:★★★★★
考察点:考察信息论与损失函数基础
答题思路:从信息量和熵引入。说明交叉熵衡量用预测分布去编码真实分布所需的平均编
码长度。点明数学关系:交叉熵=真实分布的熵+KL散度。
避坑点:不能仅仅背诵公式,要能把“熵”和“分布差异”的物理意义讲清楚,体现数学功
底。
参考回答:
关于交叉熵,我通常习惯从信息论的角度去理解它。在通信里,熵代表的是一个系
统内在的混乱程度,或者是真实分布自己固有的平均编码长度。而交叉熵,衡量的
是当我们用一个模型预测出来的概率分布,去拟合或者编码真实数据的分布时,所
需要的平均信息量。模型预测得越不准,交叉熵就越大。
它和KL散度有着非常紧密的数学联系。KL散度也叫相对熵,是专门用来衡量两个
概率分布之间差异的指标,两者越相似,KL散度越接近零。
如果在公式上拆解,交叉熵其实严格等于真实分布的熵加上KL散度。平时我们做分
类任务训练模型,因为训练集给定后,真实标签的分布是固定的,真实分布的熵也
就是一个常数。所以在这个时候,最小化交叉熵,在数学本质上其实就等价于最小
化预测分布和真实分布之间的KL散度,也就是让模型的预测尽可能去贴合真实标签
的分布。
Q10:卷积神经网络(CNN)中的感受野是如何计算的?池化层(Pooling)的
主要作用是什么?
答题分析:
考察频率:★★★★★
考察点:考察CV方向基础网络组件
答题思路:解释感受野是特征图上的像素对应原图的区域大小。计算是自顶向下基于步长
和卷积核大小累乘计算。说明Pooling作用:降维减参、提取平移不变性特征、扩大感受
野。
避坑点:感受野计算逻辑容易乱;对池化层的作用回答过于单一,忘记提“平移不变性”。
参考回答:
感受野这个概念在看CNN结构时特别重要,它指的是当前特征图上的一个像素点,
映射回原始输入图像上所能覆盖的区域大小。感受野越大,神经元能看到的全局上
下文信息就越多。
在实际计算时,感受野是层层累加扩大的。当前层的感受野大小,等于上一层的感
受野加上一个增量。这个增量由当前卷积核的大小决定,并且还要乘以前面所有网
络层的步幅连乘积。所以如果想快速扩大感受野,用大步幅或者空洞卷积是比较高
效的手段。
池化层在网络里扮演着很关键的降维角色。最直观的作用就是压缩特征图的空间尺
寸,把参数量减下来,降低计算负担和过拟合风险。另外还有个细节,像最大池化
会保留局部最显著的特征,这就给模型带来了一定程度的平移不变性。即便目标在
画面里稍微移动了一点点,池化后依然能提取到同样的特征,这在处理图像分类任
务时很有帮助。
Q11:循环神经网络(RNN)为什么难以处理长序列数据?LSTM的门控机制是
如何缓解这个问题的?
答题分析:
考察频率:★★★★★
考察点:考察NLP方向经典网络机制
答题思路:RNN的反向传播通过时间计算(BPTT),长序列会导致连乘梯度消失或爆
炸。LSTM引入细胞状态线和三个门(遗忘、输入、输出),使梯度有了加法通路。
避坑点:未提到BPTT机制;对LSTM三大门控的具体分工解释含糊不清。
参考回答:
早期我们在用传统RNN处理长文本时,经常会觉得模型“健忘”,记不住开头的背景
信息。这主要是因为RNN在做基于时间的反向传播计算时,同一个权重矩阵会被反
复连乘。序列一长,这种连乘效应就会导致严重的梯度消失或者梯度爆炸,远离当
前步的早期特征很难把梯度传导过来。
LSTM就是为了解决这个痛点设计的,它的核心创新在于引入了一条贯穿整个时间
步的“细胞状态”传输带,并且设计了三个门控机制。
遗忘门负责决定要从历史记忆里丢掉哪些无关信息;输入门决定当前的新信息有哪
些需要更新到细胞状态里;最后输出门再根据更新后的状态筛选出当前要输出的内
容。这种机制非常巧妙,它把原来RNN里容易导致梯度消失的连乘操作,变成了一
条具有加法性质的高速公路。只要门控参数学习得当,即便跨越了很长的步数,梯
度也能比较顺畅地回传,有效缓解了长依赖问题。
Q12:K-means聚类算法中K值该如何科学选择?如何解决算法对初始质心敏感
的问题?
答题分析:
考察频率:★★★★
考察点:考察经典无监督算法理解
答题思路:K值选择使用肘部法则(SSE拐点)或轮廓系数。质心敏感问题使用K-
means++(初始化时让距离越远的点越大概率成为下一个质心)或多次随机初始化取最
优。
避坑点:只答得出随便试,不知道标准评估指标;没听说过K-means++。
参考回答:
在实际做无监督聚类任务时,K值的选择通常不是拍脑袋决定的。我比较常用的科
学方法有两种。一种是肘部法则,我会跑多个不同的K值,记录下每次对应的簇内
误差平方和。随着K增大,这个误差肯定会变小,当曲线出现一个类似手肘的拐
点,误差下降明显变缓时,这个拐点往往就是比较合理的K值。另外我也会参考轮
廓系数,它综合了簇内的紧密度和簇间的分离度,得分越接近1说明聚类效果越
好。
至于K-means对初始质心特别敏感,容易陷入局部最优的问题,平时在工程里很少
用原生的随机选点方法。
比较成熟的解决手段是用K-means++算法来优化初始化过程。它的核心思想是在选
定第一个随机质心后,后续在选新质心时,会倾向于选择离已有质心尽可能远的样
本点。这样初始质心在空间上散得比较开,能很大程度上避免扎堆引发的聚类崩
塌。当然,多做几次随机初始化然后取总体误差最小的那次,也是个简单有效的兜
底策略。
Q13:优化器Adam和SGD相比,优势和劣势分别在哪里?在什么场景下你会优
先坚持使用SGD?
答题分析:
考察频率:★★★★★
考察点:考察优化算法原理与实践经验
答题思路:Adam优势在于自适应学习率和动量,前期收敛快,无需精细调参。劣势是后
期可能在最优解附近震荡,泛化性有时不如SGD。CV图像分类等追求极致指标的场景常
坚持SGD配合学习率衰减。
避坑点:只背理论,没有结合平时“跑实验调参”的真实体感。
参考回答:
平时在实验室搭新模型跑实验,Adam和SGD我都经常用,它们的脾气秉性差异挺
大的。
Adam最大的优势就是省心而且收敛快。因为它内部集成了动量和自适应学习率调
节,能够为每个参数动态计算更新步长,对初始学习率不那么敏感。特别是在处理
稀疏数据或者训练复杂的自然语言模型时,Adam能帮你很快把Loss降下来,跑通
Baseline首选它。
但Adam的劣势在于训练后期,它的自适应步长可能会导致在最优解附近震荡,而
且它找到的解泛化能力往往稍微逊色一些。相比之下,SGD虽然需要我们极其耐心
地去手动调学习率衰减策略,收敛过程也比较漫长,但它往往能找到更平缓、泛化
性更好的极小值点。
所以当我在做一些经典的计算机视觉任务,比如图像分类挑战,当模型结构已经固
定,任务是为了把准确率往上硬抠那一两个百分点时,我一定会优先坚持用SGD配
合动量去精细打磨,榨干模型的最后一点潜力。
Q14:评估分类模型时,准确率、精确率、召回率、F1和AUC分别代表什么物
理意义?在极度不平衡样本下主要看哪个指标?
答题分析:
考察频率:★★★★★
考察点:考察核心模型评估标准
答题思路:简明扼要解释五个指标:全局准度、报正类的准度、找正类的全度、两者的调
和平均、排序能力。指出不平衡时重点看F1、PR曲线和AUC。
避坑点:背混精确率和召回率的公式;没有点破AUC在正负样本比例变化时保持稳定的
优势。
参考回答:
这几个指标在我们评估分类模型时是有一套完整逻辑的。准确率最直观,就是所有
预测对的样本占总样本的比例。但在业务里只看它容易被骗。
精确率关注的是“宁缺毋滥”,意思是模型预测出来的正类里,有多少是真的正类;
召回率关注的是“宁杀错不放过”,意思是所有真实的正类里,模型成功找出了多
少。这两个指标往往是打架的,所以我们会用F1分数把它们调和平均一下,看个综
合得分。
而AUC的物理意义更有意思,它衡量的是模型的排序能力,也就是随机抽一个正样
本和一个负样本,模型给正样本打分高于负样本的概率。
当遇到极度不平衡的样本,比如一万条正常数据里找十个欺诈交易,准确率就完全
失效了,全猜正常也能有99.9%的准确率。这时候我主要会盯着两个指标看。一个
是看少数类的F1分数,它能真实反映找少数类的能力。另一个是重点看AUC,因为
AUC对正负样本的比例变化不敏感,能比较客观地评估模型本身的区分底子。
Q15:注意力机制(AttentionMechanism)的本质思想是什么?Q、K、V分
别代表什么物理含义?
答题分析:
考察频率:★★★★★
考察点:考察现代网络核心组件理解
答题思路:本质是资源分配机制,打破固定编码瓶颈,实现特征的动态聚焦。利用图书馆
查书类比Q(Query查询)、K(Key索引)、V(Value内容)。
避坑点:解释过于生硬抽象,如果能用通俗贴切的业务或生活比喻会极大加分。
参考回答:
关于注意力机制,我认为它的本质思想就是一种计算资源的动态分配机制。在它出
现之前,不管输入序列多长,网络都会强行把它压缩成固定长度的向量,这就容易
造成信息丢失。注意力机制打破了这个瓶颈,它让模型在处理当前步的信息时,能
主动回过头去看看上下文,给相关度高的部分分配更大的权重,把视线聚焦在重点
上。
要理解里面的Q、K、V三个矩阵,我觉得可以用去图书馆查资料来做个直观的比
喻。
Q也就是Query,可以理解为我心里想要查找的问题关键词。K也就是Key,相当于
图书馆里每本书背后的标签或者摘要索引。V也就是Value,对应着书里面具体的正
文内容。计算注意力的时候,模型会先拿我的查询Q去跟所有的索引K算一个相似度
打分。哪个标签跟我的问题最匹配,打分就最高。然后模型再根据这些打分去按比
例加权提取书籍正文V的内容,这样就拼凑出了最终精准解答问题的特征表示。
Q16:介绍一下XGBoost相对于原始GBDT做了哪些工程和算法层面上的核心
改进?
答题分析:
考察频率:★★★★
考察点:考察集成学习前沿理论
答题思路:算法层:二阶泰勒展开(更准)、加入树结构复杂度正则化(防过拟合)。工
程层:特征分块并行、缺失值自动分裂、直方图近似算法。
避坑点:只记得二阶导数,忽略了XGBoost在当时打败各种树模型的关键是极其强悍的工
程优化(并行化处理)。
参考回答:
XGBoost当年之所以能在各种数据比赛里脱颖而出,是因为它在原始GBDT的基础
上,对算法精度和工程速度都做了非常深度的改造。
在算法思路上,传统的GBDT在优化时只用到了一阶导数,而XGBoost利用泰勒展
开推导到了二阶导数,这就让它逼近最优解的过程更准也更快。另外,为了应对树
模型容易过拟合的毛病,它在目标函数里硬编码加入了显式的正则化项,专门用来
惩罚叶子节点的数量和权重值,约束了树的复杂度。
但在工程实现层面上的优化往往更让我印象深刻。XGBoost在训练前会把特征数据
预先排序,存成Block块状结构。这让它在后续寻找最佳分裂点时,不仅能复用排
序结果,还能实现不同特征间的并行计算,大幅提升了速度。加上它内部自带了缺
失值的自动路径寻优,以及针对大规模数据内存装不下时的直方图近似算法,它在
落地业务时的工程抗压能力变得非常强悍。
Q17:决策树划分节点时,信息增益、信息增益率和基尼指数有什么区别?分别
对应哪种决策树算法?
答题分析:
考察频率:★★★★
考察点:考察决策树底层逻辑
答题思路:信息增益倾向特征取值多的特征(ID3);信息增益率引入惩罚项缓解该问题
(C4.5);基尼指数衡量不纯度,计算比对数更快(CART)。
避坑点:容易混淆三者的对应算法;解释不清信息增益为什么要升级到信息增益率。
参考回答:
在决策树生成分裂节点时,这三个指标其实反映了算法演进过程中对不同痛点的解
决思路。
最早的ID3算法使用的是信息增益。它通过计算分类前后系统熵的减少量来挑选特
征。但我们在实践中发现,信息增益有个致命的偏好,它总是倾向于选择那些取值
类别特别多的特征,比如身份证号。如果按身份证号分,每个分支下只有一个样
本,信息增益最大,但这种树完全没有泛化意义。
为了填这个坑,C4.5算法引入了信息增益率。它相当于在信息增益的基础上增加了
一个惩罚分母,也就是特征本身的固有熵。特征取值越多,惩罚越大,这样就很好
地平衡了特征选择的合理性。
而基尼指数则是CART树使用的核心指标。它的物理意义是衡量集合数据的不纯
度,代表随机抽两个样本类别不一致的概率。基尼指数有个很实际的工程优势,它
的计算公式只涉及加减乘除,避开了信息熵里耗时的对数计算,所以在大规模数据
下训练速度通常会更快一些。
Q18:如果训练集的Loss一直在下降,但验证集的Loss先下降后上升,说明了
什么问题?该如何干预?
答题分析:
考察频率:★★★★★
考察点:考察模型训练诊断能力
答题思路:明确指出这是典型的“过拟合”临界点特征。干预手段:第一反应是Early
Stopping(早停);其次考虑降模型复杂度、加正则、Dropout、数据增强。
避坑点:分析啰嗦,直接一针见血点出过拟合。干预手段要有优先级(立竿见影的放前
面)。
参考回答:
在平时监控模型训练曲线时,如果看到训练集的Loss还在稳步往下掉,但验证集的
Loss却走出了一个先降后升的U型轨迹,这说明模型已经越过了最佳泛化能力的拐
点,出现了非常典型的过拟合现象。这个时候模型不再是学习通用规律,而是在死
记硬背训练数据里的特定噪声了。
遇到这种情况,我通常会按优先级采取一套干预动作。反应最直接的就是介入早停
机制(EarlyStopping),在代码里设置个耐心值,当验证集Loss连续几个Epoch
没有改善或者开始反弹时,强制终止训练,并保存拐点处的最优权重,这是见效最
快的止损办法。
在重新调优时,我会反思是不是当前的参数量对这份数据来说太庞大了。我会尝试
引入L2正则化或者调高Dropout的比率来限制神经元。如果硬件条件允许,我还会
回头去增加数据增强的强度,或者去想办法爬取更多数据,毕竟给足见多识广的样
本才是压制过拟合最治本的策略。
Q19:简述流形学习(ManifoldLearning)的基本思想,及其在非线性降维中
的经典应用。
答题分析:
考察频率:★★★
考察点:考察前沿算法理论拓展
答题思路:流形学习假设高维数据实际上驻留在一个低维流形上。相比PCA,它能处理
非线性关系(如瑞士卷数据展开)。经典应用:t-SNE等高维特征可视化。
避坑点:不要用过于晦涩的拓扑学概念,用“三维瑞士卷展开成二维”这种画面感例子最能
拿高分。
参考回答:
关于流形学习,虽然它听起来是个有些抽象的拓扑学概念,但它的基本思想其实很
巧妙。它假设我们在高维空间里观察到的复杂数据,本质上都是被扭曲或者折叠过
的,它们其实悄悄“趴”在一个低维的流形曲面上。
平时我们用PCA这种传统的线性降维算法时,只能沿着数据的最大方差方向做投
影,对付线性数据没问题。但如果数据像是卷起来的瑞士卷蛋糕那样复杂的非线性
结构,线性投影就会把不同层叠在一起。而流形学习的思路是顺着瑞士卷的曲面纹
理,把它平摊开来铺成一张二维的面团。它强调的是在降维过程中,尽量保持数据
在局部空间里的相邻关系。
在日常工程或者论文复现中,流形学习最经典的应用就是t-SNE算法了。当我们在
分析几十或几百维的深度特征向量时,通常会用t-SNE把它们非线性地降维到二维
屏幕上画散点图,通过观察不同类别簇有没有清晰地分开,来直观验证网络特征提
取的效果。
Q20:朴素贝叶斯算法中的“朴素”指的是什么条件假设?这种假设在实际应用中
存在什么局限性?
答题分析:
考察频率:★★★★
考察点:考察概率图模型基础
答题思路:指出“朴素”指特征条件独立假设。局限性在于现实业务中特征往往强相关,会
导致概率计算偏离真实分布,但在文本分类等场景依然表现尚可。
避坑点:只说条件独立,没有进一步解释这种强假设在现实业务中造成的后果。
参考回答:
朴素贝叶斯算法里这个“朴素”两个字,核心就在于它做了一个非常强的理论假设:
也就是它认为在给定的分类结果下,所有的特征之间都是互相独立的,没有任何关
联影响。
有了这个假设,我们在计算联合概率时,就可以简单粗暴地把各个特征的概率直接
乘起来,这让算法的推导和工程上的计算速度都变得特别快。
但在实际落地的业务场景里,这种强假设往往是站不住脚的。特征之间通常都存在
千丝万缕的相关性。比如在做文本情感分类时,“非常”和“糟糕”这两个词经常成对出
现,它们在逻辑上是高度绑定的。如果强行把它们看作独立特征去相乘,算出来的
预测概率值有时会显得比较极端或者偏离真实情况。不过有意思的是,尽管预测概
率的具体数值不那么准,但只要排名顺序对了,它在很多像垃圾邮件拦截这样的简
单文本场景下,分类准确率依然意外地还不错。
二、大模型基础与前沿技术(15道)
本板块侧重考察同学们对大语言模型时代前沿架构、微调技术及工程落地范式的认
知,评估应届生的技术视野与技术更新迭代能力。
Q21:详细拆解Transformer的架构,解释为什么它必须要有位置编码
(PositionalEncoding)?
答题分析:
考察频率:★★★★★
考察点:考察大模型底层基石理解
答题思路:概述Encoder-Decoder结构、多头自注意力、前馈网络、残差与层归一化。核
心解释:自注意力计算是无向的集合运算(排列不变性),打乱词序输出不变,因此必须
用位置编码注入时序信息。
避坑点:拆解架构时漏掉残差连接和LayerNorm;位置编码必要性的原因没有切中“自注
意力天然缺乏时序感知”的要害。
参考回答:
Transformer的整体架构可以清晰地拆解成编码器和解码器两大模块。它里面堆叠
了几个非常核心的组件:承担信息交互的多头自注意力机制、负责特征映射的前馈
神经网络,以及用来稳住梯度和加速收敛的残差连接加上层归一化操作。
在传统的RNN里,数据是按时间步一个接一个喂进去的,网络天然就知道哪个词在
前哪个词在后。但Transformer彻底抛弃了这种串行结构,采用全并行计算。当我
们把一整句话送进自注意力层时,它在本质上做的是一种集合运算。
这就带来一个致命问题:自注意力机制具备排列不变性。如果我们把一句话里的词
语顺序完全打乱,自注意力层算出来的特征向量其实是一模一样的。这在处理自然
语言时显然行不通,因为“狗咬人”和“人咬狗”意思是完全反过来的。所以,为了弥补
这种并行机制天然缺失的时序感知能力,就必须在输入端把位置编码叠加到词向量
上,强制给每个词贴上绝对或相对的坐标标签。
Q22:Self-Attention中的缩放因子(Scalingfactor)有什么实际作用?为什
么要除以维度dk的平方根?
答题分析:
考察频率:★★★★★
考察点:考察核心算法底层数学细节
答题思路:点积结果随维度dk增大而增大,导致Softmax输入过大,进入梯度饱和区。除
以根号dk能将方差拉回1,保持Softmax的梯度活跃,加速模型训练。
避坑点:只知其然不知其所以然,必须明确指出点积后方差变大导致Softmax梯度消失的
数学推导逻辑。
参考回答:
在推导Self-Attention的计算公式时,我们会拿Q和K矩阵做点积运算。当网络比较
深、特征维度dk设置得比较大时,这种点积操作会埋下一个不小的隐患。
从统计学的角度看,假设Q和K里的元素都是均值为零、方差为一的独立随机变量。
当它们做点积也就是逐项相乘再相加后,得到的结果它的均值虽然还是零,但方差
会直接被放大dk倍。这就意味着点积算出来的数值会非常极端,有的特别大,有的
特别小。
紧接着这个极端数值会被送进Softmax函数去算注意力权重。Softmax这个函数有
个特点,只要输入值稍微拉开点差距,它就会把大的无限逼近于1,小的直接压成
0。这会让网络陷入严重的梯度饱和区,反向传播时梯度近乎消失,参数根本动不
了。所以引入除以dk的平方根这个缩放因子,刚好能把方差重新拉回缩放前的大
小,让Softmax的输出分布更加平缓,保证梯度一直处于健康的活跃状态。
Q23:GPT系列模型(Decoder-only)和BERT模型(Encoder-only)在架构
选择和预训练目标上有什么本质区别?
答题分析:
考察频率:★★★★★
考察点:考察主流预训练范式差异
答题思路:架构区别:GPT用掩码解码器结构(单向),BERT用编码器结构(双向)。
预训练目标:GPT做自回归语言建模(预测下一个词),BERT做掩码语言建模(完形填
空)。适用场景导致了现在的LLM分化。
避坑点:不要只背架构图,重点点出自回归目标赋予了GPT强大的生成能力,而BERT更
适合理解任务。
参考回答:
在平时跟进大模型演进路线时,我发现GPT和BERT代表了两种截然不同的预训练
哲学。
从网络架构上看,BERT采用的是纯Encoder结构,它的注意力机制是双向全开放
的,当前词可以毫无保留地看到左边和右边的所有上下文信息。而GPT系列走的是
纯Decoder路线,它在计算自注意力时加入了一个掩码矩阵,强制当前词只能看到
前面的历史信息,严格屏蔽掉未来的内容。
这种架构差异直接决定了它们预训练任务的不同。BERT做的是掩码语言模型,类
似做完形填空,随机遮住几个词让它结合双向语境猜出来,这就让它在做文本分
类、命名实体识别等自然语言理解任务时表现非常出挑。
而GPT采用的是自回归语言建模,它的目标永远是根据已有的前文去预测下一个
词。虽然在局部理解上早期可能不如BERT,但这种单向生成机制天然契合人类说
话的逻辑,这也为它后来展现出惊人的零样本生成和交互对话能力埋下了伏笔。
Q24:介绍一下LoRA(Low-RankAdaptation)微调技术的数学原理,为什么
它能大幅度降低显存占用?
答题分析:
考察频率:★★★★★
考察点:考察大模型参数高效微调技术
答题思路:原理:模型参数更新矩阵具有低秩特性,用两个小矩阵相乘(降维A和升维
B)近似大权重矩阵的更新。显存优势:冻结原始大模型权重,只保存和更新极小参数量
的小矩阵的梯度和优化器状态。
避坑点:一定要说明显存大头(优化器状态和激活值)因为冻结了原权重而省下来了,不
仅是参数量小的问题。
参考回答:
在资源有限的实验室里微调大模型,LoRA是我最常用的降本增效利器。它的数学
灵感来源于一个假设:虽然大模型的权重矩阵非常庞大,但当我们在特定下游任务
上微调时,这些权重发生的更新量,其实是具有低维本质属性的。
基于这个低秩假设,LoRA在微调时并没有去直接改动原来那个几千乘几千的庞大
权重矩阵,而是选择把它彻底冻结。取而代之的是,它在旁边挂载了两个维度极小
的矩阵,一个负责降维,一个负责升维,用这两个小矩阵相乘的结果去近似替代原
本巨大的更新增量。
它之所以能省下恐怖的显存,不仅是因为需要更新的参数量本身直线下降到了原来
的千分之几。更本质的原因在于,因为我们冻结了原始主干网络,训练时就不需要
再去为几十上百亿的参数维护庞大梯度的历史状态,也完全省掉了Adam这类优化
器里沉重的动量缓存。这直接把显存压力打到了消费级显卡也能承受的范围内,落
地性价比极高。
Q25:PromptEngineering中常用的Zero-shot、Few-shot和Chainof
Thought(CoT)分别是如何激发大模型涌现能力的?
答题分析:
考察频率:★★★★★
考察点:考察AI应用层核心技术手段
答题思路:Zero-shot靠庞大预训练知识泛化;Few-shot通过提供几个样例规范输出格式
和分布(In-contextlearning);CoT通过显式展开中间逻辑推导步骤,缓解多步推理中的
错误累积。
避坑点:避免将其混淆为“模型参数更新”,要强调这是在“推理阶段”的上下文学习。
参考回答:
我们在做大模型应用落地时,这三种提示词策略是层层递进、用来压榨模型智商的
常用手段。在这个过程中,模型的底层参数并没有被修改,全是靠推理阶段的上下
文触发。
Zero-shot零样本提示是最基础的,直接甩给模型一个从未见过的任务。它能生效,
纯粹是靠模型在海量预训练阶段见识过足够多的类似语料,凭借强大的内在知识泛
化能力进行推断。
但如果任务格式比较特殊,Zero-shot就容易抓瞎。这时候我们会用Few-shot少样
本提示,在问题前面补充两三个标准的问答例子。这其实是利用了模型的上下文学
习机制,让它在不更新权重的情况下,瞬间模仿并适应我们期望的输出分布和格
式。
当遇到复杂的数学计算或逻辑推理时,直接要答案模型往往会胡说八道。这时引入
CoT思维链就非常关键了。我们在提示词里或者样例中,强迫模型把中间的思考逻
辑一步一步写出来。这种显式展开推理过程的做法,能有效缓解多步推理时的误差
累积,激发它更深层的逻辑涌现。
Q26:什么是RLHF(基于人类反馈的强化学习)?请描述其训练流程中的三个
核心阶段。
答题分析:
考察频率:★★★★★
考察点:考察大模型对齐与偏好学习机制
答题思路:解释RLHF是解决大模型“价值观对齐”的手段。分三个阶段描述:SFT有监督
微调、训练奖励模型(RM)、PPO强化学习优化。
避坑点:避免照本宣科,要点出核心难点在于如何让“冷冰冰的概率分布”去贴合“人类的主
观偏好”。
参考回答:
关于RLHF,也就是基于人类反馈的强化学习,我理解它主要是为了解决大模型“说
真话、懂规矩”的对齐问题。纯靠预训练出来的模型只是个无情的文字接龙机器,可
能会输出有害或有偏见的内容。RLHF就是引入人类的价值观来给它当裁判。
它的训练流程一般跑三个核心阶段。起手阶段我会先准备一批高质量的人工编写问
答数据,对基础大模型做一次有监督微调,也就是SFT,让模型初步掌握真实对话
的格式和基本逻辑。
接下来我会让微调好的模型针对同一个提示词生成多个不同的回答,然后请人工标
注员按照相关性、安全性和有用性对这些回答进行打分排序。拿这份排序数据去单
独训练一个专门的奖励模型,让它学会模仿人类的审美偏好来打分。
到了强化学习阶段,通常是引入PPO算法来进一步优化语言模型。语言模型每生成
一个回答,奖励模型就给个分数反馈。在这个分数的引导下,语言模型就能不断调
整自身生成的策略,最终输出越来越符合人类期望的高质量回答。
Q27:RAG(检索增强生成)技术的核心Pipeline是什么?它主要解决了大模
型落地的哪些痛点?
答题分析:
考察频率:★★★★★
考察点:考察热门AI业务应用架构
答题思路:说明RAG解决的痛点(知识滞后、幻觉、私有数据隔离)。梳理核心流水
线:文档分块、向量化入库、查询检索、拼接提示词生成。
避坑点:只讲流程不讲痛点;漏掉向量数据库和Embedding模型这两个核心基础设施。
参考回答:
平时我们在做业务应用落地时,RAG技术几乎是个标准配置。它的核心作用是给大
模型外挂一个事实知识库,不仅能解决模型由于训练数据滞后带来的知识过期问
题,还能有效抑制模型不懂装懂的“幻觉”毛病,让输出的每一个结论都有据可查,
保障了私有数据的安全性。
构建一个标准的RAG系统,通常要跑通一套包含数据处理、检索和生成的流水线。
我一般会先把企业内部的私有文档拆分成长度合适的文本块,再用专门的
Embedding模型把它们转化成多维特征向量,存进向量数据库里,这是前期的知识
入库环节。
当用户发起提问时,系统会用同一个Embedding模型把问题也转成向量,直接去数
据库里做相似度检索,召回最匹配的前几段文本。
拿到这些相关的外挂知识后,我会把它们和用户原来的问题一起拼接到提示词模板
里,打包喂给大语言模型。这样模型就能基于我们喂给它的权威背景材料进行阅读
理解和归纳,生成的质量和业务可靠性都会出现质的飞跃。
Q28:在构建RAG系统时,如果检索出的Chunk质量不高或不相关,你会从哪
些维度去优化检索召回模块?
答题分析:
考察频率:★★★★
考察点:考察RAG系统工程调优思路
答题思路:从切块策略(动态分块、语义边界)、召回策略(BM25+向量双路召回)、
精排策略(引入Reranker重排模型)三个维度系统阐述。
避坑点:只盯着Embedding模型看,忽略了基础文本切分和精排阶段的工程价值。
参考回答:
如果在搭建RAG系统时发现召回的文本块质量很差,我会从文档处理、召回混合策
略和精排阶段这三个具体维度去排查优化。
问题往往出在最基础的数据切分环节。按固定字数切块很容易把完整的语意硬生生
截断。我会尝试根据段落、标点或者语义意图边界进行更精细的动态分块,并且在
切块之间保留一定的上下文重叠度,防止信息断层。
在召回策略层面,单靠向量检索有时找不准行业的专有名词。我通常会引入混合检
索机制,也就是把传统的BM25关键词检索和稠密向量检索结合起来,通过双路召
回取长补短,这样既能保证语义层面的相似,又能死死咬准特定的业务术语。
拿到初步召回的结果后,如果直接丢给大模型依然会有很多噪音干扰。这时候在中
间加一个重排模块也就是Reranker就非常关键。我会用一个专门的重排小模型对召
回的几条或者十几条文本做一次深度的交叉注意力计算,重新给它们打分排序,只
把最核心的高质量段落喂给最后的大模型。
Q29:大模型常见的词表构建算法有哪些?请对比BPE算法和WordPiece算法
的差异。
答题分析:
考察频率:★★
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 服务合同补充条款确认函6篇范本
- 2026全球储能技术发展动态及市场投资机会预测报告
- 2026中国半导体产业链布局与投资价值深度分析报告
- 智能运维体系建立故障预警系统指南
- 2026中国光伏焊带材料市场技术演进分析及竞争格局预判与投资决策研究报告
- 2026中国卫星导航定位服务商业化与高精度应用场景拓展研究报告
- 2026中国多动症神经调控设备医保支付可行性研究
- 2026中国医疗废物处理技术革新与区域特许经营模式研究报告
- 2026中国智能执行器配套设备制造行业市场现状供需分析及投资评估规划分析研究报告
- 涉及某电商平台促销活动期间广告位竞价标准协商函(3篇)
- 数学-T8联考2027届高三年级10月检测训练
- 中国联通新苗计划2027届校园招聘笔试参考题库及答案解析
- 2026中国碳纤维材料市场现状及未来发展预测报告
- 事业单位财会岗招聘笔试历年真题试卷及答案
- 2026-2027学年语文六年级上册第一次月考试卷(1-2单元)(含解析答案)
- 羽毛球二级裁判考试原题及答案
- 部编版语文二年级上册 全册测试卷(含答案)
- 2026年国企宣传岗招聘笔试真题题库(含标准答案+详细解析)
- 2026 年失禁性皮炎分级预防与护理干预对策
- 施工安全专项安全风险评估方法
- 小学六年级信息科技开关量真与假知识清单
评论
0/150
提交评论