Nils Nilsson, Professor Emeritus of Computer Science

Nils helped start Computer Science undergraduate education at Stanford. He researches and teaches AI (currently CS121, Introduction to Artificial Intelligence), but his focus in this talk is not AI, but undergraduate learning.

 

History

Nils was an undergraduate at Stanford, majoring in EE (in the days before CS had its own department). Computer Science got its own department in 1965, but the undergraduate major did not start until 1985. Before the CS major, undergraduates could study CS through interdisciplinary majors such as Symbolic Systems, CSE, and Computational Sciences.

Before 1985 there were always complaints from students and some faculty members about why CS did not have its own major. The faculty in charge held the position that it was better to not waste time with teaching undergrads, and focused on graduate level education and research. Nils thought this was no excuse for lack of an undergraduate major, so he talked the faculty into finally establishing it. The importance of undergraduate teaching was noted by the physicist Richard Feynman, who believed that teaching undergrads was one of the most exciting things he did. It forced him to think about the foundations of Physics, which caused him to rethink his perspectives on the field.

 

Watson's lessons in Science, and Life

James Watson (as in Watson/Crick, the DNA guy) wrote an article in the September '93 issue of Science, where he laid down some rules of thumb for succeeding in Science. The rules don't just apply to biology research, but also to Engineering and all of life. The rules are:

  1. Learn from winners. Avoid dumb people. Turn to people brighter than yourself. Some people with ego problems never higher anyone smarter than they are, and that is a sure route to failure. As in any game, it is better to compete with those who are better than you are, because it is more difficult and makes winning mean more. Go somewhere beyond your ability.
  2. Take risks, and be prepared to get into deep trouble. Watson switched schools at one point and lost his stipend. But the moved paid off in the end.
  3. Have a fallback, and make sure someone is there in case you get into deep trouble. Both Watson and Crick were in deep trouble at some point during their breakthrough research, and fortunately they always had someone around to bail them out.
  4. Never do anything that bores you. Don't do something that leaves you flat, because it is hard to do something well if you don't like it. Nils doesn't agree with this 100%, because sometimes it is important to do certain things that you don't enjoy.
  5. (not part of Watson's list, but mentioned in the article) Expose your ideas to informed criticism, which leads to Nils' next topic.

 

Philosophy of Good Science

Carl Popper, a British philosopher (maybe from Vienna originally) wrote essays on science in general. He pointed out that it is not possible to prove that anything is true, only that things are false. Just because something is false does not mean it is unimportant, like Newton's laws of Physics, which are a useful approximation.

Popper applied disproofs to all of life, like Thales of ancient times. Thales established a school where he actively sought opinions from students, and established a school tradition of having students criticize the teachings of professors. Popper, like Thales, believed that critical thinking brings thought closer to the truth. This is in contrast to thinkers like Pythagoras, who did not like questions from students. But cult leaders, for example, are never to be questioned. It is important and healthy to disconnect ego from ideas.

 

Pros and Cons of the Course System

Is the course system (rigidity) the best way to learn? Nils says that the Internet in particular is changing this. There is already academic interaction over the net, which will get bigger in the near future. Eventually, the course system will change. Still, some rigidity is needed because there are some courses that might seem meaningless when they are taken but later become important (shows a good reason to violate Watson's rule 4).

Demand driven learning is learning something for a specific reason. Directed reading, for example, shows that self learning can be faster and better than taking a class. Some people are very internally driven, and others need to have courses to maintain motivation. Nils' example is learning French. To learn French on his own (using software, books) he needed a lot of internal motivation, and he might have made more progress in a French class.

 

Grades

Constraints in classes are caused by the need to evaluate students, so grades are what lead to constrained learning. TA's grading is different from Nils' grading (TA's tend not to give as much partial credit), so grading is not perfect. Nils would teach for free, but only if there were no grades.

Ph.D. students aren't judged by grades, but by comprehensive and qualifying exams. They can do whatever they want to prepare for the exams, they just need to pass them. Nils did his EE Ph.D. in 3 years, but that was when there was less to know.

 

Lure of Industry

Many Ph.D. graduates go into industry. Two of Nils' best students are now in companies. But success in startups is rarer than we think, since we don't hear stories about failure too often. Watson would say take a risk for the chance of a big success, but Nils says leaving academia hurts long term research, and doesn't help the products 10-20 years in the future. We can point to past research to show why we have everything today, but what is being done today for the future?

There is a bias in industry toward product research, which is based around shippable products. The long range ideas are not automatic, and need lots of cultivation. The government should support academic research (since industry doesn't).

 

Big Leaps vs. Incremental Research

To facilitate research of big ideas, it is best to think in stages. For example, Nils and a masters student did work on Behavioral Cloning as a technique for robot programming. It is possible to write a program using computer vision and sensing techniques to steer a robot around, but then you need a programmer, and the program could be wrong or might not work very well. The other idea is for a person to steer the robot around, and have the computer collect a trace of everything going on. Then you need to encode the collection of robot sensations into a program.

The grad student wrote a program in C to teach the robot to push a box to the corner of a room. The goal was to develop a new program that watched the results of the C program and learned the desired activity from observation. The language L was used since it is designed to be easy for the computer to write programs in it.

One piece of the research was having the grad student try to write the program in L. Once they knew that could be done, the next step was to have the robot learn the program in L.

By breaking the research into pieces, the related risks became more sensible.

 

(Lack of?) Advances in AI

Recent advances have been incremental. There is pressure in that direction, to produce applications in the near future.

In AI, one can get a lot out of statistical knowledge, instead of lots of background knowledge in the specific application area.

Computers must know things to communicate. One unsolved problem is how to represent the world's knowledge. Until then, humans and computers can't really communicate.

More people should be working on a real solution to vision, and true language understanding. But some think that this is impossible in principle. Why? Some say that because we haven't yet, we never will. Other opponents think that there needs to be a quantum level solution, since that's how they think the brain works, or we need protein, not transistors.

AI needs breakthroughs. Projects that put all the world's knowledge into a computer, piece by piece, is like painting the Golden Gate Bridge (i.e. by the time you finish, the other end needs to be painted again). A breakthrough is needed in learning. Maybe we need to bootstrap on some amount of knowledge.

As McCarthy said, AI needs one and a half Manhattan projects and a couple of Einsteins.

But Nils is optimistic, because we will understand humans more as machines in the future, and that will lead to advances in AI.