深度学习
文章平均质量分 77
transformer_WSZ
You Only Look Once!
展开
-
两种神经网络参数初始化方法
重点介绍一下Xavier和Kaiming初始化:more。原创 2024-06-21 01:59:24 · 347 阅读 · 0 评论 -
模型训练的显存占用分布
训练过程中,显存消耗主要有模型参数、梯度、optimizer状态值和中间激活值。原创 2024-05-05 17:41:26 · 150 阅读 · 0 评论 -
FP16与BF16区别
more二者都是占用16bit空间。模型训练时使用BF16和FP16都可以降低内存使用和传输量,提高训练效率。原创 2024-05-05 17:39:15 · 830 阅读 · 0 评论 -
Gumbel Softmax
Argmax是不可求导的,Gumbel Softmax允许模型能从网络层的离散分布(比如类别分布categorical distribution)中稀疏采样的这个过程变得可微,从而允许反向传播时可以用梯度更新模型参数。more。原创 2024-04-08 01:15:37 · 330 阅读 · 0 评论 -
多标签分类新建模方法
常见的多标签分类方法是同时生成多个标签的logits,然后接一个sigmoid激活函数做二分类。该方法简单直接,但忽略了标签之间的相关性。虽然业界针对该问题提出了很多解决思路,但大多是任务特定,通用性不强,也不够优雅。Transformer decoder倒是可以序列输出多个标签,但却加入了位置偏差。而标签之间是没有位置关系的,谁先谁后无所谓,只要输出全就行。这样也导致数据集不好构造。more。原创 2024-03-18 02:31:23 · 475 阅读 · 0 评论 -
YOLO v1讲解
YOLO是最经典的一阶目标检测框架,记录一下v1思路。more。原创 2024-03-08 02:49:22 · 837 阅读 · 0 评论 -
ViT的若干细节
ViT证明了Transformer架构在CV领域的可行性,以后Transformer将大一统各领域。NLP的成功经验非常有潜力迁移到CV领域,比如scaling law,大数据+大模型的范式将开拓出CV的新一片天地。大数据+大模型真的是既无脑又有效,通过这种方式让Transformer自己去学习到特定领域的归纳偏置。可以说Transformer下限比CNN低,但上限又是CNN无法企及的。原创 2024-03-03 18:54:58 · 855 阅读 · 0 评论 -
CUDA编程模型
参照数学坐标系,grid的规格是43,block的规格是32more对于CUDA编程模型,本质上还是要掌握并行编程思想。每一个矩阵元素运算,都是由一条线程执行。我们要做的就是找到线程坐标位置及其对应的矩阵元素,然后执行计算逻辑。const;if!printf;exit1;编译。原创 2024-02-29 03:27:08 · 402 阅读 · 0 评论 -
FLIP解读
title: FLIP解读toc: trueFLIP由CLIP改进而来,其思想非常简单,通过在图片侧mask掉相当比例的patch(无须重构patch),实现速度和准确性的双重提升。more。原创 2024-02-07 02:14:11 · 460 阅读 · 0 评论 -
LightGCL解读
传统的基于图的对比学习范式容易丢失结构信息,LightGCL通过SVD分解邻接矩阵构造了正样本图,并最大程度保留了原图全局结构信息:原创 2023-03-23 02:28:20 · 108 阅读 · 0 评论 -
graphsage解读
传统的图方法都是直推式(transductive)的,学习到的是结构固定的图模型,一旦有新的节点加入,便需要重新训练整个图网络,泛化性不强。GraphSAGE是归纳式(inductive)的,它学习一种映射:通过采样和聚合邻居节点信息来生成当前节点的表征。GraphSAGE可扩展性更强,对于节点分类和链接预测问题的表现也比较突出。more。原创 2023-02-20 01:54:06 · 384 阅读 · 0 评论 -
DIN解读
传统的Embedding&MLP架构将用户特征编码进一个固定长度的向量。当推出一个商品时,该架构无法捕捉用户丰富的历史行为中的多样性兴趣与该商品的关联。阿里妈妈团队提出了DIN网络进行改进,主要有如下两点创新:more。原创 2023-02-12 17:42:45 · 360 阅读 · 0 评论 -
metapath2vec解读
metapath2vec在用在工业界的召回通路中比较多。元路径P是定义在网络模式TGAR上的A1→RA2→RA3→RAl1表示了从A1到Al1的复杂关系。RR1∘R2∘R3∘Rl,元路径P的长度即为关系R的个数。more。原创 2023-02-12 17:37:55 · 655 阅读 · 0 评论 -
MoCo解读
MoCo方法由何凯明团队提出,是无监督对比学习的代表作。经过MoCo预训练的视觉表征迁移到各种下游任务时,其效果超过了有监督预训练模型。more。原创 2023-02-01 02:27:23 · 448 阅读 · 0 评论 -
VAE总结
这段时间看了VAE的有关知识,但网上关于VAE的讲解较为理论复杂,我这里就记录一下自己的想法了。定义VAE从概率的角度描述隐空间与输入样本,它将样本的隐变量建模为概率分布, 而非像AE一样把隐变量看做是离散的值。AE VS VAE损失函数我们假设隐变量的概率分布为标准正态分布N(0,1)N(0, 1)N(0,1)(这种分布不是必须的,也可以是其它分布)。而描述正态分布需要有两个参数μx,σx\mu_x, \sigma_xμx,σx,在encoder端使用神经网络来拟合这两个参数。在dec原创 2022-01-09 19:59:31 · 2353 阅读 · 0 评论 -
分布式训练
在面试中,遇到有些面试官会问分布式训练的有关问题,在此总结一下。分布式训练的并行方式主要分如下两种:数据并行:将数据集切分放到各计算节点,每个计算节点的计算内容完全一致,并在多个计算节点之间传递模型参数。数据并行可以解决数据集过大无法在单机高效率训练的问题,也是工业生产中最常用的并行方法。模型并行:通常指将模型单个算子计算分治到多个硬件设备上并发计算,以达到计算单个算子计算速度的目的。一般会将单个算子的计算,利用模型并行的方式分配在配置相同的几个硬件上,进行模型存储和计算,以保证计算步调一致。这原创 2021-08-11 01:28:47 · 4725 阅读 · 0 评论 -
LSTM结构
Overview下面详细介绍LSTM的三个门:遗忘门遗忘门决定了上一时刻的单元状态 ct−1c_{t-1}ct−1 有多少保留到当前时刻 ctc_tct 。公式如下:ft=σ(Wf⋅[ht−1,xt]+bf)f_t = \sigma(W_f \cdot [h_{t-1}, x_t] + b_f)ft=σ(Wf⋅[ht−1,xt]+bf)输入门输入门决定了当前时刻网络的输入 xtx_txt 有多少保存到单元状态 ctc_tct 。公式如下:it=σ(Wi⋅[ht−原创 2021-07-22 00:54:15 · 1276 阅读 · 0 评论 -
BERT、RoBerta、XLNet、ALBERT对比
BERTBERT堆叠了多层Transformer的Encoder模块,设计了两个任务来完成预训练:Masked LM:随机mask掉15%的token,其中80%替换为[MASK],10%替换为其它token,10%保留原单词。Next Sentence Prediction(NSP):从训练集中抽取A和B句,50%为A的下一句,50%为其它句子。RoBerta静态Mask VS 动态Mask静态Mask:BERT对每一个序列随机选择15%的tokens替换成[MASK],而一旦被选中,之原创 2021-03-25 22:57:48 · 1696 阅读 · 0 评论 -
BERT面试要点
BERT的模型结构如下图所示:1. 两个预训练任务Task1:Masked Language ModelMLM是指在训练的时候随机从输入语料上mask掉一些单词,然后通过上下文来预测该单词。在BERT的实验中,15%的Token会被随机Mask掉。这其中的80%会直接替换为[Mask],10%的时候将其替换为其它任意单词,10%的时候会保留原始Token。这么做的原因:如果句子中的某个Token100%都会被mask掉,那么在fine-tuning的时候模型就会有一些没有见过的单词。加入随机Tok原创 2021-03-21 22:53:35 · 346 阅读 · 0 评论