
Deep Learning
文章平均质量分 50
机器学习特别是深度学习方面的技术介绍和个人在该方面的学习心得体会。
链巨人
这个作者很懒,什么都没留下…
展开
-
加快Tensorflow和Keras图像数据集的训练速度
这几天在训练一个CNN网络,使用到了两百多万个图片,虽然使用到了GPU NVIDIA GeForce GTX 1080Ti,但是还是很慢。故查阅了一些训练提速的文章,跟大家分享。Tensorflow vs. Keras or how to speed up your training for image data sets by factor 10If you ever trained a...转载 2019-12-17 11:38:51 · 2120 阅读 · 0 评论 -
使用GitLab或者Github简单实用地将数据导入Colab的方法
Google Colab为我们提供了免费的GPU和TPU计算资源。对于暂时没有自己的本地GPU显卡资源深度学习科研人员而言真是个福利。这篇博客主要要解决的问题是:如何简单方便实用地将外部训练数据导入到Google Colab中呢?其它博客讲到了使用Google Driver或者从本地电脑来导入数据,这些都是可以的,但是个人觉得比较复杂,而这里的方法我们只需要一行代码即可导入数据,而且很多训...原创 2019-05-25 10:42:01 · 7098 阅读 · 0 评论 -
为什么引入验证集来评估机器学习模型?只用训练集和测试集可以吗?
评估模型的重点是将数据划分为三个集合:训练集、验证集和测试集。在训练数据上训练模型,在验证数据上评估模型。一旦找到了最佳参数,就在测试数据上最后测试一次。你可能会问,为什么不是两个集合:一个训练集和一个测试集?在训练集上训练模型,然后在测试集上评估模型。这样简单得多!原因在于开发模型时总是需要调节模型配置,比如选择层数或每层大小[这叫作模型的超参数(hyperparameter),以便与模型参数...原创 2019-05-24 14:31:49 · 5706 阅读 · 0 评论 -
注意力模型(Attention Model)理解和实现
在我们视野中的物体只有少部分被我们关注到,我们的焦点在某一时刻只聚焦在某些物体上面,而不是视野中的全部物体,这是我们大脑的一个重要功能,能够使得我们有效过滤掉眼睛所获取的大量无用的视觉信息,提高我们的视觉识别能力;神经网络中的注意力模型借鉴了我们人脑的这一功能,让神经网络模型对输入数据的不同部位的关注点不一样,权重不一样。上面的图片出自论文 Xu et.al., 2015. Show atte...原创 2019-05-21 20:50:00 · 18732 阅读 · 6 评论 -
以Attention Model为例谈谈两种研究创新模式
在研读AttentionModel相关文献过程中,我再次深切感受到了科研中的两种创新模式:模型创新与应用创新。若干年前,也就是在我年轻不懂事的花样年华里,具体而言,就是在科学院读博士的后期,这种感受就已经比较明显,所以曾经在2006年写过一篇博客:自然语言处理领域的两种创新观念。当时谈的相对务虚一些,而且由于年富力强,少不经事,更强调重大计算模型的创新,曾经对当时横扫NLP大多数领域的CRF...转载 2019-05-18 15:18:55 · 600 阅读 · 0 评论 -
使用LSTM进行莎士比亚风格诗句生成
本文章跟本人前面两篇文章(文章1, 文章1)的思路大体相同,都是使用序列化的数据集来训练RNN神经网络模型,然后自动生成相关的序列化。这篇文章使用莎士比亚诗词作为训练集,使用keras和tensorflow作为深度学习框架,训练具有自动生成莎士比亚风格诗句的神经网络模型。源码和数据集的下载地址1(需要从头开始训练):https://github.com/liangyihuai/deeplearn...原创 2019-05-02 23:08:09 · 3963 阅读 · 1 评论 -
使用RNN神经网络自动生成名字 (不使用深度学习框架,源码)
本文讲解在不使用深度学习框架的情况下,构建一个基本的RNN神经网络来进行名字自动生成。RNN模型请看下面的两张图片。本文主要讲解数据集以及输入模型的数据格式。数据集和可执行的源码下载地址:https://github.com/liangyihuai/deeplearning_liang/tree/master/src/rnn/dinosaur_name其中main.py文件存放调用训练模型的方...原创 2019-05-01 22:03:02 · 2263 阅读 · 0 评论 -
使用LSTM神经网络进行音乐合成(数据格式,模型构建,完整源码)
本文章将讲解如何借用机器学习框架Tensorflow和Keras,构建LSTM神经网络模型,通过学习音乐数据,来自动合成一段音乐。训练的原始音乐数据为:下载试听合成的音乐例子:下载试听完整代码(包含训练数据集):源码下载。其中主方法在MusicGenerator.py文件中。1. 神经网络结构模型1.2. 模型的输入数据每一次输入的是一个“音符”,这里为了便于理解,把一个音符抽象出...原创 2019-04-28 11:14:02 · 7360 阅读 · 6 评论 -
RNN和LSTM的正向/前向传播-图示公式和代码
本文先讲的基础版本的RNN,包含内部结构示意图,公式以及每一步的python代码实现。然后,拓展到LSTM的前向传播网络。结合图片+公式+可运行的代码,清晰充分明白RNN的前向传播网络的具体过程。完整的可执行的代码见文末。下面图片是RNN网络的整体示意图。每一个方框是“同一个节点处的不同时间点的表示“。也就是RNN-cell都是同一个,只是时间点不一样,所以展开画出来。所以,它们共用相同的”可训...原创 2019-04-25 22:13:59 · 2605 阅读 · 0 评论 -
使用Tensorflow实现残差网络ResNet-50
这篇文章讲解的是使用Tensorflow实现残差网络resnet-50. 侧重点不在于理论部分,而是在于代码实现部分。在github上面已经有其他的开源实现,如果希望直接使用代码运行自己的数据,不建议使用本人的代码。但是如果希望学习resnet的代码实现思路,那么阅读本文将是一个不错的选择,因为本文的代码的思路是很清晰的。如果你刚刚阅读完resnet的那篇论文,非常建议你进一步学习如何使用代码实现原创 2018-01-23 15:34:56 · 56020 阅读 · 103 评论 -
深度学习3:手动实现L2正则化(L2 Regularization)
在神经网络中,正则化的作用是防止过拟合,本文将结合一个实例来讲解神经网络中的L2正则化,并手动(不使用框架)实现出来。先来看代码运行结果: 增加L2正则化之前 增加L2正则化之后:L2正则化为:λ2 m ||W|| 2 \frac {\lambda}{2 \text{ }m}||W||^2, 其中λ \lambda是超参数, m是一个batch中数据个数, 除以2的原因是在求导的时候抵消掉原创 2017-12-15 19:27:21 · 17385 阅读 · 1 评论 -
深度学习1:生成模型的输入数据集和可视化
本文讲的是手动生成数据,可视化生成的数据,以及可视化模型训练之后的数据。附有代码和解释。生成点数据和绘制散点图可视化绘制机器学习模型预测之后的结果对npmeshgrid方法的解释附录先上效果图: 图一:绘制双月亮型的散点图 图2-2:显示线性模型的逻辑回归分类的结果 图二:绘制双圆形散点图。 图2-2: 可视化分类结果 图三:绘制多聚类散点图 图3-3:可视化分类结果原创 2017-12-30 23:07:10 · 5102 阅读 · 0 评论 -
Windows Tensorflow GPU安装
GPU资源对神经网络模型的训练很重要,应充分利用电脑的显卡资源,加快模型的训练速度。这里是本人安装tensorflow-gpu的过程,记录了安装的步骤以及在每个步骤中参考的资料以及所遇到的坑。大体步骤: 1. 使用pip安装tensorflow-gpu。 2. 安装CUDA。 3. 下载CUDNN并把copy其中相应的文件到CUDA所在目录的相应目录下。 4. 检查系统环境变量。一开始可能会原创 2017-12-01 16:38:45 · 13471 阅读 · 0 评论 -
简单完整地讲解tensorflow模型的保存和恢复
tensorflow模型的保存和恢复,save and restorehttp://blog.youkuaiyun.com/liangyihuai/article/details/78515913在本教程主要讲到:1. *什么是Tensorflow模型?*2. *如何保存Tensorflow模式?*3. *如何还原预测/迁移学习Tensorflow模型*?4. *如何导入其他已经训练好的模型,并进行自己的修改和完善*原创 2017-11-12 22:37:59 · 6956 阅读 · 4 评论 -
近年推荐系统论文调查汇总
现在推荐系统得到了广泛的应用,在百度、京东、淘宝、豆瓣等均到看推荐系统的影子。推荐系统属于机器学习的范畴,是一种预测模型,其类型大致可以分为:(1)用户评分预测推荐(2)top-n 推荐(3)分类推荐。一般有collaborative filtering方法、基于内容相似度推荐和混合推荐等类别。Comprehensive SurveyToward the next generation of re原创 2017-11-12 16:51:22 · 3031 阅读 · 0 评论 -
卷积神经网络资料汇总
初学者一看卷积神经网络,很可能会被它的表面上的复杂度吓到。有时候,并不是所学的知识难,而是作者讲得不够通俗易懂。下面是本人学习卷积神经网络的时候那些通俗易懂的资料的汇总。 一个小建议:学习卷积神经网络之前先看一下什么是全连接神经网络。可以在http://playground.tensorflow.org这里直观感受一下。从直观上感受一下卷积神经网络。2D :http://scs.ryerson.原创 2017-11-10 09:11:13 · 702 阅读 · 1 评论 -
理解神经网络,从简单的例子开始(2)使用python建立多层神经网络
这篇文章将讲解如何使用python建立多层神经网络。在阅读这篇文章之前,建议先阅读上一篇文章:理解神经网络,从简单的例子开始。讲解的是单层的神经网络。如果你已经阅读了上一篇文章,你会发现这篇文章的代码和上一篇基本相同,理解起来也相对容易。上一篇文章使用了9行代码编写一个单层的神经网络。而现在,问题变得更加复杂了。下面是训练输入数据和训练输出数据,如果输入数据是[1,1,0],最后的结果是什么呢?从上原创 2017-10-19 21:04:15 · 7035 阅读 · 0 评论 -
理解神经网络,从简单的例子开始(1)7行python代码构建神经网络
前言本文分为两个部分,第一个部分是一个简单的实例:9行Python代码搭建神经网络,这篇文章原文为:原文链接, 其中中文翻译版来自:中文翻译版。已经转载如下。这个实例算是通俗易懂,只是,它更多的是(本人觉得)对于一个简单的神经网络整个过程的描述,对于初学者而言,阅读之后很可能还不是特别明白其中的原理。要明白其中的原理,需要更深入的思考:为什么能够这个神经网络能够预测结果?而本文就是在这个实例的基础之原创 2017-10-19 14:10:09 · 8881 阅读 · 1 评论 -
使用tensorflow实现全连接神经网络的简单示例,含源码
看别人的代码和自己写代码,两种的难度和境界真是不一样。昨天和今天尝试着写一个简单的全连接神经网络,用来学习一个基本的模型,在实现的过程中遇到了不少的坑,虽然我已经明白了其中的原理。我想了一个教材上面没有的简单例子,尝试着自己构造训练数据集和测试集。我希望训练一个能够区分红点和蓝点的模型。在我构造的数据集中,当y 1的时候为红点。 对于这个全连接网络,输入节点只有一个,表示x轴的坐标。原创 2017-11-10 10:17:03 · 4100 阅读 · 0 评论 -
从啤酒和尿布讲关联规则,大数据集处理算法Apriori以及改进的PCY算法
本文将讲解关联规则的相关概念、处理相关规则的一般算法、改进的大数据处理关联规则的Apriori算法以及进一步优化的PCY算法。啤酒和尿布的故事已经广为人晓。很多年轻的父亲买尿布的时候会顺便为自己买一瓶啤酒。亚马逊通过用户购买数据,使用关联规则,使用大数据的处理手段得出了尿布和啤酒的关系。除了啤酒和尿布,现实生活中存在很多类似的关联关系,一般归纳为: A事件发生,B事件很可能也会发生。注意这里存原创 2017-09-29 10:23:17 · 12389 阅读 · 9 评论