31

两月不到,如何从新手成为谷歌认证TensorFlow开发者?

 3 years ago
source link: http://news.51cto.com/art/202009/626865.htm
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

feIvYrB.jpg!mobile

因为新冠疫情宅家无事可做,印度尼西亚一位应用数学学生 Grady Matthias Oktavian 在从未用过 Python 编程的情况下,仅用不到两个月时间就拿到了谷歌 TensorFlow 开发者证书。本文将介绍他的这段经历以及学习方法。

与 TensorFlow 的渊源

Oktavian 是一位爱学习的人。新冠疫情当前,在好奇心的驱动下,他阅读了大量相关的新闻和文章。有一天,他读到了一篇文章,其中介绍了一组研究者开发了一种根据 X 光片辨别普通肺炎和新冠肺炎的新系统。

这篇文章提到研究者使用了「人工智能」和「神经网络」。这引起了他的兴趣:如何才能训练出分辨不同 X 光扫描图像的系统?这个 AI 没有医学学位,却取得了超过 90% 的准确度!以此为契机,Oktavian 进入了深度学习领域。

实际上,他是在和朋友交流过 TensorFlow 和 Keras 之后才感到大开眼界的。然后他花了一天时间浏览相关文章,并看到了 Daniel Bourke 介绍自己如何获得 TensorFlow 开发者认证经历的文章。

因此,Oktavian 也决定挑战一番,但是他又担心时间不够,因为他很快就要开始工作了,而且差不多同时还要开始他的硕士课程。此外,他还没学过 Python。他真的能完成这一壮举吗?

他之前已经完成了精算学应用数学本科学业,也就是说他已经学过微积分、回归、时间序列和统计学。但是,他的 Python 技能几近于无,唯一学过的编程语言是 R。尽管 R 在处理数据相关工作时非常好用,但不幸的是 TensorFlow 开发者认证考试目前还不支持 R 语言。

Oktavian 在文中写道:「拿下这个证书对我而言具有里程碑意义,因为这样我就可以名正言顺地说自己是数据和 AI 爱好者了。」故事说完,进入正题。首先谈谈 TensorFlow。

TensorFlow 是什么?为什么应该学习它?

简而言之:TensorFlow 是一个得到广泛应用的机器学习软件库。

具体而言,TensorFlow 是一个免费的开源框架,支持用户开发端到端的机器学习和深度学习项目,覆盖从预处理到模型训练和部署的整个流程。该框架最早由谷歌大脑团队开发,在谷歌内部使用,现在已经得到广泛应用。

那么,我们为什么应该学习 TensorFlow 呢?因为它能做很多事,而且其应用的广泛程度超乎你的想象。很多时候,你甚至都不知道你在使用基于 TensorFlow 构建的服务。

feUzuq7.jpg!mobile

这个动图展示了 Gmail 智能回复的工作方式

你用过 Gmail 的智能回复吗?这是 AI 驱动的,能根据你的电子邮件内容给出 3 个回复建议。而它就是用 TensorFlow 构建的。

Twitter 时间线排序方法?WPS Office 的光学字符识别(OCR)?VSCO 给出的照片预设建议?它们都用到了 TensorFlow。TensorFlow 才问世四年多,就已经在我们日常使用的许多服务和产品中得到了广泛的使用。

TensorFlow 开发者认证考试是什么?参加该考试的成本如何?

TensorFlow 数字徽章

TensorFlow 开发者认证考试是笔试而且必须用 Python 语言完成。在该考试中,我们可使用 Python 的 TensorFlow 库和 API。每次尝试的成本为 100 美元。如果你第一次挑战失败了,你可以在两周后再支付 100 美元重新考试。关于该考试支付和规则方面的详情可参看这个手册:https://www.tensorflow.org/site-assets/downloads/marketing/cert/TF_Certificate_Candidate_Handbook.pdf。

考试大纲包含四个要点:使用 TensorFlow 构建和训练神经网络、图像分类、自然语言处理以及时间序列。考试必须在 Pycharm IDE 中完成。

阅读手册之后,Oktavian 开始规划他的学习路径,首先是学习 Python 语言,然后是熟悉 TensorFlow。

学习之旅:第一个月

那么,一个毫无 Python 经验的应用数学研究者是如何在两个月之内成为 TensorFlow 开发者的呢?下面是他实现目标的旅程。

第一个月,首先学习 Python。如何快速做到这一点呢?他做的第一件事是进入 hackerrank(https://www.hackerrank.com/domains/python),立即上手用大量 Python 问题进行练习。当遇到靠自己无法解决的问题时,就立马上网查找解决方案。如果还没找到,那就查看参考答案并尽力理解其中的概念。

他这样一直持续了两周。此时,他已能不靠任何参考答案就能解答大部分问题了,甚至还能解决那些难度更高的问题。

那么剩余两周时间他又做了什么呢?看教程。YouTube 上有很多免费 Python 教程。你没有听错。

不过他也警告说:如果你能参加正式的 Python 课程,进行更结构化的学习,那当然更好。

Oktavian 列出了在他的学习之旅中有所助益的三个视频。这些视频是免费的,也因此被低估了。而且,这些视频就算学完了也得不到任何证书。这三个视频如下:

Python for Beginners:该教程来自 Programming with Mosh。该视频从字符串、运算操作、函数、数据类型(列表、字典、元组)、继承开始简明清晰地介绍了 Python 中的基本概念,然后详细讲解了三个对初学者友好的项目。其中第二个项目与机器学习有关。(https://www.youtube.com/watch?v=_uQrJ0TkZlc)

Python for Data Science Full Course:该视频来自 edureka,涵盖了必要的 Python 软件包,能帮你打下数据科学的坚实基础。视频末尾简要谈到了通过 Python 使用 Keras 和 TensorFlow 进行深度学习。(https://www.youtube.com/watch?v=-6RqxhNO2yY)

Data Analysis with Python:该视频来自 freeCodeCamp.org。在开发和训练模型之前,我们常常忽视数据预处理步骤。这个视频重点关注了这一阶段,并着重介绍了收集数据、加载数据、清洗数据以及通过数据可视化来获得见解。(https://www.youtube.com/watch?v=r-uOLxNrNk8)

尽管深入学习 Python 还是应该参加正式课程,但目前来说这三个 YouTube 视频已经足够了。提醒一句:你要自己动手写代码,在看视频的过程中也要自己不断尝试。

学习之旅:第二个月

Oktavian 在第二个月里学习了 Coursera 上的 DeepLearning.AI TensorFlow 开发者专业认证课程:https://www.coursera.org/professional-certificates/tensorflow-in-practice。该课程的讲师是来自谷歌大脑的 Laurence Moroney 和 deeplearning.ai 创始人吴恩达。

该专业培训共有四门课程,涵盖了考试大纲的四个要点。每门课程为期四周,但 Oktavian 每天学习一周的课,这是他那个月要完成的最优先事项。

完成每门课程后,他都会休息一天,顺便测试所学到的知识。在这一天里,他会试验代码,或以休闲的方式探索与该课程相关的想法。

总体来说,他完成每门课程的时间为 5 天。其中 4 天用来看课程材料,第 5 天用于休息和复习。这样,他用 20 天完成了这 4 门课程。

每个课程都有编程项目,而 Oktavian 也切切实实地探索了课程提供的代码。他经常花费几个小时时间来调试神经网络的超参数,以便尽可能得到最好的验证准确度。这样,就能在创建深度神经网络模型的试错过程中获得某种「直觉」。

有时候,课程会索引数据集、文章和未分级材料等外部资源。完成并通过课程并不一定需要学习这些外部材料,但 Oktavian 还是探索了大量外部材料。这些课程大都是面向实践的,吴恩达也有一些讲解直观和理论方法的视频。

其它材料

要通过这门考试,你不一定要按同样的路径进行学习。如果你不想花 49 美元来学这门课,Coursera 上还有其它一些值得学习的课程:

Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems(第 2 版),作者 Aurélien Géron。Oktavian 计划在未来几个月通读这本书。他认为这本书非常全面,有助于理解机器学习和深度学习的一些关键概念。与考试大纲相似的材料出现在这本书的第 10-16 章。

Coding Tensorflow 系列视频:这个免费的 YouTube 播放列表包含了这场考试的材料,而且大部分由 Laurence Moroney 教授讲授。Oktavian 选择 Coursera 课程的原因是其提供了额外的分级测试题和项目,但如果你自己用该 YouTube 播放列表中的材料自行探索,也能取得很好的效果。另外不要忘了在 Keras 和 TensorFlow 的官网上查看文档。(https://www.youtube.com/playlist?list=PLQY2H8rRoyvwLbzbnKJ59NkZvQAW9wLbx)

参加考试

结束所有课程后,Oktavian 花了四天时间复习课程,并重读了手册。在第二个月的第 25 天,他开始考试。

很显然,这里不会谈论考试内容的细节,但他给出了有关准备和参加考试的几点说明:

首先,安装所需的 Python IDE。TensorFlow 认证考试目前所需的 IDE 是 PyCharm。要确保安装的版本是正确的(参考手册),禁用和卸载其它第三方插件。小建议:在参加考试之前,可以先运行一些 TensorFlow 模型测试一下,看是否有需要解决的错误。

考试报名:https://www.tensorflow.org/certificate。完成支付并上传身份证明(各国 ID / 护照)。这时你会收到另一份手册,这是仅提供给报名并付款后的用户的。读一下这份手册,确保你在考试开始前做好准备。

考试持续五小时。你要合理规划时间:当你为某问题开发的模型正在训练时,你就可以开始下一个问题了。在你的模型训练完成并保存后,不要忘记提交和测试你的模型(安装好考试插件后,你的 IDE 会有一个「测试和提交模型」按钮)。

首要目标是先完成所有问题,然后如果还有时间,可以回头优化你的模型。要记住:时间有限。只要你的模型得了满分,就可以放手了。

你可以在 Google Colab、AWS 等外部平台上训练模型。在开始考试之前,你应该学会如何从这些外部平台保存模型,然后将其载入 PyCharm。你必须用「.h5」格式保存模型。

如果你都已经研究通透,也已经学会了考试大纲中列出的要点,那么应该就能通过考试了。手册中列出的大纲极具指导意义,你可以将其用作准备考试的学习指南。

至于硬件要求,Oktavian 考试使用的是一台 AMD 笔记本电脑,没有专用 GPU,仅在处理一个有大数据集的问题时用到了一次 Google Colab。你可以在自己的设备上训练几个模型测试一下,看看你的设备是否足够完成考试。更值得担心的问题是网速和网络稳定性,因为完成考试需要上传模型。

考试结果

考试结束后,基本马上就能收到是否通过考试的邮件。在两周时间内,Oktavian 便收到了官方下发的数字证书,还可以链接到自己的 LinkedIn 页面。

该证书的有效期为三年,所以他已经计划好 2023 年再考一次。他想,届时 TensorFlow 和深度学习领域肯定已历经巨大的发展进步,考试内容可能也将发生一些变化。

总结

对 Oktavian 而言,考证并不是终点,而是一个起点。Oktavian 表示:「通过这个考试是我真正意义上的第一个超越自我的里程碑,也让我进入了数据科学的大门。」

在当前大热的 AI 和数据科学领域,不乏「三天学会」、「七天掌握」、「一个月精通」的故事,不过像 Oktavian 这样因为疫情宅家无聊而用不到两个月时间从 Python 零基础到 TensorFlow 认证开发者的经历依然让人赞叹并羡慕。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK