2018-07-19 09:48:01 u013069552 阅读数 1177
  • 深度学习30系统实训

    系列教程从深度学习核心模块神经网络开始讲起,将复杂的神经网络分模块攻克。由神经网络过度到深度学习,详解深度学习中核心网络卷积神经网络与递归神经网络。选择深度学习当下流行框架Tensorflow进行案例实战,选择经典的计算机视觉与自然语言处理经典案例以及绚丽的AI黑科技实战,从零开始带大家一步步掌握深度学习的原理以及实战技巧。课程具体内容包括:神经网络基础知识点、神经网络架构、tensorflow训练mnist数据集、卷积神经网络、CNN实战与验证码识别、自然语言处理word2vec、word2vec实战与对抗生成网络、LSTM情感分析与黑科技概述。

    14361 人正在学习 去看看 唐宇迪

深度学习入门(一天读懂深度学习-李宏毅)

1、深度学习框架图: (参考网址https://blog.csdn.net/u010164190/article/details/72633245

2、神经网络要解决的问题

2.1、基于网络功能函数的定义(网络模型的选择,激励函数的选择,优化方法的选择)-->网络模型好坏的评估(损失函数的定义)-->选出一个最优模型-->过拟合问题的解决

2.2、常见的网络结构:DNN,CNN,RNN,LSTM(这个四种神经网络的前向传递,反向参数优化推导网址http://www.cnblogs.com/pinard/p/6418668.html)

2.3、常见的激励函数:sigmod,tanh,ReLU,maxout

2.4、常见的优化方法:SGD、Adagrad、Adadelta、Adam、adamax、Nada                                                                                          (https://blog.csdn.net/yunxinan/article/details/74858070

2.5、常用的损失函数:square error,cross entropy

2.6、常用的解决过拟合的方法:early stop、正则化(权重衰减)、dropout、增加训练样本

 

2018-06-29 17:56:00 cluster1893 阅读数 1343
  • 深度学习30系统实训

    系列教程从深度学习核心模块神经网络开始讲起,将复杂的神经网络分模块攻克。由神经网络过度到深度学习,详解深度学习中核心网络卷积神经网络与递归神经网络。选择深度学习当下流行框架Tensorflow进行案例实战,选择经典的计算机视觉与自然语言处理经典案例以及绚丽的AI黑科技实战,从零开始带大家一步步掌握深度学习的原理以及实战技巧。课程具体内容包括:神经网络基础知识点、神经网络架构、tensorflow训练mnist数据集、卷积神经网络、CNN实战与验证码识别、自然语言处理word2vec、word2vec实战与对抗生成网络、LSTM情感分析与黑科技概述。

    14361 人正在学习 去看看 唐宇迪

读《一天搞懂深度学习》ppt笔记

学习自http://www.cnblogs.com/liuyihai/p/8448977.html,推荐看这个链接。很全面很完整,我的笔记仅是记部分东西。

softmax

输出层:
一般情况下,输出层可以输出任何值:

在输出层前加Softmax Layer:

推荐的开发工具:


tips


不要总是将原因归到过拟合,下图中,56层的网络在训练集误差大,所以这个就是没训练好,而不是在测试集的过拟合。
20层的是过拟合。

对训练过程:

(1)选择合适的损失


(2)需要mini batch


也就是批梯度下降法。快而且好的方法。

每100个数据进行一次梯度下降
整个训练集数据拿来训练20轮
- 每轮整个数据集迭代结束后,对数据进行一次打乱,即shuffle

(3)选择合适的激励函数


可以解决梯度消失问题
很多都是用relu作为激励函数。

(4)恰当的学习率


Adagrad可以达到学习率由大变小:

(5)momentum



对测试数据:


早停:

权重消失

L1正则化其实就是这个

dropput

在训练集上:
在每一个mini batch 数据迭代更新完权重后,重新抽样dropout的神经元。这样,每个mini batch 训练的都是一个新结构的网络。网络的结构在重新抽样中被改变了。
在测试集上:
不能dropout
dropout和maxout在一起可以工作的更好


网络结构

2018-10-26 09:06:22 audio_algorithm 阅读数 304
  • 深度学习30系统实训

    系列教程从深度学习核心模块神经网络开始讲起,将复杂的神经网络分模块攻克。由神经网络过度到深度学习,详解深度学习中核心网络卷积神经网络与递归神经网络。选择深度学习当下流行框架Tensorflow进行案例实战,选择经典的计算机视觉与自然语言处理经典案例以及绚丽的AI黑科技实战,从零开始带大家一步步掌握深度学习的原理以及实战技巧。课程具体内容包括:神经网络基础知识点、神经网络架构、tensorflow训练mnist数据集、卷积神经网络、CNN实战与验证码识别、自然语言处理word2vec、word2vec实战与对抗生成网络、LSTM情感分析与黑科技概述。

    14361 人正在学习 去看看 唐宇迪

转自博客:http://www.cnblogs.com/wwf828/p/8573825.html

整个PPT的思维导图如下,图片来源为深度学习导论 - 读李宏毅《1天搞懂深度学习》

深度学习的三个步骤

1.定义一组函数→即找到合适的神经网络(网络的参数θ:包括权重和偏移bias)

神经网络的思想来源于对人脑生理上的研究。

人类智能最重要的部分是大脑,大脑虽然复杂,它的组成单元却是相对简单的,大脑皮层以及整个神经系统,是由神经元细胞组成的。而一个神经元细胞,由树突和轴突组成,它们分别代表输入和输出。连在细胞膜上的分叉结构叫树突,是输入,那根长长的“尾巴”叫轴突,是输出。神经元输出的有电信号和化学信号,最主要的是沿着轴突细胞膜表面传播的一个电脉冲。忽略掉各种细节,神经元,就是一个积累了足够的输入,就产生一次输出(兴奋)的相对简单的装置。
树突和轴突都有大量的分支,轴突的末端通常连接到其他细胞的树突上,连接点上是一个叫“突触”的结构。一个神经元的输出通过突触传递给成千上万个下游的神经元,神经元可以调整突触的结合强度,并且,有的突触是促进下游细胞的兴奋,有的是则是抑制。一个神经元有成千上万个上游神经元,积累它们的输入,产生输出。

神经网络和人脑类似,存在多个层级(layer),每个层级都有多个节点(神经元),层级和层级之间相互连接(轴突),最终输出结果。

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

2.(不断训练)函数达到完善的功能(即使得误差最小。总的损失:对于所有训练的数据,总的损失等于各损失之和。

当一个模型输出结果之后,如果跟预想的结果有偏差(即存在较大的损失)->降低损失->寻找一个可以降低损失的函数->更改参数值(权重,偏差等)
由此可见,对数据的训练是一个逆向的思维,由结果不断地去调整网络,直到结果满意。)

3.选择最佳函数(采用梯度下降法,但是梯度下降法无法保证结果是全局最优的,PPT中有图介绍了该方法,往往用反向传播算法BP来计算梯度)

Softmax的概念

输出层(也可以叫做选择层),将Softmax层作为输出层。

我们知道max,假如说我有两个数,a和b,并且a>b,如果取max,那么就直接取a,没有第二种可能。但有的时候我不想这样,因为这样会造成分值小的那个饥饿(即一直取不到)。所以我希望分值大的那一项经常取到,分值小的那一项也偶尔可以取到,那么我用softmax就可以了。现在还是a和b,a>b,如果我们取按照softmax来计算取a和b的概率,那a的softmax值大于b的,所以a会经常取到,而b也会偶尔取到,概率跟它们本来的大小有关。所以说不是max,而是Softmax

训练方法

训练过程中会发现了两种情况:

1. 没有办法得到很好的训练结果 ---》 重新选择训练方式

2. 没有办法得到很好的测试结果 ---》 往往由于过度拟合导致,需要重新定义方法

优化训练方法的手段:

1. 选择合适的Loss function:当使用softmax作为输出层的时候,Cross Entropy效果要优于Mean Square Error

2. Mini-batch: 每次训练使用少量数据而不是全量数据效率更高

3. Activation Function:使用ReLU替代Sigmoid可以解决梯度消失的问题,可以训练更深的神经网络

4. Adaptive Learning Rate:可以随着迭代不断自我调整,提高学习效率

5. Momentum: 可以一定程度上避免陷入局部最低点的问题

避免过度拟合(overfitting)的方法:

1. Early Stopping:使用cross validation的方式,不断对validation data进行检验,一旦发现预测精度下降则停止。

2. Weight Decay:参数正则化的一种方式?

3. Dropout:通过随机去掉一些节点的连接达到改变网络形式,所以会产生出多种网络形态,然后汇集得到一个最佳结果

4. Network Structure: 例如CNN等其他形态的网络

 

神经网络变体

Convolutional Neural Network (CNN)

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

   

Recurrent Neural Network (RNN)

RNN的想法是可以将hidden layer的数据存储下来,然后作为输入给下一个网络学习。这种网络的想法可以解决自然语言中前后词语是存在关联性的,所以RNN可以把这些关联性放到网络中进行学习。

其他前沿技术

笔记参考来源:
[1] 深度学习导论 - 读李宏毅《1天搞懂深度学习》

2017-05-22 23:44:02 u010164190 阅读数 47136
  • 深度学习30系统实训

    系列教程从深度学习核心模块神经网络开始讲起,将复杂的神经网络分模块攻克。由神经网络过度到深度学习,详解深度学习中核心网络卷积神经网络与递归神经网络。选择深度学习当下流行框架Tensorflow进行案例实战,选择经典的计算机视觉与自然语言处理经典案例以及绚丽的AI黑科技实战,从零开始带大家一步步掌握深度学习的原理以及实战技巧。课程具体内容包括:神经网络基础知识点、神经网络架构、tensorflow训练mnist数据集、卷积神经网络、CNN实战与验证码识别、自然语言处理word2vec、word2vec实战与对抗生成网络、LSTM情感分析与黑科技概述。

    14361 人正在学习 去看看 唐宇迪

”《1天搞懂深度学习》,300多页的ppt,台湾李宏毅教授写的,非常棒。不夸张地说,是我看过最系统,也最通俗易懂的,关于深度学习的文章。“
PPT下载地址

废话少说,先上干货,整个PPT的思维导图如下:

 

深度学习概论

介绍深度学习

作者非常浅显的指出机器(深度)学习过程非常简单,分为定义方法、判断方法的优劣、挑选出最佳的方法。

对于深度学习,首先第一步定义方法 - 神经网络。深度学习顾名思义是指多层的神经网络。

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

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

 

 第二步,评估方法的优劣。

Loss function是用于评估方法优劣,通常我们用学习出来的参数对测试数据进行计算,得出对应的预测(y)然后和真实的测试数据的目标值(t)进行比对,y和t之间的差距往往就是Loss。那么评估一个算法的好坏,就是要尽可能的降低Loss。

 

第三步,如何获得最佳的学习方法

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

 

Why Deep?

作者首先指出越多的参数往往带来越好的预测能力,所以神经网络往往参数越多越好。那么如果是同样的参数情况下,为什么层级较多的表现会更好呢?

 

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

 

训练方法

 

作者总结下来训练过程中会发现了两种情况:

1. 没有办法得到很好的训练结果 ---》 重新选择训练方式

2. 没有办法得到很好的测试结果 ---》 往往由于过度拟合导致,需要重新定义方法

 

 

优化训练方法的手段:

1. 选择合适的Loss function:使用Cross Entropy效果要优于Mean Square Error

2. Mini-batch: 每次训练使用少量数据而不是全量数据效率更高

3. Activation Function:使用ReLU替代Sigmoid可以解决梯度消失的问题,可以训练更深的神经网络

4. Adaptive Learning Rate:可以随着迭代不断自我调整,提高学习效率

5. Momentum: 可以一定程度上避免陷入局部最低点的问题

 

避免过度拟合(overfitting)的方法:

1. Early Stopping:使用cross validation的方式,不断对validation data进行检验,一旦发现预测精度下降则停止。

2. Weight Decay:参数正则化的一种方式?

3. Dropout:通过随机去掉一些节点的连接达到改变网络形式,所以会产生出多种网络形态,然后汇集得到一个最佳结果

4. Network Structure: 例如CNN等其他形态的网络

 

神经网络变体

Convolutional Neural Network (CNN)

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

 

Recurrent Neural Network (RNN)

RNN的想法是可以将hidden layer的数据存储下来,然后作为输入给下一个网络学习。这种网络的想法可以解决自然语言中前后词语是存在关联性的,所以RNN可以把这些关联性放到网络中进行学习。

 

其他前沿技术

Ultra Deep Network:2015年出现了152层的Residual Net实现了图片3.57%错误率

 

Reinforcement Learning: 通过奖励机制强化学习,并且做出相应的动作

Unsupervised Learning:

1. Deep Style

2. 生成图片

 

3. 无需人工介入理解文字的含义

 

2018-12-31 11:59:10 kefeiliu 阅读数 325
  • 深度学习30系统实训

    系列教程从深度学习核心模块神经网络开始讲起,将复杂的神经网络分模块攻克。由神经网络过度到深度学习,详解深度学习中核心网络卷积神经网络与递归神经网络。选择深度学习当下流行框架Tensorflow进行案例实战,选择经典的计算机视觉与自然语言处理经典案例以及绚丽的AI黑科技实战,从零开始带大家一步步掌握深度学习的原理以及实战技巧。课程具体内容包括:神经网络基础知识点、神经网络架构、tensorflow训练mnist数据集、卷积神经网络、CNN实战与验证码识别、自然语言处理word2vec、word2vec实战与对抗生成网络、LSTM情感分析与黑科技概述。

    14361 人正在学习 去看看 唐宇迪

思维导图(continuous work):

 

 

入门材料:

李宏毅教授 一天搞懂深度学习 286页PPT讲稿

经典课程:

吴恩达 深度学习课程

视频:https://mooc.study.163.com/university/deeplearning_ai#/c

笔记:http://www.ai-start.com/dl2017/   http://www.ai-start.com/ml2014/   

经典书籍:

机器学习 周志华

深度学习

深入Google TensorFlow理论

没有更多推荐了,返回首页