#2: Deep Learning Meetup in San Francisco, Jan 29

That’s a wonderful Thing…

Can the material on this especially Charting The Learning Path be shared…

I already owe a lot to these forums…(that will add more to it…)

Thanks…

Learning paths are personal, so I can only give you the gist of the overlap of advice I believe works.

The gist is to find a way to deal with the overwhelming amount of information available to you. “Learn everything you can.” was great advice when books were scarce, but in this era, we have to choose from what feels like an infinite library. One way to trim this metaphorical library into something manageable is to focus on abilities, your abilities, rather than other forms of knowledge. In this space, that means focusing on coding.

A relevant quote:

“I personally fell into the habit of watching the lectures too much and googling definitions / concepts / etc too much, without running the code. At first I thought I should read the code quickly and then spend time researching the theory behind it. In retrospect, I should have spent the majority of my time on the actual code in the notebooks instead, in terms of running it and seeing what goes into it and what comes out of it.” - A student quoted in the Lesson 1 Overview of course.fast.ai

But even focusing on coding can be insufficient. Even if you’re learning abilities, they might not be the right ones, and they might be isolated abilities. This is why it’s important to work on a coding project that you care about. Working on it will give you the abilities you need, and will make sure the abilities you gain support each other. If you add social coding to that, you’ll see how your abilities compare to others’, which is an efficient way to find out where you’re strong and where you’re weak, and can also be a lot of fun, and motivating. Some examples: Kaggle, code-oriented meetups, open source projects, and product development.

Through your coding experiences, you’ll sometimes need some theory, and you’ll be driven to get just as much theory as you need to move your project forward. And, since you’ll be immersed in a concrete situation, you’ll be able to ask good, specific, concrete questions to people who know more than you about that theory.

For more advice that exists right now, I’d recommend reading some of the articles in the fast.ai advice section. One is titled, To become a data scientist, focus on coding.


Disclosure: I consider myself intermediate at deep learning and I don’t yet do it professionally.

Important to note: I don’t know your goals, style, or background. Without knowing these, it’s hard to say which advice is appropriate for you.

2 Likes

Hey Matthew, your initiative is really inspiring and you are doing a great job.

I have a question which is quite one of my biggest struggle, how do you find a coding project that you care about?
This is why it’s important to work on a coding project that you care about

p.s. kaggle competitions seems too overwhelming sometimes - and I don’t have the feeling that they are meaningful enough
p.p.s. working for a humanitarian project (poverty, development aid) I would really care, a project through I could help other people (not super big chain markets companies etc)

3 Likes

Thanks, @alessa.

I feel the same way for some of the competitions. The 2018 Data Science Bowl has caught my eye, though:

Find the nuclei in divergent images to advance medical discovery

You don’t need to get a high ranking in the competition for it to be useful. By participating, you’ll gain a cohesive set of abilities.

If you don’t know how to start you can read discussions and code examples in the competition’s Discussion and Kernels sections. If you get stuck, you can describe what you’ve done and what your reasoning was. This will likely help others and they’ll likely return the favor by helping you. Some people are generous, too.

DataKind and Delta Analytics come to mind as two groups applying data science to humanitarian goals. Maybe see what kinds of projects they did, how they got the data, and how they turned out. I’m sure they’d be willing to answer any questions you have:

http://www.datakind.org/contact
http://www.deltanalytics.org/contact.html

1 Like

I had taken a printout of your words…

Thanks…

They’re by far the best way I’ve found to improve at building and training machine learning models - my view is it’s best to treat them as learning projects, not as valuable problems to solve of themselves. The skills you build can generally be fairly directly transferred to other projects.

4 Likes

I also wanted to add that initially I have underestimated the value of the published kernels. There are some very helpful people on kaggle and thekernels are both very approachable and a very useful starting point.

2 Likes

I can add some color here to @jeremy and @Matthew 's comments. I started following the fast ai courses to solve a problem I am deeply passionate about. After almost a year, I am still discovering intermediate/elementary steps that need to be solved before getting to the planned first step of my problem. This is preventing me from experiencing what DL can and cannot do. Last week at the meetup Matthew outlined how he was addressing his Kaggle problem and I realized that was the perfect way to figure out what DL/ML can and cannot (yet) do. I did not realize this when I tried to look at Kaggle problems by myself.

3 Likes

The Slack Invite link is not there, please kindly update…
Thanks .

Edit…(regarding my goals)

I want to become a good practioner who won’t just use inbuilt functions but will be able to decipher the underlying data properly and be a good coder in Data Science field.

I had started studying ML from various sources (Coursera, fast.ai, Stanford, different ebooks )around 1.5 years back and DL(fast.ai, Stanford, Coursera etc) around 1 year back…

So any new advice for me?
(thanks)

1 Like

Hey Aditya, the Slack is for the in-person meetup in SF.

Kaggle is a great way to measure and develop your strength. And to do well, you’ll often need to take inbuilt functions apart and customize them.

Kaggle is also a great way to bring what you’ve learned from various sources together into one process.

If you decide to compete, you can check out Kaggle Discussions and Kernels for code and ideas that will help you get started. And if you ever get stuck, I’d like to know what you got stuck on. Others would benefit from hearing about it, too. I recommend documenting your successes and failures in a Jupyter notebook or blog post and sharing it with people on these forums. I should do this more often now that I think of it. Thanks for getting me to think about these things.

I also recommend these two blog posts:

http://www.fast.ai/2017/11/13/validation-sets/
https://hackernoon.com/doing-machine-learning-efficiently-8ba9d9bc679d

3 Likes

Thanks a lot for helping me …

(Currently improving my visualisation skills from a variety of kernels…)

Hi @Matthew, did you use the fast.ai videos ? I’m searching feedback about Meetup groups using the fast.ai material. I plan to use it in the Deep Learning meetup of Brasilia (Brazil). Thank you.

Hi @pierreguillou. This meetup is about forming small groups and letting each group decide what they want to do, as long as it’s deep learning related. I do tend to point brand new people to course.fast.ai, though.

I regret saying “it’s important to work on a coding project that you care about”. The constraint “that you care about” is vague; and under a reasonable interpretation, too restrictive. I’d like to update or clarify its meaning as follows:

“When learning deep learning is your aim, it’s important to work on a coding project that you care about. This project doesn’t have to be what you want to do with deep learning, and it doesn’t have to have impact. It just needs to be related technologically to the kind of work you want to do or the kind of impact you want to have.”

I see the following as great but unneeded bonuses for getting started:

  • Social: A learning project that involves designing or coding with others, or discussing independent solutions with others
  • Impact: A learning project that also has impact
  • Fit: A learning project that is exactly the kind of work you want to do

Advice to my past self:

If I had to start over from day 0 with deep learning, I’d work on Kaggle every day and participate in Kaggle discussions, even if the domains of the competitions were uninteresting; and I would study fast.ai every day. I’d also expose my thought processes to anyone who was willing to listen, to get feedback. And, I’d keep the following thought in mind when coding:

“Our code bases are not structures we build and walk away from. They are places where we live.”
- Sarah Mei

I’d continue with Kaggle until I were confident enough to take the next step on whichever path I set out to take, or until my results were good enough to impress gatekeepers enough to get to where I set out to go. And if gatekeeping became my biggest obstacle, I’d choose and optimize projects to get past the gates, as opposed to choosing and optimizing projects to learn, despite both ways supporting both aims.

2 Likes

I invite others to a friendly debate about learning paths. I think it would help us discover the nuances and exceptions to these paths, and at the very least leave us with a distilled understanding of each path.

2 Likes

Thank you for your answer. It’s true and quite deep.
There are some people who can just follow what ever plans they do for themselves. And there are some people (like me) who responds only to outer accountability :slight_smile: and struggle to meet inner expectation.

Even though I know that I want to have an impact, only by having a specific goal in mind, or a specific cause would boost my advancement.

But yes you are right, in order to have an impact, you need to spend each day on fast.ai and kaggle. It’s a never ending loop.

The social aspect is a super good point. Learning with others, working on a project together would definitely boost my determination to learn more. Even more if there are newbies in the group who have difficulties understanding different subjects.

Where to find such a group? :slight_smile:

Here…

It’s infact a Vicious circle

1 Like

We had those working groups that Jeremy defined at the beginning of the class. We had a small talk at the beginning and then it vanished. Nobody took the charge of it, to make it work.

Why some working groups are more effective, and other just died? Because I am sure that we are all motivated to learn, since we all follow this course online

One can graduate from Kaggle and fast.ai. Once one is skilled enough and has found a place to use those skills for the kind of work they want to do, and found a team they want to be on, the work and team will sustain their motivation and growth, independent of learning resources like Kaggle and fast.ai.

That being said, one can always come back to give back to the communities that helped them. That’s a key part of the hero’s journey I’d say.

It sounds like you have the spirit of a teacher!

Your answer seemed accurate to me:

Nobody took the charge of it, to make it work.

3 Likes

Hello @Matthew,

a message just to tell you that we finally started our Deep Learning study group in Brasilia :slight_smile:

We started with the Fastai part 1 :slight_smile: