2017-05-05 21:14:41 seanliu96 阅读数 1913
  • 深度学习30系统实训

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

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

Lecture I: Introduction of Deep Learning

Three Steps for Deep Learning

  1. define a set of function(Neural Network)
  2. goodness of function
  3. pick the best function

Soft max layer as the output layer.

FAQhow many layers? How many neutons for each layer?

Trial and Error + Intuition(试错+直觉)

Gradient Descent

  1. pick an initial value for w
    • random(good enough)
    • RBM pre-train
  2. compute Lw
    wwηLw, where η is called “learning rate”
  3. repeat Until Lw is approximately small

But gradient descent never guarantee global minima

Modularization(模块化)

Deep Modularization

  • Each basic classifier can have sufficient training examples

  • Sharing by the following classifiers as module

  • The modulrization is automatically learned from data

Lecture II: Tips for Training DNN

  1. Do not always blame overfitting

    • Reason for overfitting: Training data and testing data can be different
    • Panacea for Overfitting: Have more training data or Create more training data
  2. Different approaches for different problems

  3. Chossing proper loss

    • square error(mse)
      • (yiyi^)2
    • cross entropy(categorical_crosssentropy)
      • (yi^lnyi)
      • When using softmax output layer, choose cross entropy
  4. Mini-batch

    • Mini-batch is Faster
      1. Randomly initialize network parameters
      2. Pick the 1 st batch, update parameters once
      3. Pick the 2 nd batch, update parameters once
      4. Until all mini-batches have been picked(one epoch finished)
      5. Repeat the above process(2-5)
  5. New activation function

    • Vanishing Gradient Problem
    • RBM pre-training
    • Rectified Linear Unit (ReLU)
    • Fast to compute
    • Biological reason
    • Infinite sigmoid z with different biases
    • A Thinner linear network
    • A special cases of Maxout
    • Vanishing gradient problem
    • 这里写图片描述
    • ReLU - variant
    • 这里写图片描述
  6. Adaptive Learning Rate

    • Popular & Simple Idea: Reduce the learning rate by some factor every few epochs

      • ηt=ηt+1
    • Adagrad

      • Original: wwηLw
      • Adagrad:wwηwLw,ηw=ηti=0(gi)2
  7. Momentum

    • Movement = Negative of L/w + Momentum
    • Adam = RMSProp (Advanced Adagrad) + Momentum
  8. Early Stopping

  9. Weight Decay

    • Original: wwηLw
    • Weight Decay: w0.99wηLw
  10. Dropout

    • Training:
    • Each neuron has p% to dropout
    • The structure of the network is changed.
    • Using the new network for training
    • Testing:
    • If the dropout rate at training is p%, all the weights times (1-p)%
    • Dropout is a kind of ensemble

Lecture III: Variants of Neural Networks

Convolutional Neural Network (CNN)

这里写图片描述

这里写图片描述

这里写图片描述

  • The convolution is not fully connected
  • The convolution is sharing weights
  • Learning: gradient descent

Recurrent Neural Network (RNN)

这里写图片描述

这里写图片描述

Long Short-term Memory (LSTM)

这里写图片描述

这里写图片描述

这里写图片描述

  • Gated Recurrent Unit (GRU): simpler than LSTM

Lecture IV: Next Wave

Supervised Learning

Ultra Deep Network

  • Worry about training first!

  • This ultra deep network have special structure

  • Ultra deep network is the ensemble of many networks with different depth

  • Ensemble: 6 layers, 4 layers or 2 layers

  • FractalNet

    这里写图片描述

  • Residual Network

    这里写图片描述

  • Highway Network

    这里写图片描述

Attention Model

  • Attention-based Model

    这里写图片描述

  • Attention-based Model v2

    这里写图片描述

Reinforcement Learning

  • Agent learns to take actions to maximize expected reward.
  • Difficulties of Reinforcement Learning
    • It may be better to sacrifice immediate reward to gain more long-term reward
    • Agent’s actions affect the subsequent data it receives
  • 这里写图片描述

Unsupervised Learning

  • Image: Realizing what the World Looks Like
  • Text: Understanding the Meaning of Words
  • Audio: Learning human language without supervision
2013-05-21 23:14:48 xudong0612 阅读数 26949
  • 深度学习30系统实训

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

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

最近一时兴起打算研究下深度学习,这个名词近来很火,貌似成为了人工智能领域一根新的稻草。经过几天的查资料和看论文,已经初步有了第一印象,闲话少说,结合一些资料,进入正题。

深度学习的起源

深度学习(Deep Learning)是机器学习中一个非常接近AI的领域,其动机在于建立、模拟人脑进行分析学习的神经网络。深度学习属于无监督学习。

深度学习的概念源于人工神经网络的研究。深度学习是相对于简单学习而言的,目前多数分类、回归等学习算法都属于简单学习,其局限性在于有限样本和计算单元情况下对复杂函数的表示能力有限,针对复杂分类问题其泛化能力受到一定制约。深度学习可通过学习一种深层非线性网络结构,实现复杂函数逼近,表征输入数据分布式表示,并展现了强大的从少数样本集中学习数据集本质特征的能力。含多隐层的多层感知器就是一种深度学习结构。深度学习模拟更多的神经层神经活动,通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示,深度学习的示意图如图1所示。

深度学习的概念由Hinton等人于2006年提出。基于深信度网(DBN)提出非监督贪心逐层训练算法,为解决深层结构相关的优化难题带来希望,随后提出多层自动编码器深层结构。此外Lecun等人提出的卷积神经网络是第一个真正多层结构学习算法,它利用空间相对关系减少参数数目以提高训练性能。


图1 深度学习示意图


什么是深度学习

研究人员通过分析人脑的工作方式发现:通过感官信号从视网膜传递到前额大脑皮质再到运动神经的时间,推断出大脑皮质并未直接地对数据进行特征提取处理,而是使接收到的刺激信号通过一个复杂的层状网络模型,进而获取观测数据展现的规则。也就是说,人脑并不是直接根据外部世界在视网膜上投影,而是根据经聚集和分解过程处理后的信息来识别物体。因此视皮层的功能是对感知信号进行特征提取和计算,而不仅仅是简单地重现视网膜的图像。人类感知系统这种明确的层次结构极大地降低了视觉系统处理的数据量,并保留了物体有用的结构信息。深度学习正是希望通过模拟人脑多层次的分析方式来提高学习的准确性。

实际生活中,人们为了解决一个问题,如对象的分类(对象可是文档、图像等),首先必须做的事情是如何来表达一个对象,即必须抽取一些特征来表示一个对象,因此特征对结果的影响非常大。在传统的数据挖掘方法中,特征的选择一般都是通过手工完成的,通过手工选取的好处是可以借助人的经验或者专业知识选择出正确的特征;但缺点是效率低,而且在复杂的问题中,人工选择可能也会陷入困惑。于是,人们就在寻找一种能够自动的选择特征,而且还能保证特征准确的方法。DeepLearning就是能实现这一点,它能够通过多层次通过组合低层特征形成更抽象的高层特征,从而实现自动的学习特征,而不需要人参与特征的选取。

深度学习的核心思想

假设我们有一个系统S,它有n层(S1,…Sn),它的输入是I,输出是O,形象地表示为: I=>S1=>S2=>…..=>Sn => O,如果输出O等于输入I,即输入I经过这个系统变化之后没有任何的信息损失,保持了不变,这意味着输入I经过每一层Si都没有任何的信息损失,即在任何一层Si,它都是原有信息(即输入I)的另外一种表示。现在回到我们的主题DeepLearning,我们需要自动地学习特征,假设我们有一堆输入I(如一堆图像或者文本),假设我们设计了一个系统S(有n层),我们通过调整系统中参数,使得它的输出仍然是输入I,那么我们就可以自动地获取得到输入I的一系列层次特征,即S1,…, Sn。

另外,前面是假设输出严格地等于输入,这个限制太严格,我们可以略微地放松这个限制,例如我们只要使得输入与输出的差别尽可能地小即可。

深度学习的动机

学习基于深度架构的学习算法的主要动机是:

①不充分的深度是有害的;

在许多情形中深度2就足够(比如logicalgates, formal [threshold] neurons, sigmoid-neurons, Radial Basis Function [RBF]units like in SVMs)表示任何一个带有给定目标精度的函数。但是其代价是:图中所需要的节点数(比如计算和参数数量)可能变的非常大。理论结果证实那些事实上所需要的节点数随着输入的大小指数增长的函数族是存在的。这一点已经在logicalgates, formal [threshold] neurons 和rbf单元中得到证实。在后者中Hastad说明了但深度是d时,函数族可以被有效地(紧地)使用O(n)个节点(对于n个输入)来表示,但是如果深度被限制为d-1,则需要指数数量的节点数O(2^n)。

我们可以将深度架构看做一种因子分解。大部分随机选择的函数不能被有效地表示,无论是用深地或者浅的架构。但是许多能够有效地被深度架构表示的却不能被用浅的架构高效表示(seethe polynomials example in the Bengio survey paper)。一个紧的和深度的表示的存在意味着在潜在的可被表示的函数中存在某种结构。如果不存在任何结构,那将不可能很好地泛化。

②大脑有一个深度架构;

例如,视觉皮质得到了很好的研究,并显示出一系列的区域,在每一个这种区域中包含一个输入的表示和从一个到另一个的信号流(这里忽略了在一些层次并行路径上的关联,因此更复杂)。这个特征层次的每一层表示在一个不同的抽象层上的输入,并在层次的更上层有着更多的抽象特征,他们根据低层特征定义。

需要注意的是大脑中的表示是在中间紧密分布并且纯局部:他们是稀疏的:1%的神经元是同时活动的。给定大量的神经元,仍然有一个非常高效地(指数级高效)表示。

③认知过程是深度的;

人类层次化地组织思想和概念;

人类首先学习简单的概念,然后用他们去表示更抽象的;

工程师将任务分解成多个抽象层次去处理;

深度学习结构

目前深度学习按照结构和技术应用的方式,可以把结构分为三类:

生成性深度结构

该结构描述数据的高阶相关特性,或观测数据和相应类别的联合概率分布。与传统区分型神经网络不同,可获取观测数据和标签的联合概率分布,这方便了先验概率和后验概率的估计,而区分型模型仅能对后验概率进行估计。论文Afast learning algorithm for deep learning中采用的深度信念网(DBN)就属于生成性深度结构。DBN解决传统BP算法训练多层神经网络的难题:1)需要大量含标签训练样本集;2)较慢的收敛速度;3)因不合适的参数选择陷入局部最优。

DBN由一系列受限波尔兹曼机(RBM)单元组成。RBM是一种典型神经网络,该网络可视层和隐层单元彼此互连(层内无连接),隐单元可获取输入可视单元的高阶相关性。相比传统sigmoid信度网络,RBM权值的学习相对容易。为了获取生成性权值,预训练采用无监督贪心逐层方式来实现。在训练过程中,首先将可视向量值映射给隐单元;然后可视单元由隐层单元重建;这些新可视单元再次映射给隐单元,这样就获取了新的隐单元。通过自底向上组合多个RBM可以构建一个DBN。应用高斯—伯努利RBM或伯努利—伯努利RBM,可用隐单元的输出作为训练上层伯努利—伯努利RBM的输入,第二层伯努利和伯努利的输出作为第三层的输入等,如图2所示。

图2 DBN模型


区分性深度结构

目的是提供对模式分类的区分性能力,通常描述数据的后验分布。卷积神经网络(Convolutional neural network, CNNs)是第一个真正成功训练多层网络结构的学习算法,与DBNs不同,它属于区分性训练算法。受视觉系统结构的启示,当具有相同参数的神经元应用于前一层的不同位置时,一种变换不变性特征就可获取了。后来LeCun等人沿着这种思路,利用BP算法设计并训练了CNNs。CNNs作为深度学习框架是基于最小化预处理数据要求而产生的。受早期的时间延迟神经网络影响。CNNs靠共享时域权值降低复杂度。CNNs是利用空间关系减少参数数目以提高一般前向BP训练的一种拓扑结构,并在多个实验中获取了较好性能。在CNNs中被称作局部感受区域的图像的一小部分作为分层结构的最底层输入。信息通过不同的网络层次进行传递,因此在每一层能够获取对平移、缩放和旋转不变的观测数据的显著特征。

混合型结构

它的目标是区分性的,但通常利用了生成型结构的输出会更易优化。混合型结构的学习过程包含两个部分,即生成性部分和区分性部分。现有典型的生成性单元通常最终用于区分性任务,生成性模型应用于分类任务时,预训练可结合其他典型区分性学习算法对所有权值进行优化。这个区分性寻优过程通常是附加一个顶层变量来表示训练集提供的期望输出或标签。BP算法可用于优化DBN权值,它的初始权值通过在RBM和DBN预训练中得到而非随机产生,这样的网络通常会比仅通过BP算法单独训练的网络性能优越。可以认为BP对DBNs训练仅完成局部参数空间搜索,与前馈型神经网络相比加速了训练和收敛时间。

里程碑式的论文

目前,深度学习的成果主要集中在计算机视觉和语音识别方面,并且相关成果已经被Google,Microsoft等公司采用。除此之外,自然语言处理、信息检索等领域也对深度学习产生了浓厚的兴趣,但是目前还没有突出的成果。

计算机视觉

ImageNetClassification with Deep Convolutional Neural Networks, Alex Krizhevsky, IlyaSutskever, Geoffrey E Hinton, NIPS 2012.

LearningHierarchical Features for Scene Labeling, Clement Farabet, Camille Couprie,Laurent Najman and Yann LeCun, IEEE Transactions on Pattern Analysis andMachine Intelligence, 2013.

LearningConvolutional Feature Hierachies for Visual Recognition, Koray Kavukcuoglu,Pierre Sermanet, Y-Lan Boureau, Karol Gregor, Michaël Mathieu and YannLeCun, Advances in Neural Information Processing Systems (NIPS 2010), 23, 2010.

语音识别

Dahl,George E., et al. Large vocabulary continuous speech recognition withcontext-dependent DBN-HMMs. Acoustics, Speech and Signal Processing (ICASSP),2011 IEEE International Conference on. IEEE, 2011.

Mohamed,A-R., et al. Deep belief networks using discriminative features for phonerecognition. Acoustics, Speech and Signal Processing (ICASSP), 2011 IEEEInternational Conference on. IEEE, 2011.

Fasel,Ian, Jeff Berry. Deep belief networks for real-time extraction of tonguecontours from ultrasound during speech. Pattern Recognition (ICPR), 2010 20thInternational Conference on. IEEE, 2010.

Deng,Li, et al. Binary coding of speech spectrograms using a deep auto-encoder.Proc. Interspeech. 2010.

自然语言处理

DESELAERST,HASANS, BENDERO, et al. A deep learning approach to machine transliteration[C].Proc of the 4th Workshop on Statistical Machine Translation. 2009:233-241.


开发工具

Theano 是一个 Python 的扩展库,用来定义、优化和模拟数学表达式计算,可以高效的解决多维数组的计算问题。利用Theano更容易的实现深度学习模型。

使用Theano要求首先熟悉Python和numpy(如果你不了解,可以先看看这里:pythonnumpy)。接下来学习Theano建议先看Theano basic tutorial,然后按照Getting Started 下载相关数据并用gradient descent的方法进行学习。

学习了Theano的基本方法后,可以练习写以下几个算法:

有监督学习:

  1. Logistic Regression - using Theano for something simple
  2. Multilayer perceptron - introduction to layers
  3. Deep Convolutional Network - a simplified version of LeNet5

无监督学习:

参考文献

[1] http://deeplearning.net
[5] Hinton, Geoffrey E., Simon Osindero, Yee-Whye Teh. A fast learning algorithm for deep belief nets. Neural computation 18.7 (2006): 1527-1554.

[6] 孙志军, 薛磊, 许阳明, 王正. (2012). 深度学习研究综述. 计算机应用研究,29(8), 2806-2810.

2018-11-05 09:28:36 fengdu78 阅读数 22
  • 深度学习30系统实训

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

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

今天,本站推荐一份深度学习的小抄:台大李宏毅教授的深度学习讲义,这是我见过最容易懂的深度学习入门资料,300多页的讲义能系统、通俗易懂地讲清楚深度学习的基本原理,如同机器学习小抄一样生动形象。。

备注:本站以前发的一篇《机器学习小抄-(像背托福单词一样理解机器学习)》

把机器学习的概念做成背托福单词的随身小抄一样方便!分分钟搞定机器学习各种记不住的概念!

本文对小抄主要内容进行简要介绍,并且对主要部分做了页码标注和标题翻译:

1.讲义大纲

第一部分:介绍深度学习

1.1   深度学习概论(p5)

1.1.1 深度学习的三个步骤(p10)

        1)定义一系列函数(p11)

        1.1.2 函数的优点(p26)

                1) 训练数据(p27)

                2)学习目标(p28)

                3)损失函数(p29)

         1.1.3 选择最佳函数(p32)

        1)梯度下降(p33)

        2)反向传播推导(p44)

1.2   为什么使用深度(p47)

1.2.1 更多参数,更优性能(p47)

1.2.2  任何函数可以通过一个单一的隐藏层实现(p44)

1.2.3  深度学习:模块化?需要更少的数据(p52)

第二部分:关于训练深度神经网络的一些建议

2.1 合适的损失函数(p69)

        2.1.1 平方误差和交叉熵(p74)

2.2 Mini batch (p74)

        2.2.1 更好的性能(p83)

2.3 激活函数(p86)

        2.3.1 RELU(p92)

        2.3.2 Maxout(p98)

2.4 调整学习率(p98)

        2.4.1 Adagrad(p104)

2.5 Momentum(p108)

        2.5.1 Adam(p112)

2.6 解决过拟合(p115)

        2.6.1 更多的训练数据(p116)

2.7 早停(p119)

2.8 权重衰减(p121)

2.9 Dropout(p126)

2.10 网络架构(p138)

第三部分:各种各样的神经网络

3.1 CNN (p149)

        3.1.1 卷积(p158)

        3.1.2 池化(p165)

        3.1.3 平铺(p170)

3.2 RNN(p192)

3.3 LSTM(p196)

3.4 GRU(p211)

第四部分:下一股浪潮

4.1 监督学习(p226)

        4.1.1 超级深的网络(p226)

        4.1.2 注意力模型(p235)

4.2 增强学习(p252)

4.3 无监督学习(p264)

2.讲义截图:

3.总结:

一天读懂深度学习,尽管有点夸张,但这个讲义,确实把深度学习的概念基本都讲到了,读完讲义,将会对深度学习有总体的了解,对将来的学习会有很大帮助。尽管讲义不是最新(这个版本是2017年6月的),但是对于初学者入门,会有事半功倍的效果,本站极力推荐。

备注:本站为了方便读者,将pdf版本的讲义转换为ppt格式,方便大家使用(部分公式错乱,请参考pdf版本)

完整讲义下载请回复“李宏毅”查看

也可以直接用百度云下载:

链接:https://pan.baidu.com/s/1t0EpHwx46u_yzgPfpzOJyg 

提取码:h74o 

请关注和分享↓↓↓

机器学习初学者

QQ群:654173748

往期精彩回顾

2017-12-08 14:59:37 wy005002 阅读数 200
  • 深度学习30系统实训

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

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

内容简介

《深度学习:21天实战Caffe》是一本深度学习入门读物。以目前已经大量用于线上系统的深度学习框架Caffe为例,由浅入深,从 Caffe 的配置、部署、使用开始学习,通过阅读 Caffe 源码理解其精髓,加强对深度学习理论的理解,最终达到熟练运用 Caffe 解决实际问题的目的。和国外机器学习、深度学习大部头著作相比,《深度学习:21天实战Caffe》偏重动手实践,将难以捉摸的枯燥理论用浅显易懂的形式表达,透过代码揭开其神秘面纱,更多地贴近实际应用。

《深度学习:21天实战Caffe》pdf高清完整版电子书下载地址:http://download.csdn.net/download/cpp12341234/9805948?utm_source=blogseo需要的小伙伴点击下载,绝对高清电子书!




目录

第1天 什么是深度学习 2

第2天 深度学习的过往 10

第3天 深度学习工具汇总 19

第4天 准备Caffe环境 27

第5天 Caffe依赖包解析 34

第6天 运行手写体数字识别例程 50

第7天 Caffe代码梳理 82

第8天 Caffe数据结构 101

第9天 Caffe I/O模块 149

第10天 Caffe模型 172

第11天 Caffe前向传播计算 181

第12天 Caffe反向传播计算 193

第13天 Caffe最优化求解过程 207

第14天 Caffe实用工具 231

第15天 Caffe计算加速 260

第16天 Caffe可视化方法 275

第17天 Caffe迁移和部署 300

第18天 关于ILSVRC不得不说的一些事儿 318

第19天 放之四海而皆准 327

第20天 继往开来的领路人 356

第21天 新生 363


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

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

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

读《一天搞懂深度学习》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在一起可以工作的更好


网络结构

深度学习实践

阅读数 271

深度学习框架图

阅读数 1339

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