深度学习 发展 优缺点 面试二
来源:互联网 发布:做网络推广的心得 编辑:程序博客网 时间:2024/06/07 16:07
经过了几个月,对神经网络的优缺点又做了一些总结:
神经网络的发展经历了3次大的转折。由于早期的计算资源的限制,以及数据量不足,导致前2个时期提出的神经网络,大多规模很小,而且在一定程度上还不如传统的统计机器学习方法,而且神经网络的结构相对简单,因此并没有体现出神经网络的潜在价值。
在07年,hitton提出了利用自编码器来stack by stack的学习图像的表征,然后堆叠起来作为神经网络参数的初始化值,然后在统一采用反向传播算法(BP算法)进行训练,最终准确率有显著的提升。同样的,由于大数据的出现,以及GPU等计算资源的出现,使得深度神经网络的训练得到可能。神经网络的优点:
(1)由于神经网络天生具备拟合任意复杂函数的特点,因此神经网络你和能力很强,可以做非常复杂的非线性映射。
(2)深度神经网络的参数很多,因此要得到的假设空间维度非常高,有很强大的表征能力。
(3)现代的深度神经网络大多可以用来提取图像,语音,文本的抽象特征,而且提取出来的特征要比人为设定的特定具有更强的泛化性能,可以应用到多个领域。可以学习浅层语义信息,同样可以学习深层语义信息,因此这样便可以自动获取特征。为后面各个不同的任务提供特征。
(4)神经网络通过设计不同的结构,可以改变网络提取特征的方法,同样也可以对拟合目标函数达到不同的效果。其中,从早些时候的Alexnet,到后面的vgg16, vgg19, googlenet, resnet,以及近期提出的双通道网络,都围着这降低参数量,学习更加丰富的特征,以及加快训练速度等角度提出的,可见神经网络具有非常大的灵活性,可以适应于多种不同的任务。
神经网络的缺点:
(1)神经网络强大的假设空间,使得神经网络极易陷入局部最优,导致模型泛化能力很差,使得模型过拟合见到的数据分布,并不能很好的预测未知的数据。“没有免费的午餐”即表示使用复杂的模型,也会带来模型泛化能力的下降。因此基于泛化能力,提出了许多相应的措施,比如提出dropout在训练阶段,选择性的遮掉一部分隐藏节点,使得最终的模型节点点没有太多的趋同效果,相当于训练了多个子网络,达到ensemble的效果。
(2)神经网络参数量巨大,倒是训练起来非常慢,对于存储也非常不方便,因此基于这个问题,现在不断的更改网络结构,先训练大网络,然后在迁移到小网络结构,使得参数量大幅度降低,但是准确率不会有明显降低。
(3)在网络很深的情况下,会出现梯度消失,因此会提出relu,tanh等激活函数来方式梯度消失。
(4)网络很深,会使得收敛很慢,同样提出了batch normalization,来使得训练深层的网络成为可能。
阅读全文
0 0
- 深度学习 发展 优缺点 面试二
- 深度学习 发展 优缺点 面试
- 深度学习发展简史
- 深度学习发展历史
- 深度学习-发展历程
- 深度学习发展历程
- 1-深度学习-发展历程
- 深度学习的发展历程
- 深度学习发展简要笔记
- 深度学习发展简要笔记
- 深度学习发展简要笔记
- 深度学习中激活函数的优缺点
- 面试:机器学习--深度学习
- 深度学习(一)深度学习的发展历史
- 深度学习发展及粗略介绍
- 深度学习的发展历程总结
- 1.深度学习-初识之历史发展
- 深度学习的起源、发展和现状
- 页面缩放兼容性处理(zoom,Firefox火狐浏览器)
- C语言基础知识
- python错误Errors与异常Exceptions
- 665. Non-decreasing Array
- C语言第二课
- 深度学习 发展 优缺点 面试二
- 随机产生验证码 简洁代码块
- 三个问题
- 05 flume--Azkaban--sqoop
- 线性筛法
- Python学习中常见的错误有哪些?
- [Machine Learning] [Octave]Gradient Descent Practice
- Web系统测试总结
- tensorflow CNN实际例子