十步直通深度学习

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

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

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

译者:虎说八道,审阅:

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

相关文章
|
4月前
|
编解码
均匀分布直线阵的常规波束形成方位谱和波束图
均匀分布直线阵的常规波束形成方位谱和波束图
|
9月前
|
算法 API 数据安全/隐私保护
揭秘淘宝拍立淘API:开启智能商品搜索新时代
拍立淘API是淘宝提供的图片搜索工具接口,允许开发者将商品图片搜索功能集成到自己的应用中。通过调用API,上传图片即可获取相似商品列表及其关键信息(如标题、价格等)。实现该功能需完成注册认证、创建应用、申请权限等准备工作,并借助Python等语言编写代码调用API。同时,注意调用频率限制、图片格式要求及数据安全等问题,确保功能稳定与兼容。这一技术可为用户提供便捷高效的购物体验,适用于电商平台及图片处理软件等多种场景。
长上下文能力只是吹牛?最强GPT-4o正确率仅55.8%,开源模型不如瞎蒙
【8月更文挑战第10天】新研究NoCha挑战显示,即使是顶级的大型语言模型GPT-4o,在处理长篇幅文本时正确率仅55.8%,低于人类直观水平。该挑战基于近作英文小说,检验模型对整本书信息的理解与推理能力。结果显示,模型在全局推理上的表现不佳,倾向于依赖局部信息而非整体上下文,尤其是在复杂推理需求高的科幻小说上表现更弱。这一发现揭示了当前模型在处理长上下文任务上的局限性。论文链接: [https://arxiv.org/pdf/2406.16264](https://arxiv.org/pdf/2406.16264)。
344 65
|
JavaScript 数据库 Docker
一个有用的docker entrypoint脚本的范例
通过这个 Entrypoint 脚本,您可以确保在 Docker 容器启动时执行必要的初始化步骤,并且容器可以根据不同的运行时环境进行相应的配置和操作。这个范例展示了如何编写一个灵活且功能强大的 Entrypoint 脚本,使您的 Docker 容器更加可靠和易于管理。
315 3
|
Python
Python办公自动化:提取pdf文件中的图片
Python办公自动化:提取pdf文件中的图片
289 0
【51单片机】通过定时器中断 在8位数码管显示时间
【51单片机】通过定时器中断 在8位数码管显示时间
370 2
|
机器学习/深度学习
【元学习meta-learning】通俗易懂讲解元学习以及与监督学习的区别
本文通过通俗易懂的方式解释了元学习(Meta-learning)的概念及其与传统监督学习的区别,并通过实例说明了元学习是如何让模型具备快速学习新任务的能力。
2809 1
|
前端开发 安全 数据库
💡Android开发者必看!掌握这5大框架,轻松打造爆款应用不是梦!🏆
【7月更文挑战第28天】在Android开发领域,五大框架如星辰般指引方向,加速进程,提升应用品质。1. **Retrofit**:Square公司的类型安全HTTP客户端,使网络请求变得优雅简洁。2. **Room**:Google推荐的ORM库,简化SQLite数据库访问。3. **MVVM**:一种架构模式,提高代码可维护性和扩展性。4. **Dagger 2**:依赖注入框架,减少样板代码,以声明方式管理依赖。5. **Jetpack Compose**:全新的UI工具包,采用声明式UI编程,让UI开发更直观高效。掌握这些框架,能有效应对Android开发挑战,助力打造爆款应用。
454 0
|
机器学习/深度学习 算法
全连接层那些事(Fully Connected Layer)
全连接层那些事(Fully Connected Layer)
|
机器学习/深度学习 存储 PyTorch
PyTorch应用实战五:实现二值化神经网络
PyTorch应用实战五:实现二值化神经网络
1116 0