机器学习与分布式机器学习_我将如何再次开始学习机器学习(3年以上)

机器学习与分布式机器学习

重点 (Top highlight)

I’m underground, back where it all started. Sitting at the hidden cafe where I first met Mike. I’d been studying in my bedroom for the past 9-months and decided to step out of the cave. Half of me was concerned about having to pay $19 for breakfast (unless it’s Christmas, driving Uber on the weekends isn’t very lucrative), the other half about whether any of this study I’d been doing online meant anything.

我在地下,回到一切开始的地方。 坐在我第一次遇见迈克的隐蔽咖啡馆。 在过去的9个月 ,我一直在卧室里学习 ,因此决定走出洞穴。 我一半的人担心必须支付19美元的早餐费(除非是圣诞节,周末开车去优步不是很赚钱),另一半的人担心我在网上进行的这项研究是否有意义。

In 2017, I left Apple, tried to build a web startup, failed, discovered machine learning, fell in love, signed up to a deep learning course with zero coding experience, emailed the support team asking what the refund policy was, didn’t get a refund, spent the next 3-months handing in the assignments four to six days late, somehow passed, decided to keep going and created my own AI Masters Degree.

2017年,我离开了苹果公司,试图建立一个网络初创公司,失败了,发现了机器学习,陷入了爱河,签了一份零编码经验的深度学习课程, 向支持团队发送了电子邮件,询问退款政策是什么 ,没有获得退款,在接下来的3个月里延迟交了4到6天的作业,以某种方式过去了,决定继续前进并创建了自己的AI硕士学位

9-months into my AI Masters Degree, I met Mike, we had coffee, I told him my grand plan; use AI to help the world move more and eat better, he told me I should I meet Cam, I met Cam, I told Cam I’m going to the US, he said why not stay here, come in on Thursday, okay, went in on Thursday for a 1-day a week internship and two weeks later was offered a role as a junior machine learning engineer at Max Kelsen.

进入AI硕士学位9个月后,我遇到了Mike,我们喝咖啡了,我告诉他我的宏伟计划; 用AI帮助世界更多地移动,更好地饮食,他告诉我我应该和Cam见面,遇到Cam,我告诉Cam我要去美国了,他说为什么不留在这里,星期四进来,好吧,周四参加了一周的一日实习,两周后在Max Kelsen担任初级机器学习工程师。

14-months into my machine learning engineer role, I decided to leave and try it on my own. I wrote an article about what I’d learned, Andrei found it, emailed me asking if I wanted to build a beginner-friendly machine learning course, I said yes, we built the course and 6-months in we’ve got the privilege of teaching 27,177 students in 150+ countries.

在担任机器学习工程师职位14个月后,我决定离开并自己尝试。 我写了一篇关于所学知识的文章,安德烈(Andrei)找到了,给我发了电子邮件,询问我是否想建立一个适合初学者的机器学习课程 ,我说是的,我们建立了该课程并有6个月的学习时间在150多个国家/地区教授27177名学生。

Add it up and you get about 3-years. About the time my original undergraduate degree was supposed to take (due to several failures, I took 5-years to do a 3-year degree).

加起来,您将获得大约三年的时间。 大约是我最初的大学学位应该获得的时间(由于几次失败,我花了5年的时间才取得了3年的学位)。

So as it stands, I feel like I’ve done a machine learning undergraduate degree.

这样看来,我觉得我已经完成了机器学习的本科学位。

Someone looking from the outside in might think I know a fair bit about machine learning and I do, I know a lot more than I started but I also know how much I don’t know. That’s the thing with knowledge.

从外面往外看的人可能会认为我对机器学习有一定的了解,而且我知道,我比开始学习的要多得多,但我也知道我不知道多少。 那就是知识。

  • 1-year in: The honeymoon phase, also known as the noob gains period. You’re much better than a beginner, perhaps even a little too confident (though this isn’t a bad thing).

    1年: 蜜月期,也称为菜鸟收获期。 您比初学者要好得多,甚至可能有点过于自信(尽管这不是一件坏事)。

  • 2-years in: The oh, maybe I’m not as good as I thought phase. Your beginner skills are starting to mature but now you realise getting better is going to take some effort.

    2年:哦,也许我不如我想像的好。 您的初学者技能已经开始成熟,但是现在您意识到要变得更好需要付出一些努力。

  • 3-years in: The wow, there’s still so much to learn phase. Not a beginner anymore but now you know enough to realise how much you don’t know (I’m here).

    三年了:哇,还有很多东西需要学习。 不再是初学者,但是现在您已经足够了解不知道的内容(我在这里)。

Image for post
Learning is non-linear (not a straight line). You may study for an entire month and feel like you’ve made zero progress. Then seemingly out of nowhere, a discovery appears. If you want an example of how we fool ourselves, did you catch the error? It seems I still forget how to spell.
学习是非线性的(不是直线)。 您可能学习了整整一个月的时间,觉得自己取得了零进展。 然后似乎无处不在,一个发现出现了。 如果您想举一个我们如何愚弄自己的例子,您是否发现了错误? 看来我仍然忘记如何拼写。

But enough about me. That’s my story. Yours might be similar or you might be starting out today.

但是对我来说足够了。 那是我的故事。 您的可能相似,或者您今天可能开始。

If you’re getting started, this article is for you. If you’re a veteran, you can offer your advice or critique my ideas.

如果您是入门者,那么本文适合您。 如果您是资深人士,则可以提出您的建议或批评我的想法。

Let’s get into it, shall we?

让我们开始吧,对吧?

如果您来找课程清单,那您选错地方了 (If you came for a list of courses, you’re in the wrong place)

I’ve done a bunch of online courses. I’ve even created my own.

我已经完成了一堆在线课程。 我什至创建了自己的。

And guess what?

你猜怎么着?

They’re all remixes of the same thing.

它们都是同一件事的混音。

Instead of worrying about which course is better than another, find a teacher who excites you.

不用担心哪门课程比另一门课程更好,而是找一位让您兴奋的老师。

Learning anything is 10% material and 90% being excited to learn.

学习任何东西都是10%的物质,而90%的学习是兴奋的。

How many of your school teachers do you remember?

您还记得多少个学校老师?

My guess is, regardless of what they taught, you remember the teacher themselves more than the material. And if you remember the material, it’s because they sparked a fire in you enough for it to be burned into your memory.

我的猜测是,不管他们教了什么,您对老师的记忆比对材料的记忆还多。 而且,如果您还记得这些材料,那是因为它们在您体内引发了一场大火,足以将其燃烧到您的记忆中。

What then?

然后怎样呢?

Dabble in a few resources, you’re smart enough to find the best ones. See which ones spark your interest enough to keep going and stick with those.

涉足一些资源,您足够聪明以找到最佳资源。 看看哪些激发您的兴趣足以继续前进并坚持下去。

It isn’t an unpleasant task to learn a skill if the teacher gets you interested in it.

如果老师引起您的兴趣,学习一项技能并不是一件令人不快的任务。

工程师(和技术书呆子)的诅咒 (The curse of the engineer (and technology nerd))

Show me an engineer who proclaims her use case of the latest and greatest tools and I’ll show you an amateur.

给我看一个宣布她使用最新最好的工具的用例的工程师,我将给你看一个业余爱好者。

I’ll confess. I’m guilty. Every new shiny framework which comes out, every new state of the art model, I’m onto it.

我承认。 我有罪。 每一个新出现的闪亮框架,每一个新的先进模型都在我身上。

Often I’ll catch myself trying to invent a problem to use whatever new tool is on the market. A classic cart before the horse scenario.

我经常会发现自己想发明一个问题以使用市场上的任何新工具。 马情景之前的经典手推车。

A chef’s entire work centres around two tools, the controlled use of fire and a knife.

厨师的整个工作围绕两种工具进行,即受控使用火和一把刀。

This is embodied in the best programming advice I’ve ever received: learn the language, not the framework.

我所收到的最佳编程建议体现了这一点:学习语言,而不是框架。

If you’re just starting out and can’t count the number of tools you’re learning on one hand, you’re trying to use too many.

如果您只是刚起步而又无法数出正在学习的工具数量,那么您将尝试使用过多的工具。

“我想建造东西” (“I want to build things”)

If you want to build things, such as web applications or mobile applications, learn software engineering before (or at least alongside) machine learning.

如果要构建Web应用程序或移动应用程序之类的东西,请在机器学习之前(或至少与机器学习一起)学习软件工程。

Too many models live and die within Jupyter Notebooks.

Jupyter笔记本电脑中存在太多的模型,它们死活了。

Why?

为什么?

Because machine learning is an infrastructure problem (infrastructure means all the things which go around your model so others can use it, the hot new term you’ll want to lookup is MLOps).

由于机器学习是一个基础结构问题(基础结构意味着模型中所涉及的所有事物,以便其他人可以使用它,因此您要查找的热门新术语是MLOps )。

And deployment, as in getting your models into the hands of others, is hard.

就像将模型移交给其他人一样,部署也很困难。

But that’s exactly why I should’ve spent more time there.

但这就是为什么我应该在那里花更多时间的原因。

If I was starting again today, I’d find a way to deploy every semi-decent model I build (with exceptions for the dozens of experiments leading to the one worth sharing).

如果今天重新开始,我会找到一种方法来部署我构建的每个半体面的模型(数十项导致例外的值得分享的实验除外)。

How?

怎么样?

Don’t be afraid to make something simple. A basic front-end which someone can interact with is far more interesting than a notebook in a GitHub repo.

不要害怕使事情变得简单。 可以与人交互的基本前端比GitHub存储库中的笔记本有趣得多。

No really, how?

真的不行,如何?

Train a model, build a front-end application around it with Streamlit, get the application working locally (on your computer), once it’s working wrap the application with Docker, then deploy the Docker container to Heroku or another cloud provider.

训练模型,并围绕它构建前端应用程序 流光 ,让该应用程序在本地(在您的计算机上)运行,然后将其包装到Docker中,然后将Docker容器部署到Heroku或其他云提供商。

Sure, we’re going against the rule here of using a few too many tools, but pulling this off a few times will get you thinking about what it’s like to get your machine learning model into people’s hands.

当然,我们在这里违反了使用太多工具的规则,但是将其拖了几次会使您思考将您的机器学习模型掌握在人们手中的感觉。

Deploying your models will raise the questions you don’t get to ask when your machine learning model lives its life in a Jupyter Notebook, like:

部署模型将引发您的疑问,当您的机器学习模型在Jupyter Notebook中生活时,您不会问这些问题,例如:

  • How long does inference take (the time for your model to make a prediction)?

    推理需要多长时间(您的模型进行预测所需的时间)?
  • How do people interact with it (maybe the data they send to your image classifier is different to your test set, data in the real world changes often)?

    人们如何与之交互(也许他们发送到图像分类器的数据与测试集不同,现实世界中的数据经常变化)?
  • Would someone actually use this?

    有人会实际使用吗?

“我想做研究” (“I want to do research”)

Building things becomes research. You’ll want your models to work faster, better. To achieve this, you’ll need to research alternative ways of doing things. You’ll find yourself reading research papers, replicating them and improving upon them.

建筑成为研究。 您将希望自己的模型更快,更好地工作。 为此,您需要研究其他的处理方式。 您会发现自己正在阅读研究论文,进行复制并加以改进。

I’m often asked, “how much math should I know before I start machine learning?”

经常有人问我:“在开始机器学习之前,我应该知道多少数学?”

To which I usually reply, “how much walking should I know before I go for a run?”

我通常会对此回答:“跑步前我应该知道多少步行?”

I don’t really say this, I’m usually nicer and say something like, “can you solve the problem you’re currently working on?”, if so, you know enough, if not, learn more.

我并不是真的这么说,我通常会说得更好,比如说:“您能解决您当前正在研究的问题吗?”,如果可以,那么您就足够了,如果不是,请了解更多。

As a side note, I’ve just ordered the Mathematics for Machine Learning book. I’m going to be spending the next month or two reading it cover to cover. Having read the free text online it’s more than enough to cover the fundamentals.

作为附带说明,我刚刚订购了《机器学习数学》一书 。 我将在下个月或两个月内阅读有关内容。 在线阅读免费文本,足以覆盖基本知识。

证书前技巧 (Skill before certificates)

I’ve got online course certificates coming out of my ass.

我的屁股上有在线课程证书。

I got caught thinking more certificates equals more skills.

我被认为是更多的证书等于更多的技能。

I’d burn through lectures on 1.75x speed just to get to the end, pass the automated exam and share my progress online.

我会以1.75倍的速度浏览所有演讲,直到结束,通过自动考试并在线共享我的进度。

I optimised for completing courses instead of creating skills. Because watching someone else explain it was easier than learning how to do it myself.

我为完成课程而不是技能进行了优化。 因为看着别人解释它比自己学习如何做要容易。

Idiot.

白痴。

Here’s the thing. Everything I learned for an exam, I’ve forgotten. Everything I learned through experimenting, I remember.

这是东西 我为考试学到的一切,我都忘记了。 我记得我通过实验学到的一切。

Now, this isn’t to say online certifications and courses aren’t worth your time. Courses help to build foundational skills. But working on your own projects helps to build specific knowledge (knowledge which can’t be taught).

现在,这并不是说在线认证和课程不值得您花时间。 课程有助于建立基础技能。 但是,在您自己的项目上工作有助于建立特定的知识(无法教授的知识)。

  • Instead of stacking certificates, stack skills (and prove your skill through sharing your work, more on this later).

    而不是堆叠证书,而是堆叠技能(并通过共享您的工作来证明您的技能,稍后会对此进行更多介绍)。
  • Instead of doing more courses, repeat the ones you’ve already done.

    无需重复其他课程,而是重复您已经完成的课程。
  • Instead of looking for the newest tools, improve your use of the ones which have been around the longest.

    不要寻找最新的工具,而要改进使用时间最长的工具。
  • Instead of looking for more resources, reread the best books on your shelf.

    重读书架上最好的书,而不是寻找更多的资源。

Learning (anything) isn’t linear, better to read the same book twice (as long as it’s got some substance) than to add more to the pile.

学习(任何东西)都不是线性的,最好多读一本书(只要有实质性内容)两次,而不是多读一本书。

I often tell my students, despite the immense proudness I feel when I see someone share a graduation certificate, I’d prefer them not to finish my course and instead take the parts they need and use them for their own work.

我经常告诉我的学生,尽管我看到有人分享毕业证书时感到非常自豪,但我还是希望他们不要完成我的课程,而是选择他们需要的部分并将其用于自己的工作。

Before you add something, ask yourself, “have I sucked the juice out of what I’ve already covered?”

添加东西之前,问自己:“我是否已经从已经覆盖的东西中吸取果汁了?”

我将如何重新开始 (How I’d start again)

First of all, more important than any resource is to get rid of the “I can’t learn it” mentality. That’s bullsh*t. You’ve got the internet. You can learn anything.

首先,摆脱“我无法学习”的思想比任何资源都重要。 那太牛逼了。 你有互联网。 你什么都可以学。

The internet has given rise to a new kind of hunter-gatherer. And if you decide to take on the challenge you can gather resources to create your own path.

互联网催生了一种新型的狩猎采集者。 如果您决定接受挑战,则可以收集资源来创建自己的道路。

The following path isn’t set either. It’s designed to be a compass rather than a map. And guess what? It’s all accessible online.

也未设置以下路径。 它被设计为指南针而不是地图。 你猜怎么着? 都可以在线访问。

Let’s lay some foundations.

让我们奠定一些基础。

Image for post
2020 Machine Learning Roadmap. 2020年机器学习路线图摘录。 Note: This curriculum is heavily focused on code-first, Python code in particular. It also neglects mobile or embedded device development. However, it contains more than enough resources to get an outstanding grounding in the field. 注意:本课程非常注重代码优先,尤其是Python代码。 它还忽略了移动或嵌入式设备的开发。 但是,它包含的资源远远超过了在野外扎根的基础。

初学者路径(6-12个月以上) (The beginner path (6–12+ months))

If I was starting again I’d learn far more software engineering practices intertwined with machine learning.

如果我重新开始,我会学到更多与机器学习交织在一起的软件工程实践。

My main goal would be to build more things people could interact with.

我的主要目标是建立更多可以与人们互动的事物。

The machine learning specific parts would be:

机器学习的特定部分将是:

Alongside these, I’d go through:

除了这些,我将经历:

There’s a lot here. So to consolidate my knowledge I’d build 1–2 milestone projects using Streamlit or the web development skills I’d learned from freeCodeCamp. And of course, these would be shared on GitHub.

这里有很多东西。 因此,为了巩固我的知识,我将使用Streamlit或从freeCodeCamp学到的Web开发技能来构建1-2个里程碑项目。 当然,这些将在GitHub上共享。

进阶路径(6-12个月以上/进行中) (The advanced path (6–12+ months/ongoing))

Once I’d gotten some foundational machine learning skills, I’d build upon them with the following.

一旦我掌握了一些基础的机器学习技能,便可以在以下基础上进一步发展它们。

  • All of fast.ai’s curriculum(s) — practical use cases of many deep learning and machine learning techniques. Watching one fast.ai lecture turned into a solution we built for a client.

    fast.ai的所有课程 -许多深度学习和机器学习技术的实际用例。 观看一次fast.ai演讲,变成了我们为客户构建的解决方案。

  • Any of deeplearning.ai’s curriculum(s) — choose the one which sparks your interest the most. Compliments fast.ai’s practical approach with theory.

    deeplearning.ai的任何课程 -选择最能引起您兴趣的课程 。 将fast.ai的实践方法与理论相辅相成。

  • Full-stack deep learning curriculum — this is where you’re going to tie together the machine learning knowledge you’ve got with the web development knowledge you’ve been learning.

    全栈深度学习课程 -您将在这里将已经拥有的机器学习知识与正在学习的Web开发知识联系在一起。

  • Replicate a research paper (or multiple).

    复制一份研究论文(或多篇)。
  • Hands-on Machine Learning Book with Scikit-Learn and TensorFlow Part 2 — TensorFlow focused but the concepts bridge to many different applications.

    带有Scikit-Learn和TensorFlow的动手机器学习书第2部分-TensorFlow着重介绍,但概念可连接到许多不同的应用程序。

Again, after going through these, I’d consolidate my knowledge by building a project people can interact with.

同样,在经历了这些之后,我将通过构建一个人们可以与之交互的项目来巩固我的知识。

An example would be a web application powered by a machine learning model.

一个示例是由机器学习模型支持的Web应用程序。

课程范例 (Example curriculums)

Two of the biggest things you pay for with a college degree is accountability and structure.

大学学位支付的最大两件事是责任感和结构。

Good news is, you can get both of these yourself.

好消息是,您可以自己获得这两项。

I created my own AI Masters Degree as a form of accountability and structure. You can do something similar.

我以问责制和结构形式创建了自己的AI硕士学位 。 您可以做类似的事情。

In fact, if I was starting again, I’d follow something more similar to Jason Benn’s How I learned web development, software engineering & ML. It’s similar to mine but includes more software engineering practices.

实际上,如果我要重新开始,我会遵循与Jason Benn的“我如何学习Web开发,软件工程和ML”更相似的内容。 它与我的相似,但包含更多的软件工程实践。

If you can find a (small) community to learn with others, that’s a big bonus. I’m still not quite sure how to do this.

如果您可以找到一个(小)社区与他人一起学习,那将是很大的收获。 我还是不太确定该怎么做。

A billion dollar idea is to develop a platform where people can create their own self-driven curriculums and interact with others who are on similar paths. I say self-driven here because all knowledge is largely self-taught. Rather than hand-feed knowledge, the role of an instructor is instead more to excite, guide and challenge.

十亿美元的想法是开发一个平台,人们可以在此平台上创建自己的自我驱动课程,并与处于相似道路的其他人进行互动。 我在这里说自我驱动,因为所有知识在很大程度上都是自学的。 与其直接掌握知识,不如说教师的角色更能激发,引导和挑战。

Does someone want to build this?
有人要建立这个吗?

分享你的作品 (Share your work)

Learning and reading is inhaling. Building and creating is exhaling. Don’t hold your breath.

学习和阅读令人振奋。 建立和创造是令人陶醉的。 不要屏住呼吸。

Balance your consumption of materials with creations of your own.

平衡材料消耗与您自己的创作。

For example, you might spend 6 weeks learning, then 6 weeks putting your knowledge together in a form of shared work.

例如,您可能要花6周的时间来学习,然后花6周的时间以共享工作的形式将您的知识整合在一起。

Your shared work is your new resume.

您共享的工作就是您的新简历。

Where?

哪里?

GitHub and your own blog. Use the other platforms when needed. For machine learning projects, a runnable Colab notebook is your minimum requirement.

GitHub和您自己的博客。 必要时使用其他平台。 对于机器学习项目,可运行的Colab笔记本是您的最低要求。

少了什么东西? (What’s missing?)

Everything here is biased by my own experience of graduating from a nutrition degree, spending 9-months studying machine learning in my bedroom whilst driving Uber on the weekends to pay for courses, getting a machine learning job, leaving the job and building a machine learning course.

我所拥有的营养学位,在卧室里学习机器学习9个月,周末开车去Uber支付课程费用,获得机器学习工作,离职并建立机器学习的经历使我的一切偏颇课程。

I have no experience of going to a coding bootcamp or university to learn technological skills so therefore can’t compare the differences.

我没有去编码训练营或大学学习技术技能的经验,因此无法比较两者之间的差异。

Though, since we’re talking about code and math, it either works or it doesn’t. Knowing this, the contents of the materials you choose doesn’t matter as much as how you learn it.

但是,由于我们在谈论代码和数学,因此它要么起作用要么不起作用。 知道这一点,您选择的材料的内容与您学习的方式无关紧要。

翻译自: https://towardsdatascience.com/how-id-start-learning-machine-learning-again-3-years-in-55c52aaee52a

机器学习与分布式机器学习

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值