back to indexMIT AGI: Cognitive Architecture (Nate Derbinsky)
Chapters
0:0 Intro
0:43 Outline
2:40 Expectations Meet (Current) Reality
3:52 Common Motivations
5:25 Motivations/Questions Dictate Approach
10:33 Unified Theories of Cognition
12:7 Making (Scientific) Progress Lakatos 1970
13:43 Time Scales of Human Action Newell 1990
15:32 Bounded Rationality Simon 1967
17:36 Physical Symbol System Hypothesis Newal & Simon 1976
19:36 Active Architectures by Focus
21:26 Semantic Pointer Architecture Unified Network
23:32 Prototypical Architecture
29:10 ACT-R Notes
33:58 Soar Notes
37:47 Luminal ADAM Lab @ GATech
40:54 Rosie
45:52 Soar 9 [Laird 2012] Memory Integration
47:53 One Research Path
48:54 Problem ala Word-Sense Disambiguation
50:23 WSD Evaluation Historical Memory Retrieval Blas
50:58 Efficiency
52:30 Related Problem: Memory Size
54:33 Efficient Implementation
54:39 Approximation Quality
54:55 Prediction Complexity
55:2 Prediction Computation
55:7 Task #1: Mobile Robotics
55:52 Results: Decision Time
56:29 Task #2: Liar's Dice Michigan Liar's Dice
56:56 Reasoning -- Action Knowledge
57:23 Forgetting Action Knowledge
58:18 Results: Competence
59:23 Some CogArch Open Issues
00:00:05.140 |
working on various aspects of computational agents 00:00:16.940 |
- Thanks a lot and thanks for having me here. 00:00:20.800 |
So the title that was on the page was Cognitive Modeling. 00:00:25.680 |
I'll kind of get there, but I wanted to put it in context. 00:00:28.200 |
So the bigger theme here is I wanna talk about 00:00:33.000 |
And if you've never heard about that before, that's great. 00:00:46.400 |
and put up a whole bunch of TV and movie characters 00:00:53.380 |
what is this thing called cognitive architecture? 00:00:55.320 |
It's a whole research field that crosses neuroscience, 00:00:58.760 |
psychology, cognitive science, and all the way into AI. 00:01:02.360 |
So I'll try to give you kind of the historical, 00:01:05.920 |
what some of the actual systems are out there 00:01:10.000 |
And then we'll kind of zoom in on one of them 00:01:11.820 |
that I've done a good amount of work with called SOAR. 00:01:28.600 |
and then took it and saw really interesting results from it. 00:01:31.400 |
And so at the end, if this field is of interest, 00:01:34.240 |
there's a few pointers for you to go read more 00:01:37.100 |
and go experience more of cognitive architecture. 00:01:39.540 |
So just rough definition of AGI, given this is an AGI class. 00:01:45.600 |
Depending the direction that you're coming from, 00:01:49.480 |
it might be kind of understanding intelligence 00:01:51.720 |
or it might be developing intelligence systems 00:01:54.680 |
that are operating at the level of human level intelligence. 00:02:00.680 |
and other sorts of maybe AI machine learning systems, 00:02:12.560 |
And here's the crux of it, working on different tasks. 00:02:17.520 |
tasks they didn't know were coming ahead of time. 00:02:21.560 |
I got into this because I clearly watched too much TV 00:02:26.720 |
And then I looked back at this and I realized, 00:02:41.280 |
And then there's the reality that we have today. 00:02:44.800 |
So instead of, so who's watched "Knight Rider" for instance? 00:02:56.560 |
And in particular, for fun, during the Amazon sale day, 00:03:03.200 |
and I could just see myself at some point saying, 00:03:20.440 |
That's, a lot of people have no idea what I'm asking, 00:03:24.820 |
So what I want Alexa to respond with after that is, 00:03:33.300 |
by which back and forth we can kind of talk through this. 00:03:39.440 |
but I'll talk later about some work on a system called Rosie 00:03:48.480 |
about being able to teach systems how to work. 00:03:54.600 |
I think generally fall into these three categories. 00:04:06.960 |
kind of that middle cognitive modeling realm. 00:04:15.200 |
how humans operate, human intelligence at multiple levels. 00:04:23.880 |
but there's a lot of really important applications 00:04:42.620 |
where if you can predict how humans would respond to a task, 00:04:46.080 |
you can iterate tightly and develop better interfaces. 00:04:50.200 |
It's already being used in the realm of simulation 00:05:00.640 |
which is to say just the desire to build systems 00:05:05.600 |
that kind of current AI machine learning can't operate on. 00:05:09.840 |
And I think when you're working at this level 00:05:12.620 |
or on any system that nobody's really achieved before, 00:05:17.500 |
You kind of look to the examples that you have, 00:05:44.820 |
these were folks who were trying to create systems 00:05:54.200 |
let's make systems that operate like humans do. 00:05:57.000 |
Cognitive modelers will fit up into this top point here 00:06:11.080 |
or at least be able to make predictions about it. 00:06:14.560 |
what errors would the human make on this task? 00:06:17.020 |
Or how long would it take them to perform this task? 00:06:19.800 |
Or what emotion would be produced in this task? 00:06:28.100 |
but trying to apply kind of rational rules to it. 00:06:42.580 |
And so there are folks operating in that direction. 00:06:54.180 |
the benchmark would be what the system produces 00:06:59.080 |
and the benchmark is some sort of optimal rational bound. 00:07:04.940 |
Irrespective of where you work in this space, 00:07:13.480 |
which is you can learn individual bits and pieces, 00:07:24.960 |
So this is part of the transfer learning problem, 00:07:27.040 |
but it's also part of having distinct theories 00:07:42.580 |
one of the first things you learn about is Fitts' Law, 00:07:55.760 |
And it turns out that you can learn some parameters 00:08:06.040 |
So both moving a long distance will take a while, 00:08:08.500 |
but also if you're aiming for a very small point, 00:08:11.200 |
that can take longer than if there's a large area 00:08:13.320 |
that you just kind of have to get yourself to. 00:08:22.880 |
and we learn about what's called the power law of practice, 00:08:26.640 |
which has been shown true in a number of different tasks. 00:08:39.680 |
not making a mistake, or at least not trying to, 00:08:56.320 |
of reaction time required to complete the task. 00:08:59.320 |
Great, we've learned two things about humans. 00:09:09.860 |
that's had some evidence of similar sorts of processes 00:09:16.940 |
And it basically says in a sequential learning task, 00:09:19.900 |
you perform the task, you get some sort of reward. 00:09:23.140 |
How are you going to kind of update your representation 00:09:26.800 |
such as to maximize expectation of future reward? 00:09:29.940 |
And there are various models of how that changes over time, 00:09:33.220 |
and you can build up functions that allow you 00:09:38.620 |
Great, so we've learned three interesting models here 00:09:43.580 |
that hold true over multiple people, multiple tasks. 00:09:47.500 |
And so my question is, if we take these together 00:09:50.260 |
and add them together, how do we start to understand 00:10:14.340 |
or at least learning to become better at chess. 00:10:26.040 |
and get a reasonable answer of how to play chess, 00:10:30.900 |
And so, gentlemen in this slide is Alan Newell, 00:10:40.540 |
did incredible work in psychology and other fields. 00:10:43.740 |
He gave a series of lectures at Harvard in 1987, 00:10:51.660 |
And his argument to the psychology community at that point 00:10:56.980 |
They had many individual studies, many individual results. 00:11:00.940 |
And so the question was, how do you bring them together 00:11:06.980 |
And so his proposal was Unified Theories of Cognition, 00:11:10.420 |
which became known as cognitive architecture. 00:11:13.980 |
Which is to say, to bring together your core assumptions, 00:11:18.980 |
your core beliefs of what are the fixed mechanisms 00:11:27.740 |
So the representations, the learning mechanisms, 00:11:34.500 |
implement them in a theory, and use that across tasks. 00:11:38.580 |
And the core idea is that when you actually have 00:11:41.220 |
to implement this and see how it's going to work 00:11:45.900 |
between these different processes and representations 00:11:51.420 |
And over time, the constraints would start limiting 00:11:59.620 |
And so the overall goal from there was to understand 00:12:06.440 |
A natural question to ask is, okay, so we've gone from 00:12:25.700 |
and we falsify or we do not falsify the original hypothesis. 00:12:30.860 |
and we know that we're making forward progress 00:12:33.700 |
If I've now taken that model and changed it into, 00:12:41.820 |
And to some extent, I can configure that software 00:12:43.900 |
in different ways to work on different tasks. 00:12:48.700 |
And so there's a form of science called lactosean, 00:12:56.180 |
where you start with your core of what your beliefs are 00:13:07.100 |
And around that, you'll have kind of ephemeral hypotheses 00:13:10.460 |
and assumptions that over time may grow and shrink. 00:13:16.500 |
And if an assumption is around there long enough, 00:13:20.980 |
And so as you work on more tasks and learn more, 00:13:26.660 |
from someone else, the core is growing larger and larger. 00:13:30.500 |
You've got more constraints and you've made more progress. 00:13:34.020 |
And so what I wanted to look at were in this community, 00:13:39.900 |
that are driving forward scientific progress? 00:13:42.140 |
So one of them actually came out of those lectures 00:14:07.260 |
So the lowest three are down at kind of the substrate, 00:14:12.520 |
We're building up to deliberate tasks that occur 00:14:19.360 |
Some of these might occur in the psychology laboratory, 00:14:26.440 |
And then above that really becomes interactions 00:14:35.600 |
the hypothesis is that regularities will occur 00:14:38.760 |
at these different time scales and that they're useful. 00:14:41.880 |
And so those who operate at that lowest time scale 00:14:45.000 |
might be considering neuroscience, cognitive neuroscience. 00:14:51.040 |
what we would think about in terms of the areas of science 00:14:53.800 |
that deal with that would be psychology and cognitive 00:14:55.840 |
science, and then we shift up a level and we're talking 00:14:58.280 |
about sociology and economics and the interplay 00:15:04.720 |
And so what we'll find with cognitive architecture 00:15:08.360 |
is that most of them will tend to sit at the deliberate act. 00:15:11.760 |
We're trying to take knowledge of a situation 00:15:24.000 |
I'm actually going to show that that isn't strictly true, 00:15:33.640 |
So this is Herb Simon receiving the Nobel Prize in economics 00:15:44.600 |
So in various fields, we tend to model humans as rational. 00:15:49.240 |
And his argument was, let's consider that human beings 00:15:54.240 |
are operating under various kinds of constraints. 00:15:58.600 |
And so to model the rationality with respect to 00:16:04.320 |
that they're working on, how big is that search space 00:16:16.680 |
as well as other aspects of our computing infrastructure 00:16:24.840 |
as well as how much time is available to make that decision. 00:16:28.120 |
And so this is actually a phrase that came out of his speech 00:16:36.680 |
either by finding optimum solutions for a simplified world, 00:16:42.120 |
simplify it in some way, and then solve that. 00:16:55.200 |
Neither approach in general dominates the other, 00:17:01.320 |
throughout the cognitive architecture community 00:17:07.160 |
you're not gonna be able to get an optimal solution to 00:17:14.640 |
the need to be reactive to a changing environment, 00:17:18.920 |
And so in some sense, we can decompose problems 00:17:22.040 |
that come up over and over again into simpler problems, 00:17:31.800 |
but more general problems we might have to satisfy some. 00:17:34.600 |
There's also the idea of the simple system hypothesis. 00:17:43.640 |
considering how a computer could play the game of chess. 00:17:51.800 |
some signal abstractly referred to as symbol, 00:17:55.720 |
combining them in some ways to form expressions, 00:17:58.080 |
and then having operations that produce new expressions. 00:18:02.440 |
A weak interpretation of the idea that symbol systems 00:18:07.360 |
are necessary and sufficient for intelligent systems, 00:18:09.800 |
a very weak way of talking about it is the claim 00:18:14.760 |
about the neuronal infrastructure that we have, 00:18:23.080 |
RAM, and processor that make up modern computers. 00:18:25.640 |
That's kind of the weakest way to look at this, 00:18:27.840 |
that we can do it with silicon and not carbon. 00:18:38.560 |
which is to say if we can encode rules of logic, 00:18:42.600 |
these tend to line up if we think intuitively 00:18:49.480 |
and get enough facts in there and enough rules in there 00:18:55.920 |
and eventually we can get to the point of intelligence, 00:19:01.160 |
And that was a starting point that lasted for a while. 00:19:13.200 |
but that there are going to be representations 00:19:24.600 |
in a more kind of standard machine learning sort of way, 00:19:46.840 |
and we'll start off with kind of the lowest level 00:20:03.160 |
connectivities between different kind of levels 00:20:10.440 |
and then they try to build tasks above that layer, 00:20:23.040 |
And a layer above there would be psychological modeling, 00:20:29.040 |
that are true in some sense to areas of the brain, 00:20:33.760 |
and being able to predict errors that we made, 00:20:40.400 |
And so there I'll talk a little bit about ACT-R. 00:20:59.560 |
but I wanted to point out a relative newcomer 00:21:32.760 |
and I'm the director of the Center for Theoretical 00:21:42.000 |
general conceptual issues about how the mind works. 00:21:47.400 |
I have to understand also how the brain works. 00:21:49.000 |
And this is where engineering plays a critical role. 00:21:51.440 |
Engineering allows me to break down equations 00:22:00.800 |
This model Spahn has about two and a half million 00:22:07.400 |
and the output from the model is a movement of an arm. 00:22:15.160 |
in which case it would just draw the number that it sees. 00:22:17.480 |
Or it can actually try to reproduce the style 00:22:24.040 |
it can actually reproduce that particular style too. 00:22:30.960 |
as we get older, and we can try to address those challenges 00:22:33.720 |
by simulating the aging process with these kinds of models. 00:22:41.600 |
attempts to build agents that are extremely good 00:22:47.240 |
is that it's quite good at many different tasks. 00:22:52.560 |
the flow of information through different parts 00:23:04.080 |
He's got a really cool book called "How to Build a Brain." 00:23:06.440 |
And if you Google him, you can, Google Spahn, 00:23:12.840 |
construct circuits that will approximate functions 00:23:16.080 |
that you're interested in, connect them together, 00:23:18.720 |
set certain properties that you would want at a low level, 00:23:22.240 |
and build them up, and actually work on tasks 00:23:25.800 |
at the level of vision and robotic actuation. 00:23:31.400 |
As we move into architectures that are sitting 00:23:35.600 |
above that biological level, I wanted to give you 00:23:39.040 |
kind of an overall sense of what they're going to look like, 00:23:41.040 |
what a prototypical architecture is going to look like. 00:23:44.240 |
So they're gonna have some ability to have perception. 00:23:47.440 |
The modalities typically are more digital symbolic, 00:23:52.520 |
but they will, depending on the architecture, 00:24:04.360 |
of short-term memory, whatever the state representation 00:24:08.680 |
It's typical to have a representation of the knowledge 00:24:16.120 |
when they should be performed, how they should be controlled. 00:24:31.600 |
And external might be a digital system, a game AI, 00:24:41.560 |
by which to select from the available actions 00:24:49.760 |
this procedural information, which is to say, 00:24:52.800 |
learn about new actions, possibly modify existing ones. 00:25:03.020 |
if I asked you to describe how to ride a bike, 00:25:07.480 |
you might be able to say, get on the seat and pedal, 00:25:13.680 |
you'd have a pretty hard time describing it declaratively. 00:25:22.220 |
whereas declarative would include facts, geography, math, 00:25:27.220 |
but it could also include experiences that the agent has had, 00:25:30.520 |
a more episodic representation of declarative memory. 00:25:34.820 |
of learning this information, augmenting it over time. 00:25:38.340 |
And then finally, some way of taking actions in the world. 00:25:47.540 |
knowledge that the agent has is brought to bear on that, 00:25:52.980 |
knowledge that knows to condition on that action 00:25:55.240 |
will act accordingly, both with internal processes, 00:26:01.180 |
So when we talk about, in an AI system, an agent, 00:26:06.220 |
in this context, that would be the fixed representation, 00:26:09.120 |
which is whatever architecture we're talking about, 00:26:11.580 |
plus set of knowledge that is typically specific 00:26:17.540 |
So oftentimes, these systems could incorporate 00:26:28.660 |
and let's just stick it in the brain of the system, 00:26:32.460 |
But then also, whatever it is that you're doing right now, 00:26:36.840 |
And then it's typical to see this processing cycle. 00:26:47.340 |
allow for the agent to be reactive to its environment. 00:26:54.180 |
I better run and maybe not do my calculus homework, right? 00:26:57.300 |
So as long as this cycle is going, I'm reactive, 00:27:03.200 |
are taken over time, I'm able to get complex behavior 00:27:26.460 |
A short term memory is going to be these buffers 00:27:33.440 |
what are called production rules, or if-then rules. 00:27:37.300 |
If this is the state of my short term memory, 00:27:40.160 |
this is what I think should happen as a result. 00:27:42.860 |
You have a selection of the appropriate rule to fire 00:28:04.540 |
and gather that data and correlate that data. 00:28:06.420 |
So when you use the system, you will get predictions 00:28:14.720 |
that something is learned, but you'll also get predictions 00:28:19.740 |
kind of brain areas that are going to light up. 00:28:22.420 |
And if you want to, that's actively being developed 00:28:32.700 |
this cognitive architecture, ooh, 30-ish years ago. 00:28:40.700 |
he was the primary researcher/developer behind it 00:28:50.200 |
And so Christian has become the primary developer. 00:28:57.260 |
There's a summer school, which if you're thinking 00:29:04.820 |
bring your data, they teach you how to use the system, 00:29:07.040 |
and try to get that study going right there on the spot. 00:29:14.280 |
this could be applied to, so this is representative 00:29:18.960 |
of a certain class of tasks, certainly not the only one. 00:29:25.760 |
Think PowerPoint's gonna want a restart every time. 00:29:31.600 |
about basically where the eye is going to move. 00:29:34.240 |
What you're not seeing is it's actually processing 00:29:36.880 |
things like text and colors and making predictions 00:29:39.520 |
about what to do and how to represent the information 00:29:57.800 |
and so they wanted the ability to have software 00:29:59.880 |
that you can put in front of software designers, 00:30:03.460 |
and when they think they have a good interface, 00:30:05.280 |
press a button, this model of human cognition 00:30:08.320 |
would try to perform the tasks that it had been told to do 00:30:11.540 |
and make predictions about how long it would take, 00:30:20.840 |
So ActR as a whole, it's very prevalent in this community. 00:30:31.300 |
If you're interested in it, the main distribution 00:30:49.960 |
has implemented it in Erlang for parallel processing 00:30:56.280 |
They're trying to do service-oriented architectures with it, 00:31:10.840 |
Sigma is a relative newcomer, and it's developed out 00:31:30.040 |
And I think originally, I'm gonna speak for him, 00:31:34.800 |
I think originally it was kind of a mental exercise 00:31:37.720 |
of can I reproduce SOAR using a uniform substrate? 00:31:57.920 |
And theoretically, it's got these boxes sitting out here, 00:32:00.960 |
and so he re-implemented the core functionality of SOAR 00:32:05.880 |
all using factor graphs and message-passing algorithms 00:32:12.800 |
there's nothing stopping me from going further. 00:32:15.040 |
And so now I can do all sorts of modern machine learning, 00:32:20.460 |
that would take some time in any other architecture 00:32:29.100 |
It's now gonna be the basis for the Virtual Human Project 00:32:32.240 |
out at the Institute for Creative Technology. 00:32:38.720 |
For him, until recently, he couldn't get your hands on it, 00:32:44.960 |
He's got a public release with documentation. 00:32:47.880 |
So that's something interesting to keep an eye on. 00:33:00.380 |
And I'll give a sense again about how this all operates. 00:33:10.620 |
and Paul Rosenblum were students of Alan Newell. 00:33:21.080 |
which learns new rules based upon sub-goal reasoning. 00:33:26.180 |
So he finished that, I believe, the year I was born. 00:33:31.180 |
And so he's one of the few researchers you'll find 00:33:34.480 |
who's still actively working on their thesis project. 00:33:44.300 |
which is a company up in Ann Arbor, Michigan. 00:33:56.220 |
So some notes of what's gonna make SOAR different 00:34:03.120 |
into this kind of functional architecture category. 00:34:08.720 |
So John wants to be able to run SOAR on just about anything. 00:34:19.200 |
And our answer, while we had never done it before, 00:34:42.200 |
if you're above that time, humans will sense a delay. 00:34:48.080 |
Now, if we're working in a robotics task, 50 milliseconds, 00:34:57.240 |
So we're trying to keep that as low as possible. 00:34:59.560 |
And for most agents, it doesn't even register. 00:35:02.640 |
It's below one millisecond, fractions of millisecond. 00:35:12.080 |
and a lot of efficient algorithms and data structures. 00:35:14.380 |
And 50 milliseconds was that very high upper bound. 00:35:21.160 |
You can get it in all sorts of operating systems. 00:35:30.000 |
and you are able to basically generate bindings 00:35:42.760 |
So they actually did a port over to pure Java, 00:35:47.560 |
There's an annual Sor workshop that takes place 00:35:58.600 |
I've been there every year but one in the last decade. 00:36:01.640 |
It's just fun to see the people around the world 00:36:03.480 |
that are using the system in all sorts of interesting ways. 00:36:06.620 |
To give you a sense of the diversity of the applications, 00:36:13.760 |
when it was an actual challenge to build a computer, 00:36:16.520 |
which is to say that your choice of certain components 00:36:24.480 |
So it wasn't just the Dell website where you just, 00:36:26.800 |
"I want this much RAM, I want this much CPU." 00:36:29.120 |
There was a lot of thinking that went behind it, 00:36:30.720 |
and then physical labor that went to construct your computer. 00:36:33.760 |
And so it was making that process a lot better. 00:36:39.780 |
Sor 7 was the core of the Virtual Humans Project 00:36:46.520 |
TAC Air Sor was one of the largest rule-based systems. 00:36:56.360 |
Lots of games it's been applied to for various reasons. 00:37:16.780 |
And if after this talk you're really interested 00:37:20.760 |
you can actually go to the iOS app store and download. 00:37:28.580 |
But you can actually play Liars Dice with Sor. 00:37:40.600 |
just kind of really weird-feeling sort of applications 00:37:54.460 |
- Lumini is a dome-based interactive art installation 00:38:14.600 |
The line between human and non-human is blurred, 00:38:25.200 |
how humans and machine can co-create experiences. 00:38:38.520 |
allowing participants to creatively explore movement 00:38:44.160 |
The development of Lumini has been a hybrid exploration 00:38:49.880 |
as well as research in artificial intelligence 00:39:00.760 |
The original two-dimensional version of the installation 00:39:09.200 |
and virtual characters meeting to dance together 00:39:19.000 |
the virtual dancer learns its partner's movements 00:39:26.000 |
in order to improvisationally choose a movement response. 00:39:29.520 |
Viewpoint's theory is based in dance and theater 00:39:33.360 |
and analyzes the performance along the dimensions 00:39:39.560 |
kinesthetic response, shape, spatial relationships, 00:39:43.720 |
gesture, architecture, and movement topography. 00:39:50.760 |
several different strategies to respond to human movements. 00:39:56.680 |
transformation of the movement along viewpoint's dimensions, 00:40:00.040 |
recalling a similar or complementary movement from memory 00:40:37.280 |
where it can be a colleague and collaborate with us 00:40:53.320 |
Before I start this, I alluded to this earlier 00:41:01.080 |
So let me give you some introduction to this. 00:41:08.360 |
There's a robotic arm, mainly 3D-printed parts, 00:41:14.560 |
Above that, you're seeing an interpretation of the scene. 00:41:19.280 |
We're giving it associations of the four areas 00:41:26.320 |
one is the garbage, just semantic terms for areas. 00:41:30.480 |
But other than that, the agent doesn't actually 00:41:32.480 |
know all that much, and it's going to operate 00:41:38.200 |
natural-ish language, a restricted subset of English, 00:41:48.200 |
in the upper left saying, "I'm talking about this." 00:41:54.440 |
And so starting off, we're going to say things like, 00:41:56.880 |
"Pick up the blue block," and it's going to be like, 00:42:10.140 |
"Okay, move the blue thing to a particular location." 00:42:22.500 |
And once we got to that point, now I can say, 00:42:31.280 |
given new parameters, and it's learned that ability. 00:42:48.800 |
You're going to see some text commands being entered. 00:43:05.080 |
Okay, color, so now it knows how to understand 00:43:07.080 |
blue and green as colors with respect to the visual scene. 00:43:35.000 |
And so then it also has a declarative representation 00:43:40.240 |
then it can look back on having completed the task 00:43:47.120 |
So in order to move it, you're going to have to pick it up. 00:44:12.440 |
You have accomplished the move the blue rectangle 00:44:16.040 |
And so now it can understand what that very simple 00:44:25.460 |
And now we can say move the green object, or not, 00:44:36.780 |
based on everything that learned up till that point, 00:44:42.580 |
So this is a work of Shivali Mohan and others 00:44:45.240 |
at the SOAR Group at the University of Michigan 00:44:53.200 |
through text-based descriptions and multimodal experience. 00:44:56.920 |
So in order to build up to here's a story in SOAR, 00:45:01.040 |
I wanted to give you a sense of how research occurs 00:45:04.000 |
And so there's these back and forths that occur over time 00:45:07.840 |
between there's this piece of software called SOAR, 00:45:13.040 |
and so all our agents are going to become better. 00:45:19.200 |
that it has to be useful to a wide variety of agents. 00:45:32.920 |
and then we say, okay, let's solve a cool problem. 00:45:37.160 |
And so this ends up testing what are the limitations, 00:45:40.360 |
what are the issues that arise in a particular mechanism, 00:45:52.800 |
Just to give you an idea, again, how SOAR works. 00:45:59.400 |
The perception is just a subset of that graph, 00:46:02.280 |
and so there's going to be symbolic representations 00:46:21.920 |
as well as arbitrary parts of the graph to take actions. 00:46:33.000 |
Semantic memory for facts, there's episodic memory. 00:46:40.600 |
every experience it's ever had over time in episodic memory, 00:46:48.360 |
we get input in this perception called the input link. 00:46:51.420 |
Rules are going to fire all in parallel and say, 00:46:54.420 |
here's everything I know about the situation, 00:46:57.460 |
Decision procedure says, here's what we're going to do. 00:47:11.180 |
and as well as potentially output in the world. 00:47:24.200 |
So anything that happens in this cycle, at max, 00:47:26.960 |
the overall cycle has to be under 50 milliseconds. 00:47:29.840 |
And so that's going to be a constraint we hold ourselves to. 00:47:40.120 |
And we're an architecture that doesn't want to be like humans, 00:47:44.740 |
but what we realized was something that we do, 00:47:53.680 |
So here's the research path I'm going to walk down. 00:48:05.480 |
And the question is, if you have a fixed mechanism, 00:48:08.480 |
what should you return in a task-independent way? 00:48:11.520 |
Which one of these many memories should you return? 00:48:17.620 |
something called the rational analysis of memory 00:48:36.780 |
And I'll get to that, what that means in a second. 00:48:39.700 |
Developed some algorithms to scale this really well. 00:48:45.720 |
but when we looked to two other completely different ones, 00:48:50.780 |
ended up producing some really interesting outputs. 00:48:54.240 |
So let me talk about word sense disambiguation real quick. 00:48:56.700 |
This is a core problem in natural language processing, 00:49:02.340 |
and for some reason it needs to understand the verb to run. 00:49:05.300 |
Looks to its memory and finds that it could run in the park, 00:49:12.260 |
could run an election, it could run a program. 00:49:16.060 |
what should a task independent memory mechanism return 00:49:38.460 |
there's going to be this effect where the expression here, 00:49:44.500 |
it's going to sum those with a exponential decay. 00:49:48.740 |
So what it looks like if time is going to the right, 00:49:56.980 |
you get these little drops and then eventually drop down. 00:50:01.980 |
the red would be what the decay would look like. 00:50:10.500 |
or the red thing, blue would have a higher activation, 00:50:15.980 |
This is how things are modeled with human memory, 00:50:25.580 |
used in word-sense disambiguation and just said, 00:50:33.260 |
I asked the question, what is the sense of this word? 00:50:37.540 |
and I used that recency and frequency information 00:50:43.460 |
And somewhat of a surprise, but somewhat maybe not 00:50:46.300 |
of a surprise, it actually performed really well 00:50:51.660 |
So we said, OK, this seems like a reasonable mechanism. 00:51:00.900 |
And the problem was this term right here said, 00:51:11.640 |
That doesn't sound like a recipe for efficiency 00:51:13.740 |
if you're talking about lots and lots of knowledge 00:51:21.620 |
that Petrov had come up with to approximate tail effect. 00:51:35.340 |
And what we basically said is, since these are always 00:51:38.220 |
decreasing, and all we care about is relative order, 00:51:41.700 |
let's just only recompute when someone gets a new value. 00:51:48.840 |
But we looked at how this worked on the same set of corpora. 00:51:53.340 |
And in terms of query time, if we made these approximations 00:51:56.780 |
well under our 50 millisecond, the effect on task performance 00:52:03.940 |
got ever so slightly better in terms of accuracy. 00:52:07.400 |
And actually, if we looked at the individual decisions that 00:52:10.520 |
were being made, making these sorts of approximations 00:52:17.260 |
sorry, at least 90% of the decisions being made 00:52:20.160 |
were identical to having done the true full calculation. 00:52:28.120 |
And we implemented this, and it worked really well. 00:52:31.200 |
And then we started working on what seemed like completely 00:52:37.820 |
We had a mobile robot I'll show a picture of in a little while 00:52:40.940 |
roaming around the halls, performing all sorts of tasks. 00:52:48.740 |
in your short-term memory, and your short-term memory 00:52:53.340 |
My short-term memory feels really, really small. 00:53:01.000 |
you're now having to pull lots and lots and lots of information 00:53:05.180 |
So the system was actually getting slower simply 00:53:10.540 |
representation of the overall map it was looking at. 00:53:19.120 |
We were doing an RL-based system on this, reinforcement 00:53:22.580 |
And it turned out it's a really, really big value function. 00:53:29.220 |
had to keep around to keep the performance up. 00:53:33.280 |
So we had a hypothesis that forgetting was actually 00:53:38.820 |
That maybe the problem we have with our memory 00:53:43.220 |
is that we really, really dislike this forgetting thing. 00:53:47.620 |
And so we experimented with the following policy. 00:53:49.660 |
We said, let's forget a memory if, one, we haven't really-- 00:53:55.660 |
it's not predicted to be useful by this base level activation. 00:54:02.500 |
That and we felt confident that we could approximately 00:54:09.420 |
And if those two things held, we could forget something. 00:54:18.500 |
if we set a threshold for base level activation, 00:54:26.860 |
to forget based upon that in a way that's efficient, 00:54:29.740 |
that isn't going to scale really, really poorly. 00:54:33.640 |
So we were able to come up with an efficient way 00:54:36.220 |
to implement this using an approximation that ended up 00:54:42.980 |
for most memories to be exactly correct to the original. 00:54:52.340 |
But it ended up being a fairly close approximation, one 00:54:55.540 |
that, as compared to an accurate, completely accurate 00:54:59.900 |
search for the value, ended up being somewhere between 15 00:55:06.820 |
And so when we looked at our mobile robot here-- 00:55:12.220 |
Because our little robot's actually going around. 00:55:14.220 |
That's the third floor of the computer science building 00:55:19.940 |
And again, the idea was this map is getting too big. 00:55:25.540 |
going to need this map information about rooms. 00:55:27.840 |
The color there is describing the strength of the memory. 00:55:32.580 |
and it hasn't used part of the map for planning 00:55:34.580 |
or other purposes, basically make it decay away 00:55:41.180 |
But we had the belief that we could reconstruct portions 00:55:48.540 |
And so the hypothesis was this would take care 00:56:09.540 |
If we implemented task-specific basically cleanup rules, 00:56:16.620 |
When we looked at our general forgetting mechanism 00:56:22.500 |
we were actually doing better than hand-tuned rules. 00:56:34.100 |
You make bids about what are under other people's cups. 00:56:39.860 |
when they're on the boat in the second movie and bidding 00:56:47.340 |
And so we're like, hmm, could Soar play this? 00:56:52.540 |
learn to play this game rather well with reinforcement 00:56:55.740 |
And so the basic idea was, in a particular state of the game, 00:56:58.740 |
Soar would have options of actions to perform. 00:57:02.100 |
It could construct estimates of their associated value. 00:57:07.540 |
And depending on the outcome, something good happened, 00:57:11.700 |
And the big problem was that the size of the state space, 00:57:14.680 |
the number of possible states and actions, just is enormous. 00:57:20.940 |
And so what we said, similar sort of hypothesis, 00:57:24.580 |
if we decay away these estimates that we could probably 00:57:45.980 |
There had been prior work that had used a similar approach. 00:57:53.540 |
The iPhone's not going to be happy, but it'll work. 00:58:02.540 |
We can fit on the iPhone, a very good iPhone, maybe an iPad. 00:58:18.540 |
And so y-axis here, you're seeing competency. 00:58:23.980 |
So the bottom here, 500, that's flipping a coin, 00:58:36.340 |
The prior work, while keeping the memory low, 00:58:39.060 |
is also suffering with respect to how well it 00:58:43.420 |
And kind of cool was the system that was basically, 00:58:55.540 |
So just to bring back why I went through this story was, 00:59:10.260 |
and then found it was useful in other parts of the architecture 00:59:13.100 |
and other tasks that didn't seem to relate whatsoever. 00:59:18.500 |
you would gain access to all these mechanisms 00:59:24.940 |
Just to give some sense in the field of cognitive architecture 00:59:28.580 |
I think this is true in a lot of fields in AI, 00:59:33.420 |
The goal was that you wouldn't have all these theories. 00:59:36.860 |
And so you could just kind of build over time, 00:59:39.740 |
particularly when folks are working on different 00:59:43.780 |
But also when you have very different initial starting 00:59:50.140 |
We're building into the space of multimodal representations, 00:59:52.780 |
which is to say not only abstract symbolic, but also 00:59:56.860 |
Wouldn't it be nice if we had auditory and other senses? 00:59:59.700 |
But building that into memories and processing 01:00:07.020 |
which is to say the agent self-assessing its own state, 01:00:11.980 |
Some work has been done in here, but still a lot. 01:00:14.660 |
And I think the last one is a really important question 01:00:25.140 |
And if you don't know, that picture right there 01:00:28.460 |
is from a show that I recommend that you watch. 01:00:35.180 |
able to develop what are called synths in the show. 01:00:38.260 |
Think the robot that can clean up after your laundry 01:00:40.860 |
and cook and all that good stuff, interact with you. 01:00:52.500 |
So I highly recommend, if you haven't seen that, 01:00:55.660 |
I think these days there's a lot of attention 01:01:03.860 |
paid to machine learning, and particularly deep learning 01:01:09.940 |
And often the question is, well, you're doing this, 01:01:21.740 |
a fruitful question, because most of the time 01:01:24.180 |
they tend to be working on different problems. 01:01:39.640 |
when they tend to work together really, really well. 01:01:44.340 |
there was some, I believe, neural networks being 01:01:48.380 |
used in the object recognition mechanisms for the vision 01:01:51.660 |
There's TD learning going on in terms of the dice game, 01:01:55.220 |
where we can pick and choose and use this stuff. 01:01:58.300 |
problems that are best solved by these methods, 01:02:03.740 |
trying to develop a system where you, in different situations, 01:02:28.300 |
The SOAR cognitive architecture was MIT Press. 01:02:36.420 |
would get proceeds, but I've donated them all 01:02:49.660 |
If you're really interested in SOAR, it's an easy sell. 01:02:54.820 |
I had mentioned Chris Elias Smith's "How to Build a Brain." 01:03:02.180 |
"How Can the Human Mind Occur in the Physical Universe?" 01:03:07.780 |
So it talks through a lot of the psychological underpinnings 01:03:20.740 |
This goes through a lot of different architectures 01:03:23.820 |
It's 10 years old, but it gives you a good broad sweep. 01:03:37.220 |
So it's a good place to look for this sort of stuff. 01:03:44.740 |
There's a conference called ICCM, International Conference 01:03:49.740 |
see a span from biologic all the way up to AI. 01:03:53.500 |
Cognitive Science, or COGSci, they have a conference as well 01:03:58.100 |
ACS has a conference as well as an online journal, 01:04:10.820 |
BICA is Biologically Inspired Cognitive Architectures. 01:04:15.500 |
There's a SOAR workshop and an ACDAR workshop 01:04:28.180 |
actually involves kind of explainable machine learning, 01:04:33.580 |
as well as optimization and robotics that scales really 01:04:38.200 |
well and also integrates with cognitive systems. 01:04:52.500 |
So what are the main heuristics that you're using in SOAR? 01:04:59.300 |
There can be heuristics at the task level and the agent level, 01:05:03.940 |
built into the architecture to operate efficiently. 01:05:11.980 |
And it's a fun trick that if you're a programmer, 01:05:14.260 |
you could use all the time, which is only process changes. 01:05:18.740 |
Which is to say, one of the cool things about SOAR 01:05:20.940 |
is you can load it up with literally billions of rules. 01:05:29.460 |
And this happens because instead of most systems which 01:05:38.460 |
And of course, if you look at the biological world, 01:05:42.920 |
So that's one of the core ones that actually permeates 01:06:00.140 |
when you're setting the level of difficulty of it, 01:06:03.140 |
what you're basically selecting is the subset of heuristics 01:06:13.220 |
likely to believe a high number of sixes exist. 01:06:16.220 |
But if I don't, they're probably not there at all. 01:06:28.860 |
tacks on some history of prior actions of the agents. 01:06:35.120 |
Now, the ROSI system, one of the cool things they're doing 01:06:40.180 |
having the agent be able to accept, via text, 01:06:45.540 |
like natural text, heuristics about how to play the game, 01:06:53.060 |
So at one point, you mentioned about generating new rules. 01:07:07.500 |
implement heuristic search in rules in the system, 01:07:10.220 |
and that's actually how the robot navigates itself. 01:07:12.780 |
So it does heuristic search, but at the level of rules. 01:07:20.660 |
If it's the case that, in order to solve a problem, 01:07:23.380 |
you had to kind of sub-goal and do some other work, 01:07:26.820 |
and you figure out how to solve all that work, 01:07:39.580 |
So it basically learns over all the sub-processing that 01:07:48.180 |
were produced as action, and that's the new rule. 01:07:57.180 |
So it looks as though there's a bit of an impedance mismatch 01:08:00.340 |
between your system and those types of system, 01:08:02.260 |
because you've got a fixed kind of memory architecture, 01:08:05.700 |
and they've got the memory and the rules all kind of mixed 01:08:09.460 |
But could you interface your system or a SOAR-like system 01:08:13.180 |
with deep learning by plugging in deep learning agents 01:08:19.180 |
but is there some reason you can't plug in deep learning 01:08:51.820 |
You have no problem, and you can do that today. 01:08:55.560 |
In terms of integration into the architecture, 01:08:58.780 |
all we have to do is think of a subproblem in which-- 01:09:08.740 |
I'm seeing basically kind of a fixed structure of input. 01:09:16.980 |
and I want to learn the mapping to that over time. 01:09:19.540 |
If you can make that case, then you integrate it 01:09:25.020 |
And we have learning mechanisms that do some of that. 01:09:28.820 |
Deep learning just hasn't been used to my knowledge 01:09:33.420 |
There's nothing keeping it from being one of those, 01:09:36.420 |
particularly when it comes down to the low-level visual part 01:09:42.420 |
A problem that arises-- so I'll say what actually 01:09:47.740 |
makes some of this difficult. And it's a general problem 01:09:52.640 |
So at the level of what happens mostly in SOAR, 01:09:56.500 |
it is symbols being manipulated in a highly discreet way. 01:10:11.420 |
And that is absolutely an open question in that community, 01:10:17.500 |
So Spawn actually has an interesting answer to that, 01:10:23.060 |
and it operates over distributed representations 01:10:33.560 |
and so they've dealt with some of these issues. 01:10:38.440 |
And that's also why I showed Sigma, which is, 01:10:40.500 |
at its low level, it's message-passing algorithms. 01:10:43.340 |
It's implementing things like SLAM and SAT solving 01:10:49.660 |
it can implement those on very low-level primitives. 01:10:53.500 |
But higher up, it can also be doing what SOAR is doing. 01:10:58.380 |
So another way of doing it would be to layer the system. 01:11:01.380 |
So have one system preprocessing the sensory input 01:11:06.600 |
or post-processing the motor output of the other one. 01:11:08.500 |
That would be another way of combining the two systems. 01:11:10.020 |
And that's actually what's going on in the ROSI system. 01:11:18.020 |
I don't believe it's deep learning specifically, 01:11:30.620 |
You mentioned the importance of forgetting in order 01:11:34.140 |
But you said you could only forget because you 01:11:48.540 |
And I said, you think you can reconstruct it. 01:11:55.700 |
And so let me try to answer this very grounded. 01:12:03.260 |
and you had rooms that you had been to before, 01:12:08.260 |
being constructed in the robot's semantic memory. 01:12:13.100 |
This room is connected to this room, which is connected 01:12:14.860 |
to this room, which is connected to this room. 01:12:26.780 |
from the short-term memory, and as necessary, 01:12:29.420 |
be able to reconstruct it from the long-term. 01:12:31.460 |
You could end up in some situations in which you 01:12:34.260 |
had made a change locally in short-term memory, 01:12:39.020 |
and it actually happened to be forgotten away. 01:12:42.060 |
So you weren't guaranteed, but it was good enough 01:12:55.300 |
with was the initial estimates in the value system, which is, 01:13:00.200 |
That's based on the heuristics I described earlier, 01:13:09.700 |
The only time we can't reconstruct it completely 01:13:12.660 |
is if it had seen a certain number of updates over time. 01:13:21.980 |
that most of the states were never being seen. 01:13:28.980 |
via the agent just thinking about it a little bit. 01:13:33.500 |
I'm going to say under 1% of the estimate of the value system 01:13:40.940 |
with a lot of these kinds of problems that have really, 01:13:53.900 |
And you saw that was already reducing more than half 01:13:58.240 |
We could have something higher to say 10 times, 01:14:02.140 |
And that would say we could reconstruct almost all of it. 01:14:06.780 |
The prior work that I referenced was strictly 01:14:15.360 |
And so what we were adding was probably can reconstruct. 01:14:18.960 |
And that was getting us the balance between efficiency 01:14:23.760 |
AUDIENCE: So just in a sense, when you say we can probably 01:14:28.680 |
And so if you need to reconstruct it, you will? 01:14:30.400 |
Or it's just you're going to run it again in some time 01:14:33.280 |
On the fly, if I get back into that situation 01:14:42.840 |
for the very, very first time, reconstructs that value 01:14:47.120 |
AUDIENCE: Just a quick question on top of that. 01:14:52.360 |
So the actual mechanism of forgetting is fascinating. 01:14:55.960 |
So LSTMs, RNNs, have mechanisms for learning what to forget 01:15:04.640 |
Has there been any exploration of learning the forgetting 01:15:09.440 |
So it's doing something complicated or interesting 01:15:14.800 |
The closest I will say was kind of a metacognition project 01:15:20.320 |
that's 10 or 15 years old at this point, which 01:15:26.880 |
where it actually knows that it learned something that's 01:15:30.480 |
harmful to it, that's leading to poor decisions? 01:15:34.480 |
And in that case, it was still a very rule-based process. 01:15:39.640 |
It was actually learning to override its prior knowledge, 01:15:43.600 |
which might be closer to some of what we do when 01:15:48.480 |
We don't have a way of forgetting that habit. 01:15:51.080 |
But instead, we can try to learn something on top 01:15:53.120 |
of that that leads to better operation in the future. 01:15:55.880 |
To my knowledge, that's the only work, at least in SORA, 01:16:00.920 |
Just-- sorry, I find the topic really fascinating. 01:16:04.200 |
What lessons do you think we can draw from the fact 01:16:07.840 |
that forgetting-- so ultimately, the action of forgetting 01:16:12.040 |
is driven by the fact that you want to improve performance. 01:16:15.280 |
But do you think forgetting is essential for AGI, 01:16:28.800 |
So one might be, if we take the cognitive modeling approach, 01:16:40.160 |
And so whether or not the system itself forgets, 01:16:44.440 |
that the humans it's interacting with are going to forget. 01:16:47.800 |
And so at least it has to have that ability to model in order 01:16:52.760 |
Because if it assumes we always remember everything 01:17:10.920 |
Our AGI system is going to hold a grudge for all eternity. 01:17:15.240 |
We might want them to forget this early age when we were 01:17:35.640 |
on how you can connect function approximators, 01:17:42.120 |
And the second question, completely different, 01:17:50.360 |
When you have different theories in your knowledge representation 01:17:59.120 |
about the different theories and the different pieces 01:18:01.440 |
of knowledge that are now held within your memory or anything 01:18:06.280 |
like that, or your rules, what kind of algorithms 01:18:12.600 |
Is there any concept of differentiation of the symbols 01:18:15.840 |
or grammars or admissible grammars and things 01:18:21.480 |
I'm actually going to answer the second question first. 01:18:24.560 |
And then you're going to have to probably remind me 01:18:31.840 |
one of these core tenets I said is, it's got to get 01:18:39.880 |
And so the decision procedure is actually really, really simple. 01:18:49.080 |
that will say something like, here's an operator 01:18:53.080 |
So these are called acceptable operator preferences. 01:18:56.160 |
There are ones that are going to say, well, based upon the fact 01:18:59.560 |
I think it's the best thing or the worst thing. 01:19:05.320 |
There's actually a fixed language of preferences 01:19:19.520 |
pushed the hard questions of how to make complex decisions 01:19:33.940 |
And it gets pushed into the knowledge of the agent 01:19:41.460 |
that over time is going to get to the more interesting 01:19:44.620 |
But how can you reason that that sequence will take you 01:20:06.500 |
So I know, given certain properties about the search 01:20:10.740 |
task that's being searched based upon these rules, 01:20:14.740 |
given a finite search space, eventually it will get there. 01:20:19.560 |
I know certain properties about the optimality. 01:20:23.660 |
In general, I think this comes back to the assumption I made 01:20:33.980 |
The general problems that it's going to work on, 01:20:36.620 |
it's going to try its best based upon the knowledge that it has. 01:20:41.460 |
that you can typically make in the architecture. 01:20:46.940 |
Speculate on connecting function approximators, 01:21:08.440 |
somewhere before I basically said taking in a scene 01:21:15.320 |
and using those as symbols and reasoning about those over time. 01:21:35.500 |
is if you've seen Word2Vec, where you're taking a language 01:21:41.540 |
is a vector of numbers that has certain properties. 01:21:43.780 |
But it's also a vector that you could operate on as a unit. 01:21:52.020 |
You know that if I got the same word in the same context, 01:22:01.380 |
that seems like it's going to be able to bridge that chasm, where 01:22:04.840 |
we can get from sensory information to something that 01:22:13.860 |
and get us from there from actual sensory information. 01:22:35.020 |
of cognitive architecture with respect to us? 01:22:46.380 |
How come cognitive architecture has not solved AGI? 01:23:04.140 |
is if what you're looking at is trying to make human level AI, 01:23:11.620 |
it's hard, it's challenging, it's ambitious to say, 01:23:26.540 |
to constrain yourself down to a single problem. 01:23:30.540 |
That having been said, I'm not very good at making 01:24:04.940 |
this idea of trying to reproduce a level of human intelligence 01:24:11.900 |
I don't know if that's a very satisfactory answer for you. 01:24:24.620 |
finds its way to the general populace, to the marketplace. 01:24:37.340 |
makes a whole lot of sense in a direct application. 01:24:51.340 |
This was using ACT-R models of eye gaze and reaction 01:24:57.180 |
and so forth to be able to make predictions about how humans 01:25:09.820 |
But if you work in AI, one of the first things you learn 01:25:24.460 |
I've gone to many conferences where presentations have 01:25:35.340 |
is in really, really small, constrained problems, 01:25:51.540 |
I'll say the other thing we haven't really gotten to, 01:26:07.260 |
is to some extent, with lots of asterisks and 10,000 foot view, 01:26:11.740 |
it's kind of like, well, we've gotten this far. 01:26:14.220 |
All right, let's just provide it different inputs, 01:26:18.640 |
And suddenly, you have end-to-end deep learning 01:26:22.180 |
There's a way to see how this expands given enough data, 01:26:25.340 |
given enough computing, and incremental advances. 01:26:28.740 |
When it comes to SOAR, it takes not only a big idea, 01:26:32.700 |
but it takes a lot of software engineering to integrate it. 01:26:43.460 |
can change a little bit of the configuration of the graph. 01:26:47.740 |
Boom, it's integrated, and I can experiment fairly quickly. 01:26:55.100 |
does not give you the constraint you kind of want 01:26:57.620 |
with your big picture vision of going towards human level AI. 01:27:00.540 |
But in terms of being able to be agile in your research, 01:27:09.780 |
- You had mentioned that ideas such as base level decay, 01:27:12.940 |
these techniques, their original inspirations 01:27:21.580 |
So were there any instances of the other way around, 01:27:28.260 |
fueled another discovery in cognitive science? 01:27:33.980 |
- So one thing I'm going to point out in your question 01:27:37.380 |
was base level decay with respect to human cognition. 01:27:40.460 |
The study actually was, let's look at text and properties 01:27:44.420 |
of text and use that to then make predictions 01:27:49.860 |
about what must be true about human cognition. 01:27:57.180 |
looked at, I believe it was New York Times articles. 01:28:09.300 |
I think it was parents' utterances with their kids 01:28:14.900 |
It was actually looking at text corpora and the words 01:28:32.220 |
within the architecture that then became validated 01:28:35.380 |
through multiple trials, that then became validated 01:28:39.900 |
being used to both do study back with humans, 01:28:44.700 |
but also develop systems that interact well with humans. 01:28:48.700 |
So I think that in and of itself ends up being an example. 01:29:03.140 |
is a single robot that has multiple agents running on it. 01:29:14.980 |
But either way, your systems allow for multi-agents. 01:29:19.140 |
So my question is, how are you preventing them 01:29:24.540 |
And are you changing what they're forgetting selectively 01:29:30.660 |
So I'll say, yes, you can have multi-agent SOAR systems 01:29:44.900 |
that you can come up with a protocol for them interacting. 01:29:48.860 |
Each one is going to have its own set of memories, 01:29:56.180 |
being able to communicate like you would if it were 01:30:01.500 |
So I don't really think I have a great answer for it. 01:30:06.740 |
So that is to say, if you had good theories, good algorithms 01:30:18.380 |
form a fusion sort of way, it might be something 01:30:21.820 |
that you could bring to a multi-agent SOAR system. 01:30:24.700 |
But there's nothing really there to help you. 01:30:28.860 |
to help you do that any better than you would otherwise. 01:30:37.340 |
to what it has fixed in terms of its sort of memory 01:30:44.520 |
With that, let's please give James a round of applause.