只用 4 个月打造机器学习必备技能,这位工程师成功翻转职涯人生

原标题:My 3 Month Deep Learning Career Pivot——A self-study guide to becoming a deep learning non-experthtml

https://medium.com/towards-data-science/my-3-month-deep-learning-career-pivot-af94cd8d6a31
译文:https://buzzorange.com/techorange/2017/10/01/4-months-of-machine-and-deep-learning/
相似的:https://mp.weixin.qq.com/s/WZcCH7LGGmalR51yOxa6bw前端

这其实就是线性代数,不是什么高深的学问。node

我作了什么?怎么作到的?python

这里,我就再也不介绍原先的学习计划以及随后在 LinkedIn 上的跟进讨论了。若是你不怕冗繁的细节,能够从新去看原文:git

学习计划:
https://medium.com/towards-data-science/my-3-month-deep-learning-career-pivot-af94cd8d6a31github

跟进讨论:
https://www.linkedin.com/pulse/self-study-guide-becoming-deep-learning-non-expert-jason-carter面试

长话短说:我学完了,如今开始找工做 算法

 

想立刻知道接下来的事情吗?且听我说。我并无彻底照着一开始的计划,循序渐进地学习,而更像是 一段长达 4 个月的、挤满额外内容的学习经历。 如今,我立刻就要完成这段职业生涯的转型经历了,因此想和大家分享一下个人体会。编程

先分享一下我最终版的学习日程,而后再跟您们讨论这中间的变更以及我这样作的缘由,最后是给初学者的一些建议。网络

顺便说一句,文章开篇这句「这其实就是线性代数,不是什么高深学问」,意味的是机器学习或深度学习并不简单。

个人学习日程

这段时间,我一直全身心的投入在学习上,天天学习 10-14 小时。 我天天都努力完成时间安排,而且没有放下健身房和午饭的休息时间。大部分时候均可以正常完成, 有时候也会熬到凌晨 1 点或 2 点再睡觉,但也有几天什么事情也没完成。 有时候是由于个人懒惰(夏天实在容易变懒),其余时候是由于太累了。

这里还要提一下我学这些的背景—教育基础,我有一个软件工程学位和 Udacity 数据分析师(Nanodegree)的认证。除了工做经验,仍是一名开发者和分析师。

第一个月

1. 深度学习-第 1 部分(开始): https://medium.com/towards-data-science/fast-ai-the-toc-of-practical-deep-learning-part-1-70c89187d654

2. 尝试 Kaggle 竞赛:  https://www.kaggle.com/

3. 分享经验:中级

4. 参加本地研讨会(通常 AI 讨论)

第二个月

1. 深度学习 – 第 1 部分(完成)

2. 从头开始构建深度学习框架

3. MNIST 对抗挑战(使用 500px 面试项目进行实践)

4. 数据科学家与 Python,职业培训营 DataCamp(开始)

5. 分享经验:中级

6. 参加本地研讨会(AI 讲座和小组讨论)

第三个月

1. 深度学习- 第 2 部分(开始+暂停)

2. 数据科学家与 Python,职业培训营 DataCamp(完成)

3. 吴恩达的机器学习:Coursera(已完成)

4. 分享经验:中级

5. 更多本地研讨会(DeepLearning:TensorFlow 和 Kubernetes)

第四个月

1. 深度学习,第 2 部分(开始)

2. Capstone:构建和部署端到端深度学习产品(开始)

3. 分享经验:中级

杂项

1. 就像一个笔记,每一个课程或程序都有不少阅读材料(例如,部落格文章、史丹佛大学在线 CNN 课程,学术论文等),和往常同样,终究要花功夫学习额外的知识。我虽然作了大量的「额外」阅读,但确定有一些地方跳了过去或者没有兴趣继续了解下去。

2. 我目前已经学习到第四个月(到 7 月中旬其实是 3.5 个月,我提早了),可是打算不久以后就开始找工做,不会一整个月都拿来学习。

细节

我对原来的时间表作了 3 个比较大的改动:

1. 数据科学家与 Python(DataCamp)

2. 吴恩达的机器学习(Coursera)

3. Capstone 项目(端到端深刻学习项目)

在开始深度学习的第 2 部分以后,我决定参加 Datacamp 举办的数据科学家与 Python 培训营。 要多从实践的角度思考所学的内容,由于我目前的角色并不能简单的划分红单纯的深度学习或单纯的经典机器学习。因此尽管 动手实践深度学习的经历很棒 ,但若是在接受面试时,我不了解 KNN 和 k-means 算法之间的区别,就真的会很尴尬。

另外,尽管 Fast AI program 是用 Python 教你课程内容 ,但它并不教授 Python,而 DataCamp 的职业生涯训练营则有许多 Python 在数据分析和操做方面的课程。

因为我以前已经完成了 Udacity 的数据分析课程, 因此 DataCamp 的课程对我来讲,更多的像是复习(固然也有一些新的提示和技巧),但这正是我须要的。

总结起来就是:

1. DataCamp 课程适合进行深刻的学习,且涵盖范围普遍。它这种让你一行一行实践 Python 代码的方式很是棒!

2. Udacity 课程则为每一个机器学习算法提供了很是多的细节,方便你了解如何使用它们并构建优秀的大型项目。

史丹佛大学机器学习课程 ,由吴恩达在 Coursera 上教授的多是网络上最有名的机器学习课程。这大概就是我想学它的主要缘由。另外,我也从朋友那里据说这是一个很棒的课程。

我学这门课的目标是为了强化本身的知识基础。虽然在以前我已经学习过 Udacity 和 DataCamp 的课程,这两个课程都从不一样的角度讲述机器学习,但我认为再多学习一门这个领域中最好的课程绝对有利无害。

这门课很是有意思,有趣且具备挑战性。像其余一切同样,有一些我彻底理解的部分,也有一些我尚未彻底搞清楚的部分。

我不认为 Octave 会在任何新项目里帮到我,但对于完成几回做业来讲,这个软件并不难上手。虽然这门课是一个很棒的经历,但我仍然相信 Udacity 的数据分析 Nanodegree 更有用处。

最后一件帮助我完成学习目标的事,是 Capstone 的端到端深度学习项目 。数据科学或机器/深度学习不只仅是关于理论、算法、研究和出版论文!对于我来讲,我一直想要构建产品,作一个实践者,作一些事情。

在个人 Capstone 项目中,我将定义一个问题、潜在的解决方案、源数据、构建和测试模型、生成模型、实现 API、UI 前端并部署到「生产」上。本质上,我将要创建一个端到端的深刻学习管道,从而打造一个直播产品。

…… 或者至少,这是一个计划。

我对初学者的建议

开始学习。你没有什么好的借口能够不去学习,哪怕是换了职业。

学几门数学课程,但几门也就够了。

但我仍是要差一句话,这不是说你不须要数学,而是说你只须要了解术语表明什么意思,如何解释它们,以及如何根据他们的讯息来修正模型(或参数)便可。但在实际实施机器学习和深度学习的世界中,并不须要博士学位: 这其实就是线性代数,不是什么高深学问。

可是,如今并不建议你开始着手一个大的项目,由于它将占满你的学习时间。尝试作一些实际动手的工做, 使用真实的数据进行练习,你须要它们来增加经验和参加面试 ,而不是立刻就开始处理你开始新的职业生涯以后才会遇到的,更重要的现实世界的问题。

我以为个人脑子里已经充满了机器学习和深度学习的「东西」,老是会还有一篇要去读的新论文或发表的文章。因此,仍是得慢慢来,而我很肯定我尚未达到我想要的程度。

综上所述,我建议你学习的课程包括:

1. 数据科学家与 Python(DataCamp)

2. 数据分析 Nano degree(Udacity)

3. 吴恩达 Andrew Ng(Coursera) 的机器学习

4. 深度学习(fast.ai

5. 进行我的项目或参加 Kaggle 竞赛进行练习(在进行步骤 1-4 的时候)

另外,这里还有我正在更新的一些「阅读列表」,以记录我在学习过程当中作的更重要的事情。你能够在个人 blog 上找到它们:http://jasonicarter.github.io/deep-learning-reading-list

个人深度学习阅读列表(英文数据)

课程

1. 深度学习 – 第 1 部分:MOOC 版本   和  USF,数据研究所:深度学习 – Fast.ai  的 第 1 部分

2. 数据科学家与 Python 轨道 – DataCamp

3. 史丹佛大学机器学习 – Coursera

影片 

1. 深刻学习神秘化

2. 卷积神经网络的工做原理

书籍、论文、文章和部落格好文

1. 神经网络架构

2. 在 11 行 Python 编程中的神经网络

3. Standford CS231n:视觉识别的积卷神经网络

4. Grokking 深度学习

5. 设计出优秀的数据产品

6. 开始使用 TensorFlow

7. 深刻 MNIST 专家

8. TensorFlow 机械学 101

9. 递归神经网络的惊人效果

10 .Breaking Linear Classifiers

11. Explaining and Harnessing Adversarial Examples

12. 如何欺骗神经网络把熊猫误认成一只秃鹰

13. 用 Adversarial Examples 攻击击机器学习

14. GAN by Example using Keras on Tensorflow Backend

15. Perceptual Losses for Real-Time Style Transfer and Super-Resolution

16. 艺术风格的神经算法

17. 积卷神经算术教程

我接下来的计划

找工做。个人最后一件事固然是恢复工做。我会尝试尽量有选择地去找工做,不是说我之前没有这样作,而是我认为这是一个职业变化,认真审视这个过程的每一方面都是很好的。

到目前为止,我一直在被动地审查公司,调查他们在机器学习和深度学习领域中究竟作了什么。所谓的「机器学习工程师」在深度学习方面作的不多,而其余「数据工程师」则须要不少 CNN 或 NLP 的知识以及 Docker 和 Apache Spark 等的技术。

到目前为止,我学到的两件事

1. 没有真正的「深度学习工程师」角色,它只是被附加到了 ML 的描述中,因此得记得仔细阅读工做责任部分。

2. 数据科学家,数据工程师甚至数据分析师的角色可能因公司和工做职责而异。这个能够细分红企业需求和创业公司的需求。

对于我我的来讲,根据个人兴趣,我将寻找一个职位,让我可以扩展我在深度学习中的专长(它自己就是一个大领域),同时还能使用一些「经典」的机器学习技术。若是他们能丢给我一些 UI 开发工做,甚至会更好。

那么,了解完个人这段经历,你认为,任何人都有机会能成为全端机器学习工程师吗?

附上文章原文网址:https://medium.com/towards-data-science/4-months-of-machine-deep-learning-89f6ab56a2fd

相关文章
相关标签/搜索