Common Lisp + Machine Learning Internship at Google (Mountain View, CA)

45 points by moshe ↗ HN
I am seeking an intern to work on the open-source probabilistic learning of programs project over Summer 2009 at Google in Mountain View, CA. Probabilistic learning of programs (plop) is a Common Lisp framework for experimenting with meta-optimizing semantic evolutionary search (MOSES) and related approaches to learning with probability distributions over program spaces. Possible research topics to focus on include:

* Learning procedural abstractions

* Adapting estimation-of-distribution algorithms to program evolution

* Applying plop to various interesting data sets

* Adapting plop to do natural language processing or image processing

* Better mechanisms for exploiting background knowledge in program evolution

This position is open to all students currently pursuing a BS, MS or PhD in computer science or a related technical field. It is probably better-suited to a grad student, but I'm open to considering an advanced undergrad as well. The only hard and fast requirements for consideration are a strong programming background (any language(s)) and some experience in AI and/or machine learning. Some pluses:

* Functional programming experience (esp. Lisp, but ML, Haskell, or even the functional style of C++ count too)

* Experience with evolutionary computation or stochastic local search (esp. estimation-of-distribution algorithms and/or genetic programming)

* Open-source contributor (esp. Maxima)

* Interest in artificial general intelligence (i.e. building a thinking machine)

More info on plop at http://code.google.com/p/plop/, more info on the Google internship program at: http://www.google.com/jobs/students

Please contact me directly (email: madscience at google) with your info, so I can watch for your resume.

Thanks! Moshe Looks

P.S. Disclaimer: I can't promise anyone an internship, you have to go through the standard Google application & interview process for interns, yada yada ...

P.P.S. Any Googlers reading this and looking for a cool 20% project should contact me as well ;->

18 comments

[ 3.5 ms ] story [ 70.0 ms ] thread
this is great. its nice to see google create and supporting a real market for these so-called alternative skillsets. i say "alternative" because the market for paid code is increasingly a monoculture of blub.
Whoa, sounds interesting.
I am qualified, but I happen to be majoring in Economics. Why do you care about the degree?
"Currently pursuing a BS, MS or PhD in computer science or a related technical field." is verbatim from the intern job listing (http://www.google.com/support/jobs/bin/answer.py?answer=1262...), and I suppose it is there because the target audience for Google Engineering internships is students who are aiming to work some place like Google Engineering after graduating - not exactly the same category as "technically qualified students". So if you'd consider working at some place Google Engineering post graduation, then you should definitely apply.

For the record, I would consider economics to be a related technical field (cf. John von Neumann, cf. "Evolution of Cooperative Problem-Solving in an Artificial Economy" - http://www.whatisthought.com/hayek32000.pdf)...

"The only hard and fast requirements for consideration are a strong programming background (any language(s)) and some experience in AI and/or machine learning."
Related only to this comment... I happen to be an Economics major as well. I'm graduating soon and am getting nervous about having to search for jobs/internships in this field because it seems most employers are looking for CS degrees. I have taken courses on Java and web programming in the CS department as electives, but most of what I know I've learned on my own. I don't really know much about theory.

Should I just be working on building my portfolio? I feel like the more I concentrate on my projects, the more my GPA suffers. I'm caught in a dilemma where I'm split between school and career aspirations, and that doesn't seem normal to me... or is it?

If I could do college over again, I would major in CS, but it's too late to change my major now. I had a horrible CS teacher in high school that initially scared me away from the subject.

I was originally an economics major, but I've managed to switch out into a major in math and a minor in CS (the study of AI was just too seductive). One area of CS theory that is pretty straightforward to pick up for an economist is algorithmic game theory: (http://www.amazon.com/Algorithmic-Game-Theory-Noam-Nisan/dp/...). There are also some strong connections to reinforcement learning and multi-agent systems (indeed much new research in computational economics is focused on multi-agent systems).
(comment deleted)
I don't think it is open to international students, is it?
It is, actually.
I'm thinking of applying(what can I loose) but I've just started self teaching myself Functional Programming so maybe next year. :)
Neat stuff! One thing you might want to look into (if you haven't already) is Probabilistic Incremental Program Evolution (PIPE) by Schmidhuber.
Nevermind, you cited it in your paper... :P
Damn. I wish I went to a university that Google takes seriously.
If you think you're qualified, apply.
I have gotten plenty of great applicants - thanks guys! Please stop sending me your application info at this point...