deepLearning
fly_Xiaoma
技术分享,技术学习
展开
-
理解LSTM和GRU
目录1.LSTM网络1.1 细胞状态(cell state)1.2 遗忘门(forget gate)1.3 输入门(input gate)1.4 输出门(output gate)2. LSTM的变种GRU1.LSTM网络长短期记忆网络(Long Short Term Memory networks)-通常叫做LSTMs----是RNN中一个特殊的类型。设计LS...原创 2020-03-14 02:02:47 · 768 阅读 · 0 评论 -
浅谈模型压缩
有一个做深度学习模型部署的同学曾经提到过他目前的方向主要是模型压缩,就是对于部署在app上的模型在不影响性能的前提下如何减小模型的体量,我也会经常用Bert等transformer架构的模型,体量过大也是缺点,所以才有了后面的ALBert模型,这里对模型压缩的内容提前了解下,以免后面的工作会用到。目录1. 模型压缩的意义2. 模型压缩相关技术2.1 低秩分解2.2 剪枝2....原创 2020-03-13 13:16:24 · 8479 阅读 · 0 评论 -
理解Transformer架构 .02
通过提问题的方式,学习一下Bert中的Transformer架构,其中这篇文章与《理解Transformer架构 .01》的内容互为补充:目录1. Transformer的结构是什么样?1.1 encoder端与decoder端总览1.2 encoder端各个子模块1.2.1 多头 self-attention 模块1.2.2 前馈神经网络层1.3 decoder端各...原创 2020-03-13 12:07:57 · 1154 阅读 · 0 评论 -
理解Transformer架构 .01
本文参考自知乎专栏:https://zhuanlan.zhihu.com/p/54356280,并结合自己的一些理解记录下来方便以后查看。目录1. Transformer架构2. 编码器3. 解码器4. Transformer中的张量5. 编码过程5.1 从宏观上看自注意力机制5.2 从微观上看自注意力机制的计算步骤5.3 自注意力的矩阵运算6. Tran...原创 2020-03-12 20:56:20 · 1569 阅读 · 0 评论 -
从语言模型Bert来理解NLP
总结下Bert,从头到尾读完应该会有一个全新的理解。1. Bert的基本原理Bert的参考论文《Pre-training of Deep Bidirectional Transformers for Language Understanding》,Bert是“Bidirectional Encoder Representations from Transformers”的首字母缩写,整体是...原创 2020-03-09 19:50:51 · 1962 阅读 · 0 评论 -
NLP面试题总结.01
对自己复盘的NLP做个总结:1. 什么perplexity?它在NLP中的地位是什么?perplexity是一种表达模型在预测中出现的混乱程度的方法。熵越大=越混乱。使用perplexity来评估NLP中的语言模型。一个好的语言模型会给正确的预测赋予更高的概率。2. ReLu的问题是什么?梯度爆炸(通过梯度裁剪来解决) 死亡ReLu----激活为0时不进行学习(通过加参数的ReL...原创 2020-03-07 06:36:15 · 1650 阅读 · 0 评论 -
动态调整模型中的学习率
调整模型中学习率的方法主要有:一种是修改optimizer.param_groups中对应的学习率 另一种是新建优化器注意:由于optimizer十分轻量级,构建开销很小,故可以构建新的optimizer。但新建优化器会重新初始化动量等状态信息,这对使用动量的优化器来说(如带momentum的sgd),可能会造成损失函数在收敛过程中出现震荡。首先我们建立一个LeNet网络:imp...原创 2020-03-05 16:57:01 · 1565 阅读 · 0 评论 -
语言模型ELMO
2019年8月份参加达观杯信息抽取比赛时,研究过ELMO并取得第100名的成绩,最近又读到了ELMO的文章,对ELMO详细的回顾了一下并做个总结。1.什么是ELMOELMO是"Embedding from Language Model"的简称,直接参考的论文是《Deep Contextualized Word Representation》。在ELMO之前,word embedding 本...原创 2020-03-03 02:15:45 · 978 阅读 · 0 评论 -
模型训练中巧用CV
1.分层KFoldimport numpy as npfrom sklearn.model_selection import StratifiedKFoldX=np.array([[1,2,3,4], [11,12,13,14], [21,22,23,24], [31,32,33,34], [...原创 2019-12-19 19:01:29 · 369 阅读 · 0 评论 -
深度学习CTR模型演化图谱
本文总结了广告、推荐领域最为流行的 10 个深度学习 CTR 模型的结构特点,构建了它们之间的演化图谱。选择模型的标准尽量遵循下面三个原则:1、模型的在业界影响力较大的;2、已经被 Google、微软、阿里等知名互联网公司成功应用的;3、工程导向的,而不是仅用实验数据验证或学术创新用的。下面首先列出这张深度学习 CTR 模型的演化图谱,再对其进行逐一介绍:一、微软 Deep...原创 2019-10-22 10:28:13 · 920 阅读 · 0 评论 -
使用Glove对词进行向量化表示
#%% md# GloVe: 全局向量 #%%# 这些都是我们稍后将要使用的模块.在继续操作之前,请确保可以导入它们%matplotlib inlinefrom __future__ import print_functionimport collectionsimport mathimport numpy as npimport osimport randomimp...原创 2019-10-02 12:40:06 · 1476 阅读 · 3 评论 -
OutOfRangeError (see above for traceback): Read less bytes than requested
Pycharm远程调用服务器时,中间网络中断过一段时间,后来在运行程序会报这个错误。一开始以为是哪一部分代码写错了,耗费 了好几个小时,后来参考别人的错误发现:pycharm同步ckpt文件时,如果中断过,后面每次pycharm自动同步的时候,会使ckpt文件残缺,即使是init_checkpoint的时候也会使初始加载的模型数据残缺目前有两种解决方法:对于在初始化模型时中断的情况,建议...原创 2019-09-29 19:02:28 · 1815 阅读 · 3 评论 -
Tensorflow报错:TensorArray has size zero,but element shape [?,300] is not fully defined
报错:tensorflow.python.framework.errors_impl.UnimplementedError: 2 root error(s) found. (0) Unimplemented: TensorArray has size zero, but element shape [?,300] is not fully defined. Currently only s...原创 2019-09-19 14:46:41 · 3015 阅读 · 0 评论 -
从Word Embedding到Bert模型---NLP中预训练发展史
本文转自张俊林老师,希望加深记忆及理解。本文的主题是自然语言处理中的预训练过程,会大致说下NLP中的预训练技术是一步一步如何发展到Bert模型的,从中可以很自然地看到Bert的思路是如何逐渐形成的,Bert的历史沿革是什么,继承了什么,创新了什么,为什么效果那么好,主要原因是什么,以及为何说模型创新不算太大,为何说Bert是近年来NLP重大进展的集大成者。我们一步一步来讲,而串起来这个故事的脉...转载 2019-08-30 14:33:46 · 311 阅读 · 0 评论 -
XLNet运行机制、与Bert的比较
本文是转自张俊林老师的博客,方便加深记忆及理解。那么XLNet和Bert比,有什么异同?有什么模型方面的改进?在哪些场景下特别有效?原因又是什么?本文通过论文思想解读及实验结果分析,试图回答上述问题。首先,XLNet引入了自回归语言模型以及自编码语言模型的提法,这个思维框架我觉得挺好的,可以先简单说明下。自回归语言模型(Autoregressive LM)在ELMO/BERT出来之...转载 2019-08-30 13:55:55 · 463 阅读 · 0 评论 -
使用yaml配置文件
yaml:yet another markup language,另一种标记语言,专门用来写配置文件,类似于json格式。语法大小写敏感 使用缩进表示层级关系 缩进时不允许使用Tab键,只允许使用空格 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可 # 表示注释,从这个字符一直到行尾,都会被解析器忽略数据结构:对象:键值对的集合,又称为映射/哈希/字典 数组:一组...原创 2019-08-27 10:36:35 · 3583 阅读 · 0 评论 -
CTR预估中的WideAndDeep模型
目录CTR预估系统的工作流程为:以Google APP store为例,预测用户点击或者下载或者购买其中一个APP的概率。Retrival:Ranking:WideAndDeep模型:Wide部分(线性模型,常用LR):Deep部分(DNN):模型训练部分:使用范围:缺点:CTR预估系统的工作流程为: 大致分为两步:...原创 2019-04-11 20:52:24 · 871 阅读 · 0 评论 -
CTR预估中的DeepFM(深度分解机)模型
从文献中能够了解到DeepFM模型要优于WideAndDeep模型。1.DeepFM算法的提出DeepFM算法有效的结合了因子分解机与神经网络在特征学习中的优点;同时,提取到了低阶特征组合和高阶特征组合,特别是FM部分,它能够处理高维的稀疏特征(one-hot编码),我想这是它优于WideAndDeep中的Wide部分一个原因。在DeepFM中,FM算法负责对一阶特征以及由一阶特征两两...原创 2019-04-11 21:32:53 · 749 阅读 · 0 评论 -
推荐系统召回四模型之:全能的FM模型
原文地址:https://zhuanlan.zhihu.com/p/58160982?utm_source=ZHShareTargetIDMore&utm_medium=social&utm_oi=40535670652928既然你点开这篇文章了,我假设你是在某司做推荐系统的算法工程师。这个假设的正确率我估计大约在20%左右,因为根据我的经验,80%的算法工程师是很博爱的...转载 2019-04-25 20:01:16 · 3241 阅读 · 0 评论 -
深入理解CNN--这一篇就够了
原文:https://blog.csdn.net/v_JULY_v/article/details/51812459目录2 人工神经网络2.1 神经元2.2 激活函数3 卷积神经网络之层级结构4 CNN之卷积计算层4.1 CNN怎么进行识别4.2 什么是卷积4.3 图像上的卷积4.4 GIF动态卷积图5 CNN之激励层与池化层5.1 ReLU激励层...转载 2019-05-14 12:57:18 · 18204 阅读 · 17 评论 -
Keras框架实现Minist手写数字识别
思路:通过构建一个三层的CNN网络,实现数字识别。(图像处理问题)#导入各种用到的模块组件from __future__ import absolute_importfrom __future__ import print_functionfrom keras.preprocessing.image import ImageDataGeneratorfrom keras.models...原创 2019-05-26 20:18:24 · 1087 阅读 · 0 评论 -
pytorch中特殊的Module--Sqeuential的三种实现方式
# -*- coding: utf-8 -*-#@Time :2019/7/1 13:34#@Author :XiaoMaimport torch as tfrom torch import nn#Sequential的三种写法net1=nn.Sequential()net1.add_module('conv',nn.Conv2d(3,3,3)) #Conv2D(输...原创 2019-07-01 21:56:09 · 357 阅读 · 0 评论 -
反向传播梯度的计算
适用pytorch中Variable()函数中的backward()自动计算梯度 手动实现梯度计算(缺点:计算网络复杂时容易出错,难以检查)# -*- coding: utf-8 -*-#@Time :2019/6/29 18:36#@Author :XiaoMaimport torch as tfrom torch.autograd import Variable as V...原创 2019-06-29 18:55:04 · 2558 阅读 · 0 评论 -
pytorch中nn.functional()学习总结
nn.functional是一个很常用的模块,nn中的大多数layer在functional中都有一个与之对应的函数。nn.functional中的函数与nn.Module()的区别是:nn.Module实现的层(layer)是一个特殊的类,都是由class Layer(nn.Module)定义,会自动提取可学习的参数 nn.functional中的函数更像是纯函数,由def functio...原创 2019-08-19 16:17:58 · 16017 阅读 · 0 评论 -
pytorch搭建神经网络
# -*- coding: utf-8 -*-#@Time :2019/6/30 21:07#@Author :XiaoMaimport torch as tfrom torch import nnfrom torch.autograd import Variable as V#全连接网络class Linear(nn.Module): def __init__...原创 2019-06-30 21:52:25 · 179 阅读 · 0 评论 -
pytorch中的Embedding
词向量(Word Vector),又称为词嵌入(Word Embedding),它是把一个维数为所有词的数量的高维空间嵌入到一个维数低得多的连续向量空间(通常是128维或256维)中,每个词或词组被映射为实数域上的向量。pytorch中,针对词向量有一个专门的层nn.Embedding,用来实现词与词向量的映射。nn.Embedding具有一个权重,形状是(num_embeddings,emb...原创 2019-07-07 12:41:50 · 23001 阅读 · 9 评论 -
通过MNIST数据集构建网络模型
# -*- coding: utf-8 -*-#@Time :2019/8/18 21:07#@Author :XiaoMaimport structimport gzipimport osfrom six.moves.urllib.request import urlretrieveimport numpy as npimport tensorflow as tfd...原创 2019-08-18 23:16:06 · 664 阅读 · 0 评论 -
使用CBOW构建网络模型
# 这些都是我们稍后将要使用的模块.在继续操作之前,请确保可以导入它们%matplotlib inlineimport collectionsimport mathimport numpy as npimport osimport randomimport tensorflow as tfimport bz2from matplotlib import pylabfrom s...原创 2019-08-20 00:34:04 · 729 阅读 · 1 评论 -
代码实现逻辑与、或的感知器
感知器(有些成为感知机)属于一种简单的神经元,在神经网络中通常感知机与神经元的区别就是激活函数的不同,一般常用的激活函数是sigmoid函数,感知机中为step function(阶跃函数)给出一组矩阵,利用神经网络的反向传播功能(BP)来训练一种能够实现逻辑与、或的感知器(最重要的是训练权重w和偏置b)import numpy as npsamples_and = [ [0,...原创 2019-02-12 19:56:53 · 4444 阅读 · 0 评论