Skip to content

Latest commit

 

History

History
161 lines (81 loc) · 4.16 KB

File metadata and controls

161 lines (81 loc) · 4.16 KB

如何创新

找一个不同的维度

Find a different dimension

Just learn a cool idea from others? Think about how you could extend it to another dimension.

Ex: Text / audio / image / video / graph

降低现有假设的约束

Relax assumptions

Identify the underlying assumptions of existing work and try relaxing them to make it work in more unconstrained settings.

给已有观点加上形容词

Add an adjective

Given an existing idea X, add an adjective to make it

  • slow -> fast
  • batch -> online
  • sensitive -> robust
  • centralized -> distributed
  • single-step -> progressive
  • single-level -> hierarchical
  • fixed -> adaptive, sth-aware
  • data-hungry -> data-efficient and so on

给 SOTA 上压力测试,找到它的不足

Stress test the state-of-the-art

Don't simply run on the fixed, boring benchmark datasets. Try it out on diverse, unconstrained examples and see how it fails. It's a great way to identify limitations of existing work. This is where your work can fill the gap.

创新的优先级

创造>更新>简单领域迁移

creating>updating>use in new domains

创新的方向

  1. 数据集
  2. 模型
  3. 结构替换
  4. 特定场景的应用 image.png

创新的法则

image.png image.png

如何稳步推进

想象成功

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

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.

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.

先完成 demo (原型)

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

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.

从简单的样例入手

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.