How to make steady progress in my research?

I worked so damn hard but "IT JUST DOESN'T WORK!"😤
How can I unblock myself quickly and make good progress toward the goals?

Below I compiled a list of tips that I found useful. 👇
*Imagine success*

Forget about all the technical difficulties for a moment. Imagine you finish your project successfully, would you find the outcome exciting?

If not, drop the project. Yep, just drop it. Free up your time to work on important problems.
*Work backward 🔙(1/2)*

Say your project involves three steps: A➡️B➡️C.

First, assume that you have perfect output of B and work on the step C.

Next, assume that you have perfect output A and work on the step B and so on.

In the end, you will have a fully working method.
*Work backward 🔙(2/2)*

Okay, this is weird. WHY?

Because you get to
1) see final outcome early
2) measure the performance upper bound
3) focus on each task with perfect inputs without distraction
4) figure what are needed to achieve the desire results.
*Toy examples*

Design toy examples that capture the essence of your problem. They are sufficiently simple so you can focus on the core problem.

It's also often helpful to construct/synthesize such toy examples so that you have access to all the ground truth in all the steps.
*Baseline first*

Don't know where to start? Start with trying out baseline methods on your problem.

It helps identify limitations of the state-of-the-art. If they work perfectly well, why do you need to work on this problem?

Finding specific gap helps motivate your work.
*Simple case first*

If your method does not work on simple/trivial cases, how could you expect it to work on unconstrained, real-world cases?
*One thing at a time*

When doing experiments, change exactly ONE thing at a time. This helps you understand what the results mean.
*Identify proxy*

Do not use full-scale experiments (that may take weeks to complete) as the only way to validate your ideas. Run smaller-scale/simpler experiments with short turnaround time so you get to iteratively refine your ideas a lot faster.
*Automate everything*

If you find that you need to do the same task twice, write a script for that.

Your future self will thank you.
*Visualize everything*

You cannot debug what you cannot see. Investing time in visualizing your inputs/intermediate steps/outputs is definitely worthwhile!
*Quantify success*

Instead of always eyeballing a few results on your own, identify a couple of quantitative metrics for your problem and let them guide your exploration.
*Make the best use of machine time*

Plan your experiments so that your machines still work for you while you are not working.
That's all! Would love to learn more from your tips! What are your best strategies to make steady progress?

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Jia-Bin Huang

Jia-Bin Huang Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @jbhuang0604

23 Jul
How to do research with my mentors effectively?

I get this question frequently in my open office hours. I am still learning as well but I hope sharing my ✌💰 may be helpful to some.

Key idea ➡️ **Help them help you!**

How? Check out the thread 🧵
*Frequent update*

Setting up weekly meeting with your mentors is great. But, do NOT stay silent during the week. Nothing is more frustrating to learn that the student got stuck 20 mins after the meeting last week in a meeting.

Your mentors want you to succeed! Help them do so!
*Manage meetings*

Before: send results/agenda whenever they are available. Give your mentors time to digest them.

In the meeting: progress update. Reserve the last 10 mins to discuss next steps.

After: Send a summary and an actionable plan to keep everyone on the same page.
Read 9 tweets
20 Jul
Example 1

Trajectory:
• Learning LR-HR -> challenge: large patch space -> learning mixture of models -> learning 1D profile -> high-level feature

Relationship:
• Contrastive concept: External vs. Internal (no learning)

Source: cv-foundation.org/openaccess/con…
Example 2

Trajectory:
• Applications of vision-based methods for assessment.
• Highlight the closest related work.

Relationship:
• Building upon the methodology... BUT, use deep learning.

Source: Deep Paper Gestalt arxiv.org/abs/1812.08775
Example 3

Trajectory:
• Video completion methods and their use for view synthesis.

Relationship:
• Contrastive concept: \emph{screen space} vs. \emph{3D space}.

Source: arxiv.org/abs/2011.12950
Read 5 tweets
19 Jul
Writing Related Work

I enjoy reading/writing the related work section of a paper. It helps organize prior research and put the contributions of the work in proper context.

But HOW? Check the thread below👇
*Divide and conquer*

No one likes to read 1-2 pages full of texts. Identify a couple of important “topics” relevant to your research. Add paragraph titles (\paragraph{}) so that it’s easy to navigate.
*Topic*

For each topic, write about
1) the TRAJECTORY of the research progress as a story and
2) the RELATIONSHIP of prior art and this paper.
Read 12 tweets
25 May
Sharing tips on preparing your presentation slides

Just attend many thesis presentations and qual exams at the end of the semester. I compiled some common pitfalls here and hopefully would be helpful to some.

Check out the thread 🧵below!
*Outline*

I am surprised to see so many talks starting with the OUTLINE.

No one, literally no one, will be excited by the: "I will first introduce the problem, then I discuss related work, next I present our method, I show some results, and conclude the talk".
*Be concise*

Do not treat your slides as a script.

Rule of thumbs for my students preparing a talk:
• Never write full sentences (unless quoting)
• Always write one-liners
• No more three lines of texts per slides
Read 14 tweets
11 May
Understanding ML/CV papers 📰

• Ground truth label:
Some guy says so.

• Learning from unlabeled data:
Learning from carefully curated ImageNet and pretend that we don't know the labels.

• Parameter empirically determined:
Tried many paras and this has the best number.
• Interpretable classification:
Showing some cherry-picked blurry heat maps.

• Code and data available upon acceptance:
Accept this paper first, then we will consider releasing them when we finish the follow-up paper.
• User study:
My labmates think our results look better.

• Analysis-by-synthesis:
Tuning the model until it looks good.

• To the best of our knowledge, we are the first...:
Did not see this on Twitter
Read 4 tweets
6 Apr
Sharing ideas on how to disseminate your research.

"I am THRILLED to share that our paper is accepted to ..."

Congrats! So what's next? No one is going to browse through the list of thousands of accepted papers. Ain't nobody got time for that.

Check out 🧵below for examples.
*Website*

Use memorable domain names for your project website so that people can easily find/share the link. No university account? That's okay. Register a new name for GitHub pages.

Examples:
oops.cs.columbia.edu
crowdsampling.io
robust-cvd.github.io
*Acronym*

Make it easy for people to remember and refer to your work. As David Patterson said, the vowel is important.

For example, NeRF sounds waaaaaay cooler than NRF..
Read 19 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!

:(