读李宏毅《一天看懂深度学习》——Deep Learning Tutorial
大牛推荐的入门用深度学习导论,刚拿到有点懵,第一次接触PPT类型的学习资料,但是耐心看下来收获还是很大的,适合我这种小白入门哈哈。
我也放到我的盘里啦:
链接:https://pan.baidu.com/s/13xTs4qJKv2Ere4CscCQeDw 密码:e2qg
PPT整体结构如下:

Lecture I:概论
1.介绍深度学习
深度学习过程大体分为三个步骤:(1)定义方法(2)判断方法优劣(3)选出最佳方法

(1)定义方法——神经网络
深度学习可以理解为多层的神经网络。神经网络的思想来源于对于人脑的生理上的研究,人脑由数亿个神经元组成,神经元通过轴突互相连接通信。神经网络和人脑类似,存在多个层级(layer),每个层级都有多个节点(神经元neuron),层级和层级之间相互连接(轴突),最终输出结果。

对于神经网络的计算能力可以理解为通过一层层Layer的计算归纳,逐步的将抽象的原始数据变的具体。以图片识别为例,输入是一个个像素点,经过每层神经网络,逐步变化成为线、面、对象的概念,然后机器有能力能够识别出来。

(2)判断方法优劣
首先准备待训练的数据和它们的标签,最终目标是由训练数据学习而来的。
我们用学习出来的参数对测试数据进行计算,得出对应的预测(y)然后和真实的测试数据的目标值(t)进行比对,y和t之间的差距往往就是Loss。
我们评估一个方法的好坏,就是看这个Loss是不是尽可能小。

(3)选出最佳方法
获得最佳的学习是采用梯度下降算法,作者也提到梯度下降算法存在局部最优解的问题,即找到一条最“陡峭”的路下山。人们往往认为机器无所不能,实际上更像是在一个地图上面拓荒,对周边一无所知。
神经网络计算梯度的算法是反向传播算法,简称BP。

2.Why Deep?
很显然,神经网络的参数越多,预测能力就越好。那么如果是同样的参数情况下,为什么层级较多的表现会更好呢?

作者认为深度网络可以带来模块化的好处,模块化是从数据中自动学习的。随着网络的层级变多,神经网络会将像素元素逐渐归纳出一些基本的特征,进而变成纹理,进而变成对象。

3.Keras
TensorFlow or Theano的接口。
Lecture II:训练方法
经过神经网络训练之后会发现两种问题:
1.训练结果很差→重新选择训练方式
2.测试结果很差→(往往由于过拟合导致)重新定义方法

1.优化训练方法的手段:
(1)Choosing proper loss
选择合适的Loss function,使用Cross Entropy(交叉熵)效果要优于Mean Square Error(均方差)。
(2)Mini-batch
每次训练使用少量数据而不是全量数据效率更高。
(3)New activation function
使用ReLU(线性整流函数)替代Sigmoid可以解决梯度消失的问题,可以训练更深的神经网络。网络不是越深越好。
(4)Adaptive Learning Rate
可以随着迭代不断自我调整,提高学习效率。
(5)Momentum
可以一定程度上避免陷入局部最低点的问题。

2.避免过度拟合的方法
增加数据量是最简单的方法:创造更多的数据、给数据加噪声。
(1)Early Stopping
使用cross validation的方式,不断对validation data进行检验,一旦发现预测精度下降则停止。
(2)Regularization(Weight Decay)
参数正则化的一种方式。删除无用的联系。
(3)Dropout
通过随机去掉一些节点的连接达到改变网络形式,所以会产生出多种网络形态,然后汇集得到一个最佳结果。
(4)Network Structure
如CNN等其他形态的网络。
Lecture III: 神经网络的变体
1. 卷积神经网络(CNN)

通常情况下,一个CNN包含多次的卷积、池化,然后Flatten,最终再通过一个深度神经网络进行学习预测。CNN在图像、语音识别取得非常好的成绩,核心的想法在于一些物体的特征往往可以提取出来,并且可能出现在图片的任何位置,而且通过卷积、池化可以大大减少输入数据,加快训练效率。
2. 递归神经网络(RNN)

RNN的想法是可以将hidden layer的数据存储下来,然后作为输入给下一个网络学习。这种网络的想法可以解决自然语言中前后词语是存在关联性的,所以RNN可以把这些关联性放到网络中进行学习。
Lecture IV: Next Wave
读李宏毅《一天看懂深度学习》——Deep Learning Tutorial的更多相关文章
- 【深度学习Deep Learning】资料大全
最近在学深度学习相关的东西,在网上搜集到了一些不错的资料,现在汇总一下: Free Online Books by Yoshua Bengio, Ian Goodfellow and Aaron C ...
- 机器学习(Machine Learning)&深度学习(Deep Learning)资料【转】
转自:机器学习(Machine Learning)&深度学习(Deep Learning)资料 <Brief History of Machine Learning> 介绍:这是一 ...
- 机器学习(Machine Learning)&深度学习(Deep Learning)资料
机器学习(Machine Learning)&深度学习(Deep Learning)资料 機器學習.深度學習方面不錯的資料,轉載. 原作:https://github.com/ty4z2008 ...
- 机器学习——深度学习(Deep Learning)
Deep Learning是机器学习中一个非常接近AI的领域,其动机在于建立.模拟人脑进行分析学习的神经网络,近期研究了机器学习中一些深度学习的相关知识,本文给出一些非常实用的资料和心得. Key W ...
- 机器学习(Machine Learning)&深度学习(Deep Learning)资料(Chapter 2)
##机器学习(Machine Learning)&深度学习(Deep Learning)资料(Chapter 2)---#####注:机器学习资料[篇目一](https://github.co ...
- 转:浅谈深度学习(Deep Learning)的基本思想和方法
浅谈深度学习(Deep Learning)的基本思想和方法 参考:http://blog.csdn.net/xianlingmao/article/details/8478562 深度学习(Deep ...
- (转)深度学习(Deep Learning, DL)的相关资料总结
from:http://blog.sciencenet.cn/blog-830496-679604.html 深度学习(Deep Learning,DL)的相关资料总结 有人认为DL是人工智能的一场革 ...
- (转)机器学习——深度学习(Deep Learning)
from:http://blog.csdn.net/abcjennifer/article/details/7826917 Deep Learning是机器学习中一个非常接近AI的领域,其动机在于建立 ...
- (转) 基于Theano的深度学习(Deep Learning)框架Keras学习随笔-01-FAQ
特别棒的一篇文章,仍不住转一下,留着以后需要时阅读 基于Theano的深度学习(Deep Learning)框架Keras学习随笔-01-FAQ
- 【重磅干货整理】机器学习(Machine Learning)与深度学习(Deep Learning)资料汇总
[重磅干货整理]机器学习(Machine Learning)与深度学习(Deep Learning)资料汇总 .
随机推荐
- js 整数型数组和字符型数组相互转换
需求背景: 需要将 a = [1,2,3,4,5] 转换成 a = ['1','2','3','4','5'](整数型数组转换成字符型没找到直接的方法,思路就是先将数组转换成字符串,然后再将字符串转 ...
- python 容器类型数据 (str list tuple set dict)
# ###容器类型数据(str list tuple set dict) var1 = "今天心情非常美丽" var2 = [1,2,3,4] var3 = ("黄将用& ...
- Echarts-图表根据值的不同展示成不同的颜色
series : [ { name:'直接访问', type:'bar', barWidth: '60%', ...
- mongDb安装
1.下载安装包:https://www.mongodb.com/download-center#community 2.tar -xzvf mongodb-linux-x86_64-rhel70-3. ...
- c++赋值构造函数为什么返回引用类型?
目录 0 前言 1 内置类型 2 自定义类型 3 结论 4 源码 0. 前言 c++默认赋值构造函数的返回值是引用类型,c++赋值运算符=的本意是返回左值的引用,我们重载赋值构造函数的时候,返回值是否 ...
- Oracle中如何使用REGEXP_SUBSTR函数动态截取字符串
REGEXP_SUBSTR函数格式如下: function REGEXP_SUBSTR(String, pattern, position, occurrence, modifier)__srcstr ...
- flask 在视图函数里操作数据库
在视图函数里操作数据库 在视图函数里操作数据的方式和在python shell中的联系基本相同,只不过需要一些额外的工作.比如把查询结果作为参数 传入模板渲染出来,或是获取表单的字段值作为提交到数据库 ...
- shift键有什么用?怎么用?shift键的妙用
一.当你用QQ和别人聊天时,是不是有时信息发送的特别慢呀,不要紧,只要你发信息时按shift 键信息就会很快的发送出去的! 二.当你面对一大堆窗口,却要一个一个把它们关掉时.是不是很烦啊.只要你按sh ...
- Java解决异常之try、catch、finally、throw、throws&log4j记录日志步骤
知识点一.多重catch引发多种类型的异常排列catch 语句的顺序:先子类后父类 发生异常时按顺序逐个匹配只执行第一个与异常类型匹配的catch语句二.异常分类异常分为运行时异常和检测异常运行时异常 ...
- 经典算法问题的java实现 (二)
原文地址: http://liuqing-2010-07.iteye.com/blog/1403190 1.数值转换(System Conversion) 1.1 r进制数 数N的r进制可以表 ...