![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
机器学习
文章平均质量分 80
taoqick
这个作者很懒,什么都没留下…
展开
-
DALL·E2(unCLIP)、DDPM、DDIM、Stable Diffusion、IS、FID、ControlNet、SDXL要点总结
DALL·E 1可以看成是VQ-VAE和文本经过BPE编码得到的embedding。原创 2023-07-09 19:30:09 · 2151 阅读 · 2 评论 -
Bert Transformer细节总结
缺点:这种编码在编码时考虑了相对位置,但是实际中,经过WqW_qWq,WkW_kWk的变换,位置信息不能有效地被学习。(https://zhuanlan.zhihu.com/p/105001610)导致后序出现了不少改进:比如既然相对位置信息是在self-attention计算时候丢失的,那么最直接的想法就是在计算self-attention的时候再加回来。该工作出自Transformer的原班人马,看来Transformer提出时他们就已经发现这个问题了。原创 2022-12-16 17:18:26 · 928 阅读 · 0 评论 -
通俗讲解pytorch中nn.Embedding原理及使用
每个mini-batch的训练,都要从词向量表找到mini-batch对应的单词的词向量作为RNN的输入放进网络。上面batch有3个样例,RNN的每一步要输入每个样例的一个单词,一次输入batch_size个样例,所以batch要按list外层是时间步数(即序列长度),list内层是batch_size排列。其为一个简单的存储固定大小的词典的嵌入向量的查找表,意思就是说,给一个编号,嵌入层就能返回这个编号对应的嵌入向量,嵌入向量反映了各个编号代表的符号之间的语义关系。维度的前两维和前面讲的是一致的。转载 2022-10-01 15:27:05 · 3018 阅读 · 0 评论 -
NeurIPS 2021-《ALBEF》-先对齐再融合
虽然本文在视觉语言表示学习方面显示了很好的结果,但在实践中部署它之前,对数据和模型进行额外的分析是必要的,因为网络数据可能包含意想不到的私人信息、不合适的图像或有害的文本,而且只优化准确性可能会产生不必要的社会影响。每个任务的最终损失是原始任务的损失和模型的预测和伪目标之间的kl散度的加权组合。(3)广泛使用的图像-文本数据集是从web中收集而来的,具有固有的噪声,现有的预训练目标如MLM可能会过度适应噪声文本,降低模型的泛化性能。上图展示了在多模态编码器的第三层的交叉注意图上的Grad-CAM可视化。..转载 2022-08-07 17:08:15 · 1230 阅读 · 0 评论 -
从Alignment 和 Uniformity的角度理解对比表征学习
Understanding Contrastive Representation Learning through Alignment and Uniformity on the Hyperspherearxiv.org/abs/2005.10242转载 2022-06-12 16:10:17 · 1096 阅读 · 0 评论 -
如何理解与看待在cvpr2020中提出的circle loss?与triplet loss的关系
先说triplet loss:以上转载自:Triplet loss学习笔记 - 知乎------------------------------以下转载自:如何理解与看待在cvpr2020中提出的circle loss? - 知乎转载 2022-05-29 18:35:23 · 336 阅读 · 0 评论 -
超细节的BatchNorm/BN/LayerNorm/LN/SyncLN/ShuffleBN/RMSNorm知识点
Norm,也即 Normalization,已经是深度神经网络模型中非常常规的操作了,但它背后的实现,原理和作用等,其实我们可以理解的更细致,本文会以最常用的 BatchNorm 和 LayerNorm 为例(其他 Norm 方法大同小异),通过 Q&A 的形式,去深入理解关于 Norm 的细节知识点。 BN 在训练和测试时的差异 BN 中的移动平均 Moving Average 是怎么做的? 移动平均中 Momentum 参数的影响 Norm 中的标准化、平移转载 2022-05-21 17:46:00 · 1983 阅读 · 0 评论 -
InfoNCE loss与交叉熵损失的联系,以及温度系数的作用
在文章《对比学习(Contrastive Learning),必知必会》和《CIKM2021 当推荐系统遇上对比学习,谷歌SSL算法精读》中,我们都提到过两个思考:(1)对比学习常用的损失函数InfoNCE loss和cross entropy loss是否有联系?(2)对比损失InfoNCE loss中有一个温度系数,其作用是什么?温度系数的设置对效果如何产生影响?个人认为,这两个问题可以作为对比学习相关项目面试的考点,本文我们就一起盘一盘这两个问题。上述公式细节详见:NC..转载 2022-05-15 13:19:46 · 7275 阅读 · 5 评论 -
K-Means算法的收敛性和如何快速收敛超大的KMeans?
不多说,直接上干货! 面试很容易被问的:K-Means算法的收敛性。 在网上查阅了很多资料,并没有看到很清晰的解释,所以希望可以从K-Means与EM算法的关系,以及EM算法本身的收敛性证明中找到蛛丝马迹,下次不要再掉坑啊。EM算法的收敛性1.通过极大似然估计建立目标函数:通过EM算法来找到似然函数的极大值,思路如下:希望找到最好的参数θ,能够使最大似然目标函数取最大值。但是直接计算比较困难,所以我们希望能够找到一个不带隐变量z的函数恒成立,并用..转载 2022-05-04 14:48:31 · 1682 阅读 · 1 评论 -
语音识别模型CTC,RNN-T,Neural Transducer,MoCha学习笔记
语音识别模型进化史以下4篇文章结合之前的LAS是深度学习在语音识别邻域的重要尝试• Connectionist Temporal Classification (CTC)[Graves, et al., ICML’06]• RNN Transducer (RNN-T)[Graves, ICML workshop’12]• Neural Transducer[Jaitly, et al., NIPS’16]• Monotonic Chunkwise Attention (MoChA)[Chiu转载 2022-05-04 13:04:13 · 1066 阅读 · 0 评论 -
求通俗解释NLP里的perplexity是什么?
1. 语言模型^(-1/m)2. 可以表示成交叉熵的形式:log perplexity和交叉熵是等价的。From求通俗解释NLP里的perplexity是什么? - 知乎--------------------转载 2022-04-20 10:53:39 · 364 阅读 · 0 评论 -
beam search、top-k sampling、nucleus sampling、temperature sampling和联合采样
大家好,我是小飞,今天讲解下机器学习中常用到的一种搜索算法beam search(束搜索)。为了方便大家理解,这里先假设一个非常简单的搜索任务。假设一个搜索任务假设现在有一个简化版的中文翻译英文任务,输入和输出如下,为了方便描述搜索算法,限制输出词典只有{"I", "H", "U"} 这3个候选词,限制1个时间步长翻译1个汉字,1个汉字对应1个英文单词,这里总共3个汉字,所以只有3个时间步长。中文输入:"我" "恨" "你"英文输出:"I" "H" "U"目标:得到最优的翻译序列I-H-.转载 2022-04-01 16:00:14 · 1798 阅读 · 2 评论 -
一文读懂CRNN+CTC(Connectionist Temporal Classification)文字识别
先总结一把CTC,下面文档太长:CTC是一种Loss计算方法,用CTC代替Softmax Loss,TF和pytorch都有对CTC的实现,从而解决OCR或者语音识别中序列对齐的问题。CTC特点:引入blank字符,解决有些位置没有字符的问题 通过递推,快速计算梯度- CTC在递推最终概率的时候,使用前向后向算法,类似HMM中的前向后向算法- CTC在最终求解的时候,使用beam search-----------------------------------------文字.转载 2022-04-01 14:44:52 · 1019 阅读 · 0 评论 -
光流(Optical flow)-视频分析基础概念
光流的概念(Optical Flow)光流是空间运动物体在观察成像平面上的像素运动的瞬时速度,是利用图像序列中像素在时间域上的变化以及相邻帧之间的相关性来找到上一帧跟当前帧之间存在的对应关系,从而计算出相邻帧之间物体的运动信息的一种方法。一般而言,光流是由于场景中前景目标本身的移动、相机的运动,或者两者的共同运动所产生的。考虑下图(图片来自维基百科):图中表示一个小球在连续5帧图像中的移动,箭头则表示小球的位移矢量。简单来说,光流是空间运动物体在观测成像平面上的像素运动的“瞬时速度”,光流的研.转载 2022-03-19 12:39:42 · 6296 阅读 · 0 评论 -
跨卡同步 Batch Normalization
作者:张航Amazon AI Applied Scientist很多用户在论坛上,GitHub 上,甚至是不同的深度学习平台上,都要求提供跨卡同步(Cross-GPU Synchronized) Batch Normalization 或称为同步BN (SyncBN)。 我们团队率先提供了 MXNet 的实现。写在前面:为什么要跨卡同步 Batch Normalization现有的标准 Batch Normalization 因为使用数据并行(Data Parallel),是单卡的实现模式.转载 2022-03-18 16:43:16 · 321 阅读 · 0 评论 -
MoCo、SimCLR、BYOL、SwAV、iBot、DiNoV2、MAE、Beit、SimMIM、MaskFeat对比学习总结
MoCo V1(Momentum Contrast for Unsupervised Visual Representation Learning)MoCo的想法主要是在之前end-to-end和memory bank基础上产生的。q表示query,也就是对比的left;k表示key,也就是对比的right,k中既包含和q相似的样本(可能会标记为k+),也包含也q不相似的样本关于end-to-end方式(The end-to-end update by back-propagation is a原创 2022-03-17 16:41:51 · 2822 阅读 · 1 评论 -
聊聊我眼中MAE的成功之处
卷友们好,我是rumor。这两天忍不住又卷去看CV领域的论文了,主要是前些日子恺明大神的MAE太过强大,感觉不看会错过一个亿。看了之后果然不负我的期待,大道至简,思路太清晰了、太深刻了,给他投光我的几百个B币都不为过。不过,相信很多NLP领域的同学和我的第一反应一样,听到CV领域终于出了一个类似BERT的模型,却内心有一丝丝的疑惑:BERT都出来三年了,CV领域的为什么现在才出来?而明明看起来这么简单的做法,为什么只有恺明大神成功了?没错,我也有这个疑惑,于是我去翻了一下恺明大神在相关工作提到的转载 2021-12-19 20:20:37 · 223 阅读 · 0 评论 -
在深度学习网络中,inception结构的思想,和SPP的思想有什么区别吗?
感觉都是为了产生多尺度的特征再concatenate,就是一个是通过卷积,一个是通过池化。ASPP跟她们的区别呢?题主说的没错, 它们都可以实现多尺度 (多感受野尺寸) 的特征输出, 下面分析它们的由来:池化层输出的感受野由其输入的感受野和特征步长, 以及池化层的核尺寸共同决定.卷积层输出的感受野由其输入的感受野和特征步长, 以及卷积层的核尺寸和膨胀系数共同决定.所以一个输入要想得到多尺度 (多感受野尺寸) 的输出, 方法可能有 (不全):经过不同核尺寸(和相应的填充尺...转载 2021-12-05 22:45:12 · 439 阅读 · 0 评论 -
label smoothing(标签平滑)学习笔记
label smoothing是一种在分类问题中,防止过拟合的方法。交叉熵损失函数在多分类任务中存在的问题多分类任务中,神经网络会输出一个当前数据对应于各个类别的置信度分数,将这些分数通过softmax进行归一化处理,最终会得到当前数据属于每个类别的概率。然后计算交叉熵损失函数:训练神经网络时,最小化预测概率和标签真实概率之间的交叉熵,从而得到最优的预测概率分布。最优的预测概率分布是:神经网络会促使自身往正确标签和错误标签差值最大的方向学习,在训练数据较少,不足以表征所有的样转载 2021-12-05 22:28:20 · 794 阅读 · 0 评论 -
如何理解深度学习分布式训练中的large batch size与learning rate的关系?
在深度学习进行分布式训练时,常常采用同步数据并行的方式,也就是采用大的batch size进行训练,但large batch一般较于小的baseline的batch size性能更差,请问如何理解调试learning rate能使large batch达到small batch同样的收敛精度和速度?最近在进行多GPU分布式训练时,也遇到了large batch与learning rate的理解调试问题,相比baseline的batch size,多机同步并行(之前有答案是介绍同步并行的通信框架NCC.转载 2021-12-04 21:11:50 · 687 阅读 · 0 评论 -
变分自编码器(Variational Auto Encoder)总结
假设数据由一个随机过程产生,该随机过程分为两步:先由先验分布 产生隐藏变量 ;再由条件分布 产生数据 。图4.4(a)是这个随机过程的图模型。这里的参数 可以通过最大化数据似然来求得:...原创 2021-11-14 17:16:16 · 571 阅读 · 0 评论 -
GradNorm 简介
论文链接:https://arxiv.org/pdf/1711.02257.pdf之前讲过了多任务学习,如简单的shared bottom,都存在一个问题:多个任务的loss如何融合?简单的方式,就是将多个任务的loss直接相加:但实际情况是,不同任务loss梯度的量级不同,造成有的task在梯度反向传播中占主导地位,模型过分学习该任务而忽视其它任务。此外,不同任务收敛速度不一致的,可能导致有些任务还处于欠拟合,可有些任务已经过拟合了。当然,我们可以人工的设置超参数,如:由于各任务转载 2021-10-05 16:13:06 · 6067 阅读 · 0 评论 -
从Thompson Sampling到增强学习, 再谈多臂老虎机问题
老虎机是赌场里最常见的一个设备,一家赌场里有那么多机器,每次摇动都可能后悔或者获得一定额度的奖励,你通过选择不同的老虎机臂最大化自己的利益。这个问题看似非常简单,让很多人都忘了他其实是一个reinforcement learning的问题。问题描述(Bernoulli Bandit)假设我们有一个K臂老虎机,每一个臂(action)的回报率(reward_i)都是固定的,但是agent并不知道这个回报率是多少,agent如何在T回合内最大化自己的回报(注意,这里的T通常是远远大于K的)。在互转载 2021-08-11 18:07:33 · 1380 阅读 · 0 评论 -
IBM model1 推导
本文利用贝叶斯chain rule 对IBM model1模型进行了目标函数的推导与代码层面的一些实现,仅为学习时记录,理解不到位情况还请批评指正一.重要概念说明转载 2020-06-28 14:11:00 · 797 阅读 · 0 评论 -
LightGBM——提升机器算法(图解+理论+安装方法+python代码)
前言LightGBM是个快速的,分布式的,高性能的基于决策树算法的梯度提升框架。可用于排序,分类,回归以及很多其他的机器学习任务中。在竞赛题中,我们知道XGBoost算法非常热门,它是一种优秀的拉动框架,但是在使用过程中,其训练耗时很长,内存占用比较大。在2017年年1月微软在GitHub的上开源了一个新的升压工具--LightGBM。在不降低准确率的前提下,速度提升了10倍左右,占用内存下...转载 2019-12-02 19:35:50 · 284 阅读 · 0 评论 -
卷积中的一些细节
用1x1卷积核,实现降维和升维的操作其实就是channel间信息的线性组合变化,3x3,64channels的卷积核后面添加一个1x1,28channels的卷积核,就变成了3x3,28channels的卷积核,原来的64个channels就可以理解为跨通道线性组合变成了28channels,这就是通道间的信息交互[7]。输入数据第一维表示batchsize,后边两维和前边的例子一样,不同的是输出,长度变为了34(卷积核大小为2),由于有100个卷积核,故生成了100个feature map。转载 2019-12-01 11:40:20 · 1135 阅读 · 0 评论 -
DSSM论文阅读与总结
论文的地址:https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/cikm2013_DSSM_fullversion.pdf1.背景DSSM是Deep Structured Semantic Model的缩写,即我们通常说的基于深度网络的语义模型,其核心思想是将query和doc映射到到共同维度的语义空间中,...转载 2019-11-30 21:38:23 · 1432 阅读 · 0 评论 -
深度学习中 Batch Normalization为什么效果好?
作者:言有三链接:https://www.zhihu.com/question/38102762/answer/607815171来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。这是一个还在被广泛研究的问题,先把简单的总结写起来,后面肯定是要更新的。数据经过归一化和标准化后可以加快梯度下降的求解速度,这就是Batch Normalization等技术...转载 2019-11-30 21:26:20 · 411 阅读 · 0 评论 -
PCA和Fisher LDA
PCAPCA主要用于没有标签的降维,想法就是把数据投影在某个方向上,使得信噪比最大,也就是投影的方差最大。对于给定的一组数据x1,x2,...,xnx_1, x_2,...,x_nx1,x2,...,xn,其中每一个都是列向量,假设投影方向的单位列向量是w,投影后的方差可以表示为D(x)=1n∑i=1n(xiTw)2D(x)=1n∑i=1n(xiTw)T(xiTw)D(x)=wT[1n...原创 2019-11-10 19:31:13 · 323 阅读 · 0 评论 -
EM算法收敛性推导
EM算法(Expectation-Maximization),就是用最大似然MLE来递推求模型的参数。顾明思议分为两步:第一步求隐变量的期望,第二步找到让隐变量期望最大化的参数。用公式来表示最终的目标就是:L(θ)=∑ilog(p(xi;θ))θ=arg maxθL(θ)L(\theta)=\sum_{i}log(p(x_i;\theta)) \\\theta = \argmax_{\the...原创 2019-11-10 17:45:38 · 1299 阅读 · 0 评论 -
多层感知机Perceptron反向传播BP算法推导(Back Propagation)
看了很多BP的推导,都不够简洁直观,这里总结一下。多层Perceptron就是全连接的网络,定义第l层的输入为x(l)x^{(l)}x(l),那么全连接的线性输出z(l)=W(l)x(l)+b(l)z^{(l)}=W^{(l)}x^{(l)}+b^{(l)}z(l)=W(l)x(l)+b(l)上面的(l)都表示第l层,如果到了第l+1层,当然要过一个激活函数f,那么z(l+1)=W(l+1)f...原创 2019-11-04 01:18:17 · 972 阅读 · 0 评论 -
LR(logistic regression)逻辑回归Loss和梯度的推导
LR太简单了,简单到经常被用,但是很多推导仍然迷糊的程度,这篇主要用来总结一下。线性回归的表达式:f(x)=wTx+bf(x)=w^Tx+bf(x)=wTx+b由于带一个b,我们可以令x′=[1,x]Tx'=[1, x]^Tx′=[1,x]T,同时w′=[b,w]Tw'=[b, w]^Tw′=[b,w]T,这样直线方程就可以简化成f′(x)=w′Txf'(x)=w^{'T}xf′(x)=w...原创 2019-11-02 16:11:13 · 2215 阅读 · 0 评论 -
ID3 ID4.5 CART 决策树剪枝 Bagging Boosting GBDT XGBoost 总结
ID3ID3是用信息增益作为分割的准则,信息增益=信息熵-条件熵:其中∣Ck∣D\frac{|C_k|}{D}D∣Ck∣表示第k类样本的数据占数据集D样本总数的比例。假设每个记录有一个属性“ID”,若按照ID来进行分割的话,由于ID是唯一的,因此在这一个属性上,能够取得的特征值等于样本的数目,也就是说ID的特征值很多。那么无论以哪个ID为划分,叶子结点的值只会有一个,纯度很大,得到的信...原创 2019-11-02 00:13:49 · 1110 阅读 · 1 评论 -
序列标注:Bi-LSTM + CRF
最近在做序列标注的相关任务,为了理解bi-lstm + crf的原理及细节,找了很多相关资料,以及代码实现,这里分享给大家并附上一些自己的理解。CRF相关资料推荐关于crf,我看了很多资料,这里推荐几个 -英文的crf tutorial-李航的统计学习方法这两个讲的很细,公式很多,很多新入坑的小白看了肯定一头雾水,这里推荐一个知乎大神的回答,通俗易懂,有一些机器学习基础的都可以...转载 2019-11-01 14:17:45 · 1456 阅读 · 0 评论 -
NNLM Word2Vec FastText LSA Glove 总结
总结了一些要点NNLM(Neural Network Language Model)Word2VecFastTextLSAGlove各种比较1、word2vec和tf-idf 相似度计算时的区别?2、word2vec和NNLM对比有什么区别?(word2vec vs NNLM)3、 word2vec负采样有什么作用?4、word2vec和fastText对比有什么区别?(word2vec vs f...原创 2019-10-31 22:02:55 · 783 阅读 · 0 评论 -
HMM隐马尔科夫模型、MEMM最大熵马尔科夫模型和条件随机场的CRF 对比
1)HMM是有向图模型,是生成模型;HMM有两个假设:一阶马尔科夫假设(t时刻状态只依赖于t-1时刻状态)和观测独立性假设(t时刻状态只依赖于t时刻的观测);但对于序列标注问题不仅和单个词相关,而且和观察序列的长度,单词的上下文,等等相关。HMM模型λ=(状态转移概率矩阵A,观测状态转移概率矩阵B,初始状态矩阵π)\lambda=(状态转移概率矩阵A,观测状态转移概率矩阵B,初始状态矩阵\pi)...原创 2019-10-27 18:21:52 · 618 阅读 · 0 评论 -
最大熵模型和朴素贝叶斯的区别
最大熵模型就是假设有些条件已知,未知的几个随机变量希望他们是等概率的,这样得到的熵最大,换句话说鸡蛋不要放在同一个篮子里。先说条件熵为啥定义成这个样子,实际上就是某些条件已知,在这些条件上分别算熵(条件上当然是条件概率),最后加起来,用公式表示就是:H(Y∣X)=∑i=1mP(X=xi)H(Y∣X=xi)=∑i=1mP(X=xi)∑j=1nP(yj∣xi)log(P(yi∣xi))H(Y|X)...原创 2019-10-24 23:45:18 · 1541 阅读 · 1 评论 -
SVM不加入松弛变量使用高斯核对所有样本都可以线性可分吗???
是的。李航老师书上证明了一个结论,线性可分的训练数据集的最大间隔分离超平面是存在而且唯一的,细节可以查小蓝书。对于线性不可分的训练数据集,用高斯核可以让训练数据完美可分,但是这样很容易overfitting,以下是详细推导,参考https://blog.csdn.net/taoqick/article/details/102644779,最终SVM训练后的表达式是:f(x)=wTx+b=∑i...原创 2019-10-20 18:14:20 · 248 阅读 · 0 评论 -
任意在空间中线性可分的两类点,分别向SVM的超平面上做投影,这些点在超平面上是有可能可分吗?
不可能。以二维空间为例,超平面刚好是支持向量的中垂线,支持向量在中垂线上的投影重合,肯定不可分。当然这个前提是SVM最终模型仅和支持向量有关,这个推导请参考: https://blog.csdn.net/taoqick/article/details/102644779更多推导请参考西瓜书和葫芦书...原创 2019-10-20 17:28:33 · 1463 阅读 · 0 评论 -
详解Python中的下划线
原文地址这篇文章讨论Python中下划线_的使用。跟Python中很多用法类似,下划线_的不同用法绝大部分(不全是)都是一种惯例约定。单个下划线(_)主要有三种情况:1. 解释器中_符号是指交互解释器中最后一次执行语句的返回结果。这种用法最初出现在CPython解释器中,其他解释器后来也都跟进了。>>> _Traceback (most recent ca转载 2018-01-23 13:50:09 · 568 阅读 · 0 评论