DL基准模型训练伪代码

minGPT author: karpathy Andrej ✅ 解决问题 生成式文本任务,比如写文章、对话、续写句子。目标是给定前文,预测下一个词。 🛠️ 具体措施 输入一句话,例如:"我 爱 自然" → 转成数字编号 [23, 45, 67]。 构造训练样本: 输入 X = [X1, X2, X3, Y1, Y2] 标签 Y = [-1, -1, Y1, Y2, Y3](-1表示忽略不计算损失) 模型结构: 首层:词嵌入 + 位置编码 骨干:多层的 单向自注意力(只能看前面的词) + 前馈网络 尾层:分类头输出每个位置的词概率分布 训练时一次性并行预测多个词(只看前面上下文) 推理时串行生成:每生成一个词,就加到输入里继续生成下一个。 💥 损失函数 就像做 完形填空: 给前面几个字,猜后面是什么字。 猜错一个字就扣分,扣分规则是 交叉熵(预测概率分布和真实答案差多远)。 -1的位置不扣分(相当于没让你填)。 💼 工作流程 1String: ['X1', 'X2', ..., 'Xn'] =[dictionary]=> [k1, k2, ..., kn] # word2index 2 3# Train: 4X = [X1, X2, X3, Y1, Y2], Y = [-1, -1, Y1, Y2, Y3] 5Model = {(WordEmbed+PosEmbed) => (CausalSelfAttention+FFN)xN => (ClassHead)} 6# attn = A B C 7# A √ × × uni-directional 8# B √ √ × 9# C √ √ √ 10 11Z = Model(X) => [Z1, Z2, Z3, Z4, Z5] 12Y = [-1, -1, Y1, Y2, Y3] 13# Equal to Parallel Train 14(X1,X2,X3) =predict=> Y1 15(X1,X2,X3,Y1) =predict=> Y2 16(X1,X2,X3,Y1,Y2) =predict=> Y3 17 18loss = crossentropy(Z, Y, ignore=-1) # Zi => {P1,...,Pclass} multi-class task 19 20# Test: Serial generation 21give inp = [X1, X2, X3] 22Step 1: 23 Z = Model(inp) = [Z1,Z2,Z3] 24 Y = [-1,-1,Y1] 25 inp = inp + Y[-1] = [Z1,Z2,Z3,Y1] 26Step 2: 27 Z = Model(inp) = [Z1,Z2,Z3,Z4] 28 Y = [-1,-1,-1,Y2] 29 inp = inp + Y[-1] = [Z1,Z2,Z3,Y1,Y2] 30Step 3: 31 Z = Model(inp) = [Z1,Z2,Z3,Z4,Z5] 32 Y = [-1,-1,-1,-1,Y3] 33 inp = inp + Y[-1] = [Z1,Z2,Z3,Y1,Y2,Y3] 34 35out: [Z1,Z2,Z3,Y1,Y2,Y3] minBert ✅ 解决问题 理解类任务:比如问答、文本分类、句子关系判断(如是否上下句)、填补缺失词。 ...

October 31, 2024 · 4 min · 738 words · LongWei

深度学习论文汇总1

图示 卷积注意力 自注意力 学习 Norm Loss Cross Entropy $$ Loss = -\sum_{i}^{C}y_ilog(p(x_{i})), where \ y_i\ is label,p(x_i)\ is\ predict. $$ BCE Loss $$ Loss = −\sum_{i}^{c}(y_ilog(p(x_i)+(1−y_i)log(1−p(x_i)) \ where \ y_i \in [0, 1] \ pos_partition = -log(p(x_i))\ neg_partition = -log(1-p(x_i)) $$ Focal Loss $$ Loss = -α_t(1-p_t)^γlog(p_t)\ # Multi-Label:\ 1.\ pos_loss = α(1-p(x_i))^γ\ \ -log(p_t)\ 2.\ neg_loss = (1-α)p(x_i)^γ\ \ -log(1-p_t) $$ 论文 Mlp-mixer - NIPS 2021 title: Mlp-mixer: An all-mlp architecture for vision ...

April 19, 2024 · 12 min · 2517 words · LongWei

深度学习论文汇总2

CAM - CVPR 2015 Learning Deep Features for Discriminative Localization 弱监督对象定位 - 仅提供Image level label 期望:每个单元被其感受野内的某种视觉模式激活。因此 fk (表示空间位置 (x, y) 处最后一个卷积层中单元 k 的激活//输出特征图的一个像素)是该视觉模式存在的地图。类激活图只是这些视觉模式在不同空间位置的存在的加权线性和 计算卷积特征图对于特定输出单元的重要性来实现的 ⭐⭐⭐网络可以保留其卓越的定位能力,直到最后一层 => 深层特征的定位能力 ❗❗❗尽管接受了图像级标签的训练,CNN 仍具有出色的对象定位能力 缺陷:卷积特征图→全局平均池化→softmax层 // 特定网络结构 做法图示 数学公式 在卷积特征图上执行全局平均池化,并将它们用作全连接层的特征,产生所需的输出分类; ❗❗❗将输出层的权重投影回卷积特征图来识别图像区域的重要性 Grad-CAM - ICCV 2017 适用CNN模型 但论文提到在CNN+LSTM的也能定位有区别的图像区域 α 捕获特征图 k 对于目标类 c 的重要性 // 与CAM的分类线性层权重作用一致 ReLU的作用,只对对感兴趣的类别有积极影响的特征感兴趣。负像素可能属于图像中的其他类别 上述操作 => 具有类别区分性并且可以很好地定位相关图像区域 - 最后特征图比较小! 但缺乏显示细粒度重要性的能力 (能区分猫狗,但对为什么识别为猫,不够精确) 通过点乘法融合 引导反向传播 和 Grad-CAM => 可视化 ...

April 19, 2024 · 22 min · 4530 words · LongWei