网站首页 程序人生 资源汇 学建站 源码 织梦模板 特效代码 技术手册 IT头条 电商 创业 运营 站长

特色栏目 视频下载 织梦模板 教程书籍 职业生涯 正能量 美图 标签索引

深度学习如何入门收藏挑错

2018-12-04 16:12 采编:程序人生 阅读 投稿赚币
很早之前,红色石头就听过雷军说的一句话:站在风口上,猪都能够飞起来!这句话用来形容现在的深度学习十分恰当。是的,近几年来,深度学习的发展极端迅速。其影响力现已遍地
很早之前,红色石头就听过雷军说的一句话:“站在风口上,猪都能够飞起来”!这句话用来形容现在的深度学习十分恰当。是的,近几年来,深度学习的发展极端迅速。其影响力现已遍地开花,在医疗、自动驾驶、机器视觉、自然言语处理等各个方面大展身手。在深度学习这个国际劲风口上,谁能抢先抢先进入深度学习范畴,学会运用深度学习技能,谁就能真实地在 AI 时代“飞”起来。

关于每一个想要开端深度学习的大学生、IT 程序员或者其他转行的人来说,最头疼也是最火急的需求就是深度学习该怎么入门呢?下面我来谈一谈我的看法。

1. 抛弃海量材料

没错,就是抛弃海量材料!在咱们想要入门深度学习的时分,往往会收集许多材料,什么 xx学院深度学习内部资源、深度学习从入门到进阶百 G 资源、xx 人工智能教程,等等。许多时分咱们拿着十几 G、几百 G 的学习资源,然后踏踏实实地放到了某云盘里存着,等着日后慢慢学习。殊不知,有 90% 的人仅仅只是收集材料、保存材料罢了,放在云盘里一年半载也忘了打开学习。躺在云盘的材料许多时分只是大多数人“以后好好学习”的自我安慰和“自我”安全感罢了。并且,面对海量的学习材料,很简略堕入到一种迷茫的状况,最直接的感觉就是:天啊,有这么多东西要学!天啊,还有这么多东西没学!简略来说,就是挑选越多,越简略让人堕入无从挑选的困境。

所以,第一步就是要抛弃海量材料!而是挑选一份真实适宜自己的材料,好好研读下去、消化它!终究会发现,收成很大。

2. 抛弃从零起步

说到入门,许多人会想着那就要从最根底的常识开端学起!深度学习是一门交融概率论、线性代数、凸优化、计算机、神经科学等多方面的复杂技能。学好深度学习需求的理论常识许多,有些人可能根底不是特别厚实,就想着从最底层的常识开端学起,概率论、线性代数、机器学习凸优化公式推导,等等。可是这样做的害处是比较耗时间,并且简略形成“懈怠学习”,打消学习的积极性。由于啃书本和推导公式相对来说是比较单调的,远不如自己建立一个简略的神经网络更能激起自己的学习积极性。当然,不是说不需求钻研根底常识,根底理论常识十分重要!只是说,在入门的时分,最好先从顶层结构上有个系统的认识,然后再从实践到理论,有的放矢的查缺补漏机器学习常识点。从宏观到微观,从整体到细节,更有利于深度学习快速入门!并且从学习的积极性来说,也起到了“正反馈”的效果。

好了,谈完了深度学习入门的两个“抛弃”之后,咱们来看下一步深度学习终究该怎么快速入门?又该把握哪些必备的常识?

1. 挑选一门适宜的编程言语:Python

俗话说“工欲善其事,必先利其器”!学习深度学习,把握一门适宜的编程言语十分重要!最佳的挑选就是 Python。为什么人工智能、深度学习会挑选 Python 呢?一方面是由于 Python 作为一门解释型言语,入门简略、简略上手。另一方面是由于 Python 的开发效率高,Python 有许多库很便利做人工智能,比方 Numpy、Scipy 做数值计算的,Sklearn 做机器学习的,Matplotlib 将数据可视化的,等等。总的来说,Python 既简略上手,又是功用强大的编程言语。能够毫不夸大地说,Python 能够从支撑航空航天器系统的开发到小游戏开发的几乎一切的范畴。

或许有的人会说 底层还一切的深度学习结构,例如 PyTorch、TensorFlow 等,虽然是 Python 言语,可是底层都是由 C/C++ 编写的。Python 实际上是完成 API 调用的功用,所以运转速度慢。事实上,这一点点不影响 Python 的普及。如今,在 GPU 加速的前提下,Python 的运转速度现已很快了。在众多因素影响下,Python 毫无疑问成为了人工智能的最主要的编程言语。

2. 挑选一个最好的深度学习结构:PyTorch or TensorFlow?

如果说 Python 是咱们手中的利器,那么一个好的深度学习结构就无疑给了咱们更多的资源和东西,便利咱们完成庞大、高档、优秀的深度学习项目。跟着深度学习的研讨热潮持续高涨,各种开源深度学习结构也层出不穷,包含 TensorFlow、PyTorch、Caffe2、Keras、CNTK、MXNet、Paddle、DeepLearning4、Lasagne、Neon 等等。其中,谷歌推出的 TensorFlow 无疑在关注度和用户数上都占据绝对优势,最为盛行。可是作为入门引荐,我却挑选了 PyTorch。这是为什么呢?

首要,从难易程度上,PyTorch 是 Numpy 的替代者,支撑 GPU,能够用来建立和训练深度神经网络。熟悉 Numpy、Python 以及常见的深度学习概念(卷积层、循环层、SGD 等),会十分简略上手 PyTorch。而 TensorFlow 能够看成是一个嵌入 Python 的编程言语。你写的 TensorFlow 代码会被 Python 编译成一张图,然后由 TensorFlow 执行引擎运转。我见过许多新手,由于这个添加的直接层而困扰。也正是由于同样的原因,TensorFlow 有一些额外的概念需求学习,例如会话、图、变量效果域(Variable Scoping)、占位符等。另外还需求更多的样板代码才干让一个根本的模型运转。所以 TensorFlow 的上手时间,必定要比 PyTorch 长。

其次,创建和运转计算图可能是两个结构最不同的当地。在 PyTorch 中,图结构是动态的,这意味着图在运转时构建。而在 TensorFlow 中,图结构是静态的,这意味着图先被“编译”然后再运转。PyTorch 中简略的图结构更简略了解,更重要的是,还更简略调试。调试 PyTorch 代码就像调试 Python 代码相同。你能够在任何当地设置断点。调试 TensorFlow 代码可不简略。要么得从会话请求要检查的变量,要么学会运用 TensorFlow 的调试器。

总的来说,挑选 PyTorch 的原因很简略,由于简略易懂。并且,它还弥补了 Tensorflow 静态构图的致命缺点。

3. 夯实深度学习数学推导与理论

有人说深度学习就像一个黑匣子,彻底不知道内部发生了什么。也有人说深度学习不需求数学理论,只需会调参数就行了。其实,这两种说法都有失偏颇。把握根本的深度学习理论十分重要。神经网络是深度学习最重要的结构,关于神经网络包含了许多咱们入门需求把握的根本理论和数学推导。具体包含:

神经网络根底常识:感知机、梯度下降

神经网络的正向传达

神经网络的误差反向传达

防止过拟合技巧

神经网络梯度优化算法

网络初始化技巧与超参数调试

激活函数的挑选与比较

卷积神经网络(CNN)

循环神经网络(RNN)

把握深度学习根本的数学理论常识是十分重要的!只有对神经网络模型结构和推导过程有明晰的认识才干更好地建立模型优化直觉,构建功能良好的神经网络模型,而不是做只会运用结构和库,知其然不知其所以然的“调包侠”。

4. 实践是最好的学习方式

纸上得来终觉浅,觉知此事要躬行!理论与模型的建立都是为了更好地实践,为了处理实际问题。深度学习也是这样,把握每个理论常识后,更重要的是将理论用于实践。例如,运用深度学习模型处理图像辨认、语音辨认等,或者参加 kaggle。经过实战,更能加深自己的了解,协助自己更加熟练地把握深度学习应用技巧。

而现在许多教程和课程往往忽视了实战的重要性,将大量的精力放在了理论介绍上。咱们都知道纸上谈兵的典故,重理论,轻实战的做法是十分不可取的!就像我最初说的第 2 个“抛弃”相同,在具备根本的理论常识之后,最好就去在实践、编写代码,处理实际问题。从学习的效率上讲,速度是最快的。
相关标签: 程序员 程序人生 职场
程序人生if98.com,专注IT人成长、所需、职场,欢迎参与撰稿、分享资源!

扫一扫关注程序人生公众号

免责声明:本文内容由[程序人生]用户自行发布或编辑转载,本站不拥有所有权、不承担相关法律责任。 如发现有涉嫌抄袭的内容,可邮件 web@if98.com 举报,并提供证据,一经查实,本站将立刻删除涉嫌侵权内容。

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
-->

站长推荐文章

  • 我的编程之路:从好玩到

    我的编程之路:从好玩到玩好

    先解释下标题吧:好玩指的是爱好、觉得有趣,玩好指的是把事情搞定、让事物变得更好。 第一次接触电脑 我最早接触电脑是小学四年级的时候,...

    07-17发布356人阅读学习心得

  • 给未来程序员的15个顶级职

    给未来程序员的15个顶级职业建议

    好吧,我觉得10条不够,应该有15条职业建议。不过首先,我想解释一下出色的职业生涯是什么样的。 他们的进步曲线并不是每个月都会上升一点的...

    07-17发布341人阅读学习心得

  • 程序员你为什么迷茫?

    程序员你为什么迷茫?

    你曾经充满热情,是一位开源软件倡导者,你崇尚全栈工程师才有未来的理念,你渴望改变世界。但是现在你每天都处于焦虑之中,你每天不断地学...

    07-17发布192人阅读学习心得

  • IT行业的中年危机,老程序

    IT行业的中年危机,老程序员的价值在哪里!

    前几天和一个程序员朋友聊天,他说年岁大了,考虑转,他33岁,多么风华正茂的年岁,他的慨叹让我很意外,在公司是内行,能够处理那些所谓的...

    11-08发布174人阅读学习心得 IT行业,老程序员,职场

  • 如何成为一名成功的程序

    如何成为一名成功的程序员

    编程是一个仅靠兴趣仍不足以抵达成功彼岸的领域。你必须充满激情,并且持之以恒地不断汲取更多有关编程的知识。只是对编程感兴趣还不足以功...

    10-31发布157人阅读学习心得

  • 如何伪装成一个年薪20万刀

    如何伪装成一个年薪20万刀以上的码农?

    年轻的程序猿朋友们,从东岸、中部、南加迁徙到硅谷的你,是否希望远处的美女向你投来崇拜的目光?希望身边的朋友觉得你很酷很牛逼?今天我...

    09-28发布145人阅读学习心得

  • 程序员的工作总结

    程序员的工作总结

    在新的公司工作半年了时间飞逝,作为一名工程师,也要时刻对自己反省,这样才能够有所提升,在工作中我总结了一下几点,这个可能也是大家常...

    06-13发布104人阅读学习心得

  • 做博士还是做一个专业的

    做博士还是做一个专业的程序员?

    当我从大学毕业获得计算机科学学位的时候,我就想继续学习并获得博士学位。但是,我又想作为一个软件开发者去参与工作,所以我在这一行中工...

    07-17发布103人阅读学习心得

阅读排行

论坛信息推荐 更多 >>

关于我们

微信公众号

扫码关注官方微信

返回顶部