BERT详解 - 双向编码器表示模型精读
BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding 引言 BERT (Bidirectional Encoder Representations from Transformers) 是Google在2018年提出的革命性自然语言处理模型,它通过在无标注文本上进行预训练,学习深层的双向语言表示,在下游任务上取得了突破性的成果。 BERT的核心创新在于双向上下文编码,与之前的ELMo(浅层双向)和GPT(单向)不同,BERT使用Transformer编码器同时利用上下文信息,彻底改变了NLP领域的预训练范式。 背景知识 预训练语言模型的发展 在BERT之前,主流的预训练方法存在以下局限性: 单向语言模型(如GPT):只能从左到右或从右到左进行编码,无法同时利用双向上下文 浅层双向模型(如ELMo):虽然考虑了双向信息,但只是简单拼接左右向表示,而非深度双向,网络架构比较老,使用的RNN 为什么需要双向编码? 语言的理解往往需要同时考虑前后文信息。例如: “银行”...
MambaOut
MambaOut MambaOut: Do We Really Need Mamba for Vision? (CVPR...
图神经网络
图神经网络(GNN)全面指:从基础到高级应用 引言 在数据爆炸的时代,传统深度学习模型如CNN和RNN在处理结构化数据(如图像和序列)上取得了巨大成功,但现实世界中的许多数据都具有图结构(Graph Structure),例如社交网络、分子结构、知识图谱、交通网络等。这些数据是非欧几里德的(Non-Euclidean),节点之间存在复杂的拓扑关系,无法直接用网格或序列表示。这就是图神经网络(Graph Neural Networks, GNN)登场的原因。 GNN 通过模拟节点间的消息传递机制,捕捉图的局部和全局结构,实现对图数据的表示学习。它已在推荐系统、药物发现、蛋白质折叠预测等领域大放异彩。本文将从基础概念入手,逐步深入GNN的核心原理、经典模型、实现技巧和实际应用,帮助你全面掌握这一技术。无论你是初学者还是有经验的从业者,这篇指南都能提供实用价值。 图数据基础 图的定义与表示 图 $ G = (V, E) $ 由节点集 $ V $(Vertices)和边集 $ E...
手撕 Vision Transformer
手撕 Vision...
MoE
Mixtures of Experts 《Adaptive Mixture of Local Experts》 论文链接:https://www.cs.toronto.edu/~hinton/absps/jjnh91.pdf 1991年,由 Hinton和 Jordan提出,这是最早的MoE架构。 核心思想:通过多个独立专家网络处理输入数据不同子集,并由门控网络动态选择专家。每个专家接受相同的输入数据,但通过门控网络的动态分配,专家会专注于处理输入空间的特定区域。 基础架构 如图,一个由专家网络和门控网络组成的系统。每个专家是一个前馈网络,所有专家接收相同的输入,并具有相同数量的输出。门控网络也是一个前馈网络,通常接收与专家网络相同的输入。它的输出是归一化的 $ p_j = \exp(r_j) / \sum_i \exp(r_i) $,其中 $ r_j $是门控网络输出单元 $j$ 接收的总加权输入。选择器(selector)类似于一个多输入单输出的随机开关;开关选择来自专家 $ j $ 的输出的概率为 $p_j$...
MoCo
MoCo Momentum Contrast for Unsupervised Visual Representation Learning (cvpr2020) 论文地址:https://arxiv.org/pdf/1911.05722 代码地址:https://github.com/facebookresearch/moco 概述 MoCo 将对比学习看作是一个字典查找任务 :一个编码后的查询(query)应该与其匹配的键(正样本)相似,而与其他所有的键(负样本)不相似 。 对比学习的核心思想是训练一个编码器,使其能够区分相似(正样本)和不相似(负样本)的样本 。 传统方法 VS MoCo 端到端(End-to-end)方法(SimCLR,Inva Spread):将当前 mini-batch 内的样本作为字典 。这种方法的优点是字典中的键编码是一致的(由同一个编码器生成),但缺点是字典的大小受限于 mini-batch 的大小,而 mini-batch 大小又受限于 GPU 内存 。过大的 mini-batch 也会带来优化难题 。 Memory Bank...
CSRMS
CSRMS 用于视觉表征学习的类级结构化关系建模与平滑 (MM2023) 论文地址:https://ercdm.sdu.edu.cn/__local/7/AC/70/7E4948C4761839F62E3958CE772_043AE854_2B459A.pdf 代码地址:https://github.com/czt117/CSRMS 个人理解这个像是一个知识总结的过程。首先通过特征提取获得特征图,这个过程可以类比我从书本上学习知识的过程,提取出有用的知识,然后通过聚类算法对特征图进行分簇,就相当于把学到的知识进行总结的过程,但是总会有一些比较相近的知识容易被搞混,这个就是类间相似性和类内多样性,再着重对这一块进行处理,使得对知识的掌握更加透彻。 名词解释: 课程构建(Curriculum...
Transformer
Attention Is All You Need 个人理解 transformer 编码器是把人能理解的东西转化成计算机能理解的东西。对比与论文写作的这个过程来说,位置编码就是作者写这篇论文的顺序,反复打磨论文这个过程就对应着这个n个编码器,第一遍的初稿相当于第一个编码器,可能效果不尽人意。把人能理解的东西编码成论文。到读者来说就是解码的过程,每一次读论文就是一次解码的过程,你必须多次解码才能对这个论文理解的更加透彻,还要时刻注意mask操作,写作时要时刻注意读者理解到什么地步,读者的阅读是按顺序进行的。q就是你感兴趣的地方,k就是论文中的关键点。 Transformer 是一种基于注意力机制(Attention...
基于深度学习的图像分类
使用ResNet18预训练模型 由于笔记本性能太差,所以在服务器上运行的,显卡配置为4090。经大量实验判断,初始学习率为0.01最后效果较差,所以初始学习率应设为0.001。全部代码代码已上传到:https://github.com/wp-a/-CIFAR10-.git 库函数导入 123456789import matplotlib.pyplot as pltimport torchimport torch.nn as nnimport torchvisionimport torchvision.transforms as transformsfrom sklearn.metrics import confusion_matrix, classification_reportfrom itertools import chainimport multiprocessingdevice = torch.device("cuda:0" if torch.cuda.is_available() else...
代码随想录--动态规划
代码随想录--动态规划













