深度学习
文章平均质量分 90
lpty
走进科学
展开
-
win10安装GPU版tensorflow
一 环境系统:win10专业版显卡:GTX1050Ti二 安装AnacondaAnaconda是一个用于科学计算的Python发行版,支持 Linux, Mac, Windows系统,提供了包管理与环境管理的功能,可以很方便地解决多版本python并存、切换以及各种第三方包安装问题。Anaconda利用工具/命令conda来进行package和environment的管理,并且已经包含了Pyt原创 2017-07-14 22:56:47 · 3314 阅读 · 3 评论 -
A Sensitivity Analysis of Convolutional Neural Networks for Sentence Classification
引言Ye Zhang在2016年挂在arXiv上的论文,从名字大概可以看出来,这是一篇CNN调参指南。概述模型方面用的是单层CNN,主要是CNN用做文本分类方面的研究,模型结构如下所示:上述模型来自Convolutional Neural Networks for Sentence Classification,详细的介绍可以参考:博文内容Baseline Models为了跟CNN...原创 2018-11-19 23:52:09 · 2077 阅读 · 0 评论 -
Recurrent Neural Network for Text Classification with Multi-Task Learning
引言Pengfei Liu等人在2016年的IJCAI上发表的论文,论文提到已存在的网络都是针对单一任务进行训练,但是这种模型都存在问题,即缺少标注数据,当然这是任何机器学习任务都面临的问题。为了应对数据量少,常用的方法是使用一个无监督的预训练模型,比如词向量,实验中也取得了不错的效果,但这样的方法都是间接改善网络效果。作者提出了一种新的方法,将多个任务联合起来训练,用来直接对网络进行改善,...原创 2018-12-05 17:34:04 · 3994 阅读 · 0 评论 -
Neural Machine Translation by Jointly Learning to Align and Translate
引言Dzmitry Bahdanau等人在2016年arXiv上的paper,原文地址arXiv:1409.0473v7 [cs.CL] 19 May 2016这篇应该是最早将Attention机制用到NLP中的论文,作者提到神经网络机器翻译的目标是训练一个单一庞大的网络去直接生成翻译结果,相比统计机器翻译由各个小组件进行结合有很大不同。而一般的神经网络机器翻译模型都是由一个encoder与...原创 2018-12-19 17:33:04 · 686 阅读 · 0 评论 -
Effective Approaches to Attention-based Neural Machine Translation
引言Minh-Thang Luong等在2015年arXiv上的论文,原文地址:地址这是继Bahdanau提出attention用于NLP的后续工作,作者提出了两种新的,相对于前面工作简单但有效的网络,一种称为global方法,实现上与Bahdanau使用的方式很相似,在每一次生成目标词时,都需要所有对源语句隐藏状态计算相似度,但相对来说更为直接简单;另一种称为local方法,不同的是在计算时...原创 2018-12-28 10:45:54 · 3906 阅读 · 0 评论 -
A Convolutional Neural Network for Modelling Sentences
引言Nal Kalchbrenner等人在2014年arXiv上的paper,原文地址:arXiv:1404.2188v1 [cs.CL] 8 Apr 2014。自然语言处理的基础问题在于句子的语义表示,其他特定的任务如分类等都是在语义表示的基础上进行高层次的处理,所以如何对句子进行表达就成为了核心问题。针对目前存在的模型,作者提出了DCNN–Dynamic Convolutional Ne...原创 2018-12-11 23:53:30 · 2545 阅读 · 0 评论 -
ABCNN: Attention-Based Convolutional Neural Network for Modeling Sentence Pairs
引言Wenpeng Yin等发表在arXiv上的论文,原文地址:地址这应该是第一篇提出Attention用于CNN的文章,主要用来解决句子对的问题,作者在answer selection (AS),、paraphrase identification(PI)、textual entailment (TE)三个任务上进行实验,均取得了不错的结果。模型...原创 2019-01-02 17:36:34 · 1990 阅读 · 0 评论 -
Attention Is All You Need
引言google 在2017年发布的一篇论文,即是transformer,原文地址:Attention Is All You Need原创 2019-01-07 21:59:16 · 2645 阅读 · 0 评论 -
BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
引言Google在2018年发出来的论文,原文地址:BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding原创 2019-01-15 19:29:32 · 3436 阅读 · 0 评论 -
Taylor Formula与Gradient Descent
Taylor Formula泰勒公式,它的一般形式如下:一般希望将复杂形式的函数用较为简单的方式来表示,另一种表述便是,用量上的复杂来解决质上的困难。那为什么泰勒展开式是这种形式的?上面说要用简单的形式表示复杂函数,那么如何选择表达式呢?类比切圆法,是不是可以用局部的线性近似来表示整体,假如有函数y=x3y=x^3y=x3,自变量的变化量为ΔxΔxΔx,则:Δy=(x+Δx)3−x3=...原创 2019-02-15 15:14:00 · 571 阅读 · 0 评论 -
从Stochastic Gradient Descent到Adaptive Moment Estimation
引言深度学习优化算法,基本的发展历程就是:SGD -> SGDM -> NAG ->AdaGrad -> AdaDelta -> Adam -> Nadam当说到优化算法时,我们说的是什么?优化算法对于优化算法,给定一个具有参数θ的目标函数,一般会定义为损失函数,原创 2019-02-18 14:47:25 · 1963 阅读 · 1 评论 -
Convolutional Neural Networks for Sentence Classification
引言这是Yoon Kim发表于2014年的EMNLP上的论文,也就是经常说到的TextCNN。CNN一开始提出来是作为图像或者语音这种特征连续任务的处理方式,这篇论文则是尝试将CNN用于文本这种离散型的任务中。模型前面说到CNN是处理连续型数据的,所以对于文本而言,就需要进行离散特征连续化,目前比较流行的应该是word2vec的方式,另外对于长度不同的文本就需要考虑padding了,网络结...原创 2018-11-15 17:19:50 · 890 阅读 · 0 评论 -
Cross-Entropy Error、Classification Error、Mean Squared Error
一、引言神经网络中,损失函数的选择希望能够有以下效果:1、不同的预测结果能够产生不同的损失,越好的结果损失要越小2、在损失较大的情况下,学习的速率要相对较快二、对比1、区分性假设有以下两组数据,computed代表计算出来的概率,targets代表实际的标签,correct代表分类结果是否正确数据组1:数据组2:Classification Error可以看到数据组1的分类...原创 2018-11-13 19:19:18 · 2584 阅读 · 0 评论 -
基于Skip-Thought的Sentence2Vec神经网络实现
一、前言1、Skip-Thought-Vector论文2、本文假设读者已了解Skip-Gram-Vector和RNN相关基础,以下文章可做参考:(1)RNN古诗词生成(2)Skip-Gram-Vector(3)LSTM/GRU门控机制二、实战1、数据处理(1)网络小说《神墓》,基于版权原因,请自行寻找数据源(2)先对特殊符号进行处理,将整本小说按行分割成一个列表原创 2017-09-26 18:58:52 · 7707 阅读 · 0 评论 -
词向量:基于Skip-Gram的Word2Vec神经网络实现
一、前言1、理解Word2Vec之Skip-Gram模型二、实战1、数据源:cvpr2016_flowers,国内下载比较麻烦,数据量也不多,建议用其它数据2、数据处理class Text: def __init__(self): self.data_name = 'text_c10' self.file_list = self._ge原创 2017-09-13 11:42:09 · 3154 阅读 · 1 评论 -
基于DCGAN的动漫头像生成神经网络实现
一、前言1、什么是DCGAN?2、DCGAN的TensorFlow实现3、什么是转置卷积?4、转置卷积的Tensorflow实现5、Batch Normalization解读本文假设读者已经了解GAN及CNN的基本原理实现,如不清楚可参考以下文章:基于GAN的的mnist训练集图片生成神经网络实现基于CNN的验证码识别神经网络实现二、实战1、训练数据处理原创 2017-09-06 21:08:39 · 15954 阅读 · 20 评论 -
基于GAN的mnist训练集图片生成神经网络实现
一、前言1、什么是GAN?GAN主要包括了两个部分,即生成器generator与判别器discriminator。生成器主要用来学习真实图像分布从而让自身生成的图像更加真实,以骗过判别器。判别器则需要对接收的图片进行真假判别。在整个过程中,生成器努力地让生成的图像更加真实,而判别器则努力地去识别出图像的真假,这个过程相当于一个二人博弈,随着时间的推移,生成器和判别器在不断地进行对抗原创 2017-08-31 19:15:53 · 12231 阅读 · 6 评论 -
基于RNN的中文古诗词生成神经网络实现
一、前言1、图解RNN2、Tensorflow中RNN实现的正确打开方式二、实战1、训练数据处理(1)文字转为向量 def _get_poetry(self): with open(self.poetry_file, "r", encoding='utf-8') as f: poetry_list = [line for line原创 2017-08-29 19:43:19 · 13807 阅读 · 22 评论 -
基于CNN的验证码识别神经网络实现
一、前言1、什么是CNN?2、TensorFlow进阶二、实战1、验证码生成import randomimport numpy as npfrom PIL import Imagefrom captcha.image import ImageCaptchaNUMBER = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '原创 2017-08-23 19:58:38 · 11436 阅读 · 6 评论 -
基于RNN的mnist数字识别神经网络实现
一、前言1、什么是RNN?2、TensorFlow入门二、实战1、获取mnist数据集from tensorflow.examples.tutorials.mnist import input_data# minst测试集mnist = input_data.read_data_sets('mnist/', one_hot=True)这里的one_hot指标签使用one_原创 2017-08-23 19:15:19 · 5549 阅读 · 8 评论 -
Text Matching as Image Recognition
一、概述MatchPyramid来自Liang Pang等在2016发表的一篇文章Text Matching as Image Recognition,大意为利用图像识别的方式进行文本匹配。二、思路对于文本匹配,基本思路如下述公式: 其中T为文本,函数θθθ代表将文本转换为对应的表示,函数FFF则代表两个文本表示之间的交互关系。 由侧重点不同可分为表示方法与交互方法,即注重θθ...原创 2018-06-11 11:48:51 · 4893 阅读 · 0 评论 -
Deep Sentence Embedding Using Long Short-Term Memory Networks
一、概述这种方式来自于论文Deep Sentence Embedding Using Long Short-Term Memory Networks,简单的来说应该是一种生成句向量的方法。二、思路论文中作者对比了很多相关工作,总而言之就LSTM-RNN这种方法相对而言有很大优势,这里就不列出来了。1、基本方法基本想法是将文本序列转化为向量,然后利用LSTM-RNN的结构进行...原创 2018-06-11 14:11:10 · 1608 阅读 · 0 评论 -
GRU与LSTM
一、前言GRU是LSTM的一种变体,综合来看:1、两者的性能在很多任务上不分伯仲。2、GRU 参数相对少更容易收敛,但是在数据集较大的情况下,LSTM性能更好。3、GRU只有两个门(update和reset),LSTM有三个门(forget,input,output)LSTM还有许多变体,但不管是何种变体,都是对输入和隐层状态做一个线性映射后加非线性激活函数,重点在于额外的门控机制是如何...原创 2018-09-23 14:34:17 · 13868 阅读 · 1 评论 -
Internal Covariate Shift与Normalization
引言Batch norm在深度学习中已经是一个常用且有效的方法,用来加速网络收敛及防止梯度消失等神经网络常见的问题,那么batch norm为什么有效呢?从源头出发,神经网络难以训练的原因是什么?Internal Covariate Shift深度神经网络涉及到很多层的叠加,而每一层的参数更新会导致上层的输入数据分布发生变化,通过层层叠加,高层的输入分布变化会非常剧烈,这就使得高层需要不...原创 2019-02-13 15:02:39 · 19848 阅读 · 12 评论