深度学习
姬香
人生到处知何似,应似飞鸿踏雪泥
展开
-
源码分析:《Topic-to-Essay Generation with Neural Networks》
1.阅读配置参数的 Config.py 文件完整代码如下:#coding:utf-8class Config(object): data_dir = 'Data/' vec_file = 'Data/vec.txt' init_scale = 0.04 learning_rate = 0.001 max_grad_norm = 10 #梯度剪裁...原创 2019-11-12 02:45:10 · 785 阅读 · 1 评论 -
Transformer:Pytorch版本的源码解析
代码来源:http://nlp.seas.harvard.edu/2018/04/03/attention.html1. 首先加载包:import numpy as npimport torchimport torch.nn as nnimport torch.nn.functional as Fimport math, copy, timefrom torch.autogra...原创 2019-09-05 00:09:54 · 5812 阅读 · 2 评论 -
实现Word2Vec模型(Skip-Gram):TensorFlow版本
1. 数据预处理文本分词、替换文本中特殊符号、去除低频词(Counter 计数器,统计字符出现的个数)、单词映射表# 筛选低频词words_count = Counter(words)words = [w for w in words if words_count[w] > 50]# 构建映射表vocab = set(words)vocab_to_int = {w: c ...原创 2019-09-05 00:09:09 · 710 阅读 · 0 评论 -
Batch Normalization原理
Internal Covariate ShiftInternal Covariate Shift 问题:训练过程中,由于深层网络中参数变化,引起内部结点数据分布发生变化。而ICS使得后层网络不断调整以适应输入数据分布的变化,导致学习率的降低;并且ICS使得网络训练容易陷入梯度饱和区,减缓收敛速度。为了减缓ICS问题,可以固定每一层网络输入值的分布,具体方法为白化、BN。白化白化(W...原创 2019-08-12 22:38:04 · 223 阅读 · 0 评论 -
Encoder-Decoder架构与注意力机制
Encoder-Decoder架构模型,如下图:Encoder会利用整个原始句子生成一个语义向量,Decoder再利用这个向量翻译成其它语言的句子。这样可以把握整个句子的意思、句法结构、性别信息等等。Encoder对X 进行非线性变换得到中间语义向量c :Decoder根据语义c 和生成的历史单词来生成第个单词 :Encoder和Decoder具体使用什么模型,都可以自己...原创 2019-07-14 00:08:15 · 7923 阅读 · 0 评论 -
从n-gram到Bert聊一聊词向量:神经概率语言模型
神经网络语言模型NNLM:论文:Bengio, Yoshua, et al. "A neural probabilistic language model." http://jmlr.org/papers/volume3/bengio03a/bengio03a.pdf目标是学一个好的模型 ,分解函数为两个部分:一是V中任何元素i到实数向量的映射C,C表示与词汇表中的每个单词相关联的分...原创 2019-07-16 17:25:23 · 944 阅读 · 0 评论 -
配置tensorflow-gpu
首先需要卸载运行环境安装的tensorflow-cpu:pip uninstalltensorflowconda remove tensorflow检查运行环境的cuda,注意不是系统默认的python环境:查询当前环境下的库的版本号可使用以下命令:conda list cudnnconda list cudaconda list tensorflow以下两行命令...原创 2019-07-07 12:09:14 · 113 阅读 · 0 评论 -
seq2seq 源码分析(PyTorch版)
torch.__version__版本为-1.1.01.首先引入包,定义 填充符 PAD_token、开始符 SOS_token 、结束符 EOS_token# 在开头加上from __future__ import print_function这句之后,如果你的python版本是python2.X,你也得按照python3.X那样使用这些函数。# Python提供了__futu...原创 2019-07-11 21:32:02 · 2165 阅读 · 1 评论 -
从n-gram到Bert聊一聊词向量(一):n-gram
一元语法二元语法对于一个句子,近似认为一个词的概率只依赖于它前面的1个词。即一个状态只跟上一个状态有关,也称为一阶马尔科夫链。假设 表示二元语法在给定文本中的出现次数,三元语法n元语法认为一个词出现的概率和它前面的n个词有关系,一般取n=2或者n=3。其概率计算公式为如下:对于n>2的n元语法模型,条件概率要考虑前面n−1个词的概率,设wji表...原创 2019-03-20 14:38:33 · 1556 阅读 · 0 评论 -
激活函数的性质、表达式及其优劣:Sigmoid -> Tanh -> ReLU -> Leaky ReLU 、PReLU、RReLU 、ELUs-> Maxout
激活函数的性质1. 非线性:即导数不是常数。保证多层网络不退化成单层线性网络。这也是激活函数的意义所在。2. 可微性:可微性保证了在优化中梯度的可计算性。传统的激活函数如sigmoid等满足处处可微。对于分段线性函数比如ReLU,只满足几乎处处可微(即仅在有限个点处不可微)。对于SGD算法来说,由于几乎不可能收敛到梯度接近零的位置,有限的不可微点对于优化结果不会有很大影响。3. 计算简...原创 2019-07-11 19:59:37 · 7512 阅读 · 0 评论 -
熵,联合熵,条件熵,互信息,相对熵(KL散度),交叉熵的理解
熵熵:可以表示一个事件A的自信息量,也就是A包含的所有信息量。联合熵两个随机变量X,Y的联合分布,可以形成联合熵Joint Entropy,用H(X,Y)表示。边缘分布p(x)等于联合分布p(x,y)的和,可得:条件熵条件熵的定义,有:H(Y|X)=H(X,Y)-H(X)互信息用I(X,Y)表示:两个随机变量X,Y的互信息定义为X,Y的联合分布和各自独立分布...原创 2019-07-05 17:46:43 · 1078 阅读 · 0 评论 -
softmax函数的原理
softmax用于多分类过程中,它将多个神经元的输出,映射到(0,1)区间内。假设我们有一个数组,V,Vi表示V中的第i个元素,那么这个元素的softmax值:如下图表示:softmax直白来说就是将原来输出是3,1,-3通过softmax函数一作用,就映射成为(0,1)的值。我们就可以选取概率最大(也就是值对应最大的)结点,作为我们的预测目标。当我们对分类的Loss进行改进的...原创 2019-07-05 15:31:38 · 3639 阅读 · 0 评论 -
TensorFlow 源码学习(一)
前段时间,我突然有了一个想法,“框架总有新的出现,重要的是其中的包含的算法思想和设计方式”,深度学习比起机器学习,理论更加简洁,全靠网络的训练,于是我打算研究一下TensorFlow 的源代码。目前在网上找到的资料就是这本《TensorFlow 内核剖析》,感谢大佬的分享。(项目链接:https://github.com/horance-liu/tensorflow-internals)以下是...原创 2019-07-10 16:39:04 · 345 阅读 · 0 评论 -
从n-gram到Bert聊一聊词向量:Word2Vec
Word2Vec模型中有CBOW和Skip-Gram两种模式:CBOW(多到一)是给定上下文来预测输入单词,训练方法为负采样Skip-Gram(一到多)是给定输入单词来预测上下文,训练方法为哈夫曼树训练步骤:1.将输入的文本生成词汇表,统计词频选择前k个构成词汇表 vocab.txt。每个词对应生成one-hot向量,向量的维度是V2.将输入的文本的每个词生成一个one-...原创 2019-07-14 00:06:03 · 1618 阅读 · 0 评论 -
《Attention is All You Need》论文理解Transformer
谷歌的Transformer模型最早是用于机器翻译任务,当时达到了SOTA效果。Attention is All You Need:https://arxiv.org/abs/1706.03762Tensorflow:https://github.com/tensorflow/tensor2tensorPytorch代码:http://nlp.seas.harvard.edu/2018...原创 2019-07-14 00:07:23 · 1538 阅读 · 0 评论 -
分类算法及其应用场景
单一的分类方法主要包括:LR逻辑回归,SVM支持向量机,DT决策树、NB朴素贝叶斯、NN人工神经网络、K-近邻;集成学习算法:基于Bagging和Boosting算法思想,RF随机森林,GBDT,Adaboost,XGboost。...原创 2019-07-09 22:26:53 · 6189 阅读 · 0 评论