入门深度学习真的有这么难吗

大家好啊,我是董董灿。

今天在微信上回答聊一个同学的问题:**?我在入门深度学习的过程中,从配环境到 debug 全是坑,解决问题的时间远超跑模型的时间,为什么入门深度学习这么难?**

这个问题真的问到我的心坎里了,我只能说,入门深度学习这件事,我是真的有经验。

1、我是如何入门深度学习的

我从机械硕士毕业就转码开始搞软件开发,然后转行做深度学习算法,已有不少年了。

这个过程,经历了不少,这一段经历可以查看这个链接:跨行学人工智能。

无论是自学 C++、python 这种基础编程技能,还是从零学习 AI 算法,还是钻研计算机体系结构,每一部分都有很多的感悟。

这里重点说一下学习 AI 算法的经历和感受。

记得第一次参加与深度学习算法的面试时,是一个小公司,面试官问我什么****是权值?

那会儿深度学习还远不像现在这么火,面试问的问题很基础,什么是权值这种简单的问题,我估计是真的很难再碰到了。

我当时的回答是:你说的是不是达不溜(w)。

面试官笑着说,什么达不溜?

我说我看很多文章中的权值,都用 w 表示。

那次的面试是失败了,后来又面过很多公司。最后幸运的是进入了一家 AI 芯片算法公司,在那里有大量的时间边工作边学习,算是入门了深度学习。

从我的经历来看,现在很多打算入门深度学习的同学的水平,包括上面问问题的同学的水平,是绝对可以很好的回答上来"什么是权值的"。

虽然我现在在 AI 行业混了很久了,也熟悉了不少算法和神经网络,但我相信你肯定可以比我学的更好。

看下我当时是怎么入的门?

2、基础技能欠缺,就买课看课

我当时 C++ 基础薄弱,就买了一个 399 的 C++ 课程,是一个百度资深工程师的录播课。

我每天上下班路上坚持看。

从家里到公司坐地铁刚好半小时,每天上下班看一个小时,坚持了 3 个月,将课程视频来回看了 6 遍,然后到公司一有闲暇时间就练习课程中的技术,3个月下来,C++ 就真的是很熟练了。

以至于后来的某次面试,我甚至可以和面试官探讨"引用计数"的底层实现。

学会了 C++ 再去学 python 就真的很容易。

2、深度学习算法一定要练手,一定要亲自写算法

吴恩达的课程很经典,很多入门深度学习的同学都会看,我当时也看了,吴恩达也算是我半个深度学习理论的领路人吧。

在学习算法原理的基础上,我会把很多算法都自己实现一遍,这得益于C++和 python 技能的熟练。

自己手写这些算法是为了加深对这些算法的理解,比如我手写过很多版本的卷积算法等等。

为什么我要手写,因为调用三方库和自己手写是两种完全不一样的学习体验。

调用三方库比如 numpy 或者 torch,很多人都会调用,但是对初学者来说只是会使用,我认为算法本身只有自己可以手写出来才是真正学到手。

我还手写过不少的神经网络,比如Github上放的这个 github.com/dongtuoc/re...

竟然还被 20 个小伙伴星标了,有点意外。

在完成以上两点(编程基础和算法基础)之后,我的深度学习入门基本就完成了。

剩下的就是在工作中不断地打磨自己对算法的理解,不断的精进自己的水平。

业余的时间写一些文章,谈一下自己对于一些算法和行业的认识。

当你看到这篇文章的时候,我已经在公众号上发了100篇原创文章,很多都是在给想入门深度学习算法的同学做算法科普。

因为我经历过当时初学算法的难度,也就知道有些算法该怎么理解起来会更加简单。

这里放一个我认为到目前为止写的最棒的一篇算法科普文章:5分钟搞懂矩阵乘法的本质

最后,再回答一下上面那个同学的问题。

深度学习入门确实很难,但秘诀也很简单,那就是:学习加实践,再加一条坚持就可以了。

初学确实很多东西看起来都不懂,但是一点点啃下来之后,就会发现难点正在就一点点消失,这其中最怕的就是半途而废。

所以对于想入门学习人工智能或者深度学习算法的同学,我想说的是一定要坚持,然后找对方法,一定可以的。

写文不易,点个赞呗,如果对你有帮助可以关注一下,全网唯一IP @董董灿是个攻城狮, 本文首发于:入门学习深度学习

相关推荐
通信小呆呆11 小时前
Vandermonde结构及其快速算法详解
线性代数·算法
云泽80812 小时前
笔试算法 - 链表篇(一):移除、反转、合并、回文判断全解析
数据结构·c++·算法·链表
菜菜的顾清寒12 小时前
HOT力扣100(43)二叉树-翻转二叉树
数据结构·算法·leetcode
通信小呆呆12 小时前
Toeplitz结构及其快速算法详解
算法
YikNjy12 小时前
break和continue
java·开发语言·算法
春日见12 小时前
五分钟入门 强化学习---DQN(Deep Q Net)算法与实现
人工智能·python·深度学习·算法·microsoft·机器学习
budingxiaomoli13 小时前
动态规划--斐波那契数列模型
算法·动态规划
IT猿手13 小时前
多目标优化算法:多目标蛇优化算法(Multiple Objective Snake Optimizer,MOSO)(提供MATLAB代码)
开发语言·算法·matlab·动态路径规划·光伏模型参数估计
MegaDataFlowers13 小时前
101.对称二叉树
算法
Jasmine_llq13 小时前
《B3939 [GESP样题 四级] 绝对素数》
数据结构·算法·素数判断算法·数字拆分与反转算法·区间遍历枚举·双条件判断逻辑