Everyday AI Q&A
AI 问答室
收留那些真实、具体、暂时还不足以写成长笔记的问题。每一次追问都保留原问题、简短结论和完整解释。
已经整理的问题
os.getenv()为什么能传两个参数,get不是只取一个值吗?
A. 第一个参数说明要查哪个环境变量,第二个参数提供查不到时的默认值;函数接收两个参数,但最终只返回一个结果。
AdaGrad如何根据梯度平方和自动调整学习率?
A. 区分基础学习率与每个参数的有效学习率,并解释AdaGrad为什么越训练越慢。
梯度平方丢失方向后,Adam怎样同时决定方向和步长?
A. Adam用m保存带符号的梯度平均,用v保存梯度平方平均,两份状态各司其职。
Adam与AdamW有什么区别,为什么要解耦权重衰减?
A. 两者的Adam更新相同,真正区别在于weight decay是否先混入梯度和自适应状态。
Adam、AdamW与StepLR有什么区别,都是自动调整学习率吗?
A. 优化器决定怎样利用梯度更新参数,StepLR则按训练轮数修改优化器的基础学习率。
AdamW会创建自己的w和b吗,m、v与模型参数是什么关系?
A. 模型只有原来的可训练参数,AdamW额外保存的是每个参数的优化历史状态。
把λw加进梯度是什么意思,λ和w分别是什么?
A. 从L2正则项的求导看懂λw的来源,并区分耦合L2与AdamW权重衰减。
从SGD到AdamW,各种优化器分别解决了什么问题?
A. 用一条演进路线理解Momentum、AdaGrad、RMSProp、Adam和AdamW分别新增了什么。
文档已经是字典,为什么还要写row = dict(doc)?
A. dict(doc)创建新的外层字典,避免附加向量时直接修改DOCS中的原始文档。
zip()怎样组合数据,zip(*data)中的*又做了什么?
A. 先理解zip按位置配对,再理解星号把外层序列拆成多个位置参数。
RMSProp怎样改进AdaGrad,近期梯度权重更大是什么意思?
A. RMSProp用梯度平方的指数加权平均控制步长,让旧信息逐渐衰减。
反向传播做了什么,参数究竟在哪里更新?
A. 反向传播负责计算梯度,优化器才真正修改参数;从一次训练迭代看清二者的分工。
模型蒸馏中的教师模型、学生模型和软标签是什么?
A. 学生模型同时学习真实标签和教师模型的概率分布,以较小体积保留更多类别关系信息。
LSTM的细胞状态和遗忘门、输入门、输出门分别做什么?
A. LSTM通过细胞状态保存长期信息,并用三个门控制旧信息保留、新信息写入和当前信息输出。
Precision、Recall和F1分别怎么计算?
A. Precision关注预测为正的结果有多准,Recall关注真实正类找回多少,F1综合二者。
RNN的输入、隐藏状态、输出形状和主要缺陷是什么?
A. 沿时间步追踪x、h、output和hn,理解共享参数、序列输出以及长期依赖问题。
怎样完整介绍Transformer、QKV和Encoder/Decoder?
A. 从token形状开始,串起自注意力、多头注意力、FFN、残差连接以及Encoder与Decoder。
怎样根据训练集和验证集判断欠拟合与过拟合?
A. 训练和验证都差通常是欠拟合;训练很好但验证明显变差通常是过拟合。
梯度消失和梯度爆炸为什么发生,怎样处理?
A. 二者都与反向传播的链式连乘有关:连续缩小会消失,连续放大会爆炸。
