自然语言处理
文章平均质量分 92
AI蜗牛之家
北航烟酒僧~ 百度、腾讯自然语言处理算法工程师~
展开
-
深度学习被你忽略的细节系列篇——Softmax、LogSumExp和Sigmoid
平时我们基本用pytorch或者tensorflow框架时,基本对特别底层的函数实现关注不多,仅限于知道公式的原理。但是很多大佬往往自己会实现一些源码,在看这些源码时,经常出现各种有点难以理解的代码,本来很简单的东西,莫名其妙的各种转换,化简完之后可能感觉是一样的,这么费劲周折的折腾啥?殊不知还是对底层的实现原理了解少了,虽然有些源码不需要我们从底层造轮子(完全从底层造轮子也影响效率),但是能理解其原理在我们debug以及看一些源码时不至于太多疑惑(毕竟国外很多大佬都喜欢实现一些底层utils)。原创 2023-03-02 15:58:11 · 940 阅读 · 0 评论 -
排序之损失函数List-wise loss(系列3)
在pointwise 中,我们将每一个 作为一个训练样本来训练一个分类模型。这种方法没有考虑文档之间的顺序关系;而在pariwise 方法中考虑了同一个query 下的任意两个文档的相关性,但同样有上面已经讲过的缺点;在listwise 中,我们将一个 作为一个样本来训练。论文中还提出了概率分布的方法来计算listwise 的损失函数。并提出了permutation probability 和top one probability 两种方法。下面会详述这两种方法。原创 2023-03-01 19:17:20 · 3492 阅读 · 1 评论 -
AI顶会accepted papers list
为方便相关paper调研,对相关顶会文章列表和下载地址汇总,会议包括:AAAI、ACL、IJCAI、ICLR、COLING、SIGIR、WSDM、WWW、ICML、KDD、NeurIPS、CVPR、ECCV、ACM MM原创 2023-02-28 19:57:06 · 1815 阅读 · 0 评论 -
检索场景预训练
语言模型的假设是:p(R=1|q,d)≈p(q|d,R=1),文档与查询相关的概率约等于 在文档相关的前提下,用户输入q的概率。小编认为,其实原理其实跟TF-IDF差不多,计算query和doc的相似度。通过查询似然找出两个set,通过加入对比loss,以及Masked Language Model (MLM) 的loss进行训练,这样可以训练出一个跟BERT等价但是更适合检索场景的预训练模型。原创 2022-11-03 15:35:25 · 372 阅读 · 0 评论 -
排序之损失函数pair-wise loss(系列2)
Ranking Loss被用于很多领域和神经网络任务中(如 Siamese Nets 或 Triplet Nets),这也是它为什么拥有 Contrastive Loss、Margin Loss、Hinge Loss 或 Triplet Loss 等这么多名字的原因。1.Ranking Loss 函数:度量学习像 Cross-Entropy Loss 或 Mean Squear Error Loss 这些 Loss 函数,它们的目的是为了直接预测一个标签或一个值,而 Ranking Loss 的目的是为原创 2021-08-22 23:36:08 · 10519 阅读 · 0 评论 -
排序之指标集锦(系列1)
一 、MAP(Mean Average Precision):单个主题的平均准确率是每篇相关文档检索出后的准确率的平均值。主集合的平均准确率(MAP)是每个主题的平均准确率的平均值。MAP 是反映系统在全部相关文档上性能的单值指标。系统检索出来的相关文档越靠前(rank 越高),MAP就可能越高。如果系统没有返回相关文档,则准确率默认为0。只有1和0,1代表相关,0代表不相关。例如:假设有两个主题,主题1有4个相关网页,主题2有5个相关网页。某系统对于主题1检索出4个相关网页,其rank分别为1, 2原创 2021-08-22 22:56:57 · 1284 阅读 · 0 评论 -
来自鹅厂的面试经验(干货)
文章目录1.面试准备1.1.简历准备1.2.项目梳理1.3.基础知识1.4.算法编程2.面试经验最近各大厂紧锣密鼓地开始了**春季招聘**和**暑期实习**。你是不是也正在准备,但是面试却没有经验,不知道怎么准备呢?蜗牛小编也收到了一些师弟师妹的咨询,我也翻了一下我自己的面试记录和整理的相关资料,这里站在面试者和面试官的角度稍作整理分享给大家,文中最后也给大家提供了一些”**干货资料**“。这里强调一下:所有的分享是建立如何驱动自己更高效地学习知识,更好地表现自己,而不是找出所谓”无中生有“的纯原创 2021-03-07 12:34:05 · 912 阅读 · 0 评论 -
Highway Networks
文章目录1.前言2.highway network实验结果对比resnet参考资料1.前言目前的神经网络普遍采用反向传播(BP算法)方法来计算梯度并更新w和b参数(其实就是导数的链式法则,就是有很多乘法会连接在一起),由于深层网络中层数很多,如果每层都使用类似sigmoid这样的函数,它们的导数都小于1,这样在反向传播中可能会导致最初几层的w和b参数更新的幅度非常小或者几乎不更新,也就是我们...原创 2019-02-20 11:10:44 · 1831 阅读 · 0 评论 -
r-net:machine reading comprehension with self-matching networks
我觉得这篇文章的文笔真的有点不敢恭维,首先向量矩阵的维度不说清楚还能脑补,但是这边前后不同层之间用一样的变量名是什么意思啊(这么说出来会不会被MSRA鄙视,以后的简历都过不了了,ORZ),本文中尽量避免这种情况。嗯嗯,文章还是不错的^@^文章下载地址:这里先总结下几个特点:同时使用了char-embedding和word-embedding,不同的是char-embedding是通过将...原创 2019-03-01 12:40:00 · 1159 阅读 · 0 评论 -
QANet: Combining Local Convolution With Global Self-Attention For Reading Comprehension
文章目录1.概述2.模型结构2.1.Input embedding layer2.2 Embedding Encoder Layer2.3.Context-Query Attention Layer2.4.Model Encoder Layer2.5 Output layer3.数据增强4.源码及训练参考文献博主标记版paper下载地址:zsweet github关于paper,在进入正题之...原创 2019-02-25 16:15:32 · 1351 阅读 · 0 评论 -
paper:Hierarchical Attention Networks for Document Classification
又是一篇很久之前用到的模型,今天回来整理,发现分类的模型都好简单啊,然后看到模型基于GRU,总觉得有点不想看,因为带时间序列的训练起来太慢了,最进没怎么关注分类的新模型,不过我觉得CNN和transformer结构(self attention)的搭配应该是分类问题的趋势,不过这篇文章后面的attention效果可视化还是不错的~文章目录1.模型概述2.模型详情2.1.Word Encode...原创 2019-02-24 15:17:27 · 866 阅读 · 0 评论 -
machine comprehension using match-lstm and answer pointer
又是一篇之前读的paper,最近把之前读的paper整理整理…文章目录前言1.模型概述2.LSTM preprocessing Layer3.match-LSTM4.Answer Pointer Layer4.1.Sequence Model今天的主角又是在斯坦福的SQuAD的基础上,虽然是一篇比较早的文章,但是该文章是第一个在SQuAD上实现的端到端的神经网络(end-end),对于入门...原创 2019-02-18 18:46:27 · 615 阅读 · 0 评论 -
capsules系列Investigating Capsule Networks with Dynamic Routing for Text Classification
文章目录1.背景介绍2.模型特色3.模型结构4.小结参考1.背景介绍早期对文本建模的成果,已经在文本分类方面取得了一些成功,使用简单的词袋子分类器(Joachims,1998;McCallum等,1998),意味着理解独立单词或N-gram词组的含义是研究复杂模型的必要步骤。因此,这也不奇怪出现了分布式的词语表示法,也就是词嵌入/词向量,已经得到NLP社区的高度关注,解决了在基本层面上应该对什...原创 2019-04-08 21:29:11 · 2096 阅读 · 1 评论 -
Reading Comprehension必读paper汇总
文章目录Must-read papers on Machine Reading Comprehension.Model ArchitectureUtilizing Extenal KnolwedgeExplorationOpen Domain Question AnsweringDatasets文章转自thunlp/RCPapersMust-read papers on Machine R...转载 2019-02-22 11:32:17 · 4398 阅读 · 0 评论 -
capsule系列之Dynamic Routing Between Capsules
文章目录1.背景2.什么是capsule3.capsule原理和结构4.CapsNet模型介绍5.源码解析6.实验结果7.capsule相关论文参考文献capsule在出现之后就除了Hinton老爷子的两个版本之外,还有例如Investigating Capsule Networks with Dynamic Routing for Text Classification这样的新作,可见cap...原创 2019-02-26 22:38:23 · 3366 阅读 · 0 评论 -
NLP之句子相似度之入门篇
文章目录1.基于统计的方法1.1.编辑距离计算1.2.杰卡德系数计算1.3.TF 计算1.4.TFIDF 计算1.5.BM252.基于深度学习的方法2.1.Word2Vec 计算6.参考文献如下在师兄的博文基础上修改:静觅 » 自然语言处理中句子相似度计算的几种方法1.基于统计的方法1.1.编辑距离计算编辑距离,英文叫做 Edit Distance,又称 Levenshtein 距离,是指...原创 2019-05-10 17:26:46 · 6824 阅读 · 2 评论 -
nlp中的卷积神经网络分类问题(更新中...)
当谈到nlp相关处理模型的时候,可能你会随口说出多个模型,但是这些模型都离不开基础的“配件”,那就是RNN、LSTM、GRU,但是对于很多问题,原来用于图像处理的CNN表现效果却不凡,比如在一般的分类问题中,如果不添加attention等自然语言处理方式,CNN的效果甚至要比RNN家族要好一些,比如下图中的相关统计。 N-Gram模型点我打开链接...原创 2018-06-07 15:14:15 · 589 阅读 · 0 评论 -
Bi-Direction attention flow for machine reading(原理篇)
首先,我们的关注层不用于将上下文段落总结为固定大小的向量。而是针对每个时间步计算注意力,并且每个时间步的注意向量以及来自前一层的表示都被允许流向后续建模层。这减少了由早期汇总造成的信息损失。 其次,我们使用无记忆的注意机制。也就是说,虽然我们像Bahdanauet al一样迭代计算时间的注意力。 (2015),每个时间步的注意力只是当前时间步的查询和上下文段的函数,并不直接取决于前一时间步的注意...原创 2019-02-21 15:37:53 · 1629 阅读 · 4 评论 -
卷积神经网络 CNN
1、概念解释CNN是把未知图案和标准X图案一个局部一个局部的对比A ConvNet is made up of Layers. Every Layer has a simple API: It transforms an input 3D volume to an output 3D volume with some differentiable function that may or may n原创 2017-12-27 19:39:01 · 2694 阅读 · 0 评论 -
Quasi Recurrent Neural Network (QRNNs) (git待更新...)
工程化的时候总会考虑到性能和效率,今天的主角也是基于这个根源,最终目的是在准确率保证的前提下,能够实现并行化,let’s go!show time~1. IntroductionRNN模型,特别是包含着门控制的如LSTM等模型,近年来成了深度学习解决序列任务的标准结构。RNN层不但可以解决变长输入的问题,还能通过多层堆叠来增加网络的深度,提升表征能力和提升准确度。然而,标准的RNN(包括...原创 2018-08-21 17:47:00 · 2748 阅读 · 6 评论 -
残差网络(Deep Residual Learning for Image Recognition)
题外话: 了解ResNet的都会清楚他是应用于CNN的,按说我一个做nlp的不应该是用RNN、LSTM、gru吗?是的CNN 确实是在图像处理上应用更常见,但是现在CNN在很多文本处理、文本分类里面用到(n-gram),并展现出了相当不错的效果,所以嘛,我也要学习啦~paper link:点击下载1. 引言 网络的深度为什么重要? 因为CNN能够提取low/mid/h...原创 2018-08-23 17:37:02 · 56696 阅读 · 29 评论 -
LSTM trick之LSTMP
其实在实习之前对于一些知识点的理解还是欠缺的,很多时候感觉没什么用的基础知识为什么还会在面试的时候被问到,比如,“你画一下GRU的基本结构”,你在做工程的时候回修改GRU的结构吗?居然会问这种问题哎,或许你现在也是这么想的~ 但是当真正的实习的时候你会发现公司里面的数据集是需要你自己挖掘的,大公司里面的数据时很廉价的,举个例子,我之前处理的用户数据都是好几个T的,xxx亿的数据做处理,...原创 2018-08-09 14:51:27 · 6204 阅读 · 5 评论 -
nlp之文本分类(更新中...)
RCNN刚看到这个模型的时候你可能回想,就是RNN后面连上CNN呗,话说完之后你自己肯定也会觉得很不负责,我也是,开始以为这就是一个“垃圾”的简单模型,但是还是忍不住找到了paper拿来读一读,读完之后虽然没有大彻大悟,但是感觉这种思想算是吧RNN和CNN融会贯通了,当然这个模型也只是在textCNN基础上用RNN来替代,获取语义上下文罢了。 虽然这个思想很不错,但是在很多分类实践中,效果可...原创 2018-06-26 23:09:58 · 1050 阅读 · 2 评论 -
fastText(更新中...)
http://www.52nlp.cn/fasttextnlp中的卷积神经网络分类问题(更新中…) 当谈到nlp相关处理模型的时候,可能你会随口说出多个模型,但是这些模型都离不开基础的“配件”,那就是RNN、LSTM、GRU,但是对于很多问题,原来用于图像处理的CNN表现效果却不凡,比如在一般的分类问题中,如果不添加attention等自然语言处理方式,CNN的效果甚至要比RNN家族要好一些...原创 2018-06-09 20:30:05 · 525 阅读 · 0 评论 -
分类问题的评估(二分类&多分类)
召回率、准确率、F值对于二分类问题,可将样例根据其真实类别和分类器预测类别划分为:真正例(True Positive,TP):真实类别为正例,预测类别为正例。 假正例(False Positive,FP):真实类别为负例,预测类别为正例。 假负例(False Negative,FN):真实类别为正例,预测类别为负例。 真负例(True Negative,TN):真实类别为负例,预测类...原创 2018-06-02 09:19:10 · 18922 阅读 · 1 评论 -
GRU与LSTM总结
1. LSTM(长短期记忆网络)LSTM是一种特殊的RNN类型,一般的RNN结构如下图所示,是一种将以往学习的结果应用到当前学习的模型,但是这种一般的RNN存在着许多的弊端。举个例子,如果我们要预测“the clouds are in the sky”的最后一个单词,因为只在这一个句子的语境中进行预测,那么将很容易地预测出是这个单词是sky。在这样的场景中,相关的信息和预测的词位置之间的间隔是非常小原创 2018-04-09 17:11:15 · 5006 阅读 · 2 评论 -
理解GloVe模型(+总结)
系列目录(系列更新中)第二讲 cs224n系列之word2vec & 词向量 word2vec进阶之skim-gram和CBOW模型(Hierarchical Softmax、Negative Sampling)第三讲 cs224n系列之skip-pram优化 & Global Vector by Manning &原创 2018-03-21 16:36:00 · 69205 阅读 · 42 评论 -
word2vec进阶之skim-gram和CBOW模型(Hierarchical Softmax、Negative Sampling)
系列目录(系列更新中)第二讲 cs224n系列之word2vec & 词向量 word2vec进阶之skim-gram和CBOW模型(Hierarchical Softmax、Negative Sampling)第三讲 cs224n系列之skip-pram优化 & Global Vector by Manning & 词向量评价语言模型在统计自然原创 2018-03-20 10:52:36 · 6444 阅读 · 2 评论 -
第四讲 cs224n系列之Word Window分类与神经网络
1 综述这节课介绍了根据上下文预测单词分类的问题,与常见神经网络课程套路不同,以间隔最大化为目标函数,推导了对权值矩阵和词向量的梯度;初步展示了与传统机器学习方法不一样的风格。本文主要讲解:分类问题背景在分类任务中融入词向量窗口分类和交叉熵误差推导技巧一个单层的神经网络最大间隔损失和反向传播2 分类问题2.1nlp分类背景一般情况下我们会有一个训练模型用...原创 2018-03-23 16:48:18 · 1427 阅读 · 2 评论 -
第三讲 cs224n系列之skip-pram优化 & Global Vector by Manning & 词向量评价
本系列是一个基于深度学习的NLP教程,2016年之前叫做CS224d: Deep Learning for Natural Language Processing,之后改名为CS224n: Natural Language Processing with Deep Learning。新版主讲人是泰斗Chris Manning和Richard Socher(这是旧版的讲师),两人分别负责不同的...原创 2018-01-24 22:58:43 · 2480 阅读 · 0 评论 -
Multiway attention networks for modeling sentence pairs(未完待续)
应用场景:释义识别、自然语言推理、问答问题整体的framework可以分成两类:The first framework is to model sentence pairs by encoding each sentence separately and then making the decision based on the two representations [Yu et al....原创 2018-09-24 18:02:11 · 989 阅读 · 0 评论 -
浅谈attention机制
又是一篇积攒了好久的整理贴,重新整理下。 从本篇文章你将会学习到如下内容:为什么要用attention机制? 看了台大的李宏毅老师关于Attention部分的内容,这一部分讲得挺好的(其实李宏毅老师其它部分的内容也不错,比较幽默,安利一下),记录一下,本博客的大部分内容据来自李宏毅老师的授课资料:Attention-based Model。如发现有误,望不吝赐教。1. at...原创 2018-09-11 07:47:22 · 12694 阅读 · 3 评论 -
paper:Attention Is All You Need(模型篇)
1.为什么是attention正如论文的题目所说的,Transformer中抛弃了传统的CNN和RNN,整个网络结构完全是由Attention机制组成。更准确地讲,Transformer由且仅由self-Attenion和Feed Forward Neural Network组成。一个基于Transformer的可训练的神经网络可以通过堆叠Transformer的形式进行搭建,作者的实验是通过搭...原创 2019-01-09 22:24:51 · 1207 阅读 · 0 评论 -
tensorflow之dropout
参考文章深度学习中Dropout原理解析 墙裂推荐理解dropout深度学习(二十二)Dropout浅层理解与实现tensorflow1.6 的实现代码:def dropout(x, keep_prob, noise_shape=None, seed=None, name=None): # pylint: disable=invalid-name ""&a原创 2019-02-13 15:30:47 · 1221 阅读 · 0 评论 -
深度模型训练之learning rate
文章目录1.基于指数型的衰减1.1.exponential_decay1.2.piecewise_constant1.3.polynomial_decay1.4.natural_exp_decay1.5.inverse_time_decay2.基于余弦的衰减2.1.cosine_decay2.2.cosine_decay_restarts2.3.linear_cosine_decay2.4.noi...原创 2019-01-18 22:20:13 · 3250 阅读 · 0 评论 -
深度模型之激活函数以及Initializer
文章目录1.为什么要激活函数2.常见激活函数2.1.sigmoid激活函数2.2.tanh激活函数2.3.Relu激活函数2.4.PRelu2.4.1.RRelu2.4.2.Leaky ReLU2.5.elu激活函数2.6.Gelu激活函数2.7.Maxout 激活函数1.为什么要激活函数举个例子,首先我们有这个需求,就是二分类问题,如我要将下面的三角形和圆形点进行正确的分类,如下图:利用我...原创 2019-01-25 22:21:40 · 1576 阅读 · 4 评论 -
paper:Attention Is All You Need(源码篇)
继上篇paper:Attention Is All You Need之后,我们针对official提供的源码进行解析。本次源码分析针对的是tensorflow/models,同时还有一份带有详细注释的源码,在小博的github里面。(好久没整理这么详细的帖子了。。。)本博主题思路参考:Attention Is All You Need(注意力模型),并在此基础上做了修改,并增加了相关源码解析~...原创 2019-01-12 00:16:32 · 2265 阅读 · 6 评论 -
tensorflow之RNNCell及自定义Cell
我们在仿真一些论文的时候经常会遇到一些模型,对RNN或者LSTM进行了少许的修改,或者自己定义了一种RNN的结构等情况,比如前面介绍的几篇memory networks、qausi RNN 的论文,往往都需要按照自己定义的方法来构造RNN网络。所以本篇博客就主要总结一下RNNcell的用法以及如何按照自己的需求自定义RNNCell。tf中RNNCell的用法介绍我们直接从源码的层面来看一看tf...原创 2019-01-17 15:01:27 · 6204 阅读 · 11 评论 -
DL中loss之交叉熵
最近整理常见的loss函数,为了理解深刻,在对比之前先了解各种loss函数的原理在介绍交叉熵之前,先一步一步来进行剖析1.原理剖析1.1.信息量首先是信息量。假设我们听到了两件事,分别如下:事件A:巴西队进入了2018世界杯决赛圈。事件B:中国队进入了2018世界杯决赛圈。仅凭直觉来说,显而易见事件B的信息量比事件A的信息量要大。究其原因,是因为事件A发生的概率很大,事件B发生的概率...原创 2019-01-10 19:33:22 · 866 阅读 · 3 评论 -
BERT:Bidirectional Encoder Representations from Transformers
paperauthorquestions:Why 15% is masked rather all of the word like word2wec?Why get_pooled_output layer just use the first tokens’ output?run_pretraining line 284 : why add 1e-5 to the reduce(lab...原创 2019-01-15 11:32:56 · 3289 阅读 · 1 评论