Video: Andreas presents learning approaches that might help us to understand AI/ML.
Take a baby, Jacob Andreas says – how does it learn? Through observation, through exploration, through demonstrations, and through language.
That last principal, language, comes through loud and clear in Andreas explaining many types of new learning systems. Language, he suggests, teaches us things like facts and procedures, and also allows us to build on nascent language models.
(image caption: Andreas has some definite thoughts around language models and applications for the next generation of smart computers)
Do programs tell you how to program them? This kind of semantic thing can get, well, a little tricky. Presenting the idea of language guided program synthesis, Andreas talks about how new systems learn how to program from text:
“It turns out that in addition to using language to specify what program you want to write, we can also build systems that learn how to program from text … that learn from instructions about what kinds of reusable high-level functions and primitives … are likely to be useful in order to build systems that can write their own code.”
Describing some types of collaborations that he and his students have been involved in, Andreas explains some of the approaches that inform new work on learning models.
“In conjunction with a bunch of other folks at MIT, we’ve been doing this, and using systems that not only follow natural language instructions, but learn, from language, what the right abstractions are … we can do well on a bunch of cool program synthesis benchmarks, and actually turn this back into (types of) question-answering systems themselves, and build systems that are better at answering natural language questions, using these coding abstractions that they’ve written.”
Some of the methods are based on the same kind of noodling, of what you might call “boiling down” abstractions: Andreas goes over language guided policy learning, where, for example, a language model planner can put small tasks together to come up with more complex processes like grabbing a knife or doing the dishes, theorizing:
“We now have models that we can teach to build high-level plans, to translate from goals, like put the knife into the drawer – into a sequence of steps that you would need to follow in some sort of household environment, in order to accomplish that plan, by just translating these goals into plans expressed in natural language, and then using models that … execute each of these natural language skills to take some actions in a low-level world.”
Thinking about what he has to say, you start to see syntax as guideposts for what AI can and will be able to do in all of these neat applications that we’ve put it to work on. Andreas mentions language supervision for existing language models, showing that by building models on more contextual information, learning systems can enhance what they are able to do progressively.
Systems, he says, can generalize across an architecture, and across a dataset. Why is this important? Because your next-gen robots can then learn more, and know more, about new objects and scenarios. How good will it be? It may turn out to be so good, it’s downright creepy:
“We can take this model, and we can give it objects that it’s never seen before, we can give it goals that it’s never seen before, plans that require sequences of actions that it was never trained on,” Andreas says. “And because we know how to reason about those goals in natural language, we can then reason about those goals actually down at the level of low-level action as well.”
Andreas also talks about language as a tool for transparency, going over some of the work of image classifiers – from the first primitive classifiers, all of the way through new convolutional neural networks, the ability of computers to “see” and understand visual input is a major part of what should be on our radar here.
Here’s another bit of the presentation that’s very interesting in a contextual sense: Andreas points out how a program can put the wrong text tags on images, a process he refers to as “spurious feature correlations,” and then shows how engineers can nip parts of neural networks to try to extricate those bits responsible for the text tags leading the interpretation astray.
The process, he suggests, can work the other way, too, where introducing certain types of non-factual language input will convince an AI entity of things that aren’t true. You might think of this as the ultimate adversarial example! And if that doesn’t give you pause in taking that next step forward…here are some of the examples that Andreas gives of what you probably shouldn’t do with AI, unless you’re a tester:
“Using natural language descriptions of things that are true in the world, you can do some sort of fun things with this … where, for example, you update (the) model’s knowledge about the world, globally, you can get them to think that, you know, the CEO of Google actually works at Apple, and various things like this, just by specifying the kinds of updates that you want to make to these language models and language generation models themselves in the form of natural language.”
All of this, he concluded, gets to how these types of learning are put together “under the hood.”
“Language is a tool,” Andreas summarizes, “not just for training models, but actually interpreting them and sometimes improving them directly, again, in domains, not just involving languages (or) inputs, but also these kinds of visual domains as well.”
Touche. Let’s not overlook the power of this kind of language as we explore what’s in the pipeline in AI development.
Andreas is the X Consortium Assistant Professor at MIT and a prior member at the Berkeley Natural Language Processing Group and the Berkeley Artificial Intelligence Research Lab
Read the full article here