大家好,我是为人造的智能操碎了心的智能禅师。

尽听说现在国内外一线互联网巨头,包括后起的独角兽,对 AI 人才的需求非常大,Google、Facebook 为了抢 AI 人才都快 battle 起来了。

然而实际上,AI 岗位还是面临僧多粥少的窘境。其中一个非常关键的问题在于,真正掌握 AI 知识技术的人才,还是非常稀缺。

那么如何能够成为 AI 人才,又如何能够被抢呢?是很多人都非常关心的问题。人工智能头条的后台也经常能够收到很多类似的留言。

所以禅师联系到了曾在商汤实习,目前校招选定华为的小伙伴,谈谈他是如何在深度学习这条路上,一步一步往深度走的。

本文较长,建议收藏,转发,并认真实践

本文适用人群:非计算机、非 AI 专业的同学,或刚接触该专业的本科、硕士生。

作者介绍:

沿途的笔记。西安电子科技大学人工智能学院研三学生,发表论文两篇,拥有目标检测、图像匹配、高光谱图像分类 3 项专利。遥感领域国际竞赛取得第一名

全文大约4500字。读完可能需要好几首下面这首歌的时间

?

自 2016 年阿尔法狗问世以来,深度学习的地位无论是在学术界还是在工业届都逐步攀升。

从事深度学习岗位的工程师们的薪水也水涨船高,拿今年秋招各大互联网巨头给应届生的待遇便可见一斑。

重赏之下,必有勇夫。所以很多学数学、机械等其他专业的同学也想转行加入深度学习的大浪潮。

与此同时,过剩的人才也导致了该领域的竞争空前激烈,更有甚者传出某企业的 CV 算法岗投岗量与 HC 比达到 100:1。

下图是某四个知名互联网企业简历投递量与 HC 比:

目前关于深度学习入门、进阶的教程也很多,琳琅满目。很多大牛写的内容,对新人来说,经常显得太深奥。

很多刚入门的同学们、从其他行业转行的开发者,往往是一脸懵逼的进去,又一脸懵逼的出来。

于是我决定,自己的实际情况出发,以自己的学习经历、心得和里程,写一篇针对性很强的文章。

入门

素材:精准简洁,切忌贪多

刚接触深度学习的同学,很容易陷入一个死结:“贪多”。

网上到处搜笔记搜资源,看见“机器学习”“人工智能”…的群就加。特别热衷于搜集类似于“机器学习从入门到精通”、“XXX 大学机器学习公开课”、“X 百 G 的深度学习资料一定要收藏”…

先不说这些资源的完整性,单就内容量来讲,这几十个 G,甚至是几百 G 的学习资源,也会让人晕头转向。

(禅师插个嘴,其实就想想你硬盘里那几十个 G 的视频,你有没有看完。这些学习资料,你就能看完了?)

因此,选择精准的入门教程非常关键。

我推荐的视频资源有:

  1. Coursera 上的吴恩达的《机器学习》

  2. Hinton 的 《Neural Networks for Machine Learning》

推荐的书籍:

  1. 周志华老师的《机器学习》

  2. Ian Goodfellow 的“花书”《深度学习》

这一部分主要是用于夯实基础,了解相关的概念。虽然本文的主题是深度学习的学习历程,但机器学习与深度学习有着千丝万缕的联系,最好还是要一起看一看。

上面所提到的资料不要觉得看一遍就完事儿,一定要多看几遍,即使有实战经验之后也可以反复看,保证你每看一遍都会有新的体会。

勤做笔记,动手推导

在学习上面我推荐的两个视频资源及书籍的时候,会涵盖高等数学、矩阵论、凸优化、概率统计等知识。

我们需要熟悉的机器学习和深度学习理论包括:

重要理论上的数学推导,一定要一步步的验证!

能根据书本(或视频)一步步走下来。遇到知识盲点、遗忘的部分,就针对性的查阅资料,力争不放过任何重点。

这里需要提醒的是,不建议从头开始学习数学知识,因为时间周期太长,中途可能仍会遗忘。可以在实际问题涉及到的时候,随时查阅。

好,恭喜你,你已经一只脚踏进了深度学习的大门。

确定研究领域后,就可以开始混迹相关网站、论坛。然后开始着手学习经典主流深度学习算法。

进阶:从经典主流内容下手

等你真正进入大门后,你就会发现,深度学习实在是一个非常庞大的系统,涵盖的知识面很广,那么我们该从那个方向下手呢?

答案是:

  1. 内容,选择经典主流

  2. 方向,选择自己感兴趣的

为什么要强调经典主流呢?因为新出的论文,太容易遇到水论文了。无论什么领域,经过时间积淀下来的东西,才是好东西。

相反,经典主流的东西,理论完备,积累的资料多,研究的人多,碰到问题也相对容易找到前辈的解答。

为什么选择自己感兴趣的方向呢?还不是因为兴趣是最好的老师!

例如如果你比较感兴趣 CV,就可以从 CV 的目标检测为切入口。然后再深入一线去看相关论文。

以 CV 中的目标检测为例,它的发展历程如下图所示:

目标检测发展史?

现阶段在视觉顶会上,关于目标检测的文章就已经很多了,短时间内根本不可能全部吃透。

所以要有针对性的重点进行突破,其实很多算法都是触类旁通的。比如?上图中红色内容所表示的算法需要精读,其他检测算法了解即可。

更具体的,了解传统 DMP 算法及主要缺陷,然后 two-stage 思路发展到 RCNN 做出了哪些改进。

再到 SPP-Net 做了哪些改进,然后到 Fast-RCNN、Faster-RCNN 又改进了什么?以及 one-stag 思路中 SSD 系列、YOLO 系列之间的差别。

恭喜你,你已经正式踏上了深度学习这条不归路了。

实操

解决问题

上面提到需要重点精度的论文,由于我们自身水平有限,而论文受到篇幅限制,没办法把细节都解释清楚。

这就导致我们再实操过程中,会遇到很多问题。遇到问题不可怕,我们可以从下面两个方向入手解决:

  1. 在相关论坛搜集高手们对该论文的解读

  2. 阅读论文开源代码

还解决不了的,Google、论坛、博客、人工智能头条的股东粉群……

你会发现,你遇到的问题,别人可能早就遇到并且得到解决,这样就事半功倍啦。

总结经验

问题解决之后,应该做总结,便于巩固理解,加深印象。

尤其要做的是,找出论文各部件之间的差异,分析这个差异是“改进”造成的差异还是由于对主体算法“因地制宜”而造成的差异。

比如,YOLO 和 YOLOv2 之间,bbox 的回归计算方法是不一样的。我们要体会作者的初衷,不断去靠近这些大神们的思路。

再比如,Faster-RCNN 和 YOLOv2 虽然均是有事先 Anchor Boxes 来对 bbox 做回归,但是回归的计算方式也不一样,这就是由于这两个 Anchor Boxes 的由来不同导致的。

Faster-RCNN 是由三种宽高比、三种尺寸形成的 Anchor Boxes,而 YOLOv2 则是由先验框聚类得到的。

将这些细枝末节以图表,文字的形式总结起来(可以写在 CSDN 或 GitHub 上,也可以写在纸质版笔记本上),能够有助于我们找到一些算法的改进空间或者一些新的灵感。

选择合适的框架

对于重要的论文文章,光看是远远不够的,我们还得学习其工程实现。

一来是编程复现论文算法有助于加深理解,二来是可以将我们所学知识转化为生产力。

下图是某机构对各大深度学习框架的综合评估。

这里重点推荐 TensorFlow 和 PyTorch,因为它们不仅灵活性高,而且背后有强大的团队维护,可查阅的文档也很丰富。

当选定一个深度学习框架之后,应当通过具体工程实例去学习,而非直接去阅读源码。

遇到一些常用的或者复杂的函数用法,要总结到个人博客中。

更重要的一点是,要时常混迹于 GitHub 之中,将 star/fork 数量较多的、且与自己研究方向相近的代码 clone 下来去练习,学习大佬们的编程风格。

讲真,好的编程习惯写出来的代码简直是一个非常愉悦的艺术享受,这里切记自己闭门造车,一定要多读大神们的代码。

这里拿 TensorFlow 举例。先去看 TensorFlow 文档,接下来看《TensorFlow 实战 Google 深度学习框架》,然后是《TensorFlow 实战》。注意别弄错了顺序,前面那本书稍微简单点,后面那本书主要是 demo。

待到 TensorFlow 能够灵活运用的时候,我们就得学习调参技巧了,这里推荐魏秀参的大作《解析深度学习网络——深度学习实战手册》(当初看这本书的时候,感觉自己的很多想法都与大神在这本书中提到的结论一致,感觉能与大神想到一起,真是十分开心)。

实战演练,paper 复现

当自己的编程能力、使用深度学习框架的能力达到一定水平后,我们要进入实战演练阶段:复现经典论文。

刚开始可能会比较难,所以我们可以先从论文作者或者热心同行们开源的代码入手。具体步骤是:

  1. 浏览开源代码,比对代码与论文描述是否一致,代码是否对自己更进一步理解论文有所帮助

  2. 调试代码。建议初学者不要囫囵吞枣,只是“看”代码,还要一步步调试,看各个函数的用法,学习各种编程小技巧,验证每步的结果与自己在“大脑编译”的结果是否一致

  3. 动手复现。复现之前,可以先根据开源的代码画一个程序框图,然后根据框图逐次实现。然后将自己编写的代码调通,对比开源代码看看有哪些差距。一般差距主要体现在:代码的简洁性和功能的完整性。

  4. 重复第 2、3 步,直到自己能一目十行阅读开源代码,能掌握每个地方的编程技巧,复现出来的代码与开源代码基本一致,且能与论文对应的上的时候,这篇文章可以算是吃透了。

延伸

专注自己的东西

当自己复现的论文达到一定数量之后,编程水平会得到一个飞跃的提升。这时,我们要将自己从一个“学习者”的角色转换到“模仿者、改进者”的角色。

一方面,我们要整合自己已经吃透的论文(包括代码),另一方面,我们要与时俱进跟进前沿研究,跟着大佬们“分一杯羹”。

经典文章和新论文两手抓

到了这个阶段,我们就不仅仅只读经典的文章了,还要开始接触新领域,新文章。我们千辛万苦学这么多东西,最终就是要有产出。

对于很多年前的研究课题,它们只能帮助我们夯实基础,提升基本功,并不能有助于我们发表属于自己的论文或者专利。

因为这些经典主题,早就被前辈同行们嚼烂了,只剩下骨头渣了。

碎片化阅读

当我们对深度学习领域坚持学习到一段时间之后,总会收藏一些自己感兴趣的论坛、专栏,以及大牛们的个人主页,他们会分享一些最新的经验或者研究成果。

对于这些经验成果,我们可以选取自己感兴趣的或者与所研究领域相关的部分重点阅读(而不是全盘通读,这样太浪费时间)。

比如前一阵子吴恩达分享的《Machine Learning Yearning》里面有些实战经验就很值得学习。

学会辨别新出来的好论文

对于年代较为久远的论文,我们可以通过文章的索引量或者开源代码 star 数量的多少来判断其是否值得读。

对于新出炉的论文,我们可以去相关论坛看大神们的推荐(如关注一些知乎上的大 V 们,他们会经常在专栏里推荐一些新出炉的好文章)。

还有一些高质量的公众号(比如禅师特别推荐人工智能头条),论坛等。这里重点推荐 paperweekly。

将这些新文章里的 idea 与自己储备的基本知识相互碰撞,寻找一切可能产生的关联,或者找到新文章 idea 的不足,自己能加以改进。

发表属于自己的文章

当经典文献和新文章积累到一定程度时,我们一定会有一些自己的想法。这时候就需要我们扎实的代码功底,将我们自己的想法实现出来。

对于新手,我觉得有这样几种情况可以视为自己的成果发表成论文:新问题用老方法,老问题用新方法,改进他人的新方法。

然后将自己的 idea 及实验结果向导师汇报,让导师帮忙将自己的 idea“润色加工”,就可以愉快的发 paper 啦。

总结

本贴是对我个人学习深度学习历程的一个总结,更偏实际应用。

如果自己时间充裕,且导师愿意放人的话,可以去一些科研氛围浓厚的企业实习,如商汤科技、Face++、地平线、阿里达摩院、腾讯 AI Labs 等。

笔者曾有幸在商汤研究院实习过一段时间,当真是人才济济,被组内的小伙伴渊博的知识,敏捷的头脑所折服,对提升自己的见识水平大有裨益。

但如果找的企业太偏向业务,我个人认为还不如呆在实验室多做做科研,多发几篇论文来的实在。在大神们创造的理论框架下,千锤百炼、精益求精,就一定能有所收获。

我整理过的一些重要书籍,LeetCode 刷题代码,以及面试经验等,详见

https://github.com/computervisionlearner/Start_DeepLearning

幸福
无非就是
我  AI  你

实习商汤,校招华为,我的深度学习之路相关推荐

  1. 北京/上海内推 | 商汤科技SenseParrots团队招聘深度学习训练框架产品经理

    合适的工作难找?最新的招聘信息也不知道? AI 求职为大家精选人工智能领域最新鲜的招聘信息,助你先人一步投递,快人一步入职! 商汤科技 商汤科技成立于 2014 年,是一家人工智能软件公司.我们以&q ...

  2. 斯坦福DAWNBench:华为云ModelArts深度学习训练全球最快

    斯坦福DAWNBench:华为云ModelArts深度学习训练全球最快 近日,斯坦福大学发布了DAWNBenchmark最新成绩,在图像识别(ResNet50-on-ImageNet,93%以上精度) ...

  3. 基于深度学习模型的花卉图像分类代码_华为不止有鸿蒙!教你快速入门华为免编程深度学习神器ModelArts...

    引言: 本文介绍利用华为ModelArts进行深度学习的图像分类任务,不用一行代码. 今年8月9日,在华为史上规模最大的开发者大会上,华为正式发布全球首个基于微内核的全场景分布式OS--鸿蒙操作系统( ...

  4. 我的三年自学深度学习之路

    大家好,我是羽峰.今天要和大家分享的是研究生三年的生活,也是自己自学深度学习的三年,凭借三年自学,最终进入了大厂做了一名算法工程师. 目录 2018 2019 2020 2021 2018 考研因为失 ...

  5. 商汤校招 | 春笋计划”

    笋绵延地下数年,直到有合适的时机破土而出. 地下的光阴并不白白浪费,一切都成为成功提升的积累. 春笋虽然是竹子的幼苗,但也与竹子一样,立根在崇山峻岭,稳扎稳打,不惧东西南北风. 商汤"春笋计 ...

  6. 今晚19:15,商汤校招空宣准点开播 | 你想知道的校招资讯都在这里!

    请回答商汤考题:用AI造句~ ↓↓↓ 怎么样,你答了吗? 来商汤感受真正的AI吧 今晚19:15,请锁定B站"商汤科技招聘"直播间 2021届商汤科技校招空中宣讲会准点开播 18: ...

  7. 商汤旷视依图云从:路长且阻,进化发生

    原创:谭婧 吴军<浪潮之巅>开篇便说,科技产业的兴衰成败和全球大的经济和时政环境是分不开的. 人工智能算法是这场战斗的先头部队,这场战役将经过漫长的努力来决定谁是大数据和人工智能时代的经济 ...

  8. 华为开源的深度学习框架 MindSpore

    点击蓝字关注我们 扫码关注我们 公众号 : 计算机视觉战队 扫码回复:华为开源,获取下载链接 作者:杨军 来源:知乎 纯技术讨论,不涉及其他,部分我拿不准的地方,会直接以(?)标识出来,欢迎菊花厂同学 ...

  9. 商汤发布L4级接驳小巴和智能路侧感知解决方案,加速V2X产业创新

    2020年11月26日--在广州举办的2020世界5G大会期间,全球领先的人工智能平台公司商汤科技SenseTime发布全新智慧出行解决方案,其中包括可提供基于固定路线点到点接驳服务的L4级智能网联接 ...

  10. 坎坎坷坷的深度学习之路(一)-环境搭建

    大家好,我是新人,这是我的第一篇技术连载,希望可以在深度学习的路上走上一走,我会尽可能说的清楚一点,大佬们能喷就喷,这样才能进步.此后还请多多关照.(另外如果排版不好看的话欢迎评论,我会逐步优化我的排 ...

最新文章

  1. nmap 命令行执行错误_Unimap:一款基于Nmap实现的扫描速度提升工具
  2. 分析Linux磁盘管理与文件系统专题三
  3. com 名字对象(3)使用IMoniker
  4. 900万注释图像数据集升级了!谷歌开放Open Images V6,首增语音、文本、鼠标轨迹同步注释...
  5. java gc回收堆还是栈_浅析JAVA的垃圾回收机制(GC)
  6. 从网络读取数据并动态的显示在ListView中
  7. Windows下根据进程id获得进程名
  8. 大学《数据库系统》课程设计报告
  9. IntelliJ IDEA导包快捷键以及创建方法
  10. 无线硬盘的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  11. 【游戏测试】游戏兼容性测试(通用方案)
  12. 微信小程序之点点考勤经验总结
  13. jsp页面引入调色板、颜色表
  14. 谷歌浏览器的各种插件网址Chrome插件(谷歌浏览器)-超级详细
  15. JAVA计算机毕业设计员工健康检测系统Mybatis+源码+数据库+lw文档+系统+调试部署
  16. 数据库之通过例子了解单表查询
  17. 使用R语言进行协整关系检验
  18. Nacos 极简入门
  19. 多个资本强力支持,高仙机器人完成12亿元C轮融资
  20. win7计算机收藏夹位置,win7中收藏夹在哪里 win7找到IE收藏夹的两种方法[多图]

热门文章

  1. python移动文件夹下所有文件到另一个文件夹
  2. 【leetcode】中文版题库一刷ing
  3. 【C语言】筛选法求素数
  4. SQL中 decode()函数的应用和一些特殊的传值方法
  5. 1978-2019年中国省市恩格尔系数表分享
  6. 【华为hcia基本了解(核心、汇聚、接入交换机)(网络设备-交换机、路由器、防火墙)(AP无线接入点、AC无线控制器)】-20211122
  7. 推荐给每个找工作的IT毕业生--打鸡血书
  8. python爬虫设计实验
  9. Control-车辆动力学模型
  10. MySQL多表查询,SQL,笛卡尔积等值连接自连接外连接,SQL99新特性,完整详细可收藏