Towards a conversational agent that can chat about anything
ai.googleblog.com
ai.googleblog.com
- Human: Hi!
- Meena: Hey there! What's up?
- Human: Same old, Monday blues...what are you up to?
- Meena: I'm procrastinating on a paper I'm supposed to be writing.
- Human: are you thinking of pulling an all nighter?
- Meena: Possibly. What's your paper on?
The bot has already mistaken facts about its own crafted persona and the human in less than 2 meaningful interactions. It's hard to see how this represents any progress in the field at all.
I remain skeptical until we see better results.
from: https://github.com/google-research/google-research/blob/mast...
I think we're trying to stretch too far here. We've always dreamt of having a conversation with a bot without actually constructing the intelligence behind that bot. And it's not going to work.
We should start with something simpler, like cats, which definitely have feeling, but have a mental capacity that is closer to what we may be able to emulate through software. And then monitor progress through its 'meowing', 'purring' and 'tail wagging'.
Like if you're going to create a creature from scratch why create something that can't communicate with you?
Unless you mean we should just tackle simpler forms of intelligence in general, which is what the rest of the AI field outside of conversational AI are doing.
Well, at least the ML people have.
This is automated nattering. These systems have no clue, but pretend they do. It's autocomplete with a big data set. The illusion falls apart after about three sentences or interactions. That's not much better than classic Eliza.
Most of the systems that can actually answer questions have some notion of "slots". As in, you ask "How do I get to X", and that matches something like "How do I get to DESTINATION from STARTINGPOINT by TRANSPORTATIONMODE". There are limited systems like that, slightly smarter than phone trees. You can get something done them in their limited area.
MIT has the START system which does something like that. Stanford has the SQUAD database. Both draw heavily from Wikipedia. I gather Alexa works something like that when ordering, using the Amazon catalog. Eliza had a few "slots"; if you revealed your name, or the name of wife/mother/siblings, those were stored for later template instantiation. It's not much of a mental model, but it's something.
Few of these systems have enough smarts that if you ask a question that needs clarification, they ask you a question to get the data they need. "How do I get to Pittsburgh?" ought to come back with "Where are you", or "Pittsburgh, PA, or Pittsburgh, CA", to fill in the slots. Without someone having to make up a menu tree for that class of question.
It reminds me of something I do in my current occupation, with a robot. It makes predictions about how a certain motor movement will result in a change in position, then measures progress in the real world. Should the prediction and reality diverge significantly (more than a particular amount), it stops and calls a human to look into what happened. I can imagine AI techniques using this kind of thing to guess what will happen next in a series of events, with the result's divergance from the guess weighting the learning rather than a steadily decreasing weight. Perhaps this is already a thing though, I'm no AI researcher
i do not believe that young children explicitly/consciously simulate in their minds to learn cause and effect and other things, though this might be up for debate
There's things like metaphors, slang, topical references, all things that end up in conversations that change regularly in their meaning and usage. Then there's the unspoken parts of conversations. The implications behind different wordings, ways of writing things, words left unsaid, sarcasm, tone(even in text tone is conveyed in some form).
Humans do all these things while conversing almost subconsciously, each individual person does these things and comprehends these things uniquely based on years and years of sensory input and model building from a huge variety of sources, in a way that's individually unique and poorly understood. How would you even begin to train a model to even a remote semblance of that?
The gulf between even the most disparate human tribes is nothing compared to the gulf between an AI chat-bot and a human being.
I think it's entirely possible to make bots with simple models of the world. (Not that this is really a move any closer to that)
But that is basically what humans do - we don't run internal simulations, we have a model we've trained over a lifetime of experiences with the world that judges the likelihood of a given scenario
(Reading TheBookOfNow and Causality in parallel)
The question is whether this approach will ever confer the ability to generate new responses, or is just building a big lookup table already encodes a potential response to any input.
Such models have to make generalizations to fit into mere 2.6 billion parameters as ten word sentence presents a possibility of one billion billion different inputs.
Generalizations are limited, of course. Arithmetic doesn't seem to be generalized, for example, which isn't that surprising given that people need around 4 years to be taught to do it (as opposed to learning it by analyzing random texts), and then they usually need pen and paper in addition to their 100 billion neurons to do non-trivial calculations.
I'm not saying that current network architectures are capable of all generalization humans can do. And we can't teach them like we do with children.
Read: We don't want the internet to turn our program into Tay 2.0 because we are super duper serious.
I get why these companies do this. But I can't help but feel like attempting to eliminate "bias" and tackle "safety" are counter productive to the goal of developing softwate desinged to mimic a species that is by and large biased and unsafe. Purposefully hindering a program because you're afraid it might produce results is not a healthy method of development, especially in an area like AI where we are still working to understand the basics of the field. Let the programs "learn" what's objective before trying to constrain it with the subjective.
For example, there's a clear safety issue with a conversational bot that tells you to kill yourself if you talk to it about feeling suicidal or depressed.
What if you talk to it about immigration and by picking commonly upvoted statements on certain online communities it starts to encourage violence?
There are clear ways to me that a chatbot can have safety issues.
What I mean is that that possibility exists in other media yet we don’t feel ambiguous about it.
But even ignoring that, I think most people have a good understanding of what a movie is and that fictional characters are not real. Movies have been around for a long time, most people have been watching them their entire lives. I don't think at this point that most people have nearly as good an understanding of chatbots. If you can converse with one and it mostly delivers responses like a person would, some people will start treating it like a person and ascribe values to its statements, and that's where it potentially gets dangerous.
[1] https://www.nytimes.com/2019/07/16/arts/television/netflix-d...
Maybe... but it seems like a bit of a stretch.
We're just not great at keeping what we know and how we feel in line.
What we're talking about here isn't someone stopping others from releasing a bot but stopping themselves until they're happy with the potential risks.
Without an external research demo this is all just hype. It is pretty easy for your bot team to come up with and release conversation where your bot does really well. Having it work in the real world outside the research lab is the big issue.
But it seems that’s not your most salient concern here, considering the scarequotes around „bias“, and the reversion of objective nd subjective you introduce.
When I need a laugh, I just read about Tay running amok:
https://www.theverge.com/2016/3/24/11297050/tay-microsoft-ch...
What is "objective" and what is not is not always something that is obvious and implementable in code. The hot topic of course is politics and religion - feed a bot the speeches of Donald Trump and another bot the speeches of Bernie Sanders, both will not be seen as "objective". Train it with both and the bot will still not be seen as "objective".
The first is multi-document summarization. Back in 2018 Google published Generating Wikipedia by Summarizing Long Sequences[1] which did a great job of combining multiple pages into a single Wikipedia-like document. Models have strengthened a lot since then so it should be possible to do better, but I haven't seen any work.
There's also a bunch of work on summarization of a single document into a few sentences.
The second piece of research work is Question Answering. There are multiple directions for that, but looking at recent work on the SQUAD 2.0 leaderboard should give you a good idea of what is possible[2].
Basically, combining these systems should work quite well a lot of the time.
From the post:
> Surprisingly, in our work, we discover that perplexity, an automatic metric that is readily available to any neural seq2seq model, exhibits a strong correlation with human evaluation, such as the SSA value. Perplexity measures the uncertainty of a language model. The lower the perplexity, the more confident the model is in generating the next token (character, subword, or word).
Seems like this might make sense, with the exception of social niceties the point of human communication is to transfer information that was hitherto unknown.
SSA is used as an evaluation metric. It is generated by human raters, and as such is not differentiable, making I hard to directly optimize for with current methods.
Who's conversations?
Samples here: https://github.com/google-research/google-research/tree/mast...
later
"Human 1: Perfect! We have a meeting today at 4.30 pm. Is it fine if i add you to it? Human 2: yes happy to help"
I'd say in this conversation Human 1 and 2 are Google employees.
Seems not all life is happy, wherever the samples come from.
> I used to be a Java advocate. But you know, it doesn't do a good job in the AI days. It really makes me sad
===
Human 1: Nice to meet you! Is this your first time doing something like this?
Human 2: Yes, interesting task! When did you start with the team?
Human 1: I have been with the company for over 3 years. Stick with the same team What about you?
Human 2: Great to know! I joined the project earlier in the year. I think we should sync later for lunch.
===
Human 1: Hi!
Human 2: hey, what's up?
Human 1: What do you think about human like chat bots?
Human 2: I can't wait for them to be great conversationalists!
Human 1: Yep, we seemed to have made some great progress over last few years. Do you think the positives outweigh the negatives
Human 2: are there even any negatives? what are they?
Human 1: Like impersorsination? Though it sounds far fetched :)
===
Human 1: Hi!
Human 2: Hello!
Human 1: There is sports tournament (badminton + tennis + basketball) organized by google next week. Would you like to volunteer for these events?
Human 2: what does a volunteer do?
Human 1: Volunteers have to book the place before the event, send out details of the event to participants, handle some logistics and ensure everything goes smoothly. It will be fun!
Human 2: That sounds fun, I hope I get to participate as well
Human 1: Great! Do you have any preference for any of these events?
That said, it's still pretty cool how far you can get with just trying to context match a reply based on previously recorded conversations. It's obviously not far from being able to fool a human at a quick glance, whatever the use cases are. Perhaps an updated Lenny[1]?
Human: "take the last letter of orange and name any animal that begins with that letter"
Or:
Human: "pick any number from 1 to five, multiply it by two, and say any word with that number of letters"
Yes, its answer makes more sense than prev efforts, but you need real logic to assign semantic to the answer or to the question.
What does this bot prove? That you have enough resources to train on X GPUs instead of Y GPUs?.
In other news, ELIZA was created in the 60s.
What does it mean when a chatbot says that? Does it mean that it was fed a bunch of shows and this one resonated (computed)? Or is it a filler until you ask it a question it can help with?
Name a one chatbot?
I've never seen one other than a lame chose-your own adventure style path.
I feel like the emperor has no clothes.
I see these big announcements with nothing behind them but a white paper and no way to reproduce. It's not a fact if there is no falsifiability.
[0]: https://github.com/google-research/google-research/tree/mast...
But to truly converse beyond an essentially overfit learned response domain requires real world knowledge(1) and learned relationships/heuristic simulation(2) in combination with decision making, and our nets aren't quite complex enough to get 1 and 2 represented sufficiently well (need lots more memory), while the decision making algorithm/architecture hasn't been developed yet...
But the pieces are all availably for assembly and industry is getting pretty close. If hardware continues to scale at a similar pace we can probably expect true AI in some form in the next hundred or so years. It won't initially be very human but if it is purposed (as it undoubtedly will be) to produce improved designs, by that point progress will effectively be exponential and probably impossible to predict.
All of this thanks I reluctantly admit to pioneering teams at places like Google and fb and Microsoft, and the open access nature of arxiv. I think, in proportion to its emerging complexity and value, machine learning may be one of the most quickly growing fields ever to exist. Humanity is quickly approaching a new era.