I hope you're not calling me a "philosopher". I identify as a coder.
And what I want to know is where is the code for "meaning". I don't care why it's the code for "meaning", but if you point me to the code for "word embeddings" and you say "that's the code for 'meaning", then I'm going to wonder whether, if I ask for the code for "quicksort" you'll point me to the code for "bubblesort".
So, no, what we call things that do things is important, otherwise we don't know what things do what, and what things are being done.
And lest we forget:
However, in AI, our programs to a great degree are problems
rather than solutions. If a researcher tries to write an
"understanding" program, it isn't because he has thought of a better
way of implementing this well-understood task, but because he
thinks he can come closer to writing the implementation. If he
calls the main loop of his program "UNDERSTAND', he i s (until
proven innocent) merely begging the question. He may mislead a lot
of people, most prominently himself, and enrage a lot of others.
What he should do instead is refer to this main loop as
"G0034", and see if he can convince himself or anyone else that
G0034 implements some part of understanding. Or he could give i t
a name that reveals its intrinsic properties, like NODE-NET-
INTERSECTION-FINDER, it being the substance of his theory that
finding intersections in networks of nodes constitutes
understanding. If Quillian <1969> had called his program the
"Teachable Language Node Net Intersection Finder", he would have
saved us some reading. (Except for those of us fanatic about
finding the part on teachability.)
In AI, there are lots of people who say lots of things. They keep saying them, even when people point out that they are just things that they say. They continue to say them even long after the other people get tired and give up trying to make sense of what is being said. That doesn't mean that the "discussion" is over, it's just that there is no real way to stop people saying things if that's what they really want to do.
I can point at code that sorts words by use pretty easily. And I can show you how the embeddings correlate words with similar meanings. Surely that answers the question?
Remember that the real claim is that embeddings represent meaning. In a flawed but working way. You could say they are a map, not the territory, so arguing about the true meaning of meaning isn't relevant.
> I'm going to wonder whether, if I ask for the code for "quicksort" you'll point me to the code for "bubblesort"
Embeddings are meaning (noun) like a dictionary, not meaning (verb) like a qualia.
The code sorts. It doesn't matter what algorithm because the claim was just that it gives you sorted data. Just like a claim that embeddings represent things is not a claim about methods or qualia.
I was going to say something similar. The meanings aren’t code, they’re data. So you can definitely pull up the vector for “meaning” or anything else
The claim (that I’m making at least) is not that these systems can understand meaning. It’s that they can store a representation of meaning and do something with it. I think there’s a way lower bar for this. (I also think the bar was cleared quite a while ago and we should consider it settled.)
I could write down the meaning of a few words on some pieces of paper. (I guess if someone disagrees with that then talking about vectors is pointless). I could stuff each of those papers into a different dog toy and train a dog to get them on command. Then I think you could truthfully say something like “this dog can retrieve the meaning of the word ‘independence’, ‘hammer’ or ‘sing’ for you”. It wouldn’t be true to say the dog understands any of those words.
So in other words, you're saying what you said above:
>> Maybe the thing that will land is to say that embeddings are an attempt at representing meaning.
And I don't disagree with that, neither with what you say in this comment.
Or at least, I think I agree. What I would have said is that you can write down words on a paper, and the words are a representation of meaning, but the paper doesn't understand meaning, nor do the words. You need a human, with a human understanding of words, and language, and what those things mean, in order to decode the meaning from the words. In other ah words, the words on the paper are a representation of meaning, but only for a human. For a cat, say, they don't represent anything.
Wat's more, just because a language model is trained on word embeddings, doesn't mean it encodes meaning. It's certainly an attempt to do that, but just because someone made an attempt doesn't mean they've done it.
>Or at least, I think I agree. What I would have said is that you can write down words on a paper, and the words are a representation of meaning, but the paper doesn't understand meaning, nor do the words. You need a human, with a human understanding of words, and language, and what those things mean, in order to decode the meaning from the words. In other ah words, the words on the paper are a representation of meaning, but only for a human. For a cat, say, they don't represent anything.
If you change your perspective on language to mean any arbitrary capture of useful information (such that it can be used in the future), then you can see that the boundary between words and the world is not the heart of the issue. For example, your perception of the world works in a similar manner in that your sensory organs cannot comprehend the world, almost like your sensory organs interpret the world using their own language. Or maybe if that example is not very intuitive, then how about imagining an alien species that has sensory organs that act on linguistic structures. In some way, the aliens will figure out a coherent structure of their own, even though they cannot "experience" the world through senses like ours. What "intelligence" is doesn't seem to be bound by how "close" someone is to reality, and "close" might not even be the right word, since different perceptions can have different capabilities. I think the tricky part about "intelligence" is that there is always some "meaning" captured, it is just alien to those who do not share the same interpretive capacity. A cat could extract meaningful information from words on a paper, but certainly not in the same way we do.
Now if we want to make an AI that acts and thinks like us, then understanding our own machinery (the relationship between the world and language) is certainly important. But I think the bitter lesson rears its head here, and I believe that something that is truly worthy of being called AGI will be able to thrive given any set of arbitrary senses, even linguistic ones. In other words, I do not think embodiment will naturally lead to AGI, rather that embodiment is a necessity if we want make AI in our image. And making an AI in our image is the fastest way to get an AI to do useful work for us.
>> If you change your perspective on language to mean any arbitrary capture of useful information (such that it can be used in the future), then you can see that the boundary between words and the world is not the heart of the issue.
I don't think that it is. What I think is that language encodes meaning, that can be decoded only by an entity that knows how to decode meaning from language; which is a bit of a tautology, but that's the point, you can't expect an entity without the ability to decode meaning from language to understand what language means. Or at least I don't expect that.
Here's an analogy, and I shouldn't be making it because it's about cryptography and I'm not an expert there. Suppose I sent you an encrypted message and you knew how to decrypt it- I encoded it with your public key and you decrypted it with your private key, or whatever. If you could do that, then you could read my message and know what it says.
If you couldn't decrypt my message, then you could stare at it for as long as you liked, you could make copies of it, you could make variations of it, you could even learn a model of the structure of encrypted messages like mine, and be able to produce many more of those messages, but you would still not know what those encrypted messages say. Because they're encrypted and you can't read them, you can only read their encoding.
That's what I'm driving at. I think that's how language works, in practice. Not that it's some form of encryption, but that it only makes sense to humans, so only humans can decode meaning from language. With language modelling, we're reproducing the encoded message, but we haven't yet found out how to equip the machines modelling language with the ability to decode meaning from it, so for all intents and purposes it might just as well be encrypted.
I'm not arguing for embodiment, either. I'm perfectly fine with the idea of a "brain in a jar". But I agree that if we want our AI's to behave like humans, they will have to have some experience in the world.
If I can make convincing messages based on the structure and swapping around pieces of data, then it sounds like I got past the encryption well enough to have a partial understanding of the plaintext.
>> If I can make convincing messages based on the structure and swapping around pieces of data, then it sounds like I got past the encryption well enough to have a partial understanding of the plaintext.
I think that no, because you can manipulate the structure of an encrypted string and swap around pieces of it etc, without having to decrypt it.
As to making convincing messages, as you say, the entity making the messages and swapping around the data is a language model, but the entity reading the generated messages is a human. It is the human that finds the messages "convincing" as you say. We have no doubts that humans can decode meaning from text, even if we have no idea how we do it, yet. The question is whether language models can do the same thing. And what I say above is that there is no indication that they can, because all they do can be done by language generation, without any decoding of meaning needed.
I split the idea into “attempt” when they didn’t seem to understand what was being talked about at all. After that, you could discuss if the attempt was successful. I think that because these systems can solve problems that involve the meanings of words, we can say there must be some meaning information encoded in the data.
> You need a human, with a human understanding of words, and language, and what those things mean, in order to decode the meaning from the words.
By this definition I think you’ll always have doubt about these systems.
Not necessarily. I'm describing the current situation, as I understand it. There's nothing stopping a future system from having the same abilities as a human to decode meaning from words, or to do anything else. But I for one would like to know exactly how such a system would work, and why it would have the capabilities it would have. I don't think that's a particularly high bar to clear, for technology and science. The whole point of both is to figure out how things work, and how to make them work like we want.
And what I want to know is where is the code for "meaning". I don't care why it's the code for "meaning", but if you point me to the code for "word embeddings" and you say "that's the code for 'meaning", then I'm going to wonder whether, if I ask for the code for "quicksort" you'll point me to the code for "bubblesort".
So, no, what we call things that do things is important, otherwise we don't know what things do what, and what things are being done.
And lest we forget:
However, in AI, our programs to a great degree are problems rather than solutions. If a researcher tries to write an "understanding" program, it isn't because he has thought of a better way of implementing this well-understood task, but because he thinks he can come closer to writing the implementation. If he calls the main loop of his program "UNDERSTAND', he i s (until proven innocent) merely begging the question. He may mislead a lot of people, most prominently himself, and enrage a lot of others.
What he should do instead is refer to this main loop as "G0034", and see if he can convince himself or anyone else that G0034 implements some part of understanding. Or he could give i t a name that reveals its intrinsic properties, like NODE-NET- INTERSECTION-FINDER, it being the substance of his theory that finding intersections in networks of nodes constitutes understanding. If Quillian <1969> had called his program the "Teachable Language Node Net Intersection Finder", he would have saved us some reading. (Except for those of us fanatic about finding the part on teachability.)
https://cs.fit.edu/~kgallagher/Schtick/Serious/McDermott.AI....
Edit: And this is not right at all:
>> That critical discussion was 10 years ago.
In AI, there are lots of people who say lots of things. They keep saying them, even when people point out that they are just things that they say. They continue to say them even long after the other people get tired and give up trying to make sense of what is being said. That doesn't mean that the "discussion" is over, it's just that there is no real way to stop people saying things if that's what they really want to do.