52

深度学习入门最少需要知道什么?

 6 years ago
source link: http://mp.weixin.qq.com/s/kpgggb3DTA_SEEdwemzmyg
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

深度学习入门最少需要知道什么?

Original 龚鹤扬 混沌巡洋舰 2018-01-08 13:09 Posted on

本文是巡洋舰深度课程讲师龚鹤扬根据文章 What you need to do deep learning __by Rachel Thomas 给出一个最简单的回答。

经常有人会问:

  1. 深度学习需要什么样的电脑?

  2. 怎样入门深度学习?

  3. 对于深度学习初学者,有什么建议?

  4. 怎用应用深度学习技术到某个具体的问题?

这些问题其实就是

深度学习需要什么样的硬件,软件,背景和数据?

深度学习硬件很大的受益于游戏产业的高性能GPUs, 众多不同种类的显卡,我们推荐 Nvidia:

Image

如果你的电脑没有 GPU 或者不是英伟达的 GPU,那么你有以下几个选择使用 fast.ai 的 Crestle 云服务,亚马逊云, 阿里云等。使用起来有些麻烦,使用方法参考原文:http://www.fast.ai/2017/11/16/what-you-need/ 。

深度学习是一个新兴领域,软件库和工具包每天都在快速地提升。我们建议使用 Pytorch。为什么不推荐 Tensorflow 呢? 主要原因是 Tensorflow 的动态计算图机制不成熟,其会话管理机制也有学习成本。Pytorch 适用于探索科研和快速开发模型原型, 它相对来说更容易理解和使用。原文总结了如下几个理由:

Image
  • 动态计算图更适用于自然语言处理

  • 支持传统的面向对象编程风格

  • TensorFlow 的 上下文管理器和会话等机制需要我们花费额外的精力学习

深度学习需要的基础主要包括两个部分:

  • 一年左右的编程经验

  • 少量线性代数,微积分和概率论基础

虽然数学对学好深度学习极其重要,但是我们不建议在前期花太多时间在数学基础上。个人建议是直接看看西瓜书的数学附录, 花书中的数学基础部分。

Image

在大众的印象中,训练一个深度学习模型动辄需要几百万的样本,然而这并不总是成立。很多时候我们利用 迁移学习(结合数据增强技术),我们用几百上千个数据就可以训练一个很好的深度网路了。 例如, 在 medical start-up Enlitic, Jeremy Howard 领导的一个团队用 1000 个肺部CT扫描 图像, 训练出一个网络诊断肺癌,准确率比专家还要高!

C++ 库 Dlib 中的一个人脸检测例子,甚至只有4个训练样本!

Image

迁移学习和数据增强技术减少了深度学习模型对数据量的需求。当然还有其他方法, 例如生成对抗,深度强化学习等很多时候不需要大量的人工标注样本。而深度学习初学者需要用到的数据甚至直接集成在框架中(例如 Pytorch),直接调用就行。

巡洋舰深度课程系列文章

你需要的深度学习数学基础: 从入门到进阶

你所不能不知道的CNN

用深度学习玩图像的七重关卡


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK