从苹果售后到机器学习工程师,我趟过的 AI 坑
从苹果零售店的职员到创业失败、到 Uber 的司机,再到机器学习工程师,我找到了自己真正的兴趣。
我曾经在 Apple Store 里工作,但我想换一份工作,因为我想制作我每天都在维修的东西。
于是我开始研究机器学习和人工智能。
发现这个领域的东西太多了。
似乎每个星期 Google 或 Facebook 都会发布一种新的 AI 方面的技术,让它变得更快,或者改进我们的体验。
更不用说有多少自动驾驶汽车公司了。这是件好事,我不喜欢开车,路上太危险了。
虽然发生了这一切,但人们对于 AI 是什么依然没有一致的定义。
一些人认为深度学习是 AI,另一些人认为它们不是,因为它们还没有通过图灵测试。
缺乏准确的定义一开始真让我迷惘。想学这种定义五花八门的东西太难了。
所以别再提定义了。
怎样入门?
我和我的朋友创建了一个 Web 创业公司,但最后失败了。我们放弃的原因是因为缺乏意义。但同时,我开始听到越来越多关于 ML 和 AI 的事情。
我不敢相信:“计算机代替你学习东西?”
我被 Udacity 的深度学习微学位吸引了。它的广告上有个很滑稽的角色叫 Siraj Raval,他能量满满,非常有感染力。尽管我不满足课程的基本要求(我从来没写过一行 Python 代码),我还是注册了。
结果在课程开始前三周,我给 Udacity 发邮件询问怎样退款。我很怕我没办法完成课程。
但最后我没有退款。我在规定的时间进度内完成了课程。课程很难,是我学过的最难的东西。我最初的两个项目都是晚了 4 天才提交的。但参与世界上最重要的技术之一的兴奋感推动着我继续前进。
完成深度学习的微学位之后,我可以继续学习 Udacity 的 AI 微学位、自动驾驶汽车微学位或者机器人微学位。无论哪个方向似乎都不错。
我有点迷失了,“我该选哪个呢?”
我需要一份课程计划。我在深度学习领域打下了一点基础,现在是时候想想接下来要干什么了。
我自己拼凑的 AI 硕士学位
我从来没打算回到大学里去。反正我也没有硕士学位所需要的 10 万美元。
所以我又重复了我最初做过的事情:问 Google。
我进入深度学习领域时还没有任何前提知识。我不是自己爬上AI的冰山的,而是找了个直升机把我扔到山顶了。
在研究了一堆课程之后,我把我最感兴趣的课程都放到了 Trello 上。
Trello 是我的个人助理和课程表。
我知道在线课程的退课率很高。我不能成为退课率中的一个数字,因为我有我的任务。
为了让我对自己的行为负责,我开始在网上分享我的学习之旅。我发现这样可以练习我学过的东西,还能找到对我所学的东西同样感兴趣的人。不过在我冒险尝试 AI 时,我的朋友们仍然认为我是个外星人。
我公开了这个 Trello 看板(https://trello.com/b/tyHAvpcY)并且写了篇关于我的努力的文章。
我的课程计划在我第一次完成之后稍稍改动了一些,但基本方向没变,而且我每周都会看几次,同时更新我的进度。
找工作
我买了张到美国的单程机票。我已经学习了一年,我觉得是时候把我所学的付诸实践了。
我的计划是去美国找份工作。
结果 Ashlee 在 LinkedIn 上发了个消息:“我看到你写的文章了,非常酷,我觉得你应该跟 Mike 谈谈。”
我找到了 Mike。
我告诉 Mike 我在网上学习的事情,我对医疗科技的热爱,以及我去美国的计划。
“你最好还是在这里再呆一年看看能干点什么。我觉得你肯定想见一见 Cameron。”
我见到了 Cameron。
我跟他说了与 Mike 类似的话。医疗,科技,在线学习,还有美国。
“我们正在解决一些医疗上的问题。你周四过来看看怎么样?”
周四到了。我有点紧张。不过有人说,紧张是兴奋的同义词。所以我感觉很兴奋。
那天我见到了 Max Kelsen(http://maxkelsen.com/)的团队和他们致力解决的问题。
两周后的一个周四,他们的 CEO Nick 和首席机器学习工程师 Athon 邀请我去喝咖啡。
Nick 问我:“加入我们怎么样?”
我说:“好。”
所以,我的美国机票只好推迟了几个月,并且我得买一张返程机票了。
分享你的工作
我知道在线学习并非正统。所有我申请过的角色都要求拥有硕士学位,或者至少拥有某种技术学位。
哪个学位我都没有。但我的确有从在线课程里学到的技能。
一路走来,我一直在网上分享我的共走。我的 GitHub 包含我所有完成的项目,我的 LinkedIn 联系人也很多,而且我一直在 YouTube 和 Medium 上交流我学到的知识。
我从来没给 Max Kelsen 提交过简历。“我们看了你的 LinkedIn 就知道了。”
我的工作就是我的简历。
不管你是在线学习还是通过硕士学位学习,自己的作品集就是展示自己的最好方式。
ML 和 AI 的技能需求量很大,但这并不意味着你不需要展示。即使是最好的产品,不上架也卖不出去。
GitHub 也好、Kaggle 也好、或者 LinkedIn 甚至博客都可以,你得有个地方让别人找得到你。再说,在互联网上拥有自己的一隅也很有意思。
怎样入门?
那么,你该怎样开始学习这些东西?哪些课程入门最合适?
实际上没有正确答案。每个人的路都是不同的。一些人更适合通过书本学习,一些人更适合通过视频学习。
与怎样入门相比,更重要的是为什么要学习。
所以先问自己为什么。
- 为什么要学这些技能?
- 想挣钱吗?
- 想做东西吗?
- 想改变现状吗?
同样,没有正确答案。任何答案都有道理。
先问为什么,是原因比方法更重要。有了原因,在遇到越来越大的困难时才有理由坚持下去。原因能提醒你这样做的初衷。
有答案了吗?好。现在开始推荐一些干货。
我只能推荐我尝试过的。
我完成了这些课程(按照时间顺序):
- TreeHouse - Python 入门(http://teamtreehouse.com/)
- Udacity - 深度学习和 AI 的微学位(http://udacity.com/)
- Coursera - Andrew Ng 的深度学习(http://bit.ly/CourseraDanielBourke)
- fast.ai - 第一部分,马上要开始学第二部分(http://fast.ai/)
这些都是世界闻名的课程。我喜欢看视频学习。视频要比讲解容易得多,所以这些课程都是以视频演示为主。
如果你习惯于逻辑,那么可以从 Python 入门课程开始,等有了信心之后,可以去学习数据科学、机器学习和 AI。
需要很多数学知识吗?
我的数学水平还是高中程度。其余的数学知识都是在需要时在可汗学院学的。
关于机器学习和 AI 所需的数学知识,不同的人有不同的看法。我只说一下我的看法。
如果你想用机器学习和 AI 技术解决实际问题,那么你不需要深入理解数学就能获得很好的结果。TensorFlow、PyTorch 等库只需要一点点 Python 经验就可以做出世界领先的模型,这些库会负责背后的一切数学的东西。
如果你想做机器学习和 AI 方面的研究,通过博士课程或类似的什么东西,那么深入的数学知识是必须的。
对于我来说,我没打算深入数学并改进算法性能等。这些事情还是交给比我更聪明的人去做吧。
相反,我更喜欢用这些库来解决我遇到的问题。
机器学习工程师的工作
机器学习工程师的实际工作并不像你想象的那样。
虽然许多文章的封面图片都用机器人,但实际上机器学习工程师跟红眼睛的机器人并没有太大关系。
下面是 ML 工程师需要每天考虑的事情:
- 环境——ML怎样才能更了解你的问题?
- 数据——你需要更多数据吗?数据需要以什么格式呈现?如果缺少数据该怎么办?
- 建模——应该用哪个模型?模型是否对数据匹配得太好(过拟合)?或者是否不太好(欠拟合)?
- 生产环境——怎样才能将模型放到生产环境中?是应该使用在线模型,还是应该定期更新?
- 持续性——如果模型不工作了该怎么办?怎样用更多数据改善它?有没有更好的解决问题的办法?
这些条目是我从 Rachel Thomas 的一篇优秀的文章(http://www.fast.ai/2018/07/12/auto-ml-1/)中借鉴的,她是fast.ai(http://fast.ai/)的联合创始人之一,她的原文讲解得更详细。
关于更多信息,我做了个视频来介绍我们在 Max Kelsen(http://www.maxkelsen.com/)每周一的工作内容。
没有固定的方法
进入 ML 或 AI 没有正确或错误之分。
该领域之美在于,我们可以使用全世界最优秀的一些技术,我们只需要学习怎样使用。
你可以从学习 Python 代码开始。
你可以从学习微积分和统计学开始。
你可以从学习决策的哲学开始。
机器学习和人工智能让我着迷,因为它们是这些领域的交集。
我学得越多,就越能认识到我有更多东西要学。这让我更兴奋。
有时候代码不能运行,或者无法理解某个概念,我也感到很沮丧。这时我会暂时放弃。我暂时离开问题去睡一会儿,或者去散散步。等我回来后,就能用不同的角度去看问题,于是兴奋的感觉就回来了,就可以继续学习了。
这个领域每天都有太多东西发生,所以可能会让人望而止步。太多选择等于没有选择。所以只需忽略就好。
从你最感兴趣的开始并坚持下去。如果走到了死胡同,很好,你找到了你不感兴趣的东西。重新规划路线,找另一条路走。
计算机很聪明,但它们自己依然不能学习。它们需要你的帮助。
原文:https://hackernoon.com/i-want-to-learn-artificial-intelligence-and-machine-learning-where-can-i-start-7a392a3086ec
作者:Daniel
译者:弯月,责编:屠敏