分享

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

 长沙7喜 2017-12-15

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

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

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

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

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

基本技能要求:Python。

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

1. 课程

1.1 约翰霍普金斯大学的实用机器学习

网址: https://www./learn/practical-machine-learning

1.2 斯坦福大学的机器学习

网址: https://www./learn/machine-learning

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

1.3 Andrew Ng的深度学习课程

网址:https://www./specializations/deep-learning

1.4 CS231n:用于视觉识别的卷积神经网络2017

网址:http://cs231n./

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

1.5 Google深度学习

网址:https://www./course/deep-learning--ud730

可选课程。 你可以只学习其中的实战部分。

1.6 CS224d:使用深度学习进行自然语言处理

网址:http://cs224d./

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

1.7 深度学习书

网址:https://leonardoaraujosantos./artificial-inteligence/content/

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

2.实用部分

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

2.1 Kadenze的Tensorflow简明实践课程

网址:https://www./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./graphics/hdrnet/

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

2.11 自动驾驶项目

网址:https://github.com/udacity/self-driving-car

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

3.常见问题

如果卡住了怎么办?

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

有些网站可以帮助你:

  • http://www./

  • http://www./

  • https:///

  • https://

为什么论文中有错误?

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

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

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

  • http://www./

  • http://www./

  • https:///

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

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

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

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

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

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

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

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

原文:How To Become A Machine Learning Engineer: Learning Path

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多