- 博客(73)
- 资源 (15)
- 收藏
- 关注

原创 Bert核心代码解读
前面已经介绍了如何先测试一个bert任务,对这方面还不了解的可以看一下前面的博客。BERT 最主要的模型实现部分---BertModel,代码位于modeling.py 模块为了便于理解,下面的代码中的batch_size假设成8,seq_length长度是128。配置类(BertConfig)class BertConfig(object): """BERT模型的配置类....
2020-04-06 15:52:10
4263
2

原创 Bert模型详解和训练实例
前面已经介绍了transformer,理解了transformer,那么理解bert就简单多了。对transformer不是很了解的可以跳转到https://blog.youkuaiyun.com/one_super_dreamer/article/details/105181690Bert简介BERT来自Google的论文Pre-training of Deep Bidirectional Tran...
2020-03-30 20:03:04
27533
24

原创 深度学习在NLP领域的发展之Transformer
本文出自http://fancyerii.github.io/2019/03/09/transformer-illustrated/学习笔记,大家可以前去阅读。博主写的挺好的。简介Transformer模型来自论文Attention Is All You Need。这个模型最初是为了提高机器翻译的效率,它的Self-Attention机制和Position Encoding可以替代RNN。...
2020-03-29 20:11:28
3856

原创 C++中继承和派生详解(公有、私有、保护继承的区别)
继承和派生概述: 继承和派生是同一个过程从不同角的度看 保持已有类的特性而构造新类的过程称为继承。 在已有类的基础上新增自己的特性而产生新类的过程称为派生。 被继承的已有类称为基类(或父类)。 派生出的新类称为派生类(或子类)。 直接参与派生出某类的基类称为直接基类。 基类的基类甚至更高层的基类称为间接基类。 ...
2018-08-12 21:41:12
17304
6
原创 QA机器人
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、问答机器人的实现逻辑1.1 对问题的处理1.2 问题的召回1.3 问题的排序二、QA机器人的召回1.对现有问答对的准备2.把问题转化为向量3.计算相似度3.1 pysparnn的介绍3.2 使用pysparnn完成召回的过程3.3 pysparnn的原理介绍4. 召回过程优化4.1 通过BM25算法替代TFIDF4.2 BM25算法的实现4.3 使用Fasttext实现获取句子向量4.4 训练模型和封装代码总结前言提示
2021-09-14 17:02:57
1307
1
原创 BeamSearch的原理和实现
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录目标一、Beam Search的介绍二、Beam search的实现2.1.数据结构-堆-的认识2.2. 使用堆来实现beam search目标1.知道beam search的概念和原理2. 能够在代码中使用Beam search完成预测过程提示:以下是本篇文章正文内容,下面案例可供参考一、Beam Search的介绍在进行模型评估的过程中,每次我们选择概率最大的token id作为输出,那么整个输出的句子的概率就是
2021-09-07 10:40:06
2866
原创 Attention的原理和实现
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、准备训练数据二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、准备训练数据单轮次的聊天数据非常不好获取,所以这里我们从github上使用一些开放的数据集来训练我们的闲聊模型。数据地址:https://gith
2021-09-06 14:58:13
1333
原创 Seq2Seq模型
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、Seq2Seq模型1、Seq2Seq的介绍2、Seq2Seq模型的实现2.1、实现流程2.2、文本转化为序列、准备Dataloader二、模型的搭建1.准备编码器2. 准备解码器3. seq2seq模型搭建、训练和保存三、整体流程前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正
2021-08-31 17:26:49
2101
原创 fastText模型
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录目标一、fastText的模型架构1. N-gram的理解1.1 bag of word2. fastTex模型中层次化的softmax2.1 哈夫曼树和哈夫曼编码2.1.1 哈夫曼树的定义2.1.2 哈夫曼树的相关概念2.1.3 哈夫曼树的构造算法2.1.3 哈夫曼树编码2.1.4 梯度计算3. 负采样目标1. 能够说出fastText的架构2. 能够说出fastText速度快的原因3. 能够说出fastText中层次化
2021-08-28 10:25:46
3038
1
原创 聊天机器人项目
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录目标一、流程介绍1.项目流程和环境的安装2.闲聊模型2. 问答模型3. fasttext安装4. pysparnn 安装二、语料准备1. 分词词典1.1 词典处理1.2 对多个词典文件内容进行合并2. 准备停用词2.1 停用词的准备2.2 停用词的准备3. 语料准备4. 文本分词三、意图识别和文本分类1. 机器学习中的常见的分类方法2. 深度学习实现文本分类四、fastText实现文本分类1. fastText的介绍2. 安装和基本
2021-08-27 11:16:43
1203
1
原创 走进聊天机器人
学习目标1.知道常见的bot分类2. 知道企业中常用的流程和方法文章目录学习目标前言1. 目前企业中常用的聊天机器人2.常见的聊天机器人怎么实现的2.1 问答机器人的常见实现手段2.2任务机器人的常见实现手段2.3闲聊机器人的常见实现手段3.企业中的聊天机器人是如何实现的3.1阿里小蜜-电商智能助理是如何实现的3.1.1 主要交互过程3.1.2技术架构3.1.3 检索模型流程(小蜜还用了其他的模型,这里以此为例)3.2 58同城智能客服帮帮如何实现的3.2.1 客服体系3.2.2 58智能客服整体
2021-08-25 15:32:36
470
原创 pytorch序列化容器
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录目标一、梯度消失和梯度爆炸1.1 梯度消失1.2 梯度爆炸1.3 接近梯度消失或者梯度爆炸的经验二、nn.Sequential三、nn.BatchNorm1d四、nn.Dropout目标1. 知道梯度消失和梯度爆炸的原理和解决方法2. 能够使用nn.Sequential完后才能模型的搭建3. 知道nn.BatchNormld的使用方法4. 知道nn.Dropout的使用方法一、梯度消失和梯度爆炸在使用pytorch
2021-08-25 10:47:42
368
原创 LSTM api的介绍
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录目标一、LSTM介绍二、LSTM使用实例GRU API2.双向LSTM3. LSTM和GRU的使用注意点4. 使用LSTM完成文本情感分类目标1. 知道LSTM和GRU的使用方法及输入输出格式2. 能够应用LSTM和GRU实现文本情感分类提示:以下是本篇文章正文内容,下面案例可供参考一、LSTM介绍LSTM和GRU都是由torch.nn提供,通过观察文档,可知LSTM的参数:torch.nn.LSTM(input_
2021-08-21 17:33:09
771
原创 文本情感分类
1.知道文本处理的基本方法2.能够使用数据实现情感分类文章目录一、案例介绍二、思路分析1.准备数据集2.读入数据文本序列化(word2sequence)模型搭建总结一、案例介绍现在我们有一个经典的数据集IMDB数据集,地址http://ai.stanford.edu/~amaas/data/sentiment/:,这是一份包含了5万条流行电影的评论数据,其中训练集25000条,测试集25000条,数据格式如下:下边左边为名称,其中名称包含两部分,分别是序号和情感评分(1-4位neg,5-10
2021-08-21 15:52:51
505
原创 RNN、LSTM、GRU
文章目录目标一、循环神经网络的介绍二、LSTM和GRU2.1 LSTM的基础介绍2.2 LSTM的核心2.3 LSTM中门结构2.3.1 遗忘门2.3.2 输入门2.3.3 输出门2.4 GRU,LSTM的变形2.5 双向LSTM目标1. 能够说出循环神经网络的概念和作用2. 能够说出循环神经网络的类型和应用场景3. 能够说出LSTM的作用和原理4. 能够说出GRU的作用和原理提示:以下是本篇文章正文内容,下面案例可供参考一、循环神经网络的介绍为什么有了神经网络还需要循环神经网络?在普
2021-08-20 15:43:36
500
转载 常用激活函数比较
文章目录一、什么是激活函数二、为什么要用二、有哪些激活函数1.sigmoid函数2.Tanh函数3.ReLU函数4. softmax函数5.sigmoid ,ReLU, softmax 的比较6. 如何选择原文链接:https://www.jianshu.com/p/22d9720dbf1a一、什么是激活函数如下图,在神经元中,输入的 inputs 通过加权,求和后,还被作用了一个函数,这个函数就是激活函数 Activation Function。二、为什么要用如果不用激励函数,每一层输出都
2021-08-18 17:23:23
1406
原创 自然语言处理
文章目录前言一、文本的tokenization1.1 概念和工具的介绍1.2 中英文分词的方法二、N-gram表示方法三、向量化1.one-hot编码2.word embedding3. word embedding API3.数据的形状变化前言1. 知道token和tokenization2.知道N-gram的概念和作用3.知道文本向量化表示的方法本文内容是视频学习内容,不喜勿喷一、文本的tokenization1.1 概念和工具的介绍tokenization是通常所说的分词,分出的每.
2021-08-17 16:34:53
501
原创 Pytorch实现手写数字识别
1、流程分析准备数据,需要准备DataLoader构建模型,可以使用torch构造一个深层的神经网络模型的训练模型的保存模型的评估2、准备数据集和测试集使用torch中自带的MNIST数据集,调用MNIST返回的结果中图形数据是一个Image对象,需要对其进行处理,为了进行数据的处理,接下来学习torchvision.transforms的方法2.1、torchvision.transforms的图形数据处理方法torchvision.transforms.ToTensor把一个取值
2021-08-17 11:27:24
545
原创 Pytorch中的数据加载
1. 模型中使用数据加载器的目的在深度学习中,数据量通常是非常大的,不能一次性的在模型中进行向前的计算和反向传播,经常我们会对整个数据进行随机的打乱顺序,把数据处理成一个个batch,同时还会对数据进行预处理。2. 数据集类2.1 Dataset基类介绍在torch中提供了数据集的基类torch.utils.data.Dataset,继承这个基类,我们就能够非常快速的实现对数据的加载。torch.utils.data.Dataset的源码如下:可知:我们需要再自定义的数据集类中集成Dataset
2021-08-15 16:40:23
220
原创 常见的优化算法
1. 常见的优化算法1.1 梯度下降算法(batch gradient descent BGD)每次迭代都需要把所有样本都送入,这样的好处是每次迭代都顾及了全部的样本,做的是全局最优化。缺点:要放入全部样本,速度慢1.2 随机梯度下降(Stochastic gradient descent SGD)针对梯度下降算法训练速度过慢的缺点,随机梯度下降是从样本中随机抽出一组,训练后按梯度更新一次,然后再抽取一组,再更新一次,在样本量极其大的情况下,可能不用训练完所有的样本就可以获得一个损失值在可接受范围
2021-08-15 10:28:38
7578
原创 Pytorch完成线性回归
1.向前计算对于pytorch中的一个tensor,如果设置它的属性.requires_grad为True,那么它将会追踪对于该张量的所有操作,或者可以理解为,这个tensor是一个参数,后续会被计算梯度,更新该参数。1.1计算过程假设有一下条件(1/4表示平均值,Xi中有4个数),使用torch完成其向前计算的过程如果x为参数,需要对其进行梯度的计算和更新。那么,在最开始随机设置x的值的过程中,需要设置它的requires_grad属性值为True,其默认值为False。从上述代码可以看出:
2021-08-14 17:27:16
386
原创 梯度和反向传播
梯度是什么?梯度:是一个向量,指的是学习(参数更新)的方向计算图和反向传播计算图:通过图的方式来描述函数的图形J(a,b,c)=3(a+bc)J(a,b,c)=3(a+bc)J(a,b,c)=3(a+bc),令u=a+v,v=bcu=a+v,v=bcu=a+v,v=bc,把它绘制成计算图可以表示为:之后对每个节点求偏导有:神经网络的反向传播神经网络的示意图w1,w2,......wnw1,w2,......wnw1,w2,......wn表示第n层权重wn[i,j]wn[i,j]wn[
2021-08-12 17:03:10
1393
原创 Pytorch基本操作
本文只是学习做的笔记,不喜忽喷。Pytorch的安装安装地址介绍:https://pytorch.org/带GPU的安装:conda install pytorch torchvision torchaudio cudatoolkit=10.2 -c pytorch不带GPU的安装conda install pytorch torchvision torchaudio cpuonly -c pytorch安装之后在ipython中验证import torchtorch.__versio
2021-08-11 11:40:59
226
原创 深度学习与人工神经网络的介绍
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
2021-08-10 15:41:48
5537
转载 Sklearn fit , transform ,fit_transform
一、关于sklearn fit 和transformsklearn里的封装好的各种算法使用前都要fit;fit之后,可以调用各种API方法,transform是其中一个API;fit原义指的是安装、使适合的意思,有点train的含义,但是和train不同的是,它并不是一个训练的过程,而是一个适配的过程,过程都是确定的,最后得到一个可用于转换的有价值的信息。(目前可以简单理解为:fit获取了关于数据的有效信息,transform利用fit提供的有效信息进行特征转换)二、fit、transfor
2021-07-29 10:38:59
1299
原创 python实现列表的排列和组合
求解列表中元素的排列和组合问题这个问题之前就遇到过几次没有太留意,最近在做题的时候遇上挺多的排列组合问题的,想来有必要温习一下了,今天花点时间写一下,之前都是手工写的,后来知道可以直接使用python的内置模块就可以完成这个工作了,今天就使用python的itertools模块来完成这个工作,一共解决四个问题:1.生成排列,列表中元素不允许重复出现2.生成排列,列表中元素可以重复出现3.生成组合,不限元素个数,列表中元素不允许重复出现4.生成组合,不限元素个数,列表中元素可以重复出现f
2021-06-02 20:57:37
1360
原创 个人申请专利指导
本文参考https://zhuanlan.zhihu.com/p/105472549。后面加了一些自己采坑的解决方法。专利包括外观专利、实用新型专利和发明专利,三者授权难度是依从递增的,固三者的申请流程的复杂程度和对申请材料的要求程度也是依次递增的。工作过程中,很多朋友需要申请专利,但由于一般个人申请的专利数量比较少,很多都是只申请一个专利,没必要为此去专利事务所,但自行申请又不清楚具体的流程;固本人总结了这篇教程,希望能够帮到有需要的朋友。下面我就手把手教大家申请专利,这可能是全网最详细的专利
2020-10-05 21:27:09
1812
1
原创 eclipse导入github项目(踩多个坑后发现这个最实用)
将git上的一些项目,导入到本地eclipse中学习使用,大概分为几步: 首先需要注册github账号 找到需要导入的git项目url 根据项目类型进行转换(web、maven 等等)具体流程如下所示:找到需要导入的github项目url导入eclipse在eclipse中右键import或者点击左上角的file->import导入然后选择第二项clone URI输入github上的项目URL,以及注册的用户名、密码NEXT-NEXT-选择项...
2020-06-22 16:58:29
5982
2
原创 训练深度学习模型的小技巧
本文是B站李宏毅老师机器学习学习笔记。我们说的Deep Learning的三个步骤如下,但是模型在训练集和测试集上得到的结果不一定太好,如果是在训练集上得到的结果不理想,那么就是最后一步选择模型的时候出现问题;如果在训练集上良好,在测试集上结果不好,那就属于过拟合。Recipe of Deep Learning针对不同时间段出现问题的解决方法。训练集上结果不好的解决方法 换一个新的激活函数 梯度消失问题(Vanishing Gradient)当把网络结构构建的比较深的时
2020-05-16 18:03:35
703
原创 卷积神经网络(CNN)介绍
本文是B站李宏毅老师机器学习学习笔记一个网络结构想要看图片中有没有出现某一个图案,不需要看整张图片,只需要看图片的一小部分就可以决定。CNN的整体架构在Convolution中有很多Filter,每一个Filter都是一个矩阵,矩阵的大小是自己设计出来的,数组里面的数值都是学出来的。Convolution(卷积)假设现在有一个6x6像素的图片,Filter的大小是3x3。先将右上角的Filter放在6x6矩阵的左上角,然后对应元素相乘得3,然后向右移动,移动的大小由.
2020-05-13 21:10:37
653
原创 反向传播算法(BP)学习笔记
本文是学习B站李宏毅老师视频的心得,想看视频可以移步到b站。反向传播(Backpropagation)先介绍几个微分中复合函数的例子L是Loss Function,它是若干个L 的加和,若想要计算L的偏微分,则只需要先计算每一个l对w的偏微分,然后再加起来即可。两层网络之间的传输中,输入是x1和x2,经过一系列运算得到y1和y2。L对权重的偏微分可以表示如下得到的结论是:z对w的偏微分是输入值。Forward pass下面对上述结论举个例子。Bac..
2020-05-11 17:18:28
469
原创 逻辑回归(Logistic Regression)学习笔记
本文是b站上李宏毅老师课程的学习笔记,想看视频的同学可去b站直接搜索。逻辑回归(Logistic Regression) 逻辑回归模型如下 寻找最好的模型 假设现在有两个类别C1和C2,则对以下的训练集进行分类,可以得到的结果如下。其中x3属于C2,则X3的概率为1减去它属于C1的概率,因为f(x)计算的是属于C1的概率。能够使得概率最大化的参数是W*和b*。上图最后的式子取对数后,找概率最大时的参数,就是取反后找概率最小时的参数。我们在此设置当训...
2020-05-09 21:02:37
475
原创 NLP中GLUE数据集下载
最近在学习bert,想下载一些数据集练练手,官网给出GLUE的数据集需要翻墙下载。翻阅多个博客后发现了一下下载路径。其中一个路径是https://blog.youkuaiyun.com/Light2077/article/details/104561960这个博客,里面博主给出了百度云的连接。还有一种方式就是下面的方式,可以下载对应任务的数据集。内容来自https://www.cnblogs.co...
2020-03-21 17:37:45
3002
1
原创 numpy无法导入的问题--ModuleNotFoundError: No module named 'numpy'总结
在安装tensorflow或keras使用numpy时出现这个问题,在网上找了好多个网站,发现大部分都是说版本问题,所以大家可以多尝试一些版本。大家看可以在https://docs.floydhub.com/guides/environments/查看tensorflow和keras的兼容版本第一种情况指定版本安装是:pip3 install numpy==1.16.1第二种...
2020-03-02 15:29:34
2805
原创 深度学习在NLP领域的发展(一)
DeepLearning在NLP领域的发展 三个阶段: Word Embedding Word2Vec GloVe RNN改进和扩展 LSTM/GRU Seq2Seq Attention/Self-Attention ContextualWordEmbedding E...
2020-02-29 18:45:54
983
1
原创 module 'tensorflow.python.keras.backend' has no attribute 'get_graph'
再导入Keras时出现>>> import kerasUsing TensorFlow backend.Traceback (most recent call last): File "<stdin>", line 1, in <module> File "E:\program\Anaconda\Anaconda3\envs\tfgpue...
2020-02-27 19:02:27
644
原创 解决DEFINE_string("result_path", "result", "Path for results") NameError:name 'os' is not defined
解决flags.DEFINE_string("result_path", "result", "Path for results") NameError: name 'os' is not defined方法一:这种问题的原因网上有人说是编码问题,解决方法如下:NameError: name 'os' is not defined 这个我在几个py文件的首行加入# -- ...
2020-02-21 14:31:56
5328
3
转载 警告:Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
问题:安装TensorFlow(CPU版本),使用pip install tensorflow安装,安装一切顺利,但是在跑一个简单的程序时,遇到如下情况:大概意思是:你的CPU支持AVX扩展,但是你安装的TensorFlow版本无法编译使用。原因:除了通常的算术和逻辑,现代CPU提供了许多低级指令,称为扩展,例如, SSE2,SSE4,AVX等来自维基百科:高级矢量扩展(A...
2020-02-19 11:46:06
275
转载 更换pip下载源
原文链接:https://blog.youkuaiyun.com/qq_31443999/article/details/88750833win10安装TensorFlow卡崩更改为国内清华大学镜像源,即可。具体做法在c:\user(或者用户)\电脑的用户名\,目录下创建一个命名为“pip”的文件夹(如:C:\Users\Administrator\pip),在该文件夹下创建一个命名为“pip.i...
2020-02-18 10:02:42
577
原创 深度自动编码器(Deep Auto-encoder)
深度自动编码器(Deep Auto-encoder)本文是学习B站上李宏毅老师的机器学习笔记。Auto-encoder它做的事情和PCA、t-SNE一样,都是要降维。只是这里用网络结构来降维,降维的网络被称为Encoder,这个Encoder就是很多个隐层网络的网络结构,输入一张图片后会输出降维以后的结果。这个结果比PCA的结果复杂是因为它不是一个线性的东西。通用有一个Decode...
2020-02-06 16:54:36
12209
4
GLUE任务中MRPC任务数据集.zip
2020-03-23
java+实现的多元线性回归分析.doc
2020-01-01
数据库银行信贷管理系统
2017-01-04
银行信贷管理系统
2017-01-04
JavaScript大实验
2016-12-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人