如何成为机器学习工程师:学习路径

从简单的线性回归(linear regressoin)到最新的神经网络(neural network),我们将引导你学习机器学习(ML:machine learning)的各个方面,不仅学习如何使用它们,而且学习如何从头开始构建它们。

这条学习路径的很大一部分是以计算机视觉(CV: Computer Vision)为导向的,因为它是获得机器学习领域的知识的最快方法,CV的经验可以简单地转移到任何ML领域。

我们将使用TensorFlow作为ML框架,因为它是目前看来最有前途的机器学习框架,并且可以直接用于生产环境。

如果你在学习理论和实践的同时加以实践,那么学习效果会更好。

此外,如果你想尝试解决现实生活中的实际问题,我建议你在Kaggle注册,因为这种竞赛有助于丰富你的简历。

基本技能要求:Python

你不需要是一个Python专家,掌握基本的知识就够了。碰到问题可以查手册。

1. 课程

1.1 约翰霍普金斯大学的实用机器学习
网址: https://www.coursera.org/learn/practical-machine-learning

1.2 斯坦福大学的机器学习
网址: https://www.coursera.org/learn/machine-learning

这两个课程主要是关于数据科学和机器学习方面的基本知识,让你为解决真正的问题做好基础知识的准备。

1.3 Andrew Ng的深度学习课程
网址:https://www.coursera.org/specializations/deep-learning

1.4 CS231n:用于视觉识别的卷积神经网络2017 ( 2016 )
网址:http://cs231n.stanford.edu/

这是你可以在互联网上找到有关ML&CV的最好的课程之一。 它不仅会告诉你计算机视觉现在可以达到的高度,而且会帮你打好基础以便进一步深入。

1.5 Google深度学习
网址:https://www.udacity.com/course/deep-learning–ud730
可选课程。 你可以只学习其中的实战部分。

1.6 CS224d:使用深度学习进行自然语言处理
网址:http://cs224d.stanford.edu/

如果要使用自然语言处理(NLP: Natural Language Processing)技术,可以选择这门课程。 嗯,很棒的课程。

1.7 深度学习书
网址:https://leonardoaraujosantos.gitbooks.io/artificial-inteligence/content/

很好的手册,涵盖ML的诸多方面。

2.实用部分

这份清单包括许多教程和项目,你可以尝试、理解它们是如何工作的,并考虑如何进行改进。 这个清单是为了增加你对ML的专业知识了解和兴趣而整理的,所以如果其中某些任务对你现在来说还很难,那么不妨在你打好基础以后再回头学习。

2.1 KadenzeTensorflow简明实践课程
网址:https://www.kadenze.com/courses/creative-applications-of-deep-learning-with-tensorflow-iv/info

2.2 Tensorflow码书
网址:https://github.com/nfmcclure/tensorflow_cookbook

2.3 Tensorflow-101教程集
网址:https://github.com/sjchoi86/Tensorflow-101

2.4 快速风格迁移网络
网址:https://github.com/lengstrom/fast-style-transfer

讲解如何使用神经网络将绘画风格迁移到任何照片上。

2.5 图像分割
网址:https://github.com/MarvinTeichmann/tensorflow-fcn

2.6 使用SSD进行对象检测
网址:https://github.com/balancap/SSD-Tensorflow

SSD是用于对象检测的最快、也更简单的模型之一。

2.7 用于对象检测和分割的快速掩码递归卷积网络
网址:https://github.com/CharlesShang/FastMaskRCNN

2.8 强化学习
网址:https://github.com/dennybritz/reinforcement-learning

强化学习是非常有用的机器学习技术,特别是如果你想打造一个智能机器人或下一个Dota AI :)

2.9 来自Google Brain团队的Magenta项目
网址:https://github.com/tensorflow/magenta/tree/master/magenta/models

该项目旨在利用神经网络创作艺术和音乐。 成果相当可观。

2.10 用于实时图像增强的深度双边学习
网址:https://groups.csail.mit.edu/graphics/hdrnet/

来自Google的新算法,用于图片增强

2.11 自动驾驶项目
网址:https://github.com/udacity/self-driving-car

想让你的车实现全自动驾驶? - 这是一个很好的起点。

3.常见问题

如果卡住了怎么办?

首先,你必须明白,ML不是100%精确的 - 大多数情况下只能是一个很好的猜测和大量的调整迭代。 因此,在大多数情况下,因为你花费在模型训练上的时间和资源的限制,靠自己提出一些独特的想法是非常困难的。 所以尽量不要试图自己找出解决方案 - 搜索论文、项目、可以帮助你的人。 越快获得经验越好。

有些网站可以帮助你:

为什么论文中有错误?

很可惜,但并不是所有的技术人员都想公开其工作,但是他们都需要出版物才能获得资助和声誉。 所以有些人只是公布一部分材料,或者是故意在公式中引入错误。 这就是为什么搜索代码要好于论文。 你应该把这些论文看作是某个问题已经得到解决的证据或事实。

在哪里可以找到最新的资料?

我使用这几个网站来跟踪机器学习领域的最新进展:

首先你可以找到的不仅仅是一篇论文,而且其中包含有实验代码,所以更实用。

使用云计算还是笔记本电脑?

云计算是密集型计算的最佳选择。 对于学习和测试而言,使用带有CUDA图形卡的PC /笔记本电脑则要便宜得多。 例如,我使用装有GTX GeForce 960M显卡的笔记本电脑训练所有的模型。

当然,如果你已经有云或可以免费获得的云资源,可以使用它。

如何改进模型超参数的调整?

训练中的主要问题是需要时间。 你不能坐下来一直盯着训练数据看。 出于这个原因,我建议你使用网格搜索(grid search)。 基本上,只需创建超参数集和模型体系结构,然后一个接一个地运行并保存结果。 因此,你可以在晚上进行训练,并在第二天比较结果,从而找出最好的参数。

你可以看看在sklearn库中是如何进行网格搜索的,

建议你收藏这篇文章,我相信你会时不时地需要它:-)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值