收藏官网首页
查看: 9514|回复: 0

[好书推荐] 想成为AI工程师?这份自学指南值得你收藏

50

主题

94

帖子

2135

积分

金牌会员

Rank: 6Rank: 6

积分
2135
发表于 2017-10-31 20:04:03 | 显示全部楼层 |阅读模式
注册成为机智云开发者,手机加虚拟设备快速开发
如何成为一名机器学习工程师?

      经常有人这么问,这篇文章就尝试回答这个问题,其中会谈到关于机器学习各方面,从简单的线性回归到最新的神经网络。你不仅将学习如何使用这些技术,还将学习如何从头开始建构。

      这个指南主要针对电脑视觉(CV),这也是掌握一般知识的最快方式,从 CV 中抓取的经验可简单应用到机器学习的其他领域。

      我们将使用 TensorFlow 为框架。这些课程需要你会 Python,虽然不要求你是大师,但至少要懂基本知识(另外,都是英语授课)。

      温馨提示,学习知识与动手实践结合,效果更佳。

一、课程

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

      课程总共 4 周,用户评分:4.4(5 分制,下同)

      网址:https://www.coursera.org/learn/practical-machine-learning#syllabus

1.2 斯坦福大学的机器学习

      课程总共 11 周,用户评分:4.9。授课教师是大名鼎鼎的吴恩达。

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

      上面两节课,会教你数据科学和机器学习的基本知识,并为下面的学习做好准备。

1.3 CS231n:面向视觉识别的卷积神经网络

      总共 16 堂课,目前已更新为 2017 春季最新版本。李飞飞是这节课的导师。

      网址:http://cs231n.stanford.edu/

      现在才算步入正轨。这是网络上最好的机器学习与电脑视觉课程。

1.4 Google 讲深度学习

      整个课程大约耗时 3 个月,导师为 Google 首席科学家 Vincent Vanhoucke,以及 Google Brain 的技术负责人 Arpan Chakraborty。

      在这个课程中,将教授深度学习的原理、设计可从复杂的大型数据集学习的智能系统、训练和最佳化基本的神经网络、CNN、LSTM 等。

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

      选修课。你可以只看其中练习的部分。

1.5 CS224d:面向自然语言处理的深度学习

      总共 17 堂课。

      网址:http://cs224d.stanford.edu/

      选修课。建议给那些需要用到 NLP 的同学。课程内容也很棒。

1.6 深度学习电子书

      Leonardo Araujo dos Santos 整理的深度学习电子书。

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

      选看。这是一本涉及诸多机器学习领域的好书。

二、练习

      这部分给了一堆教程和项目清单,你应该逐一尝试并了解它们的工作原理,以及考虑如何改进提升。这个清单的存在,只是为了增加你对机器学习的兴趣,所以遇到一些困难也别气馁,当你准备好就可以随时上手练习。

2.1 TensorFlow 上的简单练习

      Kadenze 学院出品,总共 5 堂课。

      网址:https://www.kadenze.com/courses/creative-applications-of-deep-learning-with-tensorflow-iv/info

2.2 Tensorflow 食谱

      这部分内容来自 Nick McClure 的电子书《TensorFlow Machine Learning Cookbook》。

      网址:https://github.com/nfmcclure/tensorflow_cookbook

2.3 Tensorflow-101 教程部分

      这是一个用 Python 和 Jupyter Notebook 编写的教程。尝试为 TensorFlow 初学者提供尽可能的详细解译,希望对大家有用。

      网址:https://github.com/sjchoi86/Tensorflow-101

2.4 快速风格转移网络

      网址:https://github.com/lengstrom/fast-style-transfer

      这个教程展示如何使用神经网络,将名画风格转移到任何一张照片。

2.5 影像分割

      这是一个使用 TensorFlow 实现的完全卷积网络。作者 Marvin Teichmann 还提供如何把这部分字元集成到你的语义分割导管的示范。

      网址:https://github.com/MarvinTeichmann/tensorflow-fcn

2.6 使用 SSD 达成物体识别

      物体识别最快(也是最简单)的模型之一。

      网址:https://github.com/balancap/SSD-Tensorflow

2.7 面向物体识别和语义分割的快速掩膜 RCNN

      网址: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

      想做一辆自动驾驶汽车吗?这是很好的入门。

三、FAQ

如果中途卡住了怎么办?

      首先,你得明白机器学习不是 100% 精确的东西,大多数情况下只是一个很好的猜测,且需要大量调整更新。大多数情况下,想出一个独特的点子非常困难,因为你的时间和资源将耗费在训练模型上。

      所以,不要自己想解决方案。去搜索论文、项目,以及求助他人,积攒的经验越多,你会做得越好。提供几个可能有用的网站:
  • http://www.gitxiv.com
  • http://www.arxiv-sanity.com
  • https://arxiv.org
  • https://stackoverflow.com


      为什么论文无法完全解决这个问题,为什么论文有些地方是错的?

      很遗憾,并不是所有科技人都想把成果公之于众,但他们都需要发布论文来获得“名”或“利”。所以一些人可能只发布部分素材,或者给错误的公式。所以找到程序码永远比找到论文更有用。

哪里可找到最新的数据?

      参照上面建议过的几个网站,尤其是 gitxiv.com,不仅能找到论文,而且还能找到程序码,所以特别实用。

我应该用云端计算还是桌机/笔记本电脑?

      云端更适用大量计算需求的情况。对学习和测试来说,使用桌机或笔电要便宜得多,当然前提是有支持 CUDA 的显卡。比方,我自己就用笔电训练模型,显卡是有 690CUDA 核心的 GTX GeForce 960M。

      当然,如果有免费的云资源可用,当然要用。

如何调整超参数更好?

      训练的主要问题是时间。你不可能一直坐在那看着训练数据。因此,我建议你使用 Grid Search。基本上,只需要建立一组超参数和模型架构,然后一个接一个执行,并储存结果。这样就能晚上训练,**比对结果,找到最有希望的那个。详情可参照这个网址:http://scikit-learn.org/stable/modules/grid_search.html。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

加入Q群 返回顶部

版权与免责声明 © 2006-2024 Gizwits IoT Technology Co., Ltd. ( 粤ICP备11090211号 )

快速回复 返回顶部 返回列表