My first contribution to an open source deep learning library

GitHub still confuses me. But it's needed. You can create your own tools but the best come from collaboration.

The philosophy of open source is simple. Take the best information and knowledge from others and make it available to every one in an accessible manner and let them create.

It says, here's the thing we've built, you can use it for free but if you find a way to improve it, let us know but we'd appreciate it if you made the change yourself.

Most open source libraries have far more users than contributors. And that's a good thing. It shows the scalability of software. It means many can benefit from the work of a few.

Since starting to learn machine learning, I've used plenty of open source software but I'd never contributed back. Until now.

We've been working on a text classification problem at Max Kelsen. The model we built was good, really good. But it wasn't perfect. No model is. So we wanted to know what it didn't know.

Our search led to Bayesian methods. I don't have the language to describe them properly but they offer a solution to the problem of figuring out what your model doesn't know.

How?

In our case, we used Monte Carlo dropout to estimate model uncertainty. Monte Carlo dropout removes part of your model every time it makes a prediction. The Monte Carlo part means you end up with 100 (this number can change) different predictions on each sample all made with slightly different versions of your original model. How your 100 predictions vary, indicates how certain or uncertain your model is about a prediction. In the ideal scenario, all 100 would be the same. Where as, 100 different predictions would be considered very uncertain.

Our text classifier was based on the ULMFit architecture using the fast.ai deep learning library. This worked well but the fast.ai library didn't have Monte Carlo dropout built-in. We built it for our problem and it worked well.* Maybe others could find value from it too, so we made a pull request to the fast.ai GitHub repository.

With a few changes from the authors, the code was accepted. Now others can use the code we created.

A contribution to open source doesn't have to be adding new functionality. It could be fixing an error, adding some documentation about something or making existing code run better.

Still stuck?

Best to start with scratching your own itch. You might not have one to begin with, I didn't for 2-years. But now I've done it once, I know what's required for next time.

If you want to learn more, I made a video about the what, why and how of a pull request. And I used the one we made to the fast.ai library as the example.

*After a few more experiments, we've started to question the usefulness of the Monte Carlo dropout method. In short, our thinking is if you simulate different versions of your model enough, eventually you end up with your same model. So the pull request may not be as useful as we originally thought. You have to be skeptical of your own work. Doing so is what makes it better. Stay tuned.

Gradatim Ferociter | Ask a Machine Learning Engineer Anything May 2019

Harsath messaged me a year ago. He was getting into machine learning and data science and had seen some of my videos.

Every time I’d post a new video he’d be one of the first to comment. Something insightful, something kind. I’ve always been grateful to see his name pop up. There’s also Shaik, Hammad, Gregory, Yash, Paul and many more.

This time Harsath told me he got a role in the field. He’d been working hard towards it and was offered a job.

It came after sustained effort over time. Step by step. It reminded me of the saying, gradatim ferociter, it means step ferociously.

Big things rarely happen in one go. It takes many small steps, one at a time. And each step has to be taken with passion and ferocity.

Congratulations Harsath. Keep up the effort and keep learning.

In the May Ask me Anything, I answered your questions around studying online versus at college, how to get a job in the field, having a PhD versus self-taught, using Bayesian methods in machine learning, my intermittent fasting schedule and more.

As always, if you have any more questions, feel free to reach out.


Advice which made me a better machine learning engineer

Athon was doing a talk. Something about Variational Autoencoders. He got deep. Much of it I didn’t understand. All I know is one-half tries to condense a distribution from a larger one into a smaller one and the other half tries to turn the smaller one into a new version of a larger one as close as possible to the original.

We went for a break.

There were fish sticks, wings, more 10-minute foods. The kind which tastes good for the 10-minutes you’re eating them but make you feel terrible after.

John was there. We’d met before. He was telling me about a hackathon his team won by using Julia (programming language) to denoise images and then used them for image recognition.

He told me how his company got acquired by a larger company. He’d been at the new company a few weeks but preferred smaller companies.

In between bites of fish sticks, I asked John questions.

John had been programming since he was young. I had 18-months under my belt. There were things he was saying I didn’t understand but I kept a constant stream of nods.

John asked me a question.

What do you think your strength is?

I spoke.

Well, I know I’ll never be the best engineer. But…

John interrupted me.

You won’t be with that attitude.

I was going to continue with my regular story. I know I’ll never be the best engineer but I can be the communication bridge between engineers and customers.

But I didn’t. I digested what John said along with chewed fish sticks. I spoke.

You’re right.

John kept talking.

You won’t improve if you think like that. Even if you know you won’t be the best, be careful what words you use, they’ll hold you back.

Every time I’ve run into a problem since and wanted to bang my head against a wall wanted to give up wanted to try something easier instead of doing the hard thing I remember back to what John said.

I say to myself.

I’m the best engineer in the world.

Source: https://qr.ae/TWNE3s

How do you learn machine learning when you're rusty at math?

Mum, how can I get out of the exam?

What?

I’m going to fail.

Tears started filling my eyes. I was sitting at my desk with the lamp on, 11 pm the night before the final exam.

Maths C. That’s what they called it. There was Maths A and B but C was the hardest and I was doing it.

There was something about matrices and imaginary numbers and proofs. I couldn’t do any of it. Only a few matrix multiplications, the easier ones.

I did the exam. Somehow I passed. I shouldn’t have. My teacher let me off the hook. That was 2010.

University came and I majored in biomedicine. I failed my first statistics course, twice. Then I changed out of biomedicine.

I graduated in 2015 with a dual major in food science and nutrition. Now food is one of my religions.

2017 happened and I decided to get into machine learning. I’d seen the headlines, read the articles.

Andrew Ng’s machine learning course kept getting recommended so I started there.

The content was tough. All the equations, all the Greek symbols. I hadn’t touched any of it since high school.

But the code was exciting, and the concepts made sense. Ng’s teaching skills meant they just made sense.

So I followed those. Kept going at it. This time I didn’t have an Xbox to distract me like high school.

My math is still rusty. I’ve done some Khan Academy courses on matrix manipulation, calculus and bookmarked some linear algebra courses to get into. There’s one from Rachel Thomas and another one from Stanford.

Math is a language, it takes time to learn, time to be able to speak it. Programming is the same. Machine learning combines them both and a bit more.

I started with programming first. Built some machine learning models, using Python code, TensorFlow, PyTorch and the others. Saw how the concepts linked with the code. It got me hooked.

You can start learning machine learning without an in-depth knowledge of the math behind it. If your math is rusty, you can learn machine learning with concepts and code first. Many of the tools available to you abstract away the math and let you build.

But when you gain a little momentum, learn a little more, hit a roadblock, you can dive into the math.

Source: https://qr.ae/TWNzgr

The future of education is online (+ 5 resources I've been loving)

Not everyone has access to the best colleges in the world. But the internet provides a way for everyone to access the best knowledge in the world.

There are no shortage of learning materials. Only a shortage of willingness to learn.

Even with such great learning resources available, it still takes a dedicated effort to work through them. To build upon and to create with them.

And one of the best ways for knowledge to spread and be useful is if it’s shared.

Here are 5 things which have caught my attention this week:

1. Open-source state-of-the-art conversational AI

Thomas Wolf wrote a great blog post summarising how the HuggingFace team built a competition winning conversational AI.

All done in 250 lines of refactored PyTorch code on GitHub! 🔥

2. Open-source Data Science Degree

The Open Source Society Unversity repository contains pathways you can use to take advantage of the internet to educate yourself.

3. GitHub Learning Lab

I need to get better at GitHub.

It’s a required skill for all developers and coders.

So I've been using the GitHub learning lab, a free training resource from The GitHub Training Team.

4. 30+ deep learning best practices

This forum post from the fast.ai forums collates some of the best tidbits for improving your models.

My favourite is the cyclic learning rate.

5. A neural network recipe from Tesla's AI Lead

Training neural networks can be hard. 

But there are a few things you can do to help.

And Andrej Karpathy has distilled them for you.

My favourite?

Become one with the data.

PS this post is an excerpt from the newsletter I sent out this morning. If you’d like to get more like these delivered to your inbox, sign up for more.

University vs. Studying Online and How to Get Around Smart People

Lukas emailed me asking a few questions. I replied back with some answers and then he dug deeper. He thought about what I said and then wanted to know more.

I replied back to him with some of my thoughts which I tidied up a bit and put below. The headings are the topics Lukas was curious about. This post doesn’t have all the context but I think you’ll find some value out of it.

Hey Lukas,

I’ll answer these how I did the last ones and break them apart a bit.

1. “University/school teaches some stuff that you don’t really need or want”

This is true. But also true of all learning. Whatever resource you choose, you’ll never use all of it. Some knowledge will come from elsewhere, some will vanish into nothing.

The reason learning online is valuable is it gives you the chance to narrow down on what it is you want immediately. University and school take a ‘boil the ocean’ solution because that’s the only valid one for what they offer. Individualised learning hasn’t made its way into traditional education services. I found I learn best when I follow what I’m interested in so I take the approach of learning the most important thing when it’s required. What's most important? It will depend on the project you’re working on.

Whilst this is an ideal approach for me. It’s important to always reflect on practicality. If I’m building a business and all I want to do is follow what I’m interested in, will that always line up with what customers/the market want? Maybe. Maybe not.

Lately, I’ve been taking the concept of time splitting and applying it to most of what I do. A 70/20/10 split I stole from Google.

In essence, 70% on core product/techniques (improving and innovating on existing knowledge), 20% on new ventures (still tied to core product) and 10% on moonshots (things that might not work).

In the case of my core product, it’s learning health and machine learning skills that can be applied immediately. I distil these in a work project/online creation I share with others.

For new ventures, it’s taking the core product skills and then expanding them on things I haven’t yet done, learning a new technique, working on a new project. But still tied to the core pillars of health and technology.

For moonshots, it’s going, ‘where will the world be in 5-10 years and how can I start working on those things now.’ These don’t necessarily have to relate to the core product but mine kind of still are (since the crossover of health, technology and art interests me most). For this, I’ve been playing around with the idea of an augmented reality (AR) coach/doctor. If AR glasses are going to be a thing, how could I build a health coach service which lives in the AR realm and is summoned/ever present to give insights into different aspects of your health? All of this would be of course personalised to the individual.

If you're still on the fence between university and learning on your own. One thing you may want to look into is the ‘2-year self apprenticeship’. I wrote an article about this which will shed some more light. Especially at 20, this would be something I’d highly recommend (I already have to my brothers, who are your age).

Remember, there's no rush. You've got plenty of time. Work hard and enjoy it.

2. “Why math at university versus on your own?”

I mentioned I was thinking of going to university to study mathematics rather than online. Here's why.

I learned Chinese and Japanese throughout 2016. The most helpful thing was being able to practice speaking with other people face to face.

I stopped after a year and have lost most of what I learned.

Why?

Because I don’t use it and don’t need to use it every day. English is 99.999% enough for conversations in Australia and the work I do.

Math is also a language. The language of nature. Being able to speak it and work on it with other people is a great way to accelerate your knowledge.

That isn’t to say you couldn’t do the same online. But put it this way, I would never try to learn another language without practising conversing from day 1.

If you want to learn French, move to France. If you want to learn math, take math classes with other people who speak math.

3. “How do you get physically around smart people?”

Aside from working with a great team or going to university and having a great cohort. Meetups are the number 1 thing for this.

They are weird and awkward and beautiful.

I always feel like a fish out of water there because everyone seems like a genius.

Events related to your field are priceless. They don’t have to be too often either. I’m finding once a month or so as a sound check to be enough.

4. “Which platform was best for opportunities?”

For content partnerships and online business opportunities: YouTube & LinkedIn (I've been approached or partnered with Coursera, A Cloud Guru, DataCamp, educative.io and more).

For career progression: LinkedIn. If I was looking for a job or more business opportunities, I’d be posting and interacting here daily.

For reaching an audience: Medium. Words are powerful. Writing every day is the best habit I have (aside from daily movement and staying healthy).

A tip for creating.

People are interested in two things when they look at content. Being educated and/or being entertained. Bonus points if you can do both but you don’t need to do both. One is suffice.

Especially if you’re doing a 2-year self apprenticeship or some kind of solo learning journey, share your work from day 1. Share what you’re learning and teach others if you can.

Do not expect it to go viral. Do not expect everyone to love it. These aren’t required.

What’s required is for you to continue improving your skills and to continue improving how to communicate said skills.

Over the long term, those two things are what matter.

Let me know if there’s any follow ups.

Great questions.

Best,

Daniel Bourke

Activity vs. Progress

“Are you making progress or completing activities?” he said, “That’s what I ask myself at the end of each day.”

“I’m writing that down.”

We kept talking. Not much more worth writing down though.

“Let me know what you get up to.”

“Okay, I will.”

“Talk soon.”

“Have a good day mate. Goodbye.”

Too many activities can feel like progress. That’s what he was talking about. You could be working yourself to the bone but the list never gets any smaller.

Maybe it’s time to get a new list.

One which leads to progress instead of a whole bunch of activities being checked off at the end of the day.

I catch myself when I’m writing a list each morning. On the days where there are only two or three things, write, workout, read, I go to add more add more as a habit. But would more activities lead to progress?

If your goal is to progress, you must decide which activities lead to it and which don’t. It’s hard and you’ll never be able to do it for sure but you can make a decision to. A decision to step back a decision to think about what does add to progress and cut what doesn’t.

In my latest video, I share how I got Google Cloud Professional Data Engineer Certified. I passed the exam without meeting any of the prerequisites. How? A few activities which led to progress. But the certification isn’t the real progress. The real progress comes from doing something with the skills the certificate requires. More on that in the future.







What does a machine learning engineers day look like?

Someone asked me on LinkedIn what they should learn for the rest of the year in order to become a machine learning engineer.

The specific skills are hard to narrow down as every role will be different. I can only share what I’ve learned the past year being a machine learning engineer at Max Kelsen.

I’ve copied the message I replied with here.

Hey [name removed]!

I'm great thank you! I trust you're well too.

Well, machine learning engineers may have different roles at different companies but let me talk you through what my day usually looks like.

  • 9 am - reading articles/papers online about machine learning (arXiv and Medium are the two usual places).

  • 10 am - working on the current project and (sometimes) applying what I've just been reading online.

  • 4 pm - pushing my code to GitHub and writing down experiments for the next day.

  • 5 pm - sending a small report to the team about what I've been working on during the day.

(these are all ideal scenarios)

Now, what happens during the 10-4pm (this is where most of the code gets done). Usually, it will be all be Python code within a Jupyter Notebook playing around with different datasets.

At the moment I'm working on a text classification problem using the Flair library.

As for what skills I'd suggest are most valuable (in my current role).

1. Exploring datasets using exploratory data analysis, this notebook by Daniel Formosso is a great example.

I also wrote an article with a bit more of a gentle introduction to exploratory data analysis which may help.

2. Being able to research different data science and machine learning techniques and apply them to current problems.

This one is a little more tricky because it will be different from problem to problem.

How you could practice this would be to enter a Kaggle competition (previous or current) and start figuring out different practices for different kinds of data, tabular, text, images.

Why Kaggle?

Because it's free, there are others who show their work (so you know what a good job is) and the datasets are relatively close (all real datasets differ a little) to what you'd be working on as a machine learning engineer.

Once you've spent a couple of months doing 1. and 2. you may want to look into what it takes to deploy a machine learning model in production. However, don't rush towards this. This is still a bit of a dark art (it's doable but not well documented yet). I think over the next year, this step will become more and more accessible to everyone.

I hope this helps.

Let me know if you'd like me to tidy anything/clarify some things.

[If you’re reading this, you can reach out and ask questions too, I’ll do my best to answer.]

So many people are learning machine learning. What should you do to stand out?

There it was. Podcasts, YouTube, blog posts, machine learning here there changing this changing that changing it all.

I had to learn. I started. Andrew Ng’s Machine Learning course on Coursera. A bunch of blog posts. It was hard but I was hooked. I kept going. But I needed some structure. I put a few courses together in my own AI Masters Degree. I’m still working through it. It won’t finish. The learning never stops.

Never.

You know this. You’ve seen it happening. You’ve seen the blog posts, you’ve seen the Quora answers, you’ve seen the endless papers the papers which are hard to read the good ones which come explained well with code.

Everyone is learning machine learning.

Machine learning is learning everyone.

How do you stand out?

How how how.

A) Start with skills

The ones you know about, math, code, probability, statistics. All of these could take decades to learn well on their own. But decades is too long. Everyone is learning machine learning. You have to stand out from everyone.

There are courses for these things and courses are great. Courses are great to build a foundation.

Read the books, do the courses, structure what you’re learning.

This week I’m practising code for 30-minutes per day. 30-minutes. That’s what I have to do. When I don’t feel like practicing. I’ll remind myself. These are the skills I have to learn. It’ll be yes or no. It’s my responsibility. I’ll do it. Yes.

Why skills?

Because skills are non-negotiable. Every field requires skills. Machine learning is no different.

If you’re coming from zero, spend a few months getting into the practical work of one thing, math, code, statistics, something. My favourite is code, because it’s what the rest come back to.

If you’re already in the field, a few months, a fear years in, reaccess your skills, what needs improving? What are you good at? How could you become the best in the world at it? If you can’t become the best in the world, combine with something else you’re good at and become the best in the world at the crossover.

B) Got skills? Good. Show them.

Ignore this if you want.

Ignore it and only pay attention to the above. Only pay attention to getting really good at what you’re doing. If you’re the best in the world at what you do, it’s inevitable the world will find out.

What if you aren’t the best in the world yet?

Share your work.

You make a website.

machinelearner.com

I made this up. It might exist.

On your website you share what you’ve been up to. You write an article on an intuitive interpretation of gradient descent. There’s code there and there’s math there. You’ve been working on your skills so to give back you share what you’ve learned in a way others can understand.

The code tab links to your GitHub. On your GitHub you’ve got examples of different algorithms and comments around them and a tutorial on exploratory data analysis of a public health dataset since your interest in health. You’ve ingested a few recent papers and tried to apply it to something.

LinkedIn is your resume, you’ve listed your education, your contributions to different projects the porjects you’ve built the ones you’ve worked on. Every so often you share an update of your latest progress. This week I worked on adding in some new functions to my health project.

You’re getting a bit of traction but it’s time to step it up. You’re after the machine learning role at Airbnb. Their website is so well designed you stayed at their listings you’re a fan of what the work they do you know you could bring them value with your machine learning skills.

You make another website.

whyairbnbshouldhiremeasamachinelearningengineer.com

I made this one up too. Kudos if you’re already on it.

You send it to a few people on the Airbnb recruitment team you found on LinkedIn with a message.

Hi, my name is Charlie, I hope this finds you well.

I’ve seen the Machine Learning Engineer role on your careers page and I’d like to apply.

I made this website which shows my solutions to some of your current challenges.

If you check it out, I’d love your advice on what best to do next.

5/6 of the people you message click on it. This is where they see what you’ve done. You built a recommendation engine. It runs live in the browser. It uses your machine learning skills. Airbnb need a machine learning engineer who has experience with recommendation engines. They recommend a few things.

3 reply with next steps of what to do. The other 2 refer to other people.

How many other people sent through a website showcasing their skills?

0.

Maybe you don’t want a job. Maybe you want to research. Maybe you want to get into a university. The same principles apply.

Get good at what you do. Really good.

Share your work.

How much?

80% skills.

20% sharing.

Source: https://qr.ae/TWpAS2

How do non-technical people learn machine learning?

I drove forward.

The parking inspector starting speaking.

Do you have a valid Queensland drivers licence?

I answered.

Yes.

He kept going.

Well, you shouldn’t because you should know you can’t park in bus stops.

The Uber app guided me to pick up riders. I followed the app without paying attention to the signs. I was more focused on picking them up and getting them out of there. It was 2 am.

The fine came through. $250. I worked for free that night.

I paid it.

Then thought to myself.

I’m not driving Uber anymore.

Two weeks later I got offered an internship as a machine learning engineer.

9-months before that I started my own AI Masters Degree.

Before that, I graduated with a Food Science and Nutrition Degree. Non-technical as it gets.

Where do you start?

A) Delete non-technical from your vocabulary

Words have power. Real power.

They’re magic. It’s why when you list out the letters of a word it’s called spelling.

People isolate themselves with their words.

Some say play to your strengths, others say work on your weaknesses. Both good advice. Which one should you listen to?

As soon as you start saying you’re non-technical, you’re non-technical.

I was speaking to someone the other night.

I used to think my main strength was talking to people.

I told him.

I’ll never be the best engineer.

He snapped back.

Not with that attitude.

It changed me. I’m not trying to be the best engineer but referring to myself as never being the best was limiting my ability to grow.

I’m getting better. Much better. Why?

Because I told myself so.

You can too.

Belief is 50% of anything.

B) Use the placebo effect to your advantage

Here’s another.

Have you heard of the placebo effect?

It’s one of the most dominant forces in science. But it’s not limited to researchers in lab coats. You can use it too.

Example.

People who thought they were taking good medicine (but were actually only taking a placebo, or a sugar pill) got healthier.

What?

Why?

Because they thought they were taking the good medicine and the cosmic forces between the mind, body and universe set them on the track to better health.

I’ve simplified it and used cosmic forces on purpose. Because this effect is still unknown other than describing it as a belief which led to improvement.

What can you do?

The same thing. Take a placebo pill of learning machine learning.

Write it down.

This will be hard for me but I can learn it.

Again.

This will be hard for me but I can learn it.

All useful skills are hard to learn.

C) Get some coding foundations

The first two are most important. The rest snowballs as you go.

Someone commented on my LinkedIn the other night.

One of my favourite sayings from my professor was, "in theory, theory and practice are the same. In practice, they are completely different".

Good advice.

Could you learn to swim without ever touching the water?

If you want to get into machine learning, learn to code, it’s hard to begin with but you get better.

Practice a little every day. And if you miss a day, no problem, continue the next day.

It’s like how your 3-year-old self would’ve learned to talk.

In the beginning, you could only get a few sounds out. A few years later, you can have whole conversations.

Learning to code is the same. It starts out as a foreign language. But then as you learn more, you can start to string things together.

My brother is an accountant. He’s starting to learn machine learning. I recommended he start with Python on DataCamp. Python code reads similar to how you would read words. Plus, DataCamp teaches code from 0 to full-blown machine learning. He's been loving it.

D) Build a framework

Once you’ve been through a few DataCamp courses or learned some Python in general, start to piece together where you want to head next.

This is hard.

Because in the beginning it’s hard to know where you want to go and there’s a bunch of stuff out there.

So you’ve got two problems. Not knowing where to go and having too many things to choose from.

If you know you want to learn more machine learning, why not put together your own path?

What could this look like?

  1. 3–4 months of DataCamp

  2. 3–4 months of Coursera courses

  3. 3–4 months going through the fast.ai curriculum

Do you have to use these?

No.

I only recommend them because I’ve been through them as a part of my AI Masters Degree. The best advice comes from mentors who are 1–3 years ahead of you. Short enough to still remember the specifics and long enough to have made some mistakes.

Will it be easy?

No.

All useful skills are hard to learn.

Day by day you may not feel like you’re learning much. But by the end of the year (3 blocks of 4 months) you’ll be a machine learning practitioner.

E) You don’t need math*

*to get started.

When you look at machine learning resources, many of them have a bunch of math requirements.

Math isn’t taught well in schools so it scares people.

Like code, mathematics is another language. Mathematics is the language of nature.

If the math prerequisites of some of the courses you’ve been looking at are holding you back, you can get started without it.

The Python coding frameworks such as TensorFlow, PyTorch, NumPy and sklearn, abstract away the need to fully understand the math (don’t worry if you don’t know what these are you’ll find them later).

As you go forward and get better at the code, your project may demand knowledge of the math involved. Learn it then.

F) It’s always day one

Am I the best machine learning engineer?

No.

But two years ago I was asking myself the question, how I do learn machine learning with no technical skills?

The answer was simple, start learning the technical skills and don’t stop, but there were details.

Details like above.

Driving Uber on the weekends allowed me to pay for the courses I was doing to learn machine learning.

Getting a fine for picking up people in the wrong spot helped me make the decision to back myself.

A year into being a machine learning engineer and I’m more technical than when I started but there’s plenty more to learn.

How does machine learning get used by regular people?

You wake up. You check your phone. Its been on charge all night. The battery usage from the previous day was recorded and will be used along with previous use history to maximise charge. Machine learning.

Your new emails load, there’s an email from Steve. He wants the thing done earlier. It’s always earlier. Faster.

There are a few more emails. One from Amazon. Your package is going to be shipped today. And a new Uber promotion. 10% of rides for this week. You click the link and apply the code.

The rest of the emails are garbage. Stuff you’ve subscribed to but didn’t need. At least you subscribed to them.

There’s another 15 emails you don’t see. They’re in the spam folder. Your email client scanned through the text as they came in and put them there. Machine learning.

It isn’t perfect though. You could’ve been a millionaire. A billionaire! If only you’d seen the email and sent that Nigerian Prince your bank details.

A charge comes through on your card. The amount pops up on your screen. $37.85 from Amazon. Another email. Your order of Machine Learning is Everywhere is on its way.

Another charge. Gym membership for the week.

All this money, flying across the internet. You’d think someone could tap into this stream and take some. They try but they can’t. Even when they get your card. They try to buy something. It might go through the first time but by the second time, the card is dead.

What happened?

Your bank detected the fraud and froze your account. The transaction in another country wasn’t like the other ones you’ve made in the past.

Another email.

We’ve detected fraud and frozen your account. Don’t worry, your funds are safe. To sort this out, you can contact us here.

There’s no way any person could monitor all the transactions happening. Machine learning.

You call the bank. Your card has been unfrozen and the funds will be back in your account in 24-hours.

It’s 8:34 am. The Uber app pops up at the bottom of your phone. Your calendar says work starts at 9 and based on previous trips, your phone knows it takes about 16-minutes to get there. Machine learning.

6 drivers are close by. Less than usual. Your work address is already preloaded. You get matched with the Black Prius, licence plate, 889LYJK. Machine learning.

The driver takes a route you’ve never been. And then the map corrects itself to adjust for traffic. Machine learning.

Josh is in Bali. Sarah had a birthday party on the weekend. Their photos are on Instagram. An ad appears for those new shoes you’ve been looking at. The ones with the orange. The ad was delivered in your feed amongst photos from the people you’ve been following — there’s a balance. Too many ads and you’d stop using Instagram. Machine learning.

And the naked picture from HotPix2928133Q in your discover tab? You didn’t see it because it was filtered out. Machine learning.

The traffic is bad. Car, car, car, car, truck, car, bus, car. Nose to tail. The Black Prius crawls ahead. The cameras in the front grill stop it from getting too close to the car in front. Machine learning.

You’re not even at work yet.

Tomorrow is your day off. What’s the weather like? Open the weather app. Sunny with a chance of rain, 18% chance. Where’d the chance come from? Machine learning.

Breakfast: a bagel with bacon and avocado. You’ve been trying to cut the carbs but Bagel Boys do it so well. So well. The bagels are a dream. They’re $7 but you’d pay $10.

You can't see them but they're there. The drones monitoring the wheat crops. They look for crop stress. Too much stress is never good. Too much stress leads to death. The drones help the farmer. They help the farmer so you can taste the Bagel Boys glory. Machine learning.

The address reader knows what characters look like. It reads your address on the package and sends it down the chute. Machine learning.

All the information is encoded in the barcode but not everywhere has the same barcode system. The driver picks up a collection of parcels. Your book is one of them. Your house is close to the depot so it's delivered before 10.

It's a good book. A best seller. You want to tell Ankit it arrived and tell him he should read it too. Your phones screen brightness changes as you take a photo. The photo looks so crisp. You’re a real photographer now. The book is in focus and the background is blurred. All with the tap of a button. Magic? No. Machine learning.

Machine Learning is Everywhere.

Future book cover? haha

Future book cover? haha

Source: https://qr.ae/TUf6DM

"Sometimes you have to give up exercise" — Ask a Machine Learning Engineer Anything | February 2019

Sometimes you need to give up exercise.

And everything else.

And focus on the work.

I was hosting a live question and answer session on my YouTube channel.

Ask a machine learning engineer anything.

Someone asked how to focus. Before I could answer, people started offering some great advice in the chat.

Except for the one about sacrificing exercise to work more. It was from a good place, but I disagreed.

There’s nothing I could work on with is worth sacrificing my health or relationships.

Plus, the work won’t matter if you don’t have your health.

Health is the force multiplier of life.

As much as I love data science, health has my heart.

I answered more ML related questions on the stream.

“How do I get a job in ML?”

“How much math is required?”

“What courses are the best?”

You can watch the full video on YouTube.

Or listen to the audio version. If the player below doesn’t, it’s available on Anchor too.

And if your question didn’t get answered, feel free to ask anytime.

Source: https://www.linkedin.com/feed/update/urn:l...

"How do you stay motivated whilst studying?" — Ask a Machine Learning Engineer Anything

Every month, I host a livestream on my channel where I answer some of the most common questions I get, plus as many of the live questions as I can.

"How can I get a job in machine learning?”

“Where’s the best place to learn machine learning?”

“How do you manage your time?”

“How do you stay fit whilst studying?”

“What do you think of Coursera, EdX, Udacity and Udemy?”

“Should I go to university to study data science?”

Read More

Can a biology student get into machine learning?

Our class went on an excursion. We played with different kinds of food compounds which could shape themselves around the outside of a balloon. And then got taught about these tools which could output very small drops.

‘What are these called?’ I asked.

‘Pipettes.’

We got back to school. The teacher turned and asked what I thought of the trip.

‘I liked the tour but it was very focused on science.’

‘That’s what it was all about.’

She was right. We went to a science institute.

The same teacher asked me to be captain of debating. It was tradition to get up and talk in front of the school. I got up and gave a talk. Everyone clapped but my speech wasn’t as good as I wanted it to be.

I was set out to do law. I’d see lawyers on the TV. All it looked like was a form of debating where everyone wears suits and says ‘objection!’ Followed by something smart.

I thought, ‘I could do that.’

A few episodes of Law & Order and everyone becomes a lawyer.

We got our grades, I got 7/25, lower was better. Not as good as I hoped but I expected it. Most of my senior year was devoted to running our Call of Duty team. We were number one in Australia.

The letters came, it was time to choose what to study at university. I read the headings in bold and left the rest to read later. I was set out to do law.

We were on the waterfront riding scooters. There was a girl there I knew from primary school. I had a crush on her in grade four. For Easter, my mum gave me two chocolates to take in, a big one and a small one. The big one was for my teacher, Mrs Thompson. When I got to school I gave the big one to the girl. But she still liked Tony Black.

She was smart. That’s why I liked her.

‘What are you studying?’ I asked.

‘Biomed.’

‘What’s that?’

‘Biomedical science, it’s what you study before getting into medicine.’

‘Oh, that’s what I’m doing.’

I wasn’t. I hadn’t filled out the form. I was set out to do law.

I got home and checked the study guide. Biomedical science required a score of 11/25. I was eligible. I put it down as my number one preference. Same as the girl.

The email came a few weeks later. I got into my number one preference. A Bachelor of Science majoring in Biomedical Science.

We went to orientation day together. I spent $450 on textbooks. I used my mum's card. There was a biology one with 1200 pages. It had a red spine and a black cover. The latest edition.

Our timetables were the same. 30-something contact hours per week. I lived 45-minutes from university by car. 90-minutes by train and bus. The first lecture of the week was at 8 am on Monday. BIOL1020. Why someone chose this time for a lecture still confuses me.

The lecturer started.

‘30% of you will fail this course.’

‘That won’t be me.’

It was me.

My report card in high school went something like this.

  • Maths - B

  • Extension Maths - C

  • Physics - B

  • Religion - A+ (most of religion was storytelling, debating helped with this)

  • English - B

  • Geography - B

  • Sports - A

Not a single biology course. I was set out for law.

I took the same course the next year. I passed. It took me a year to get some foundations in biology. By then the girl was already through to second year. She was smart. That’s why I liked her.

Being a doctor sounded cool.

‘I’m going to be a doctor,’ I told people at parties.

But by end of my second year, my grades were still poor.

The Dean of Science emailed me. Not him. One of his secretaries. But it said I had to go and see him. My grades were bad. The email was the warning. Improve or we’ll kick you out.

I met with the Dean. He told me I could change courses if I wanted to. I changed to food science and nutrition. Still within the health world but less biology. I wasn’t set out for law.

My grades improved and I graduated three years later. Five years to do a three-year degree.

People asked when I finished.

‘What are you going to do with your nutrition degree?’

‘Stay healthy.’

I thought it was a good plan.

I was working at Apple. They paid for language courses. I signed up for Japanese and Chinese. Japanese twice a week. Chinese once a week.

My study routine was solid. The main skill I learned at university was learning how to learn.

I was getting pretty good. When Chinese customers came in, I’d ask them if they had a backup of their iPhone in Chinese.

‘Nĭ yŏu méiyŏu beifan?’

They loved it.

I passed the level 2 Japanese exam the night before flying to Japan. Being solo for a month meant plenty of walking. Plenty of listening to podcasts. Most of them were about technology or health. Two things I’m interested in. And all the ones about technology kept mentioning machine learning.

On the trains between cities, I’d read articles online.

I went to Google.

‘What is machine learning?’

‘How to learn machine learning?’

I quit Apple two months after getting back from Japan. Travelling gave me a new perspective. Cliche but true.

My friend quit too. We worked on an internet startup for a couple of months. AnyGym, the Airbnb of fitness facilities. It failed. Partly due to lack of meaning, partly due to the business model of gyms depending on people not showing up. We wanted to do the opposite.

Whilst building the website, the internet was exploding with machine learning.

I did more research. The same Google searches.

‘What is machine learning?’

‘How to learn machine learning?’

Udacity’s Deep Learning Nanodegree came up. The trailer videos looked epic and the colours of the website were good on the eye. I read everything on the page and didn’t understand most of it. I got to the bottom and saw the sign-up price, thought about it, scrolled back to the top and then back to the bottom. I closed my laptop.

The prerequisites contained some words I’d never heard of.

Python programming, statistics and probability, linear algebra.

More research. Google again.

‘How to learn Python?’

‘What is linear algebra?’

I had some savings from Apple but they were supposed to last a while. Signing up for the Nanodegree would take a big chunk out.

I signed up. Class started in 3-weeks.

Back to the internet. It was time to learn Python.

‘How hard could it be?’ I thought.

Treehouse’s Python course looked good. I enrolled. I went through it fast. 3-4 hours every day.

Emails came through for the Deep Learning Nanodegree. There was a Slack channel for introductions. I joined it and starting reading.

‘Hey everyone, I’m Sanjay, I’m a software engineering at Google.’

‘Hello, I’m Yvette, I live in San Francisco and am a data scientist at Intuit.’

I kept reading. More of the same.

Mine went something like this.

‘Nice to meet you all! I’m Daniel, I started learning programming 3-weeks ago.’

After seeing the experience level of others, I emailed Udacity support asking what the refund policy was. ‘Two weeks,’ they said. I didn’t reply.

Four months later, I graduated from the Deep Learning Foundations Nanodegree. It was hard. All my assignments were either a couple of days late or right on time. I was learning Python and math I needed as I needed it.

I wanted to keep building upon the knowledge I’d gained. So I explored the internet for more courses like the Deep Learning Nanodegree. I found a few, Andrew Ng’s deeplearning.ai, the Udacity AI Nanodegree, fast.ai and put them together.

My self-created AI Masters Degree was born. I named it that because it’s easier than saying, ‘I’m stringing together a bunch of courses.’ Plus, people kind of understand what a Masters Degree is.

8-months into it I got a message from Ashlee on LinkedIn.

‘Hey Dan, what you’re posting is great, would you like to meet Mike?’

I met Mike.

‘If you’re into technology and health, you should meet Cam.’

I met Cam. I told him I was into technology and health and what I had been studying.

‘Would you like to come in on Thursday to see what it’s like?’

I went in on Thursday.

It was a good day. The team were exploring some data with Pandas.

‘Should I come back next Thursday?’ I asked.

‘Definitely.’

A couple of Thursday’s later I sat down with the CEO and lead Machine Learning Engineer. They offered me a role. I accepted.

One of our biggest projects is in healthcare. Immunotherapy Outcome Prediction (IOP). The goal is to use genome data to better predict who is most likely to respond to immunotherapy. Right now about it’s effective in about 42% of people. But the hard part is figuring out which 42%.

To help with the project we hired a biologist and a neuroscientist and a few others.

Before joining, they hadn’t done much machine learning at all. But thanks to the resources available online and a genuine curiosity to learn more, they’ve produced some world class work.

We had a phone call with the head of Google’s Genomics team the other day.

‘I’m really impressed by your work.’

They’ve done an amazing job. But compliments should always be accepted with a grain of salt and a smile. Results on paper and results in the real world are two different things.

The team know that.

Can a biology student get into AI and machine learning?

I’m not a good example because I failed biology. Almost twice.

But I sit across from two who have done it.

The formula?

You’ve already got it. The same one which led you to learn more about biology. Be curious and have the courage to be wrong.

Biology textbooks get rewritten every 5-years or so right?

Back to day one BIOL1020. The lecturer had another saying.

‘What you learn this year will probably be wrong in 5-years.’

It’s the same in machine learning. Except the math. Math sticks around.

Photo from    Learning Intelligence 37 — Learning Data Science with my Brother.    You can see my biology textbook gathering dust in the background.

Photo from Learning Intelligence 37 — Learning Data Science with my Brother. You can see my biology textbook gathering dust in the background.

Source: https://qr.ae/TUvTBk