或许你第一个想弄明白的问题是 人工智能(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 Li 的 CS231n,课程完备,资料齐全,授课内容始终处在最前沿。课程的视频,在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,上*,上jizhi
上CrossValidated,你需要专业的解答。机器?工欲善其事,必先利其器,请务必准备一张GPU,这样你才能愉快地玩耍!
-
你应该走过的战场
好,接下来说一说,你需要走过的战场。
你开始了解什么是图片的分类(Image Classification)
你开始用一些简单的线性模型来进行预测(SVM,KNN)
你开始研究什么是最优化,什么是损失函数(Loss function)和梯度下降
你开始研究什么是反向传播(Backpropagation)
你开始研究什么是神经网络(NN)
-
终于,你踏入了卷积神经网络的战场
你开始学习卷积层,池化,归一化等等
你开始研究 Tensorflow,Keras,Pytorch,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 Residual Transformations for Deep Neural Networks
最后是 「DenseNet」 Densely Connected Convolutional Networks
至此,你的CNN学得就还算过得去了。
继续前行吧,世界是广阔的,你会达到远方美丽的绿洲!一定会的!
推荐阅读:
精选干货|近半年干货目录汇总----全是通俗易懂的硬货!欢迎阅读!
干货|*大学林轩田机器学习基石课程学习笔记2 -- Learning to Answer Yes/No
干货|*大学林轩田机器学习基石课程学习笔记3 -- Types of Learning
欢迎关注公众号学习交流~