- 博客(673)
- 收藏
- 关注
原创 谷歌学术-->下次换edge外的浏览器查询
为啥edge各个版本使用谷歌学术查询文献总是会崩溃啊。edge本身优化原因?还是电脑内部软件冲突原因?下次还是用别的浏览器打开谷歌学术吧,我的电脑可经受不起“edge谷歌学术查一次卡几分钟”的事。
2025-04-02 10:41:16
78
原创 NSF青年基金
论文为骨,内容为肉,格式为皮——成功申请青年基金项目的5个要点分享 - 国家自然科学基金项目申请经验分享互动 - LetPub专业SCI论文编辑。2024年青年基金评审感受(信息口):要求A+B不超过30% - 国家自然科学基金项目申请经验分享互动 - LetPub专业SCI论文编辑。双非教师第一年申请青年基金经验分享--干货满满 - 国家自然科学基金项目申请经验分享互动 - LetPub专业SCI论文编辑。计算机基金申请书经验,国家自然基金申请经验分享-优快云博客。
2025-04-01 17:06:07
261
原创 跨模态/跨序列编码器(Cross-Encoder) 的前向传播方法,用于处理两个序列(s1 和 s2)之间的交互,并生成多层的编码结果及注意力图
通过此设计,模型既可输出最终结果,也能提供中间层的可解释性信息。:布尔值,控制是否输出所有层的编码结果和注意力图。:参考序列的隐藏状态(如文档或上下文),形状为。:主序列的隐藏状态(如问题或查询),形状为。:参考序列的注意力掩码,标识有效位置(如。:列表,包含每一层的注意力图,形状为。输入 s1_hidden_states。输入 s2_hidden_states。更新 s1_hidden_states。:列表,包含每一层处理后的。:长度为3,每个元素形状为。:长度为3,每个元素形状为。
2025-04-01 15:24:25
694
原创 GELU Swish激活函数
激活函数,广泛用于Transformer架构(如BERT、GPT)。:相比ReLU,GELU在负值区域有非零梯度,缓解神经元“死亡”问题。通过误差函数实现平滑激活,适合需要精细梯度调节的任务(如文本建模)。:图像分类(如MobileNetV3)、循环神经网络(RNN)。:通过输入值的分布动态决定激活强度,类似“随机正则化”。:自然语言处理(NLP)模型中的前馈网络(FFN)层。激活函数,由Google提出,性能优于ReLU。:负值区域存在一个小幅“下冲”,增强模型表达能力。其中,σ 是Sigmoid函数。
2025-04-01 15:12:35
967
原创 BERT 风格的层归一化(Layer Normalization)
归一化技术(BatchNorm、LayerNorm等)通过稳定特征分布显著加速优化过程,同时BatchNorm因其batch统计量的随机性具备隐式正则化能力。在实际训练中,需根据任务特点(如数据分布、模型结构)选择归一化方法,并与显式正则化(如Dropout、L2)合理搭配,以实现高效优化与泛化性能的最佳平衡。
2025-04-01 14:41:49
966
原创 BERT 多头自注意力机制(Multi-Head Self-Attention) 的前向传播过程
最终输出可用于后续的前馈网络或堆叠到更高层的 Transformer 模块中。:将填充位置的注意力分数设为极小值,使 Softmax 后权重趋近于零。:根据注意力概率对值(V)进行加权求和,得到每个位置的上下文表示。:通过线性变换将输入映射到查询、键、值空间。:分割为多个注意力头,便于并行计算。:防止点积结果过大导致梯度不稳定。:计算每个位置查询与键的相似度。:输入序列的隐藏状态,形状为。:将注意力分数转换为概率分布。:增强模型鲁棒性,防止过拟合。:注意力掩码,标识填充位置(应用 Dropout。
2025-04-01 14:07:23
783
原创 BERT的Transformer架构中编码器模块的前向传播方法
确保自注意力机制忽略填充token,仅在有效token间计算注意力权重。:用于需要多层次特征的任务(如特征可视化、分层微调)。:存储每一层(或仅最后一层)的输出隐藏状态。:注意力掩码,标识有效token位置(如。:减少内存占用,适用于常规分类或回归任务。:布尔值,控制是否输出所有层的隐藏状态。:若不需要所有层的输出,仅将最后一层的。,列表包含所有层的隐藏状态,形状为。,列表仅含最后一层的输出,形状为。:列表长度为12,每个元素形状为。:列表长度为1,唯一元素形状为。:输入的嵌入表示,形状为。
2025-04-01 13:24:01
642
原创 get_attention_label函数
• 在 Faster R-CNN 或 Mask R-CNN 等模型中,ROIs 是候选区域,需筛选出与真实目标匹配的区域。,目的是为每个 ROI 分配一个权重,表示其与真实目标的相关性。该权重可用于训练注意力机制或优化检测模型的区域选择策略。• 在视觉问答(VQA)或图像描述生成中,使用该权重指导模型关注与问题或描述相关的区域。,表示每个 ROI 的注意力权重(值越大,表示该 ROI 与真实目标越相关)。• 通过注意力权重,模型可学习优先处理高 IoU 的 ROI,提升检测精度。个真实目标框的坐标。
2025-04-01 10:46:47
669
原创 将边界框(Bounding Box)的坐标和尺寸转换为归一化的空间特征
通过归一化坐标和面积,模型可以更关注物体之间的相对位置和大小。• 将边界框的绝对坐标转换为相对于图像尺寸的比例(范围。的零数组,用于存储每个边界框的5个归一化特征。:常与其他特征(如视觉特征)拼接,提升模型性能。),并除以图像总面积,得到面积占比(范围。:无论输入图像尺寸如何,特征始终在。是边界框数量,每个边界框包含。: 输入边界框数组,形状为。• 计算边界框的面积(宽度。范围内,适合神经网络处理。),使特征与图像尺寸无关。(左上角和右下角坐标)。
2025-03-31 17:35:41
252
原创 优化器step方法
将权重衰减(L2正则化)直接加入更新量,而非损失函数,避免与Adam动量相互作用。,则调用它重新评估模型并计算损失(通常包含前向传播、损失计算和反向传播)。:专为BERT类模型设计,适应其训练需求(如动态学习率调整)。,使用调度函数(如线性预热)调整学习率;:若梯度是稀疏张量,抛出错误(Adam不支持稀疏梯度)。将学习率与更新量相乘,并从参数中减去,完成参数更新。记录参数更新次数,用于学习率调度和动量计算。:总步数和预热步数(用于学习率调度)。)及其配置(如学习率、权重衰减等)。),每个组包含待优化参数(
2025-03-31 15:40:36
313
原创 BertAdam
直接加在参数更新量中,而非损失函数(避免干扰动量)。:BERT微调(文本分类、问答、NER)、预训练。:预热后按余弦曲线下降(适合长训练周期)。:预热后线性降至0(BERT训练常用)。: 总训练步数(用于计算学习率进度)。:预热后保持固定(适合小数据集)。: 梯度裁剪阈值(防止梯度爆炸)。函数(余弦/线性/恒定)调整。: 预热步数占总步数比例(如。• 学习率预热提升训练稳定性。• 解耦权重衰减增强泛化能力。): 根据数据集大小计算(如。表示前10%步预热)。
2025-03-31 15:30:48
395
原创 trange
trange是 Python 库tqdm提供的一个实用函数,用于在循环迭代时生成带有的迭代器。它的作用类似于标准的range()函数,但额外提供了可视化的训练进度、剩余时间等信息,非常适用于长时间运行的训练过程。
2025-03-31 14:41:23
254
原创 不需要应用权重衰减(Weight Decay)的参数
然而,某些参数(如偏置项、归一化层的参数)通常不需要应用权重衰减,因为它们对模型的正则化效果贡献较小,甚至可能损害训练稳定性。这种设计是深度学习模型训练的常见最佳实践,尤其适用于Transformer架构的模型(如BERT),能够提升训练稳定性与最终性能。(偏移参数)本质上是学习数据分布的均值和方差,对其进行正则化会破坏归一化的统计特性,可能导致训练不稳定。需要标识出模型中不需要应用权重衰减的参数(偏置项、归一化层参数),在优化器设置中为其分配。文本分类、机器翻译、预训练模型微调(如BERT微调)。
2025-03-31 14:24:24
501
原创 模型权重初始化
• 模型微调(Fine-tuning):在预训练模型基础上新增自定义层(如分类头、适配器),仅需初始化新增部分。• 遵循层归一化的标准初始化方式,确保归一化后的数据均值为0、方差为1,不破坏预训练模型的分布特性。• 确保即使某些线性层的偏置在之前的初始化中未被处理(如未在第一个条件中覆盖),也能单独初始化。例如,在 RoBERTa 后添加新的分类层或跨模态交互模块,这些新增部分需要合理初始化。• 防止覆盖预训练模型的权重,保留其已有的语言理解能力。)的特定层,避免覆盖预训练模型的权重。,避免引入初始偏移。
2025-03-31 14:09:41
760
原创 激活函数选择
(Rectified Linear Unit)对负值输出零,正值保持线性,可稀疏激活神经元,减少计算量。区间,使句子级表示(CLS Token)的数值范围稳定,适合后续任务(如相似度计算、分类)。将输出映射为概率分布,满足分类任务中“所有类别概率和为1”的约束。• Transformer 的前馈网络(FFN)中间层(如。的梯度在接近零点时较大,有助于反向传播时梯度流动。正区间的梯度恒为1,避免深层网络中的梯度消失问题。全连接层(如分类头的前置层)、卷积网络中间层。• 更平滑的非线性,适应复杂数据分布。
2025-03-31 14:05:16
935
原创 Pooler类
通过这一池化层,BERT 能够将变长序列编码为定长向量,为下游任务提供统一的输入接口。:将 BERT 输出的序列级表示(所有 token)转换为固定维度的句子级表示。:作为 BERT 模型的末端组件,输出可直接用于分类、相似度计算等任务。作为聚合序列信息的特殊 token,池化后结果通常包含全局语义。,表示 BERT 输出的所有 token 的隐藏状态。:Tanh 进一步非线性化,生成最终的句子表示。的池化结果,用于下游任务(如分类)。层调整特征分布,增强模型表达能力。:全连接层,输入和输出维度均为。
2025-03-31 13:53:00
153
原创 nn.KLDivLoss
是衡量两个概率分布差异的核心工具,适用于需要明确匹配分布形状的任务(如知识蒸馏)。使用时需严格处理输入()和目标(概率分布)。
2025-03-31 13:50:08
936
原创 自定义RoBERTa模型结构
该模型通过多层Transformer堆叠,结合自注意力和前馈网络,有效建模文本的上下文依赖,是自然语言处理任务的核心基础架构。• 此处维度为1,表示RoBERTa默认不使用段落类型(与BERT不同,移除了NSP任务)。:通过线性变换将输入拆分为查询(Query)、键(Key)、值(Value)。:GELU(高斯误差线性单元),比ReLU更平滑,适合自然语言任务。:将768维向量拆分为12个头(每个头64维),并行计算注意力。:将768维输入映射到3072维(扩展4倍)。:随机屏蔽部分神经元,防止过拟合。
2025-03-31 13:39:30
527
原创 CoAtt 类
该模块广泛应用于需要跨序列对齐或信息融合的场景(如问答、图文匹配),是构建复杂交互模型的基础组件。:实现跨序列的交叉注意力机制(Cross-Attention),用于计算序列1(:问答系统、文本对齐、跨模态任务(如文本-图像匹配)等需要双序列交互的场景。实现了一个跨序列的多头注意力机制,专为双序列交互任务设计。)的多头注意力,并返回注意力加权后的上下文表示及注意力图。:参考序列的隐藏状态(如文档或图像特征),形状为。:问题的聚合表示(如CLS token),形状。:主序列的隐藏状态(如问题向量),形状为。
2025-03-31 13:16:22
517
原创 AttnMap类
实现一个多层的跨注意力编码器,用于处理两个序列之间的交互(如文本-文本、文本-图像对齐),并返回每一层的隐藏状态和注意力图。:问答系统、文本匹配、跨模态检索等需要双序列交互的任务。:主序列的隐藏状态(如问题或查询),形状为。:是否输出所有层的中间结果(默认True)。:模型配置(隐藏层维度、注意力头数等)。:参考序列的注意力掩码,标识有效内容(如。:保存每一层的输出和注意力图。:堆叠多个独立的跨注意力层(:各层的交叉注意力图列表。:跨注意力层的堆叠数量。:仅保存最后一层的结果。:增强非线性表达能力。
2025-03-31 11:01:34
498
原创 BertLayerNorm类
实现了一个自定义的层归一化模块,模仿TensorFlow的风格,通过沿特征维度计算均值与方差,对输入进行归一化,并通过可学习的参数调整输出分布。:TensorFlow风格的实现对微小方差的输入更稳定,但两种实现在大多数情况下差异可忽略。:用于每个Transformer层后的特征归一化(与自注意力层、全连接层配合使用)。:对每个样本的所有特征独立归一化,使模型对特征尺度的变化不敏感。:通过可学习的参数调整归一化后的分布,增强模型表达能力。的位置,这种设计对极端小方差的输入具有更好的鲁棒性。
2025-03-30 16:48:12
255
原创 BERT自注意力机制中`forward`方法
防止点积结果过大导致Softmax梯度消失(数学上,点积方差随维度增长,需通过缩放稳定训练)。:将输入映射到查询(Query)、键(Key)、值(Value)空间。• 来源:上一层的输出(如嵌入层或其他Transformer层)。:对注意力概率随机置零(丢弃某些位置的注意力连接),防止过拟合。:将线性变换后的结果按注意力头拆分,使每个头独立计算注意力。:聚合了所有位置的注意力信息,传递给后续的全连接层。• 点积结果表示每个位置对其他位置的注意力强度。• 作用:标识需要忽略的填充位置(如值为。
2025-03-30 16:30:37
905
原创 self.dropout: Dropout(p=0.1, inplace=False)
PyTorch设计上优先考虑安全性,避免因数据覆盖导致的梯度计算错误。适用于确定后续不会用到原始数据的场景,如某些中间层的高效内存管理。:写法上可能存在混淆。:在训练阶段随机将输入张量的部分元素置零(概率由。:减少神经元间的依赖性,增强模型泛化能力。:每个元素在训练时被置零的概率为10%。,节省内存但风险高(可能破坏原始数据)。(默认):生成新张量,保留原始输入,:除非内存紧张且确认安全,否则保持。(非精确示例,实际按概率随机)。:控制是否原地修改输入张量。决定),防止模型过拟合。:直接修改输入数据,
2025-03-30 16:24:34
276
原创 AutoConfig
开发者可以灵活加载预训练模型的配置,确保模型结构与训练时一致,同时也支持自定义修改以适配特定任务需求。这是使用 Hugging Face Transformers 库进行模型训练和迁移学习的核心步骤之一。:根据模型名称或路径自动识别模型类型(如 BERT、RoBERTa),并返回对应的配置类(如。:无需手动指定模型类型,代码更通用,适配所有支持的预训练模型。:确保网络畅通,或使用离线模式(需提前下载配置)。:从预训练模型名称或本地路径加载配置。:确认路径存在且包含。
2025-03-30 14:28:06
234
原创 num_roi_boxes、img_feat_dim参数设计工程考量
预训练的目标检测模型(如 Faster R-CNN)通常输出固定数量的 ROI 区域(如 50-200 个),此处设为 100 是工程经验值。部分模型会对高维特征降维(如 2048 → 1024),但此处保留原始维度可能为兼容多模型。• 若使用不同视觉骨干(如 EfficientNet、ViT),需调整此值以匹配特征维度。:图像 ROI 特征的维度,直接关联预训练视觉模型的输出层设计。:768(Base 模型)或 1024(Large 模型)。◦ 数值过大 → 特征矩阵维度增加,内存占用升高(如。
2025-03-30 13:29:42
375
原创 多任务学习或联合任务场景下的数据集配置
该设计支持灵活的多任务处理,通过分离标签列表实现不同任务的独立配置,适用于需要同时处理多种标注信息的复杂NLP场景。:可能同时进行关系检测和情感分析(如电商评论分析:识别产品特征关系+情感极性)• ‘0’ → 负面情感 (Negative)• ‘2’ → 正面情感 (Positive):实体间关系存在性检测(如知识图谱关系分类)• ‘1’ → 中性情感 (Neutral)• ‘1’ → 存在关系/正样本。:在__getitem__中通过。• ‘0’ → 无关系/负样本。:二分类关系判断任务。
2025-03-30 13:15:29
174
原创 RobertaTokenizer的配置
通过特殊标记的设置和参数优化,它能够将原始文本转换为适合 RoBERTa 模型处理的输入格式,支持文本分类、序列标注、问答等多种任务。正确使用分词器是确保模型性能的关键步骤。)必须与 RoBERTa 模型预训练时的配置一致,否则会导致性能下降。• RoBERTa 使用动态掩码(训练时随机掩码),但分词器的。表示在右侧填充或截断,适用于大多数从左到右处理的任务。可能导致处理速度较慢。:保留前 510 token,添加。标记仅用于推理或微调任务。• 分词器的特殊标记(如。,总长度为 512。
2025-03-30 13:12:54
307
原创 Ubuntu 20.04 快捷键整理、如何关闭多余桌面
linux - Ubuntu 20.04 快捷键整理 - 码流 - SegmentFault 思否。
2025-03-30 12:44:42
300
原创 RoBERTa(Robustly Optimized BERT Approach)模型
是由 Facebook AI 在 2019 年提出的自然语言处理模型,它是对 Google 的 BERT 模型的改进和优化版本。RoBERTa 通过更高效的训练策略、更大规模的数据和动态掩码机制,显著提升了 BERT 的性能。• 复制原始数据 10 次,每次对同一文本应用不同掩码(共训练 40 epoch,每个文本被处理 4 次)。:支持更长的文本块(实际仍为 512,但通过动态掩码增加多样性)。• 实验表明,在相同步数下,大批次训练的模型效果更好。,输入连续的文本块(无需拼接两个句子)。
2025-03-30 10:12:47
837
原创 RobertaTokenizer
RoBERTa分词器(Tokenizer)是专为RoBERTa模型设计的文本处理工具,基于**字节对编码(Byte-Pair Encoding, BPE)**算法。用于文本分类、问答、生成等自然语言处理(NLP)任务,需与RoBERTa模型配合使用。• 处理特殊标记:自动添加模型所需的标记(如。
2025-03-30 10:07:31
300
原创 贝叶斯学习、贝叶斯分类与贝叶斯推断
贝叶斯方法的核心是贝叶斯定理,用于通过先验知识和观测数据更新对事件的概率估计:P(A∣B)=P(B∣A)P(A)P(B)P(A|B) = \frac{P(B|A) P(A)}{P(B)}P(A∣B)=P(B)P(B∣A)P(A)• P(A∣B)P(A|B)P(A∣B):后验概率(在观测到B后,A的条件概率)。• P(B∣A)P(B|A)P(B∣A):似然函数(在A发生下B的概率)。• P(A)P(A)P(A):先验概率(未观测数据前的初始假设)。• P(B)P(B)P(B):证据(数据B的边际概
2025-03-28 22:58:07
428
原创 Visual Grounding(视觉定位)
Visual Grounding通过深度融合视觉与语言信息,实现精准的跨模态关联,其技术核心在于多模态表征学习与复杂语义理解。尽管面临数据、歧义性等挑战,随着预训练模型和弱监督方法的发展,其在智能交互、医疗影像等领域的应用前景广阔。
2025-03-28 15:14:29
408
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人