Andrew NG 在2016 NIPS 上tutorial 简单总结

Andrew NG 在2016 NIPS 上tutorial 简单总结

水平有限,如有错误,请不吝指正,谢谢! 视频地址youtube

神经网络已经出现很多年,为什么最近广泛应用起来

  1. 大数据
  2. 计算机能力的增强

DL分类

  1. 普通DL(全连接)
  2. 1-D序列模型(RNN,LSTM,GPU)
  3. 图像模型,2-D,3-D, CNN
  4. 其它类别:无监督学习,增强学习。

趋势

  • 模型规模不断增大
  • 端到端学习 (Rich output)
    • 现在大多数机器学习算法只是输出一个值,但深度学习可以干更复杂的事,输出富文本(image->caption, audio->transcript, english->frence, parameters->image)

端到端学习

端到端学习并不能解决所有事情。 拿语音识别举例: 传统方法: audio -> phonemes -> transcript 端到端:audio -> transcript

如果想让端到端学习工作的话,需要大量的标签数据。(X,Y)

另一个例子:通过手的X-ray图像判断小孩的年龄 传统方法:x-ray image -> bones lengths -> age 端到端: image -> age 应用端到端方法,碰到的问题是,没有足够的训练数据去训练一个好的网络。DL用的更多的地方是传统方法的:x-ray image -> bones lengths 这个过程。

?多少数据才够,数据不够的话,小心使用端到端学习

碰到问题时,应该怎么解决。(bias/variance)

Goal: 人类水平的语音识别系统

定义biasvariancebias : 训练集错误率 <–> 人类水平错误率 variance: dev-set错误率 <–> train-set错误率

human error

train-set error

dev-set error

test-set error

问题

1%

5%

6%

high bias

1%

2%

6%

high variance

1%

5%

10%

high bias, high variable

基本workflow:

Created with Raphaël 2.1.0StartTraining error is low?Dev error is low?DoneMore data, Regularization, New Model architecture.Bigger model,Train longer, new Model architecture.yesnoyesno

Bigger ModelMore Data 总是会得到好结果。

建议:unified data warehouse

问题:当前,用于训练的数据分布,和测试集数据分布很有可能属于不同分布 假设50000h的语音数据(但不是来自测试分布的数据),和10h的语音数据(来自于测试分布)。如何组织你的train, dev, test set? 第一种方案: 将50000h分为train, dev set,10h 作为测试数据(bad idea) 第二种方案:50000h作为train set,10h分为dev,test set。(devtest set应该服从同一分布) 第三种方案:50000h 分为 train-set, train-dev-set,10h分为 dev-set,test-set

重新定义bias variancebias : 训练集错误率 <–> 人类水平错误率 variance: train-dev-set错误率 <–> train-set错误率 train-test mismatchtrain-dev-set <—> dev-set overfitting of dev: dev-set <–> test-set

human-level

train-set

train-dev-set

dev-set

test-set

问题

1%

10%

10.1%

10.1%

10.2%

high bias

1%

2%

2.1%

10%

train-test mismatch

基本workflow:

Created with Raphaël 2.1.0StartTraining error is low?Train-Dev error is low?Dev error is low?Test error is low?DoneGet more dev data.More data similar to test, Data Synthesis/Augmentation, New Architecture.More data, Regularization, New Model architecture.Bigger model,Train longer, new Model architecture.yesnoyesnoyesnoyesno

提高模型准确率

如何定义human level error:专家团错误率。

  • 当模型准确率低于人类水平时
    • 从人类获得更多的数据
    • 错误分析(看哪些样本分错了)
    • 评估 bias/variance 影响。

AL/DL 可以干什么?

1) 人类在一秒中可以干的事情,深度学习可以做(给数据打标签)。 2) 预测序列时间的下一个输出。 3) 人工智能应该干人类无法干的事(马云)

如何学习机器学习

  • ML course
  • DL schoole
  • Phd student process
    • read papers
    • replicate results
  • dirty work
    • downloading data, clean data
    • downloading piece of data, tuning the parameters and see what happend

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏智能算法

GBDT(梯度提升决策树)算法(简明版)

一、算法介绍 GBDT(Gradient Boosting Decision Tree) 又叫 MART(Multiple Additive Regr...

3809
来自专栏机器学习和数学

[有意思的数学] 傅里叶变换和卷积与图像滤波的关系 (2)

昨天简单介绍了Fourier变换和卷积的概念,有了一个基本的认识之后,再看图像滤波,就不会觉得那么莫名其妙了。图像滤波这其实也是个大坑,里面涉及的东西很多,想通...

3536
来自专栏闪电gogogo的专栏

关于压缩感知的一些小原理

 压缩感知(CompressiveSensing, or Compressed Sensing)或译为压缩传感,或者称为压缩采样(Compressive...

2087
来自专栏机器学习实践二三事

GBDT(Gradient Boosting Decision Tree)

GBDT+FFM(FM)+Online Learing(FTRL)是kaggle比赛的重点方法,而且暑期实习面试的时候也有很多面试官问了,还是很有必要学习下的....

4117
来自专栏机器学习算法全栈工程师

机器学习中Bagging和Boosting的区别

Bagging和Boosting都是将已有的分类或回归算法通过一定方式组合起来,形成一个性能更加强大的分类器,更准确的说这是一种分类算法的组装方法。即将弱分类...

34512
来自专栏大数据挖掘DT机器学习

用R语言预测股票价格涨跌—基于KNN分类器

K最近邻(kNN,k-NearestNeighbor)分类算法是数据挖掘分类技术中最简单的方法。所谓K最近邻,就是k个最近的邻居的意思,说的是每个样本都可以用...

4196
来自专栏机器学习养成记

Bagging算法(R语言)

Bagging算法(bootstrap aggregation)由Leo Breiman提出。是一种在每个自助样本集上建立基分类器,通过投票指派得到测试样本最终...

36510
来自专栏Echo is learning

模型选择评估方法

1152
来自专栏Echo is learning

模型选择评估方法

1163
来自专栏机器学习原理

机器学习(13)——adaboostAdaboost

前言:下面介绍另外一种集成算法思想—boosting,提升学习(Boosting)是一种机器学习技术,可以用于回归和分类的问题,它 每一步产生弱预测模型(如决策...

3256

扫码关注云+社区