十步直通深度学习

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

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

在这篇文章中,我将向你介绍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

译者:虎说八道,审阅:

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

相关文章
|
2月前
|
人工智能 自然语言处理 机器人
论文介绍:大型语言模型作为通用模式机器
【2月更文挑战第29天】大型语言模型(LLMs)展现出处理复杂序列模式的能力,超越自然语言任务,进入机器人学领域。研究显示,LLMs能理解概率上下文无关文法生成的序列,处理抽象模式,甚至在标记随机替换后仍能完成模式。在机器人学中,未经额外训练的LLMs能推断数字序列,执行控制策略,如在CartPole任务中保持平衡。尽管面临延迟、计算成本等挑战,LLMs作为通用模式机器在序列处理和机器人学上的潜力预示着AI的新方向。论文链接:[arXiv:2307.04721](https://arxiv.org/abs/2307.04721)
20 1
论文介绍:大型语言模型作为通用模式机器
|
5月前
|
机器学习/深度学习 运维 自然语言处理
揭示堆叠自动编码器的强大功能 - 最新深度学习技术
揭示堆叠自动编码器的强大功能 - 最新深度学习技术
40 0
|
12月前
|
人工智能 自然语言处理 算法
即插即用、无需训练:剑桥大学、腾讯AI Lab等提出免训练跨模态文本生成框架
即插即用、无需训练:剑桥大学、腾讯AI Lab等提出免训练跨模态文本生成框架
190 0
|
机器学习/深度学习 编解码 算法
简答:如何设计一个深度学习网络来实现帧内预测?
简答:如何设计一个深度学习网络来实现帧内预测?
187 0
简答:如何设计一个深度学习网络来实现帧内预测?
|
机器学习/深度学习
《深度学习》李宏毅 -- task5网络技巧设计
局部最小值saddle point和鞍点local minima
90 0
《深度学习》李宏毅 -- task5网络技巧设计
|
机器学习/深度学习 传感器 自然语言处理
Nat. Commun. | 序列到功能的深度学习框架加速工程核糖调节剂设计和优化
Nat. Commun. | 序列到功能的深度学习框架加速工程核糖调节剂设计和优化
141 0
Nat. Commun. | 序列到功能的深度学习框架加速工程核糖调节剂设计和优化
|
并行计算 异构计算 算法框架/工具
独家|让你的GPU为深度学习做好准备(附代码)
本文讲述了使用NVIDIA官方工具搭建基于GPU的TensorFlow平台的教程。
1632 0
|
机器学习/深度学习 人工智能
周志华组最新论文提出“溯因学习”,受玛雅文字启发的神经逻辑机
南京大学周志华教授等人在最新的一篇论文中提出了“溯因学习”(abductive learning)的概念,将神经网络的感知能力和符号AI的推理能力结合在一起,能够同时处理亚符号数据(如原始像素)和符号知识。
2250 0