Confessions of a researchaholic

2012-03-24

Fooled by randomness

Filed under: Real — liyiwei @ 11:41 pm
Tags: , , ,

Feeling down from some recent rejections? I hope this post will make you more positive. The gist: never, ever, quit.

Assume you are throwing N loaded dices, each with a probability p for coming up head.

Now, if p is greater than 0 and smaller than 1, there is always a chance that the N dices will come up with all heads or all tails. And the smaller the N value, the more likely for such extreme cases to happen.

This is all pure chance. But unfortunately, human brains have difficulty accepting randomness, and always want to impose determinism, e.g. patterns or rules or causalities.
For example, if you are a scholar submitting N papers to a conference, you will likely consider yourself to be very good/bad (or the paper committee has treated you very well/badly) if all N submissions are accepted/rejected.

This human fallacy is brilliantly illustrated by Nassim Nicholas Taleb’s book “Fooled by Randomness”.

However, even without reading that book, I can recommend a very simple remedy: law of large numbers. This is a well-known mathematical theorem, which says that the expected value of a random variable can be more accurately predicted by averaging a larger number of samples.

So, for example, to measure your intrinsic paper acceptance rate towards a specific conference, you can take the total number of acceptances divided by the total number of submissions. This will be a much more meaningful measure than your acceptance rate for a single year, especially if you have a sufficient number of submissions across multiple years.

For example, the plot below shows my cumulative acceptance rate for SIGGRAPH, the top venue for computer graphics and interactive techniques. As you can see, the rate seems to be gradually converging to a certain value, around 0.34. This is much more stable measure than my yearly rate, which can be anywhere between 0 and 1.

Now, if you are new to a field, your rate will have a higher variance, just like the initial portions of mine. I was lucky that I had a good start which boosted my confidence. (Initial condition is actually very important and has been found to greatly influence the performance of many careers, e.g. hockey players. Note to myself: dig out that book/article. I guess it should be Geoff Colvin’s “Talent is Overrated” or Malcolm Gladwell’s “Outliers”.) However, if you happen have an unlucky start, do not give up too early; hang on for a while, so that you can have a chance to see your *intrinsic performance*.
As you can see, my intrinsic performance did not really show up until about a decade doing SIGGRAPH.

(With all these rational arguments, I have to confess that it still hurts to get rejected!)

Some notes about the graph: (1) I plot SIGGRAPH at integer years and SIGGRAPH Asia at integer + 0.5 years, (2) missing data points are for years which I did not submit anything (2004 and 2005 while in NVIDIA and 2011.5 when I have nothing to submit for SIGGRAPH Asia 2011), (3) a more accurate measure would be “moving average” (with exponential decay of past values) but I probably need another 10 years to warrant this, (4) I really want to improve my intrinsic rate to at least 50 percent!, (5) I guess the ultimate test is to have multiple disjoint committees + reviewers, all with similar qualities, to evaluate the same batch of submissions, and see if they will accept similar sets of papers.

2012-02-22

Artificial intelligence

Filed under: Imaginary,Real — liyiwei @ 10:37 pm
Tags: , , , , , ,

When I was younger I preferred to stay away from people as much as possible, as most of them are not very interesting and it is much more rewarding for me to be alone thinking and reading.

When I get older, I realized that humans are intensively intriguing subjects for study. I started to spend a lot of time observing human behaviors and try guessing what they are thinking and predicting their actions.

This caused certain dilemma for me: on one hand I still want to be as far away as possible from people, but on the other hand, I want to be close enough with them for the purpose of studies and observations.
(The penalty and reward seem to go in tandem; crowd behavior is the most interesting, but also the most annoying to be part of.)

Fortunately, computer science comes into rescue. Far from the common stereotypes (of nerds locking in toilets), computer science, especially the most current and active subjects, are very human centric. One example is user interface, including design for better user experiences, as well as analysis and synthesis for deeper understanding and more advanced interactions.

A more recent example is social networking. Previously, most human daily activities simply dissipated into entropy. Now, with people spending more of their interactions through various social networking sites, we can record their activities in better quality and quantity.
Such data not only enables better computer technologies but more profoundly, more insights into human nature. (Facebook probably knows more about certain individuals than their mothers do.)

Two sci-fi series could provide inspirations for both directions.


Caprica is about how humans create Cylons, a cyber-genetic life form that eventually pushes humans near extinction in the main Battlestar Galactica series (which I found to be much less interesting).


Dollhouse is about how technologies can allow memories and personalities to be extracted from one individual and installed into another, essentially programming human brains.

Both offer insights into computer science and humanity, as well as highly enjoyable entertainments. Unfortunately, both got canceled prematurely due to low ratings, a confirmation of my childhood observation about how ordinary humans would react to deeper materials.

2012-01-17

Representative image for SIGGRAPH submission

Filed under: Real — liyiwei @ 5:24 am
Tags: ,

Basically, its main function is to be displayed on the front of the room during the committee meeting, so that people can have a visual reference/cue of the paper being talked about.
Even though the representative image does not have any practical value for the paper (it is not illegal to use an arbitrary image, like, say, picture of Lindsay Lohan, at least with clothes on), the committee members are humans and thus can be subtly influenced by all psychological factors.
Thus, it is to your advantage to use an image that can help your paper, i.e. conveys the main ideas or results while looks appealing.

2011-12-30

James Landay on “China Will Overtake the US in Computing…Maybe, Someday…”

Filed under: Real — liyiwei @ 7:47 pm
Tags: , , , ,

This is a mandatory reading for all my (current and future) students with an initial Asian training:

James Landay on China Will Overtake the US in Computing…Maybe, Someday…

First of all, let me share one of the biggest secrets of China (and to some degree other Asian countries like Japan and Korea as well as ethnic Chinese states like Taiwan and Singapore). Do you ever wonder why China developed this authoritarian culture in the first place? It is very simple: a conforming population is much easier to rule than one that can think freely. The Chinese emperors were very calculating on this; they did not even allow alternative sources of authorities to challenge them (like the bishops who can thorn up to European emperors’ arses). On the other hand, they also want the population to be reasonably fluent so that the country can be productive. Thus the duality of the Chinese/Asian education system: on one hand it enforces conformity, and on the other encourages intellect and hard working.
Unfortunately, even though this system worked for the past agriculture and manufacture dominant economic systems, a knowledge-based economy will require citizens who can think. So China will have to change its culture and education systems, or face competitive disadvantages.

Part of the fun for my past MSR and current HKU posts is being close enough to help while far enough to not get dragged down into the sinkhole. I am curious how much I can do as an individual, or there is really some grander scale environmental stuff that I simply cannot reproduce. Results so far are very encouraging; Asian students who worked with me for sufficiently long periods of time (at least one SIGGRAPH cycle) have shown significant progress of thinking skills and at least one of them managed to create SIGGRAPH ideas.

For the sake of more fun, I now extend my grand challenge to MSR Asia to all my (past, current, and future) students: the first one to publish a single-authored SIGGRAPH paper will receive my full financial support, out of my own pocket instead of any grant, to make the trip. (Really, it is not that hard; I am not very smart, and I did that twice already. I make this challenge because only with a single-authored SIGGRAPH paper can you prove your full independence, including creativity.)

2011-12-28

Writing a previous work section

Filed under: Real — liyiwei @ 2:23 am
Tags: ,

Every research paper has to cite and describe relevant previous works, often in a dedicated previous work section, or sometimes as part of the introduction.
Trying to write a previous work section can be an excellent mirror exercise for reading papers. The quality of the former can be a good indication of how much you really understand from the latter.

First of all, spend enough time reading how other people write previous work sections. Pay particular attention to those you find educational, from which you can actually learn something, as well as those you find unhelpful, from which you feel only confusion and frustration.

A good previous work section contains multiple layers of information with different resolutions of details.

  • At the bottom level (highest resolution), you describe in one or a few sentences about the gist and merits of each paper.

  • At the middle level (medium resolution), you organize related papers into paragraphs, each contains information about the gist and merits of the group.

  • At the top level (lowest resolution), you relate every citation with your paper, in particular, how yours stands on the shoulders of previous giants: commonalities, inheritances, and mostly importantly, innovations.

After you have a draft, show it to your adviser or other experienced researchers, ask for advice, and iteratively improve it. It will be an excellent exercise for both reading and writing papers.

2011-11-20

Rejection

Filed under: Real — liyiwei @ 7:36 pm
Tags: , , ,

Let me begin by outlining a few basic laws of nature.

Scarcity
Resources are scarce, with scarcity proportional to relative supply and demand.

Ego
People tend to consider themselves better than they really are (and thus deserve better than what they currently have).

Randomness
The universe is stochastic, and unfortunately people like to imagine life is more deterministic than it really is. (Heck, even Einstein refused to believe God will throw dice.)

As a consequence, when people cannot get what they want, they complain about injustice, and question the fairness of the process that allocates the scarce resources.

Unfortunately, none of these will not help or change anything. People will just think you are a whiner. And do not even attempt to ask why you did not get what you want; you are forcing people to either tell you a white lie (e.g. you are really good; it is just that we cannot figure out a good task for you to do right now) or be impolite (e.g. dude, you really have no idea how lousy your performance was?) or to confess they really have no clue (e.g. huh, we cannot really decide between you and another candidate, so we picked the taller one).

Specifically, under a lot of situations, the decision depends on a lot of factors. For example, there is this famous thing called *affirmative action* in the US that discourages discrimination in job and school opportunities. The intention is all good, until people start to enforce hard quotas, like reserving a certain percentage of openings to a certain group of (alleged) minority. Then, if the real application pool does not contain that percentage of qualified minorities, the process will deem to hire a minority with inferior ability than certain more qualified majority. You can say it is not fair, but that is how things work.
Sometimes it can just be random; with hundreds or even thousands of applications for a certain opening, it is just information overload to for anyone to decide who is really good.

My personal suggestion is to stop worrying all of these, and use the rejection or denial as a source of motivation. Prove to the world that they are wrong, and you are the best.
Getting dumped by your ex? Shine yourself to make him/her regret next time you meet.
Getting rejected by a job application? Outperform whoever got hired instead of you.
Did not get permission to your dream school or professor? Publish better research papers than his/her group.

These being said, I really want to tell whoever applied to be my student: thank you all very much, but since I have received hundreds of applications and I can take probably only 2 (or maybe one more if I can muscle with the department), mathematically it is impossible for me to take everyone I like. Evaluating the quality of a student is more art than science, so I rely mostly on my intuition. If you really want to force an answer out of me, the only thing I can say is that my intuition told me that there are better and more suitable candidates than you. But can I prove it? Heck no, and I doubt if anyone can.

Ray tracing

Filed under: Real — liyiwei @ 6:43 pm
Tags: ,

Many mentors have their own favorite entry level project for both training and sieving purposes. And mine is ray tracing.

Read + code

Read the following books and implement your own ray tracer from scratch.
Yes, I mean writing every single line of the code yourself, except for standard libraries like iostream and cmath. And yes, I recommend c++ as the programming language.

Ray tracing in one weekend, by Peter Shirley.
Path tracing with soft phenomena. Very short and cute introduction to ray tracing in particular and computer graphics in general. Full of hidden gems and wisdom, but beginners might not appreciate all the nuances.

An introduction to ray tracing, by Eric Haines, Pat Hanrahan, Rob Cook, Jim Arvo, David Kirk, Paul Heckbert, and (edited by) Andrew Glassner.
Whitted-style ray tracing with hard phenomena. More comprehensive than the book above.

You should read the books (especially the first one) on a computer and code along. Do not just read; it is less fun and less effective.
Software engineer your code from the very beginning; ray tracing is nicely object oriented with natural object-like components such as rays, shapes, materials, colors, motions, and cameras.

Demo

Produce your own ray traced images. Start with something simple, like mirrors and glasses for basic reflections and refractions. Ultimately, I want to see 2 things:

  • Produce ray traced animations from the BART benchmark. (If you can reach this stage, I consider your training complete. If you cannot even get to this point for whatever reason, you have no chance to survive in our future projects.)
  • Design your own favorite scene, and ray trace it. Show me your creativity and artistic + scientific blend. You can find examples from prior Stanford cs348b rendering competitions.
    (This part can be good for a group project, even though I expect everyone to complete everything else individually.)

Why

I did ray tracing as part of Stanford CS348b image synthesis, and I would say this is perhaps the class that I have learned the most from.
First, ray tracing is a superb training for coding and software engineering; it is inherently modular and suitable for object oriented programming, and the amount of coding is non-trivial (actually, quite hefty for new-comers, especially if you code from scratch).
Second, ray tracing is a superb introduction to image formation, and you will learn the fundamentals of physics, computer graphics, computer vision, and image processing.
Third, and perhaps most importantly, it is heck of fun. It is beyond words for me to describe the satisfaction I (and many people I heard from) derived from producing my first ray traced image. I am not an artist, but I can paint with algorithms.

P.S.

There is another excellent book for ray tracing: Physically based rendering, by Matt Pharr and Greg Humphreys, but I personal opinion is that you should read it as your second, not first, ray tracing book.

2011-10-12

Why I do not stay up late for work

Filed under: Real — liyiwei @ 9:07 am
Tags: , , ,

Once, while in grad school, I tried to wrap up a long SIGGRAPH crunching day by cleaning up my code.

So, I did the following in the Makefile:

clean:
rm -r -f *.c

Instead of

clean:
rm -r -f *.o

After that wonderful experience, I decided not to stay up late for work anymore. 🙂

2011-09-17

Producing research results

Filed under: Real — liyiwei @ 4:06 pm
Tags: ,

Sylvain Lefebvre has a nice post about how to structure code for producing research results; see here. (Full disclosure: Sylvain is my collaborator, but he is a superb researcher and coder, as evident from his resume.)

« Previous PageNext Page »

Theme: Rubric. Get a free blog at WordPress.com