怎样找到一份深度学习的工作 | 附学习材料,资源与建议

如果你是一个软件工程师(或者你现在正在学习这一方面),你肯定有机会听说过深度学习(有时候深度学习缩写为"DL")。它现在是一个热门、且快速发展的研究领域,解决工业界的一系列问题,从图像识别、手写识别到机器翻译,更甚于AlphaGo4比1击败了世界围棋冠军。 

大部分人认为找与深度学习相关的工作应该具有博士学位或者大量的相关经验,但是如果你已经是一名很好的工程师,那你就可以很快、很好的学习这些必要的技能和技巧。至少,这是我们的观点。(即使你是深度学习的初学者,非常欢迎您加入我们的职位申请) 

重点:你对这一行业有着激情与兴趣,且具有很好的编程和解决问题的能力就足够了。

在Deepgram中,我们主要应用深度学习来解决语音搜索的问题。主要是我们教会机器去听、记录电话、在线视频、播客和其他音频等的谈话内容。但听仅仅是其任务的一半。正如我们的大脑是通过你回想起的那些关键词和短语的声音来寻找记忆中的谈话一样,我们也教会机器回想起那些记录中的关键词和短语。(如果你还没有玩弄Deepgram,我们有一个小演示来展示它的一些功能。)

乍看起来,感觉深度学习有点吓人,但好消息是,现在有比以往任何时候都要多的学习资源。(还有大量被禁锢需求的工程师知道如何实现深度学习的软件)。所以,如果你想要找到一份深度学习工作,首先你需要调整你自己的学习速度,那就让这篇成为你深度学习的指导吧!(如果你已经非常了解深度学习,且只是寻找工作信息,那就跳到底部。)

◆ ◆ ◆

什么是深度学习? 

总的来说,深度学习包括建立和训练一个大型的人工神经网络,该神经网络在输入和输出之间具有许多隐藏层。正是因为这些隐藏层,我们才称呼这些神经网络为"深度"。至少具有三层隐藏层才能叫深度神经网络,但现有的一些神经网络已具有上百层。 

 

神经网络是一个复杂的统计模型,它通过计算机来对信息进行一个非常准确的抽象表示。你可能会问,什么样的信息?就像我们以前提及的,Deepgram的深度神经网络是专门训练来“理解”并在语音数据上进行操作,但深度神经网络已经应用于大量的其他方面,从医学扫描检测癌症到预测能源价格和气象建模。

在深度学习方向有很多著名的成员。在学术方面,多伦多大学的杰弗里-辛顿的实验室、纽约大学的雅安·勒存小组和斯坦福大学人工智能实验室是深度学习研究领域的引领者。在工业界,谷歌已经率先应用深度学习于搜索和计算机视觉,百度首席科学家AndrewNg,其作为Coursera的主要创始人,在上面贡献了大量深度学习有关的科学文献和教程。

今天学习深度学习为什么如此容易,即便是新手?主要有两个原因:首先,计算硬件设施的快速发展和便宜足以让深度学习技术能在几乎任何一个像样的显卡上运行。(通过我们的测试,发现对于一个正在使用的算法,基于GPU服务器的速度是CPU核的400倍) 其次,大量的深度学习资源开放平台,如TensorFlow、Theano和 Caffe,使实现自己的深度神经网络相当容易,尤其是自己不必从头开始构建一个神经网络。

当然,还有很多深度学习相关的知识需要去学习,但这就是本篇指南的目的!

◆ ◆ ◆

深度学习前的必备知识

说到数学,你肯定对微积分、概率论和线性代数很熟悉。这些知识将帮助你去理解深度学习的理论和规则。 

 

当然了,这也需要一些编程知识。正如你所看到的这个深度学习库列表,大部分流行的深度学习库是用Python和R语言编写的,所以,了解Python和R语言会对你很有帮助。

如果你需要提高你的数学和编程技巧,网上有大量的高质量资源可以学习和使用。

同时,正如我们上面提到的,需要有一个像样的显卡(或通过云计算平台,如Amazon Web服务或这里列出的其他提供商之一来访问GPU实例)。

◆ ◆ ◆

去哪学习深度学习

关于深度学习的探讨和文章

如果你是在全新的领域,且在寻找一些深度学习知识概念后的高层次解释,而不是迷失在数学和编程方面的话,这有一些资料来帮助你对这些专业概念和术语的了解。

  • 威斯康星大学有一个one-webpage神经网络的综述。
  • Brandon Rohrer,微软的主要数据科学家,在波士顿开放数据科学会议上做过一个演讲,其主要是通过少量数学和计算机术语来解释和阐明深度学习。这个页面有相关的视频和资料。
  • 深度学习的开拓者Geoffrey Hinton,他是第一个演示使用backpropogation算法训练神经网络。他现在不怎么参加多伦多大学的学术,而是领导谷歌的一些人工智能研究工作,我们都很喜欢他的“神经网络实际怎样工作”这么一个简短但却富有启发性的谈话。你还可以在他的教师主页找到他的"没有太多数学"的深度学习论文列表。
  • Steve Jurvetson,DFJ的创始合伙人,硅谷的风险投资公司成员,在深度学习领域领导了一个斯坦福大学商学院的讨论小组。如果你有兴趣从工业界一些创业者和工程师的角度来学习深度学习,看看视频吧。

如果你想深入,熟悉一些数学,有着简单的代码示例,还可以讨论深度学习的应用,可查阅斯坦福毕业生Andrej Karpathy的博文“The Unreasonable Effectiveness of Recurrent Neural Networks”。

在线课程

如果你是那种喜欢和从在线课程获取大量知识的人,你很幸运。这有几个很好的深度学习网上课程。

  • Andrew Ng的斯坦福大学机器学习课程很受欢迎,通常广受好评。它被认为是最好的机器学习入门课程,将给你一些深入研究深度学习的准备。
  • Udacity有一个免费的,十周的机器学习课程,着重于理论与实际的应用。对深度学习感兴趣的人这会是一个全面的预备课程。加州理工学院的Yaser S. Abu-Mostafa自学课程,“Learning From Data”课程在数学上密度涉及较少,但它仍然是一个非常全面的学习机器学习理论和技术的课程。
  • Andrej Karpathy的"CS231n: Convolutional Neural Networks for Visual Recognition",斯坦福大学的课程是具有一定的挑战性,但它是在深度学习上很好的教程,其教学大纲和详细的课程笔记在网上都可以下载。
  • Geoffrey Hinton的课程"Neural Networks for Machine Learning" 也很好,这是一个做为该领域的教父级别课程。


书籍

也许在线学习不是你的菜,或你只是喜欢看讲座和复习幻灯片。我们推荐一些值得阅读的书籍:

  • Andrew Trask的Grokking Deep Learning旨在提供一个可理解、实用指南的深度学习技术。如果你以前了解一些Python和代数知识,那你100%的需要这本书。
  • Ian Goodfellow、 Yoshua Bengio 和 Aaron Courville的Deep Learning,将在麻省理工学院出版社(MIT Press)出版。到目前为止,这是一个早期在线的免费版本、外加一些幻灯片讲座和练习。


其他学习资源和网站

  • Metacademy是一个非常酷的站点,它是一个非常切实可靠的 深度学习概述,且有许多该领域特定主题的大量链接。
  • 谷歌Brain team中的Denny Britz,在他的网站WildML上有很全面的深度学习专业术语介绍。他还建了a weekly newsletter,其中还包含了对机器学习和深入学习的技术性与非技术性文章。

◆ ◆ ◆

深度学习在哪实践

一旦你具备了相关的基础知识,你将准备好进行一些实际数据和练习。这有些网站,你能够找到一些简单的数据集和实现时遇到的一些问题:

  • Kaggle有大量的数据集,其从SF/Bay Area Pokemon Go spawn points到Y Combinator companies再到Hillary Clinton's leaked emails的巨大文本语料。
  • UC Irvine收藏了一个大的数据集来训练深层神经网络。
  • 对于喜欢Python笔记的人,Alexander Johansen整理了一个很不错的关于如何使用TensorFlow的5个部分教程(与其他的深度神经网络DNN库教程相链接)。

◆ ◆ ◆

在哪寻找也对深度学习感兴趣的人

不管你是一个业余者还是在深度学习研究最前沿的博士生,在社区之间进行交流总是好的。这里提供了一些地方来寻找都对深度学习感兴趣的同道中人:

  • 你应该看看你所在的城市是否有一个机器学习或深度学习的小组,比如说Meetup.com。大部分的主要城市是有的。
  • 有关于数据深度学习和衍生见解的几个在线社区:
    • Deeplearning.net是一个学习深度学习相关信息的网站。它的资源包括:综合阅读书单,深度学习研究实验室列表和一组优秀的演示,这样你就能发现深度学习的实际应用。
    • Datatau有点像黑客新闻,但特别关注数据和机器学习。它的评论部分不是很活跃但有定期发布的新链接。
    • 这有一个非常活跃的机器学习板块,(他们有非常有用的wiki和其他更多资源)。但深度学习板块就稍微要沉闷一点。
    • 令人惊讶的是,Google+发展了一个超过30000注册用户的深度学习小组。(谁知道人们现在还用Google+吗?)

◆ ◆ ◆

关于深度学习在哪找工作

好消息是,基本上每个人都想招聘懂深度学习的人。

你可能知道去一些大众的地方寻找相关工作:股权众筹平台AngelList,黑客新闻的每月“谁招聘”栏目,StackOverflow的招聘工作板块和许多求职网站。

一些关于深度学习岗位的工作可在Deeplearning.net的招聘板块上发现,在Kaggle上也有更多的关于机器学习工作的招聘板块。

这绝对是一个重磅消息。大多数公司在寻找深度学习和机器学习的人才时,并不会设置申请人要通过人力资源部门的环节。

当你申请职位了你该怎么做

在你申请这份工作前公司想看你是否做过一些很好、很酷的东西。

如果你没做过那你就没有面试的机会,如果你曾经做过,那无论你的背景怎样都会有一个机会的。当然了,什么是很好、很酷的东西,我们稍后解释。

如果你唯一的经验是构建一点点成功的小型项目,你很可能没有面试机会(尽管它可能会为大公司工作或者一些公司需要这一部分运行机器学习)。但是如果这样:

"我通过使用Theano 建立了一个twitter深度神经网络分析并且对于预测话题有很高的准确率:

  • 这是我实验得到的准确率
  • 这是我的实验报告链接
  • 这是我github上的代码链接"

这样的东西将会使你获得面试的机会。在你面试的时候你就应该发挥出你编代码的魔力与解决问题的能力。

原文发布时间为:2016-10-13

时间: 2017-06-02

怎样找到一份深度学习的工作 | 附学习材料,资源与建议的相关文章

【2万赞】一文读懂深度学习(附学习资源)

Image credit: Datanami   人工智能(AI)和机器学习(ML)都属于目前最热门的话题. 在日常生活中,AI这个术语我们随处可见.你或许会从立志高远的开发者那里听说她(他)们想要学习AI.你又或许会从运营者那里听到他们想要在他们的的服务中实施AI.但往往这些人中的绝大多数都并不明白什么是AI. 在你阅读完这篇文章之后,你将会了解AI和ML的基本知识.而更重要的是,你将会明白深度学习(https://en.wikipedia.org/wiki/Deep_learning),这类

程序员的工作、学习与绩效

工作中,碰到一些这样的例子,总有人提出疑问,为什么一个同事工作勤勉,完成了很多事情,季度绩效评定很高,但晋升却碰壁了.之前已经写过一篇<技术晋升的评定与博弈>,基本就能解答这个问题.但隐藏在背后的更深层次的本质却是:工作.学习与绩效的关系. 工作 程序员的主要工作是:编程,产出代码,完成需求,交付软件系统. 程序员按其工作技能和经验,大体又分为三个阶段:初.中.高级.三个级别的程序员的主要工作都是编程与产出代码,产出代码的数量也许相差不大,但产出代码的属性可能有明显差别. 在曾经的文章中提出过

答毕业4年的网维人——认真对待,在工作中学习

[来信] 贺老师:你好!  我是一个毕业4年多学生了,以前是学习网络专业的.毕业后就一直在一家公司做网络维护:但因为自己的懒惰,在工作总是混日子,这几年自己的能力感觉没有什么进步.我感觉自己不能再等待下去了,要提升自己了.上学的时候就想学习编程,可自己的自学能力太差了吧,就一直没有认真的做过:我现在下定决心要努力一次,辞掉了工作.准备转入编程:可是我遇到的问题是我不知道是该去培训机构学习下,还是先找个公司边工作边学习:还有就是我也不清楚选着什么样的培训机构会好点:不知道怎么规划自己的学习计划:能

【双11背后的技术】基于深度强化学习与自适应在线学习的搜索和推荐算法研究

选自<不一样的技术创新--阿里巴巴2016双11背后的技术>,全书目录:https://yq.aliyun.com/articles/68637 本文作者:灵培.霹雳.哲予 1. 搜索算法研究与实践 1.1 背景 淘宝的搜索引擎涉及对上亿商品的毫秒级处理响应,而淘宝的用户不仅数量巨大,其行为特点以及对商品的偏好也具有丰富性和多样性.因此,要让搜索引擎对不同特点的用户作出针对性的排序,并以此带动搜索引导的成交提升,是一个极具挑战性的问题.传统的Learning to Rank(LTR)方法主要是

『干货』深度强化学习与自适应在线学习的阿里实践

1搜索算法研究与实践 1.1背景 淘宝的搜索引擎涉及对上亿商品的毫秒级处理响应,而淘宝的用户不仅数量巨大,其行为特点以及对商品的偏好也具有丰富性和多样性.因此,要让搜索引擎对不同特点的用户作出针对性的排序,并以此带动搜索引导的成交提升,是一个极具挑战性的问题.传统的Learning to Rank(LTR)方法主要是在商品维度进行学习,根据商品的点击.成交数据构造学习样本,回归出排序权重.LTR学习的是当前线上已经展示出来商品排序的现象,对已出现的结果集合最好的排序效果,受到了本身排序策略的影响

在工作中学习

[来信] 贺老师,您好: 我是一名刚刚毕业的大学生,大学期间自学的C++,简单的数据结构,看过vc的视频教程,当时理解不懂书上的知识,学长就告诉我要多读几遍书,我就死记硬背的看了好几遍.但是缺少编程实践,没有做过什么项目,自己也没有写过什么小软件(类似图书管理系统的),我自己写过实现一些功能的小程序(比如用mfc实现的计算器),学了1年多了,就知道看书.看视频,没有很好的编程实践. 现在我被一家小的游戏公司录取了,我想改变我现在的现状,我不想做码农,但是我遇到了几个问题?还望贺老师能百忙之中帮我

边工作边学习的现实选择

有在线课程学员在QQ群中贴了一段对话,说让"贺老师看到请给点建议".看过之后,决定就在原对话基础上,加点我的评论,以此表明我的观点. 按我博文中匿名的原则,对话的两位主角,一位应该是刚刚从事了程序员工作,化名为"蔡工作",另一位迫于生计,一边工作一边学习,化名为"郑在学". 下面是对话,和 我的评论. 蔡工作 20:14:35 hello.还学编程吗? 郑在学 21:07:02 学呀,只是有个老师说一天学一两小时很难入门呀.我有时想一道题要1个多

人工智能时代的工作、学习和生活---《人工智能》阅读笔记

自从"罗辑思维"栏目从优酷网站搬到得到APP并且变为每天几分钟的节目之后,我就很少收听它了.某天,我打开得到APP,并且点开了"罗辑思维"的节目清单,发现有一期的标题包含了"人工智能"这几个字.出于好奇,我收听了这期几分钟的节目.在节目中,罗胖推荐了李开复老师的新书<人工智能>.一般说来,只要是李开复老师的书,我都会毫不犹豫地买下来,这次也不例外. 在拿到新书之后,我几乎一口气将它读完了,觉得本书虽然涉及人工智能技术方面的知识比较少,

(转) 深度学习全网最全学习资料汇总之入门篇

  本文转自: http://www.dlworld.cn/ZiLiaoXiaZai/3428.html 深度学习全网最全学习资料汇总之入门篇  作为人工智能领域一个重要的研究分支,深度学习技术几乎出现在当下所有热门的AI应用领域,包括语音识别,语义理解,图像识别,大数据分析等等,甚至有人把当前的人工智能等同于深度学习.面对如此重要的江湖地位,我们相信一定有为数众多的 AI 开发者对深度学习技术充满了好奇心,想要快速着手使用这项强大的技术来解决现实生活中的实际问题.因此,雷锋网将围绕深度学习技术