深度学习
文章平均质量分 95
anshuai_aw1
这个作者很懒,什么都没留下…
展开
-
Pytorch入门笔记
class torch.nn.Conv2d(in_channels, out_channels, kernel_size, stride=1, padding=0, dilation=1, groups=1, bias=True)原创 2020-07-15 14:28:29 · 721 阅读 · 0 评论 -
推荐系统(一):Wide & Deep源论文整理和思考
最近有一批业务需要用到推荐算法,因此,准备认真整理一下自己学习的推荐算法的思路,以便于正确地应用和对比。一、推荐算法1.1 背景首先应该需要了解推荐算法的一些基本思路,我之前整理过一篇《(一)推荐算法概述——以协同过滤为主》。简单来说,推荐系统分为两种: CF-Based(协同过滤)、Content-Based(基于内容的推荐)协同过滤(collaborative filtering)就...原创 2020-03-26 14:00:11 · 3132 阅读 · 2 评论 -
Tensorflow.Dataset中map,shuffle,repeat,batch的总结
Dataset API是TensorFlow 1.3版本中引入的一个新的模块,主要服务于数据读取,构建输入数据的pipeline。Google官方给出的Dataset API中的类图:我们本文只关注Dataset的一类特殊的操作:Transformation,即map,shuffle,repeat,batch等。在正式介绍之前,我们再回忆一下深度学习中的一些基本概念。batch siz...原创 2020-03-25 15:03:54 · 10179 阅读 · 2 评论 -
Tensorflow.feature_column的总结
一、简介tensorflow提供了一个功能强大的特征处理函数tf.feature_column,feature columns是原始数据与estimator之间的过程,其内容比较丰富,可以将各种各样的原始数据转换为estimator可以用的格式。特征数据主要包括categorical和dense(numeric或者continuous)两类,处理方法是使用tensorflow中的feature...原创 2020-03-24 19:34:18 · 4565 阅读 · 0 评论 -
完全图解RNN、RNN变体、Seq2Seq、Attention机制
本文转自何之源知乎文章《完全图解RNN、RNN变体、Seq2Seq、Attention机制》。PS:建议先阅读之前的博客《深度学习(五):循环神经网络(RNN)模型与前向反向传播算法》。本文主要是利用图片的形式,详细地介绍了经典的RNN、RNN几个重要变体,以及Seq2Seq模型、Attention机制。希望这篇文章能够提供一个全新的视角,帮助初学者更好地入门。一、从单层网络谈起在...转载 2019-01-11 18:00:13 · 698 阅读 · 0 评论 -
深度学习(六):LSTM模型与前向反向传播算法
在《深度学习(五):循环神经网络(RNN)模型与前向反向传播算法》中,我们总结了对RNN模型做了总结。由于RNN也有梯度消失的问题,因此很难处理长序列的数据,大牛们对RNN做了改进,得到了RNN的特例LSTM(Long Short-Term Memory),它可以避免常规RNN的梯度消失,因此在工业界得到了广泛的应用。下面我们就对LSTM模型做一个总结。一、从RNN到LSTM在RNN模型里,我...转载 2018-12-22 16:10:55 · 3047 阅读 · 0 评论 -
深度学习(五):循环神经网络(RNN)模型与前向反向传播算法
在前面我们讲到了DNN,以及DNN的特例CNN的模型和前向反向传播算法。链接如下:深度学习(一):DNN前向传播算法和反向传播算法深度学习(二):DNN损失函数和激活函数的选择深度学习(四):卷积神经网络(CNN)模型结构,前向传播算法和反向传播算法介绍。建议在读本文之前,重点读下前2篇文章。如果不了解DNN的前向和反向传播的话,理解本篇文章会有难度。这些算法都是前向反馈的,模型的输出和...转载 2018-12-21 15:58:00 · 2547 阅读 · 3 评论 -
深入理解深度学习中的Normalization操作
Normalization, 即标准化, 和普通的数据标准化类似, 是将分散的数据统一的一种做法, 也是优化神经网络的一种方法。Normalization 可以将数据统一规格, 能让机器学习更容易学习到数据之中的规律。在深度学习中,Normalization已经成为了标准技术。2015 年Google首先提出了Batch Normalization(BN),源论文地址。自 BN 之后, Laye...原创 2018-12-13 11:28:38 · 2252 阅读 · 0 评论 -
深度学习(四):卷积神经网络(CNN)模型结构,前向传播算法和反向传播算法介绍。
在前面我们讲述了DNN的模型与前向反向传播算法。而在DNN大类中,卷积神经网络(Convolutional Neural Networks,以下简称CNN)是最为成功的DNN特例之一。CNN广泛的应用于图像识别,当然现在也应用于NLP等其他领域。本文我们就对CNN的模型结构做一个总结。然后在此基础上,介绍CNN的前向传播算法和反向传播算法。在学习CNN前,推荐大家先学习DNN的知识。如果不熟悉...转载 2018-12-03 15:53:10 · 11364 阅读 · 2 评论 -
CNN的相关知识总结和实践
Q:如果输入图片的尺寸为HWC,经过K个S*S的卷积核,步长(stride)为L,zero-padding为P,那么经过该卷积层输出图像的尺寸是多少?不考虑偏置的话,涉及到多少个参数?A:经过这样的操作,输出图片的长为 (H+2P−S)/L+1(H+2P-S)/L+1(H+2P−S)/L+1,宽为(W+2P−S)/L+1(W+2P-S)/L+1(W+2P−S)/L+1,深为K。参数数量:总共涉...原创 2018-12-12 15:49:25 · 411 阅读 · 0 评论 -
矩阵与张量的区别
关于矩阵和张量的区别有些人可能不太清楚,看了这篇文章相信你会很明白了。矩阵是由括号括起的n×m(例如,3×3)个数字的网格。我们可以加上和减去相同大小的矩阵,只要大小兼容((n×m)×(m×p)= n×p),就将一个矩阵与另一个矩阵相乘,以及可以将整个矩阵乘以常数。向量是一个只有一行或一列的矩阵。我们可以对任何矩阵进行一系列数学运算。不过,基本的思想是,矩阵只是一个二维的数字网格。张量...翻译 2018-11-13 11:15:51 · 18579 阅读 · 5 评论 -
(二)理解word2vec:实践篇
在《(一)理解word2vec:原理篇》中,我已经介绍了word2vec的相关应用和原理。在这篇博客中,我主要介绍word2vec的实践。本篇博客的基础实践代码仍然参考刘新建老师的博客,在他文章的基础上,我又扩展了一些功能。我用的实现word2vec的包是gensim(官方github)。gensim是一款开源的第三方Python工具包,用于从原始的非结构化的文本中,无监督地学习到文本隐层...原创 2018-11-20 17:52:17 · 3487 阅读 · 0 评论 -
word2vec的词向量&&神经网络的embedding层的关系
自己之前学习了一波word2vec的词向量&&神经网络的embedding,关于这2者的原理和实践,可以参看我之前的博客:利用神经网络的embedding层处理类别特征 (一)理解word2vec:原理篇 (二)理解word2vec:实践篇这篇文章的主题是分析word2vec的词向量&&神经网络的embedding层的关系,以及在实际中,如何同时应用它们。...原创 2018-11-22 11:55:28 · 8945 阅读 · 4 评论 -
(一)理解word2vec:原理篇
为什么想起来学习word2vec呢?其实之前自己根本没有接触过NLP的知识和任务,只是最近尝试使用了embedding的方法去处理类别特征和用embedding去做推荐,发现有不错的效果。同时,自己也感触到了所掌握知识的匮乏,因此,决定好好学习一下word2vec。最近几天自己研读了网上一些介绍word2vec原理的博客,写得非常得清晰和易懂。因此,自己也想做一个总结,关于word2vec的原理...原创 2018-11-20 10:10:54 · 3139 阅读 · 2 评论 -
基于深度神经网络的embeddding来构建推荐系统
在之前的博客中,我主要介绍了embedding用于处理类别特征的应用,其实,在学术界和工业界上,embedding的应用还有很多,比如在推荐系统中的应用。本篇博客就介绍了如何利用embedding来构建一个图书的推荐系统。本文主要译自《Building a Recommendation System Using Neural Network Embeddings》,完整详细的代码见官方GitH...翻译 2018-11-17 14:47:41 · 1648 阅读 · 2 评论 -
深度学习(一):DNN前向传播算法和反向传播算法
文章目录一、深度神经网络(DNN)模型1.1 从感知机到神经网络1.2 DNN的基本结构二、DNN前向传播算法2.1 DNN前向传播算法数学原理2.2 DNN前向传播算法2.3 DNN前向传播算法小结三、DNN反向传播算法3.1 DNN反向传播算法要解决的问题3.2 DNN反向传播算法的基本思路3. 3 DNN反向传播算法过程3.4 DNN反向传播算法小结参考文献一、深度神经网络(DNN)模型...转载 2018-11-29 17:32:13 · 18378 阅读 · 10 评论 -
深度学习(二):DNN损失函数和激活函数的选择
在《深度学习(一):DNN前向传播算法和反向传播算法》中,我们对DNN的前向反向传播算法的使用做了总结。里面使用的损失函数是均方差,而激活函数是sigmoid。实际上DNN可以使用的损失函数和激活函数不少。这些损失函数和激活函数如何选择呢?下面我们就对DNN损失函数和激活函数的选择做一个总结。一、 均方差损失函数+sigmoid激活函数的问题在讲反向传播算法时,我们用均方差损失函数和Sigmo...转载 2018-11-30 21:10:44 · 2850 阅读 · 0 评论 -
深度学习(三):DNN的正则化策略综述
和普通的机器学习算法一样,DNN也会遇到过拟合的问题,需要考虑泛化,这里我们就对DNN的正则化方法做一个总结。一、L1&L2正则化想到正则化,我们首先想到的就是L1正则化和L2正则化。L1正则化和L2正则化原理类似,这里重点讲述DNN的L2正则化。而DNN的L2正则化通常的做法是只针对与线性系数矩阵WWW,而不针对偏倚系数bbb。利用我们之前的机器学习的知识,我们很容易可以写出DNN...转载 2018-12-01 15:03:46 · 670 阅读 · 0 评论 -
利用神经网络的embedding层处理类别特征
类别特征在现实里十分常见,处理的方法也很多,最常见的思路是转为one-hot编码,当然这种处理方式比较粗暴,在许多算法里效果也不是很好。还有的处理方式寻找类别特征的最优切分,这个需要特定工具的支持,如LightGBM,细节见这篇文章。本篇文章主要讲解如何利用神经网络的embedding层处理类别特征。可以说,本篇文章是目前讲解利用神经网络的embedding层处理类别特征的最清晰的文章,相信读...原创 2018-11-01 17:20:51 · 25339 阅读 · 10 评论