十步直通深度学习

简介: 随着深度学习的不断火热,任何一个开发者都想上深度学习这趟快车。本文作者通过自己的实践过程总结了学习经验,现在分享给大家。

随着深度学习的不断火热,任何一个开发者都想上深度学习这趟快车。但是?到底怎么样才能快速上手了?以下是我自己的方式学习。我绝不会声称这是最好的方式,但是直到现在看来这条道路是我认为最佳的方式。

在这篇文章中,我将向你介绍10个步骤去转型深度学习,希望可以帮助到你。

aa85acef56dabd8d999b01e318bb9106a51e0012

OK,出发!

1-相信你可以做到:

很多人担心机器学习(ML)和深度学习(DL)对他们来说太复杂了,这些技术是不是太高深了?我可以确切到底告诉你我做到了,你也可以。一定要相信自己,自信才能让你有信心的一直走下去。

你的第一个目标应该是了解深度学习是什么,它可以或不可以做什么以及如何在我们自己的应用程序中使用它。大量的数据集?算法?模型?你应该首先确定这些乐高积木是什么,听起来好像是堆积木,对没有听错,它和其他开发的流程是一样的。你可以把它们结合起来,开始构建一个很酷的深度学习模型。

提示#1:DL不是黑魔法,它是代码,和其他技术没什么差别。

2-忽略数学:

前向传播、后向传播、损失函数、梯度下降这是神马??第一次接触深度学习就被行话的压倒在地。是的,不得不承认的是数学是ML的基础。但,这不应该是你的出发点。在编写一行代码之前,谁会花费几个小时或者更长的的时间去研究这行代码中的数学知识?这通常是你如何在DL库中启动训练过程:

model.train(data, labels, loss_function, optimizer)

你可以花几个星期来了解基础数学,仅仅是了解,作为一个开发者,千万不要深究这里面是什么。使用黑匣子的方法是以最小的焦虑开始。随着时间的推移,你可以更好地了解每个模块的工作原理,并且可以进一步深入,但不是现在。

提示#2:把你不明白的东西当作黑盒子,专注于界面。

3-Python

DL是代码,那么,你应该掌握什么语言?如果你必须选择一个,那就是Python,因为它不仅是数据科学,也是ML和DL的主要语言,它是一个非常有用的语言,正如Python AWS SDK aka boto3所示。如果你还没有使用它,或者你正在学习它,那么确保你对列表,元组,字典等有一个很好的理解,这些数据结构在DL代码中无处不在。对于核心语言,我强烈建议你也学习这些Python工具的基础知识:

1.Mathplotlib(https://matplotlib.org/):绘图库。

2.Numpy(http://www.numpy.org/):科学计算,对于数组和特别有用矩阵操纵。

3.Pandas(https://pandas.pydata.org/):数据分析库。

4.OpenCV(https://opencv.org/):图像处理库。

5.Jupyter(http://jupyter.org/):构建Python笔记本的Web应用程序。

提示#3:学习Python ,享受终生的红利。

4-奔跑之前:

在你跑步学习之前,我建议你了解AI,ML和DL的关系(防止学术错误)。DL是ML的一个子集,所以在跳入DL之前,你应该知道一些关于ML的知识。你应该花时间学习“传统”ML的数据集、主要问题(回归,分类,聚类等),每个问题的流行算法等等,神经网络只是其中的一种技术。对ML的更广泛的理解将帮助你看到何时使用DL,学习Python是一件好事,因为现在你可以通过scikit-learn(http://scikit-learn.org/stable/)来学习ML。这个库很容易使用,并且支持大量的ML算法。如果你想要挑战一下自己,你也可以看看PySpark(Spark的Python API)和Spark MLlib(Spark的机器学习库)。如果你需要处理大型数据集,Spark的强大的数据管理功能是一个不错的选择。在你的学习阶段,它们是过度的,但是当你开始构建生产应用程序时,记得使用它们。

提示#4:首先,深度学习是机器学习,按照正确的顺序学习它们。

5-选择一个库:

在选择库是记住一点,你选择哪一个DL库并不重要。只要它有一个Python API并且足够友好来隐藏低级库,这样就行了。这里有一些选择:

1.Keras(https://keras.io/)。

2.Apache MXNet和它的Gluon API(https://mxnet.incubator.apache.org/)。

3.Caffe2(https://caffe2.ai/)。

4.PyTorch(http://pytorch.org/)(偏向于实验,但很有希望)。

注意:Theano(http://deeplearning.net/software/theano/)是非常低级的,Tensorflow也是低级别的,很难学习,并且会产生挫折感,我不会推荐这些给初学者。查看文档,运行一些教程,做出自己的想法。其中总会有一个库会让你感觉更舒适。

提示#5:选择库时一定要忽略炒作,这将有助于你学的更舒服。

63c75bbbf3582b353a2f2f11dfeb1a5118868f45

6-代码,代码!

7-坚持,坚持!

8-不要担心,数学很好玩!

2c09c96b9c81abfb1fbc4ad259c6e97a411980e8

9-专注学习!

10-继续学习!

另附云栖社区进阶宝典:

请收下这份关于人工智能的根目录——博客整理系列(一)

关于数据科学的那些事——博客整理系列(二)

机器学习必备手册——博客整理系列(三)

扩展眼界的都在这——博客整理系列(四)

深度学习必备手册(上)——博客整理系列(五)

深度学习必备手册——博客整理系列(六)

本文由北邮@爱可可-爱生活老师推荐,阿里云云栖社区组织翻译。

文章原标题《10+steps+on+the+road+to+Deep+Learning》,

作者:Julien Simon

译者:虎说八道,审阅:

文章为简译,更为详细的内容,请查看原文

相关文章
|
3月前
|
机器学习/深度学习 PyTorch TensorFlow
是否有其他框架可以在iOS设备上进行机器学习?
是否有其他框架可以在iOS设备上进行机器学习?
21 1
|
机器学习/深度学习 编解码 算法
【动手学计算机视觉】第九讲:传统目标检测之DPM模型
DPM模型在我心里的印象一直都非常深刻,不仅是因为它非常经典,此外,它是我进入CV领域看的第一篇文章。还记得当初开始做项目时,老师就发给我一篇文章,并反复声明,要认真研究,好好学习。我反复把这篇文章看了很多遍,也把源码看了几遍,真是深深的被这个神作惊叹到了。真不愧为传统目标识别领域的经典之作,虽然时间过去很多年,特征提取加机器学习这一套在效率上远不如深度学习,但是DPM的影响力和思想依然非常有生命力,从后面深度学习模型中经常可以看到DPM的身影,DPM的原文从2009年至今引用已经超过8000次,它的价值可见一斑,下面就来介绍一下这个经典的目标检测模型。
【动手学计算机视觉】第九讲:传统目标检测之DPM模型
|
4月前
|
机器学习/深度学习 自动驾驶 算法
【计算机视觉+自动驾驶】二、多任务深度学习网络并联式、级联式构建详细讲解(图像解释 超详细必看)
【计算机视觉+自动驾驶】二、多任务深度学习网络并联式、级联式构建详细讲解(图像解释 超详细必看)
71 1
|
4月前
|
机器学习/深度学习 运维 自然语言处理
揭示堆叠自动编码器的强大功能 - 最新深度学习技术
揭示堆叠自动编码器的强大功能 - 最新深度学习技术
39 0
|
8月前
训练自己的图像分类模型部署在手机设备
训练自己的图像分类模型部署在手机设备
|
11月前
|
机器学习/深度学习 算法 数据挖掘
即插即用 | 或许你的NMS该换了,Confluence更准、更稳的目标检测结果(附论文下载)(一)
即插即用 | 或许你的NMS该换了,Confluence更准、更稳的目标检测结果(附论文下载)(一)
99 0
|
11月前
|
存储 算法 数据可视化
即插即用 | 或许你的NMS该换了,Confluence更准、更稳的目标检测结果(附论文下载)(二)
即插即用 | 或许你的NMS该换了,Confluence更准、更稳的目标检测结果(附论文下载)(二)
55 0
|
11月前
|
机器学习/深度学习 人工智能 算法
具有生物启发训练方法的物理深度学习:物理硬件的无梯度方法
具有生物启发训练方法的物理深度学习:物理硬件的无梯度方法
436 0
|
11月前
|
机器学习/深度学习 数据可视化 C++
深度学习经典网络解析图像分类篇(三):ZFNet
 ZFNet在2013年 ILSVRC 图像分类竞赛获得冠军,错误率11.19% ,比去年的AlexNet降低了5%,ZFNet是由 Matthew D.Zeiler 和 Rob Fergus 在 AlexNet 基础上提出的大型卷积网络。ZFNet解释了为什么卷积神经网络可以在图像分类上表现的如此出色,以及研究了如何优化卷积神经网络。ZFNet提出了一种可视化的技术,通过可视化,我们就可以了解卷积神经网络中间层的功能和分类器的操作,这样就就可以找到较好的模型。ZFNet还进行消融实验来研究模型中的每个组件,它会对模型有什么影响。
139 0
|
机器学习/深度学习
受限玻尔兹曼机|机器学习推导系列(二十五)
受限玻尔兹曼机|机器学习推导系列(二十五)
664 0
受限玻尔兹曼机|机器学习推导系列(二十五)