首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >干货 | 给妹纸的深度学习教学——从这里出发

干货 | 给妹纸的深度学习教学——从这里出发

作者头像
崔庆才
发布2018-04-04 15:54:16
9980
发布2018-04-04 15:54:16
举报
文章被收录于专栏:进击的Coder进击的Coder

或许你第一个想弄明白的问题是人工智能(AI),机器学习(ML),深度学习(DL)三者的区别和联系,下图清晰明了地告诉你。

1. 什么是机器学习

从小学开始,我们便一直和「函数」打交道,比如一条直线 ,若输入为 ,很容易得到。

若输入为一段音频,你需要去模拟出一个类似与函数的东西,它的输出便是音频的内容。

若输入为一张图片,你希望模拟一个复杂的函数,使得它的输出为这张图片是什么。

若输入为一个围棋盘面,你希望模拟一个复杂的函数,让它告诉你下一步该走哪里。

是的,你可以认为,机器学习,就是在寻找这个复杂的「函数」,因为它复杂,它不确定,它是非线性的,所以你需要设计一些算法,让机器去学习这个复杂的「函数」究竟是什么。

对,这就是机器学习,人会做出一些决策,一些判断,你希望,用一些已有的数据,对机器进行训练,使得机器也能学会如何决策,甚至做得更好。

2. 什么是深度学习

深度学习,是机器学习的一个子类。换句话说,它实际上是实现机器学习的一种方法,随着计算机软硬件的飞速发展,人们意识到可以通过神经网络(Neural Network)来模拟人的大脑,而深度一词,意味着神经网络拥有众多的层数。

回过头想想,你的大脑是如何思考的?你的生物老师,是如何告诉你信号在大脑中是如何传递的。

目前来看,深度学习主要有

  • 卷积神经网络(Convolutional Neural Network)
  • 循环神经网络(Recurrent Neural Network)
  • 生成对抗网络(Generative Adversarial Networks)
  • 深度强化学习(Deep Reinforcement Learning)

这几个大研究方向。

如何开始

头悬梁,锥刺股,如何开始学习深度学习?

  • 学什么?不管你是属于哪个方向,我认为你首先应该学习的便是CNN,本系列文章,也正式通过介绍卷积神经网络的各种架构,来达到让你入门的目的。
  • 怎么学?
    • 书籍?通过书籍来学习,这是自古以来不会有太大差错的方式。
      • 首先我要推荐的是深度学习的第一本权威教科书《Deep Learning》。此外,本书的中文翻译,也在几个星期前开始销售。更值得庆幸的是,你可以从deeplearningbook-chinese获取本书的PDF
      • 当然,如果你觉得你的机器学习知识需要提高,可以尝试周志华老师的《机器学习》,或是通过李航的《统计学习方法》恶补一下?另外,请支持正版,请不要传播非法的PDF文档。
    • 课程?传道授业解惑,自古以来人们便习惯通过面对面授课的方式来进行学习,如今,发达的网络,更是带来了大量可供学习视频资源。
      • 我最推荐的是 Fei-Fei LiCS231n,课程完备,资料齐全,授课内容始终处在最前沿。课程的视频,在YouTube上面也能轻松找到。
        • CS231n: Convolutional Neural Networks for Visual Recognition
        • 此外,知乎还有对本课程笔记的翻译。 贺完结!CS231n官方笔记授权翻译总集篇发布。
      • 另一个强力推荐的是台大 李宏毅 老师的课程。
        • Machine Learning (2017,Spring)
        • Machine Learning (2016,Fall)
        • Machine Learning and having it deep and structured (2017,Spring) 这门课叫做MLDS,其实就是在讲Deep Learning,而且homework非常有意思,有GAN也有RL,值得推荐。
        • 此外,李宏毅老师的《一日搞懂深度学习》,其 链接 也在老师的个人网站上,8月13号在台北还有他的talk《一日搞懂生成对抗网络》,之后应该也能在它的主页上找到。
      • 同样,还有 林軒田 老师的公开课《机器学习基石》《机器学习技法》。也是中文授课。讲得很好,PDF做得也很棒,毕竟老师曾是多届 KDD Cup 的冠军。
        • Machine Learning Techniques, Spring 2017
        • Machine Learning Foundations, Fall 2016
      • 就在前段时间,Andrew Ng教授似乎又有了新动作,如果你愿意,也可以尝试一下
    • 实践?只有理论没有实践,俗称花把式。
      • 个人认为比较好的方式就是写作业,比如上面课程的作业,比如重新实现github上的一些优秀代码,一定要花时间去实践,这和你要刷题才能领悟真谛是一个道理!
    • 寻求帮助?上知乎,上github,上google,上stackoverflow,上jizhi 上CrossValidated,你需要专业的解答。
    • 机器?工欲善其事,必先利其器,请务必准备一张GPU,这样你才能愉快地玩耍!

你应该走过的战场

好,接下来说一说,你需要走过的战场。

  • 你开始了解什么是图片的分类(Image Classification)
  • 你开始用一些简单的线性模型来进行预测(SVM,KNN)
  • 你开始研究什么是最优化,什么是损失函数(Loss function)和梯度下降
  • 你开始研究什么是反向传播(Backpropagation)
  • 你开始研究什么是神经网络(NN)
  • 终于,你踏入了卷积神经网络的战场
    • 你开始学习卷积层,池化,归一化等等
    • 你开始研究 TensorflowKerasPytorch,Caffe
    • 你开始读别人的代码,你开始自己写代码
    • 你开始知道cifar10,知道ImageNet
  • 你开始研究第一个CNN model: LeNet-5 - Yann LeCun。最开始你有必要研究一下CNN之父LeCun发明的LeNet,虽然现在已经没有用武之地,但是CNN便是从这里开始的
  • 紧接着是一个突破性的架构 「AlexNet」:ImageNet Classification with Deep Convolutional Neural Networks 2012 ImageNet的冠军,真正让CNN开始流行起来
  • 然后是它的改进 「ZF Net」: Visualizing and Understanding Convolutional Networks
  • 以及「Network in Network」: Network In Network
  • 你开始逐渐知道一些CNN 训练常用的 「trick」
    • 数据预处理(Data Augmentation)
    • 权重初始化(Xavier/He Weight initial)
    • 批量归一化(Batch Normalization)
    • 正则化(L2/L1/Maxnorm/Dropout)
  • 以及震惊一时的「Vgg Network」: Very Deep Convolutional Networks for Large-Scale Image Recognition
  • 然后进入「GoogleNet」家族:
    • [v1] Going Deeper with Convolutions
    • [v2] Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift
    • [v3] Rethinking the Inception Architecture for Computer Vision
    • [v4] Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning
  • 你开始知道微调(Fine-tune),你开始不断改善你的代码
  • 再入残差家族 「Residual Network」:
    • Deep Residual Learning for Image Recognition
    • Identity Mappings in Deep Residual Networks
    • 「Wide Residual Network」: Wide Residual Networks
    • 「ResNeXt」: Aggregated Resiual Transformations for Deep Neural Networks
  • 最后是 「DenseNet」 Densely Connected Convolutional Networks

至此,你的CNN学得就还算过得去了。

继续前行吧,世界是广阔的,你会达到远方美丽的绿洲!一定会的!

崔庆才

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-03-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 进击的Coder 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 什么是机器学习
  • 2. 什么是深度学习
  • 如何开始
  • 你应该走过的战场
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档