![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
数学编程
毕业于陕西师范大学物理学专业,毕业后先后从事Python开发,数据挖掘和自然语言处理工作。目前专注深度学习和自然语言处理。
展开
-
NLP论文笔记-新标签的关系抽取
之前写过一篇公众号,介绍在没有参考中科院专家论文情况下,我在项目中也使用了类似思路。本文就重点介绍一下这篇论文《Joint Extraction of Entities and Relations Based on a Novel Tagging Scheme》,2017年由中科院团队发表1的论文,当时被评为年度杰出论文。 关系抽取简介 实体(Entity)的关系抽取(Relation Extraction)作为NLP领域的一项基本任务,很早就被学者关注到了。早期的实体识别通常基于概率图模型,如隐马尔可夫原创 2020-11-25 15:45:34 · 408 阅读 · 0 评论 -
NLP论文笔记
本文整理个人读论文的一点心得,分享其中有意思的论文观点,主要作为学习笔记,如果能够对读者有帮助,那就更好了。 本文主要关注注意力机制。注意力机制最早在2014年出现在CV领域1,之后Bahdanau,Bengio等人将这种机制运用到自然语言处理领域2,开创了基于注意力机制刷榜NLP各类任务的时代。既然注意力机制这么牛皮,那为什么不直接使用呢?于是Vaswani,Shazeer,Kaiser等人3直接抛弃了RNN,提出了自注意力机制,这就是后来的Transformer架构。之后沿着Transformer这条路原创 2020-11-18 11:35:01 · 415 阅读 · 0 评论 -
循环神经网络的原理分析
原理介绍 循环神经网络在大多数人看来其实很简单。的确原理是非常简单的,但是代码的实现细节却没有那么简单。往往纸上谈兵容易,实战起来才发现跟理论是有差距的。本文重点介绍RNN的原理,之后基于PyTorch框架,介绍RNN类的输入和输出,重点在于理解RNN的原理。结尾我们发现PyTorch的RNN模块其实只计算了隐藏层矩阵。 下图是一个简单RNN的单元图,xtx_txt为t时刻的输入,yty_tyt为t时刻的输出,hth_tht为隐藏层输出,Whh,WihW_{hh}, W_{ih}Whh,Wih为隐原创 2020-11-17 11:41:42 · 846 阅读 · 0 评论 -
PyTorch预训练Bert模型
本文介绍以下内容: 使用transformers框架做预训练的bert-base模型; 开发平台使用Google的Colab平台,白嫖GPU加速; 使用datasets模块下载IMDB影评数据作为训练数据。 transformers模块简介 transformers框架为Huggingface开源的深度学习框架,支持几乎所有的Transformer架构的预训练模型。使用非常的方便,本文基于此框架,尝试一下预训练模型的使用,简单易用。 本来打算预训练bert-large模型,发现colab上GPU显存不够原创 2020-11-17 00:47:34 · 2243 阅读 · 1 评论 -
牛顿切线法求解正数的N次方根
介绍 本文简述牛顿法求算术平方根,进而推导出求一个数的nnn次方根,并给出相应的代码实现。 二分法 以前我上初中学习平方根的时候,就在思考这个问题。如何计算正实数的平方根,每次在计算的时候心里默念几的平方等于这个数。比如25=5225=5^225=52,那么262626怎么办呢?数学家实在太聪明了,用26\sqrt{26}26来表示这个数。但是这个带根号的数,似乎不是很直观,具体落在那个范围之内还是很难估计。 于是我还是使用这种笨办法,不断尝试法。比如62=366^2=3662=36,而262626介于5原创 2020-07-20 22:24:28 · 645 阅读 · 0 评论 -
图文理解自注意力(self-attention)
谷歌在2017年发表了一篇论文《Attention Is All You Need》,论文中提出了transformer模型,其核心就是self-attention的架构,这一突破性成果不仅洗遍了NLP的任务,也在CV中取得了非常好的效果,有大道至简的感觉。本文通过一个通俗易懂的例子1来介绍self-attention。 (注:本文例子完全来在参考文章,包括文章的gif动图,感谢作者的文章) 介绍 接下来将通过一下几个步骤来介绍: 预处理输入数据 初始化权重 计算key,query 和value 计算输入翻译 2020-07-20 22:18:43 · 2530 阅读 · 2 评论 -
衡量模型的参数-ROC曲线
最近在新冠肺炎新闻报道中频繁出现一个词“假阴性”。就是检测结果呈现是阴性(没有检测出病毒),实际上是一种假象,真实情况是阳性的。检测结果表现出“假阴性”,后果是非常严重的,相当于你把一个感染者放回家了。今天就来总结一下衡量检测或者说预测结果的方法和指标。 我们把“检测”归纳为“预测”,认为检测新冠病毒实际上就是对是否感染做预测,把所有的检测方法抽象成模型。模型的输入就是病人待检测的样本,输出结果为阴性或者阳性两种。如果用函数来描述就是 y=f(x) y = f(x) y=f(x) 其中xxx就是待检测样本,原创 2020-07-20 14:27:43 · 692 阅读 · 0 评论 -
深入理解LSTM网络
刚开始学习神经网络的时候,连基础的CNN都看不懂,更无法理解,它是如何从图片中提取特征的。看到LSTM单元更加懵掉了。如此复杂的结构究竟是怎样被发明出来的?每一步为什么要这么做呢? 本文是一篇详细介绍的基础文章,包含数学公式肯定是在所难免的,要搞清楚这些原理,就必须理解这些公式。 循环神经网络 LSTM长短时记忆网络是一种特殊的循环神经网络,所以我们还是从普通的RNN说起。 网络结构长这个样子,核心的部分就是那个循环结构。对于t时刻的输入xtx_txt,输出为hth_tht,状态为sts_tst,于原创 2020-07-20 14:13:58 · 1020 阅读 · 0 评论 -
通俗介绍梯度下降算法
深度学习近几年如火如荼,先后出现了很多的应用案例。那么深度学习是怎样的学习过程呢?其实理解起来不难,只需要一点点数学知识而已。本文介绍深度学习中最基础的一种优化算法–梯度下降算法,大量的优化算法都是在此基础上修改,不断优化出来的。理解了此算法,你就知道深度学习是如何学习的? 简单例子的应用 在中学我们都学过用导数求函数极值。基本思路就是求出f′(x)=0f'(x)=0f′(x)=0方程的解,就是极值点,如果这个方程是超越方程,很难求出解析解怎么办?我们可以利用计算机求出数值解。我们先来看一个例子,大致了解梯原创 2020-07-20 14:04:49 · 269 阅读 · 0 评论