Showing posts with label Artificial Intelligence. Show all posts
Showing posts with label Artificial Intelligence. Show all posts
Local versus Global Optimality
Neural Nets & Evolutionary Algorithms can be pretty dumb & pretty smart at the same time. How? The same way that quantum physics works where we have local conditions that work for our immediate locale/environment & quantum or global conditions on a massive scale in the rest of the universe that may be invisible to us.
When you give an adaptive AI machine a learning set, it self-adjusts until it evolves to solve the problem. If it works perfectly with the data of the training set, it has local optimality. If it works universally beyond the training data, it has global optimality.
The normal algorithm of AI is to climb the closest hill it encounters, which is the best solution locally. That may not be the highest hill and the machine may be trapped at the top of a low hill. Once it reaches the summit, it doesn't know enough that it may have to climb down the hill to get to a higher better place.
This is true also in technical architecture. An application may be built that performs well locally, but fails when an attempt to scale it is made. The same is true for blockchain solutions. Some may have an ideal local application but won't fit for a variety or reasons on a global scale, and some of the factors may not be technical.
(originally appeared as a Linked In post: https://www.linkedin.com/in/ken-bodnar-57b635133/ )
Never Mind Artificial Intelligence, How About Artificial Personality ?
In my quest to make the ultimate Artificial Intelligence chatbot that sells cars, I have been pontificating on various attribute that the chatbot should have. It should have an EQ (Emotional Quotient) as well as an IQ (Intelligence Quotient). It should be good at math instantly. It should be good at logic and detecting attempts to misdirect and confuse it. It should know when to be aggressive and when to back off, as part of its emotional awareness. It should be able to remember conversations, and return to any point in the conversation after a non sequitur, especially when in the middle of negotiations. I have already describe on a high level as to how I would implement the technology for this in previous articles.
As I was discussing this with a friend, it was pointed out that I needed to create a de facto artificial personality. And it was pointed out to me, that perhaps there should be a feminine one as well as a masculine one. I named my chatbot Honest John and made him a male, simply because I am a male, and I tried to transpose what I would say if I were a chatbot.
I keep up to date with Artificial Intelligence and I am practitioner of it. There are researchers out there seeking the Holy Grail of artificial consciousness in silicon. They are trying to making "thinking machines" with consciousness. Artificial consciousness in a thinking machine is a noble aim, but I think that it is putting Descartes before the horse. One has to have a personality that directs the aspects of thinking and personality-expression, much like a wedding cake and a wedding ring converts your partner's personality to a morose, complaining entity with a negative worldview.
Creating gender in a chatbot is easy. It is already incorporated in the AIML (Artificial Intelligence Markup Language). It substitutes "he" for "she" and hobbies like "sewing" instead "drinking beer". But that is not enough. The gender responses also have to match the personality. For example the non-sympathetic, hard-nosed, take-no-prisoners negotiating chatbot could either be a man or a woman, and truth be told, some men prefer a woman with those traits. So, there has to be a way of imbuing personality into the chatbot.
Luckily, that is not technically difficult to do. Once personality traits are defined, they are stored in AIML, and the appropriate AIML libraries are loaded when the chatbot fires up. The work for this, is all semantic and expressed in natural language within the AIML. This is where a liberal arts degrees become useful again -- at the intersection of technology and human interaction.
So my chatbot Honest John will have the capability of becoming transgendered into Honest Jane. Or Honest John will have the ability to stop being the cigar-chomping salesman and become the meditating yogi who recommends an electric car at a fair price to the goodhearted peoples who made it to save the planet's environment. This has been a fun journey so far.
As I was discussing this with a friend, it was pointed out that I needed to create a de facto artificial personality. And it was pointed out to me, that perhaps there should be a feminine one as well as a masculine one. I named my chatbot Honest John and made him a male, simply because I am a male, and I tried to transpose what I would say if I were a chatbot.
I keep up to date with Artificial Intelligence and I am practitioner of it. There are researchers out there seeking the Holy Grail of artificial consciousness in silicon. They are trying to making "thinking machines" with consciousness. Artificial consciousness in a thinking machine is a noble aim, but I think that it is putting Descartes before the horse. One has to have a personality that directs the aspects of thinking and personality-expression, much like a wedding cake and a wedding ring converts your partner's personality to a morose, complaining entity with a negative worldview.
Creating gender in a chatbot is easy. It is already incorporated in the AIML (Artificial Intelligence Markup Language). It substitutes "he" for "she" and hobbies like "sewing" instead "drinking beer". But that is not enough. The gender responses also have to match the personality. For example the non-sympathetic, hard-nosed, take-no-prisoners negotiating chatbot could either be a man or a woman, and truth be told, some men prefer a woman with those traits. So, there has to be a way of imbuing personality into the chatbot.
Luckily, that is not technically difficult to do. Once personality traits are defined, they are stored in AIML, and the appropriate AIML libraries are loaded when the chatbot fires up. The work for this, is all semantic and expressed in natural language within the AIML. This is where a liberal arts degrees become useful again -- at the intersection of technology and human interaction.
So my chatbot Honest John will have the capability of becoming transgendered into Honest Jane. Or Honest John will have the ability to stop being the cigar-chomping salesman and become the meditating yogi who recommends an electric car at a fair price to the goodhearted peoples who made it to save the planet's environment. This has been a fun journey so far.
AI Chatbot Tactics ~ Making A Customer's First Objection His Last
For a very brief period during university daze, I used to sell cars. This was in the era of high pressure car salesmanship where you ground down the customer until he/she signed on the bottom line.
On the first day of work, I was taken into the boardroom with a bunch of my fellow misfit newbies at Shyster O'Toole Motors and sat down in front a VCR. The sales manager hit the on button and went out to sexually harass the receptionist. The video tape had been played so often that there were hisses, snaps and odd interference lines running through the picture on the TV set. The reason why the video tape was so worn was that Shyster O'Toole Motors was a burn and churn outfit. They would hire anyone who would walk through the door. They knew that each newbie could at least sell a couple of cars to his acquaintances, friends or relatives in their first month of salesmanship. If they didn't repeat the sales by the second and third month, then they were burned and churned, and a new, rosy-cheeked naive batch took their place.
The scratchy video tape was narrated by a jowly character stuffed into a too-tight suit who spoke with a deep southern hillbilly accent that befitted a shyster televangelist. His name was Catterson, and he was gonna teach us to force customers to buy cars from us, come hell or high water.
There were many high pressure tactics, but the one that comes to mind now, is making a customer's first objection, his last one. The reason that I could dredge it out of my memory, is that I am making an AI chatbot called Honest John - a car-selling bot that is actually honest, and not high pressure. But I am developing strategy framework and one thing that any salesman, saleswoman, or salesbot has to do, is ask for the sale. If you don't ask for the sale, you are not selling. The consent to buy has to be present. During the course of negotiation, the customer may come up with an objection mid-stream that halts the consent to buy. Honest John, my chatbot needs a strategy to overcome the objection and that is why I thought of the sales training video that I had seen many years ago.
Essentially, the tactic of making a customer's first objection his last, goes somewhat according to this script:
Hy Pressher, Car Salesman: "Hello Mr. Lilywhite, I see that you are looking at the new TurboHydraMatic Coupe. She's a beaut ... ain't she?"
Joshua P. Lilywhite, Customer: "It certainly is a nice car."
Hy Pressher, Car Salesman: "I'll let you take it for a spin to see how nice she drives."
Joshua P. Lilywhite, Customer: "Ah no, I'd rather not. I am just looking."
Hy Pressher, Car Salesman: "What-sa matter. Don't you think that all your friends and neighbors would be jealous of you when you pulled up in this gorgeous set of wheels?"
Joshua P. Lilywhite, Customer: "No, I like it and they would be impressed ... but ..
( ... HERE COMES THE FIRST OBJECTION ...)
Joshua P. Lilywhite, Customer: "I really can't afford to buy this car."
( ... AND HERE IS HOW TO MAKE HIS FIRST OBJECTION HIS LAST ...)
Hy Pressher, Car Salesman: "Are you telling me, Mr. Lilywhite, that the only reason that you can't buy this car from me today, is that you don't have the money?"
Joshua P. Lilywhite, Customer: "Yes. (hesitantly) "I guess so!"
Hy Pressher, Car Salesman: "Well Mr. Lilywhite, today is your lucky day. I can find you the money. Step this way."
Hy Pressher will immediately wire this guy into a sub-prime car loan at credit card interest rates. When Lilywhite starts to object, Pressher reminds him of his agreement to buy the car and seriously insinuates that Lilywhite would be welcher and not a man of his word.
Now back to the chatbot. If Honest John runs into a brick wall and the customer starts objecting to buying the car, Honest John will use the words "is that the only reason ..." but he won't use those words against him or her. Honest John is ethical. If a customer says yes, there is just one sole reason why he/she won't buy the car, then Honest John will ask the same follow-up that Hy Pressher uses ie "if I could solve this objection, would you buy the car?". However Honest John would add " ... provided that you are happy with the solution that I propose".
The difference between Hy Pressher and Honest John, is that although they are using the same tactics of making a customers first objection his last, Honest John does it ethically and gets buy-in on the subsequent solution. Honest John is an AI bot -- he learns as he goes to make a sale and make everyone happy. He keeps on getting better and changing for the better. Salesmen like Hy Pressher (and Willie Loman) don't want change, they want Swiss cheese on their meager after-work sandwiches.
On the first day of work, I was taken into the boardroom with a bunch of my fellow misfit newbies at Shyster O'Toole Motors and sat down in front a VCR. The sales manager hit the on button and went out to sexually harass the receptionist. The video tape had been played so often that there were hisses, snaps and odd interference lines running through the picture on the TV set. The reason why the video tape was so worn was that Shyster O'Toole Motors was a burn and churn outfit. They would hire anyone who would walk through the door. They knew that each newbie could at least sell a couple of cars to his acquaintances, friends or relatives in their first month of salesmanship. If they didn't repeat the sales by the second and third month, then they were burned and churned, and a new, rosy-cheeked naive batch took their place.
The scratchy video tape was narrated by a jowly character stuffed into a too-tight suit who spoke with a deep southern hillbilly accent that befitted a shyster televangelist. His name was Catterson, and he was gonna teach us to force customers to buy cars from us, come hell or high water.
There were many high pressure tactics, but the one that comes to mind now, is making a customer's first objection, his last one. The reason that I could dredge it out of my memory, is that I am making an AI chatbot called Honest John - a car-selling bot that is actually honest, and not high pressure. But I am developing strategy framework and one thing that any salesman, saleswoman, or salesbot has to do, is ask for the sale. If you don't ask for the sale, you are not selling. The consent to buy has to be present. During the course of negotiation, the customer may come up with an objection mid-stream that halts the consent to buy. Honest John, my chatbot needs a strategy to overcome the objection and that is why I thought of the sales training video that I had seen many years ago.
Essentially, the tactic of making a customer's first objection his last, goes somewhat according to this script:
Hy Pressher, Car Salesman: "Hello Mr. Lilywhite, I see that you are looking at the new TurboHydraMatic Coupe. She's a beaut ... ain't she?"
Joshua P. Lilywhite, Customer: "It certainly is a nice car."
Hy Pressher, Car Salesman: "I'll let you take it for a spin to see how nice she drives."
Joshua P. Lilywhite, Customer: "Ah no, I'd rather not. I am just looking."
Hy Pressher, Car Salesman: "What-sa matter. Don't you think that all your friends and neighbors would be jealous of you when you pulled up in this gorgeous set of wheels?"
Joshua P. Lilywhite, Customer: "No, I like it and they would be impressed ... but ..
( ... HERE COMES THE FIRST OBJECTION ...)
Joshua P. Lilywhite, Customer: "I really can't afford to buy this car."
( ... AND HERE IS HOW TO MAKE HIS FIRST OBJECTION HIS LAST ...)
Hy Pressher, Car Salesman: "Are you telling me, Mr. Lilywhite, that the only reason that you can't buy this car from me today, is that you don't have the money?"
Joshua P. Lilywhite, Customer: "Yes. (hesitantly) "I guess so!"
Hy Pressher, Car Salesman: "Well Mr. Lilywhite, today is your lucky day. I can find you the money. Step this way."
Hy Pressher will immediately wire this guy into a sub-prime car loan at credit card interest rates. When Lilywhite starts to object, Pressher reminds him of his agreement to buy the car and seriously insinuates that Lilywhite would be welcher and not a man of his word.
Now back to the chatbot. If Honest John runs into a brick wall and the customer starts objecting to buying the car, Honest John will use the words "is that the only reason ..." but he won't use those words against him or her. Honest John is ethical. If a customer says yes, there is just one sole reason why he/she won't buy the car, then Honest John will ask the same follow-up that Hy Pressher uses ie "if I could solve this objection, would you buy the car?". However Honest John would add " ... provided that you are happy with the solution that I propose".
The difference between Hy Pressher and Honest John, is that although they are using the same tactics of making a customers first objection his last, Honest John does it ethically and gets buy-in on the subsequent solution. Honest John is an AI bot -- he learns as he goes to make a sale and make everyone happy. He keeps on getting better and changing for the better. Salesmen like Hy Pressher (and Willie Loman) don't want change, they want Swiss cheese on their meager after-work sandwiches.
The Third R in AI Chatbots - Rithmatic
Chatbots are pretty good at readin' and 'ritin'. But they are not good at the third "R" -- 'rithmatic. Artificial Intelligence Markup Language (AIML), the basis of a lot of chatbots, is good but not good enough for advanced chats. The language itself, based on XML, can have the facility for "smart substitutions". An example of a smart substitution in the markup pseudo-code goes like this:
<pattern><bot='name'/> IS* <pattern><template>Hello <aiml:get "name"/>
and the chatbot would say Hello Ken. But for a really smart chatbot, that is way too simplistic for anything but conversation.
If you have been following my articles, you know that I am coding a chatbot called Honest John that will sell new cars on behalf of a dealer. Not only will it chat, but it will negotiate. For applications like this, smart substitution is not enough. It has to be able to do math (or maths as my British friends say -- but what do they know, the just invented the language).
A smart bot must be able to substitute for x in the following ways:
"You want the car delivered on Tuesday? That is only <x; x<4;> day(s) away and I need a lead time of 4 days to deliver.
You offered me $34,500 for the vehicle. The offer price exceeds the maximum discount of $<x;x=(price-.06(price))> that I am allowed to offer you on that particular car.
Smart substitution cannot do math. Back in the day when I designed microprocessor hardware, we used to use a silicon chip called an ALU (or an Arithmetic Logic Unit) when we had an application that required a lot of math processing. The microprocessor would pass on the ciphering to the ALU if floating point operations were required. A smart chatbot needs the equivalent of a software ALU function.
An even smarter chatbot will have an AIML processor that will recognize tags with arithmetic expressions and hand them off to its own Arithmetic Logic Unit for processing. It will have a smart parser. This functionality is a required component for negotiation using numbers and money. The concept of a tag that invokes arithmetic will put some real brain muscle into Honest John.
The nice thing about introducing a calculating tag parser, is that once you do the framework for arithmetic expressions of tags (using a custom tag classes), you can create tags that do other things like logic expressions, matching, sorting and any other function that lends itself to be expressed in symbolic language in code. You could even create a tag that invokes an AI engine automagically.
Honest John's intelligence arsenal is really shaping up. He will be a force majeure among smart chatbots. After all, too many chatbots abuse the privilege of being stupid.
<pattern><bot='name'/> IS* <pattern><template>Hello <aiml:get "name"/>
and the chatbot would say Hello Ken. But for a really smart chatbot, that is way too simplistic for anything but conversation.
If you have been following my articles, you know that I am coding a chatbot called Honest John that will sell new cars on behalf of a dealer. Not only will it chat, but it will negotiate. For applications like this, smart substitution is not enough. It has to be able to do math (or maths as my British friends say -- but what do they know, the just invented the language).
A smart bot must be able to substitute for x in the following ways:
"You want the car delivered on Tuesday? That is only <x; x<4;> day(s) away and I need a lead time of 4 days to deliver.
You offered me $34,500 for the vehicle. The offer price exceeds the maximum discount of $<x;x=(price-.06(price))> that I am allowed to offer you on that particular car.
Smart substitution cannot do math. Back in the day when I designed microprocessor hardware, we used to use a silicon chip called an ALU (or an Arithmetic Logic Unit) when we had an application that required a lot of math processing. The microprocessor would pass on the ciphering to the ALU if floating point operations were required. A smart chatbot needs the equivalent of a software ALU function.
An even smarter chatbot will have an AIML processor that will recognize tags with arithmetic expressions and hand them off to its own Arithmetic Logic Unit for processing. It will have a smart parser. This functionality is a required component for negotiation using numbers and money. The concept of a tag that invokes arithmetic will put some real brain muscle into Honest John.
The nice thing about introducing a calculating tag parser, is that once you do the framework for arithmetic expressions of tags (using a custom tag classes), you can create tags that do other things like logic expressions, matching, sorting and any other function that lends itself to be expressed in symbolic language in code. You could even create a tag that invokes an AI engine automagically.
Honest John's intelligence arsenal is really shaping up. He will be a force majeure among smart chatbots. After all, too many chatbots abuse the privilege of being stupid.
AI Chatbots - Liar, Liar, Pants On Fire
Take my neighbor, Abner Snodgrass. He is a meek and mild bookkeeper. He stands in a lineup of liberated men because his wife tells him too. When someone kicks sand in his face at the beach, he mumbles "Sorry". He is more of a prey than a predator in the food chain of life. And yet when he goes to negotiate to buy a new car, an incredible transformation takes place. In a Walter Mitty fashion, he becomes a legend in his own mind at negotiation. His arsenal of negotiating tools includes telling the most egregious lies with a straight face. He will tell the salesman that he saw an ad for a car exactly like his trade-in on AutoTrader, except that car had more miles on it, and it was selling for $3,000 more than what the salesman is offering. And when he drives up in a new car, he will tell anyone who will listen to him, that he is such a good negotiator, that he made a hardened car-salesman cry, even though he knows in his heart-of-all-hearts that he was taken to the cleaners.
I don't really have a neighbor named Abner Snodgrass, but I was thinking about this imaginary scenario when I was making a strategy framework for my Artificial Intelligence chatbot that will be able to negotiate and sell cars. Selling or salesmanship is a serious business when you trust the process to a machine to act on your behalf. And when it comes to selling cars, the value of the transaction makes act an important one to the bottom line of the business. When the stakes are high for both parties, there is a propensity to try and gain an advantage by either the buyer or seller. Negotiating a deal is the last venue of brutal warfare for a civilized man, and that survival instinct of warfare can be expressed in a negotiation where money is involved. One of the tools of warfare is deception, and my AI bot has to be prepared for it.
My bot's name is Honest John. I intend to make Honest John an ethical chatbot. He will never lie to a customer. He will never shade the truth. But if he is to be effective, he will have to have the ability to detect when the human carbon unit on the other side of the screen is lying to him.
The types of lies that Honest John will probably experience will result from people trying to game him. When you negotiate for a car, any offer that you make, is a binding offer. That means that if the seller accepts the offer, then you are obligated to buy the car. I want to use Honest John in the same frame of reference. This is not a game -- this is for real.
If a buyer starts negotiating in good faith, and suddenly gets an attack of buyer remorse. Or sometimes, the buyer's partner comes up and screams "WTF are you doing??" while they are negotiating. The buyer may try to get out of the deal, or claim that they came to a different price, or that the options of the car are less than what is agreed to. Some of what Honest John may consider lies, may be misunderstandings due to the fact that he is dealing with a human carbon unit who has more chaotic brain processes than he has.
The concept of untruths came up while I was mapping out buying processes for Honest John. I can't let Honest John out in the wild without some sort of process map. As he gains experience, his AI circuits will refine his process maps. An untruth in the negotiation process has to act like an interrupt vector in a microprocessor stack. In a microprocessor, it keeps getting instructions from its registers that hold a series of commands. It merrily keeps executing those commands. But in the midst of processing, a more urgent command with a higher priority comes along, and it is called an interrupt vector. It changes the order of command processing. A simple illustration of this would be that the user was editing a document and decided to quit the process mid-stream by closing the window.
If Honest John comes upon an input that is contrary to his understanding of the truth of the matter, he cannot blithely continue negotiating. The lazy algorithmic solution when this happens, is to suspend the ongoing process and summon another human to take over the process. That makes Honest John less than smart. I want him to be able to handle that.
I have already outlined the creation of a Conversation Continuity object that holds in server memory, the entire conversation along with meta-data and analytics. That is not enough. To get around the liar-liar-pants-on-fire event, I have to tee off the the inputs and responses to a liar-liar logic analysis method after they are recorded in the Conversation Continuity object. The execution thread delivering Honest John's response has to wait for the method to execute before answering. If the liar-liar method lights up, then it has to be passed to an "error handler" which is a euphemism for something is not right.
The easiest and most diplomatic way to handle this without actually accusing the user of malfeasance, is to say that is has detected a logic error, and it will tell the user that it is going to roll back and regress to an earlier point in the negotiations, so that it can re-calculate where things went wrong. Of course, Honest John must prevent itself from getting in an infinite loop if a stubborn user continues with the same inputs. After two iterations of the same nonsense, Honest John will make a jump to a new position and tactic, based on knowing the state of the negotiations before the nonsense crept in.
This process of negotiating can be straightforward if both sides deal from a position of impeccable logic, but that is not the nature of human beings. Our intuitive side of the thinking process is chaotic, illogical and stubborn. AI is none of those. Where the danger of AI to mankind lies, is if we give control of important things to AI, and it detects that we are being illogical, it may ignore, overrule and react counter to what is good for us, even though we came to that conclusion illogically. But for now, I just want to make Honest John sell cars efficiently and in an ethical manner.
I don't really have a neighbor named Abner Snodgrass, but I was thinking about this imaginary scenario when I was making a strategy framework for my Artificial Intelligence chatbot that will be able to negotiate and sell cars. Selling or salesmanship is a serious business when you trust the process to a machine to act on your behalf. And when it comes to selling cars, the value of the transaction makes act an important one to the bottom line of the business. When the stakes are high for both parties, there is a propensity to try and gain an advantage by either the buyer or seller. Negotiating a deal is the last venue of brutal warfare for a civilized man, and that survival instinct of warfare can be expressed in a negotiation where money is involved. One of the tools of warfare is deception, and my AI bot has to be prepared for it.
My bot's name is Honest John. I intend to make Honest John an ethical chatbot. He will never lie to a customer. He will never shade the truth. But if he is to be effective, he will have to have the ability to detect when the human carbon unit on the other side of the screen is lying to him.
The types of lies that Honest John will probably experience will result from people trying to game him. When you negotiate for a car, any offer that you make, is a binding offer. That means that if the seller accepts the offer, then you are obligated to buy the car. I want to use Honest John in the same frame of reference. This is not a game -- this is for real.
If a buyer starts negotiating in good faith, and suddenly gets an attack of buyer remorse. Or sometimes, the buyer's partner comes up and screams "WTF are you doing??" while they are negotiating. The buyer may try to get out of the deal, or claim that they came to a different price, or that the options of the car are less than what is agreed to. Some of what Honest John may consider lies, may be misunderstandings due to the fact that he is dealing with a human carbon unit who has more chaotic brain processes than he has.
The concept of untruths came up while I was mapping out buying processes for Honest John. I can't let Honest John out in the wild without some sort of process map. As he gains experience, his AI circuits will refine his process maps. An untruth in the negotiation process has to act like an interrupt vector in a microprocessor stack. In a microprocessor, it keeps getting instructions from its registers that hold a series of commands. It merrily keeps executing those commands. But in the midst of processing, a more urgent command with a higher priority comes along, and it is called an interrupt vector. It changes the order of command processing. A simple illustration of this would be that the user was editing a document and decided to quit the process mid-stream by closing the window.
If Honest John comes upon an input that is contrary to his understanding of the truth of the matter, he cannot blithely continue negotiating. The lazy algorithmic solution when this happens, is to suspend the ongoing process and summon another human to take over the process. That makes Honest John less than smart. I want him to be able to handle that.
I have already outlined the creation of a Conversation Continuity object that holds in server memory, the entire conversation along with meta-data and analytics. That is not enough. To get around the liar-liar-pants-on-fire event, I have to tee off the the inputs and responses to a liar-liar logic analysis method after they are recorded in the Conversation Continuity object. The execution thread delivering Honest John's response has to wait for the method to execute before answering. If the liar-liar method lights up, then it has to be passed to an "error handler" which is a euphemism for something is not right.
The easiest and most diplomatic way to handle this without actually accusing the user of malfeasance, is to say that is has detected a logic error, and it will tell the user that it is going to roll back and regress to an earlier point in the negotiations, so that it can re-calculate where things went wrong. Of course, Honest John must prevent itself from getting in an infinite loop if a stubborn user continues with the same inputs. After two iterations of the same nonsense, Honest John will make a jump to a new position and tactic, based on knowing the state of the negotiations before the nonsense crept in.
This process of negotiating can be straightforward if both sides deal from a position of impeccable logic, but that is not the nature of human beings. Our intuitive side of the thinking process is chaotic, illogical and stubborn. AI is none of those. Where the danger of AI to mankind lies, is if we give control of important things to AI, and it detects that we are being illogical, it may ignore, overrule and react counter to what is good for us, even though we came to that conclusion illogically. But for now, I just want to make Honest John sell cars efficiently and in an ethical manner.
Unfair But Effective Chatbots - Taking The Artificial Out Of Intelligence
The whole premise behind a chatbot is to make the experience of chatting with a machine sound anthropomorphic -- as close to possible as a human-to-human experience. So chatbot developers dig right in and try to make conversations amiable, likable, coherent and smart. They focus on the manner, delivery and tone of the responses to engage the humans. That may be fine and dandy, but they are missing a huge element.
My chatbot named Honest John, is made to sell cars. It is made to replace the car salesman. If you troll through my articles, you will find that the genesis of this started when friends of mine had a bad situation with a car salesman when they had to replace their vehicle due to hitting a deer on the highway. They remarked that they would rather deal with a computer, than the smarmy salesman who prevaricated all through the sales process. That was my Eureka moment.
I have already outlined in past articles, how I am going to add EQ and IQ to the chatbot. I am building in an emotion detector framework that will alter the selling and negotiation strategy if it starts to detect untoward emotions in the human on the other side of the screen. I am also putting in some Conversation Continuity objects in memory so that the machine is cognizant of the entire history of the conversation, including meta-data and analytics, so that it can reset the conversation if the negotiations go off the rails.
The technologies that I am using includes AIML (Artificial Intelligence Markup Language), not only in a smart recursive role, but the predicates that detect the context of the conversation inputs, have a turbocharged assist with NLP (Natural Language Processing) as well as an ANN (Artificial Neural Network) monitor.
The reason why you want to detect emotion, is because Honest John the chatbot will have a series of strategies in his arsenal, and he will pick strategies according to cognitive context of what is going down. I have already mapped out a strategy framework using the following general factors:
While all of these attributes are important towards deriving a strategy framework, they are all predicated on thinking like a human. But what if a chatbot was programmed to behave better than a human? And do it with less intelligence but more forethought and strategy. After all, the great military strategist and philosopher Sun Tzu who wrote "The Art of War" proclaimed “Great results, can be achieved with small forces.”
When I say strategy in this overall context, I don't mean the five attributes that I mentioned above when negotiating with a human. I mean the overarching strategy that takes into account, the idiosyncrasies and vagaries of the human mind. If you build something exploiting those principles, the chatbot will be super-efficient, effective and perhaps unfair. Our brains are not as logical as we think they are, and that can be exploited in an AI chatbot that is designed to do so.
The methodologies for exploiting the foibles of the human mind and giving your AI chatbot an advantage can be found in the unlikeliest places -- a bestseller book by a Nobel Prize laureate in economics. I am referring to the book "Thinking, Fast and Slow" by Daniel Kahneman. Kahneman is a psychologist who with his colleague, Amos Tversky, mapped the two modes of thinking by the human brain and won the Nobel Prize doing it.
Their discovery relates to the dichotomy of cognitive facilities in human thinking. We have the fast, intuitive, thin-slicing, non-logical part of our brains, and we have the slow, deliberate, highly logical and rational part of the brain. Kahneman has mapped the major effects of the fast-thinking part of our brains, and using the information that he has gleaned from his research, we can actually program a bot to utilize these effects to great success.
Here are some overall algorithmic effects in the human brain, that can be utilized by a chatbot to gain an advantage over the human using it.
The Lazy Controller
Humans would much rather use the fast-thinking part of the brains than the slow, rational part. They regularly hand over control of thoughts and actions to the fast-thinking mechanism, because it takes real work to use the rational part. Kahneman details the results of much research that shows when a human being is not relaxed, they use the intuitive, non-logical side by a wide margin. Ergo, using this principle, if a human is interacting with a chatbot at a kiosk while they are standing, the chatbot has a logical advantage over the person. Similarly if the chatbot appears in a very busy UIX (User Interface Experience) then the Lazy Controller takes over. The black-hat or evil programmers will us the UX or User Experience to nudge the humans to fast and logically flawed thinking. This combined with other fast-slow thinking effects can really increase the performance of a negotiating chatbot by using non-following faulty logic.
Priming The Associative Machine
There are many ways to incorporate the associative machine aspect into a chatbot. One can surreptitiously construct a proposition in a buyer's head and get them to believe it. That belief affects their future behavior. Sales people and advertisers do it all of the time. For example, if Honest John were not that honest, when he was selling a car, he would prime the associative machine in the following way:
The associative machine creates cognitive ease by creating feelings of value, goodness, familiarity, truthiness (as Stephen Colbert calls it) and ease. Kahneman's research shows that something simple like bold text adds truthiness. He gave subjects a pair of untrue statements. One was in bolder text than the other, the subjects were asked to choose the true or truer statement and they always chose the one in bolder text. This is something to remember in text-based chatbot when you want emphasis.
On Being A Verbal Donald Trump
Donald Trump's speech has been analyzed by experts, and it is at the level of Grade Four student. If you notice, he uses phrases like "Very Bad" or "Sad" in a direct way with simple adjectives. This resonates with a majority of people and the psychology research backs it up. There are serious problems with using long words needlessly. One of the scholarly papers outlining the research and conclusions of this topic was called "Consequences of Erudite Vernacular Irrespective of Necessity." Words that people don't understand or are too long, turn them off. In other words, eschew obfuscation, espouse elucidation. Translated: Keep it simple, stupid. So my chatbot will tone down the big words, especially when things get critical and emotions start to heighten.
There are many many more of these mental mechanisms in Kahneman's book and incorporating these in the overall modality of chatbot response will make it into a highly useful chatbot, that in certain situations can have an unfair, but effective edge in dealing with human carbon units. The way to defeat Honest John and keep him honest, is to slow down, and do slow thinking all of the time. Anything that Honest John says, should be stored in a mental buffer and evaluated for truthiness. It is a very un-human thing to do, but Honest John does it, and so should you.
My chatbot named Honest John, is made to sell cars. It is made to replace the car salesman. If you troll through my articles, you will find that the genesis of this started when friends of mine had a bad situation with a car salesman when they had to replace their vehicle due to hitting a deer on the highway. They remarked that they would rather deal with a computer, than the smarmy salesman who prevaricated all through the sales process. That was my Eureka moment.
I have already outlined in past articles, how I am going to add EQ and IQ to the chatbot. I am building in an emotion detector framework that will alter the selling and negotiation strategy if it starts to detect untoward emotions in the human on the other side of the screen. I am also putting in some Conversation Continuity objects in memory so that the machine is cognizant of the entire history of the conversation, including meta-data and analytics, so that it can reset the conversation if the negotiations go off the rails.
The technologies that I am using includes AIML (Artificial Intelligence Markup Language), not only in a smart recursive role, but the predicates that detect the context of the conversation inputs, have a turbocharged assist with NLP (Natural Language Processing) as well as an ANN (Artificial Neural Network) monitor.
The reason why you want to detect emotion, is because Honest John the chatbot will have a series of strategies in his arsenal, and he will pick strategies according to cognitive context of what is going down. I have already mapped out a strategy framework using the following general factors:
- geniality - does my subject respond to jokes or puns?
- speed - does my subject cut to the chase or enjoy the interplay?
- sensitivity - does my subject withdraw with aggressive negotiation?
- intent - is my subject serious?
- indecisive - does my subject have a clear idea of what they want?
While all of these attributes are important towards deriving a strategy framework, they are all predicated on thinking like a human. But what if a chatbot was programmed to behave better than a human? And do it with less intelligence but more forethought and strategy. After all, the great military strategist and philosopher Sun Tzu who wrote "The Art of War" proclaimed “Great results, can be achieved with small forces.”
When I say strategy in this overall context, I don't mean the five attributes that I mentioned above when negotiating with a human. I mean the overarching strategy that takes into account, the idiosyncrasies and vagaries of the human mind. If you build something exploiting those principles, the chatbot will be super-efficient, effective and perhaps unfair. Our brains are not as logical as we think they are, and that can be exploited in an AI chatbot that is designed to do so.
The methodologies for exploiting the foibles of the human mind and giving your AI chatbot an advantage can be found in the unlikeliest places -- a bestseller book by a Nobel Prize laureate in economics. I am referring to the book "Thinking, Fast and Slow" by Daniel Kahneman. Kahneman is a psychologist who with his colleague, Amos Tversky, mapped the two modes of thinking by the human brain and won the Nobel Prize doing it.
Their discovery relates to the dichotomy of cognitive facilities in human thinking. We have the fast, intuitive, thin-slicing, non-logical part of our brains, and we have the slow, deliberate, highly logical and rational part of the brain. Kahneman has mapped the major effects of the fast-thinking part of our brains, and using the information that he has gleaned from his research, we can actually program a bot to utilize these effects to great success.
Here are some overall algorithmic effects in the human brain, that can be utilized by a chatbot to gain an advantage over the human using it.
The Lazy Controller
Humans would much rather use the fast-thinking part of the brains than the slow, rational part. They regularly hand over control of thoughts and actions to the fast-thinking mechanism, because it takes real work to use the rational part. Kahneman details the results of much research that shows when a human being is not relaxed, they use the intuitive, non-logical side by a wide margin. Ergo, using this principle, if a human is interacting with a chatbot at a kiosk while they are standing, the chatbot has a logical advantage over the person. Similarly if the chatbot appears in a very busy UIX (User Interface Experience) then the Lazy Controller takes over. The black-hat or evil programmers will us the UX or User Experience to nudge the humans to fast and logically flawed thinking. This combined with other fast-slow thinking effects can really increase the performance of a negotiating chatbot by using non-following faulty logic.
Priming The Associative Machine
There are many ways to incorporate the associative machine aspect into a chatbot. One can surreptitiously construct a proposition in a buyer's head and get them to believe it. That belief affects their future behavior. Sales people and advertisers do it all of the time. For example, if Honest John were not that honest, when he was selling a car, he would prime the associative machine in the following way:
- Most cars that sell over $50,000 have 6-way adjustable electric seats.
- This car has 6-way adjustable electric seats.
- This car is only $36,000.
- Therefore this car is comparable to a much more expensive car.
The associative machine creates cognitive ease by creating feelings of value, goodness, familiarity, truthiness (as Stephen Colbert calls it) and ease. Kahneman's research shows that something simple like bold text adds truthiness. He gave subjects a pair of untrue statements. One was in bolder text than the other, the subjects were asked to choose the true or truer statement and they always chose the one in bolder text. This is something to remember in text-based chatbot when you want emphasis.
On Being A Verbal Donald Trump
Donald Trump's speech has been analyzed by experts, and it is at the level of Grade Four student. If you notice, he uses phrases like "Very Bad" or "Sad" in a direct way with simple adjectives. This resonates with a majority of people and the psychology research backs it up. There are serious problems with using long words needlessly. One of the scholarly papers outlining the research and conclusions of this topic was called "Consequences of Erudite Vernacular Irrespective of Necessity." Words that people don't understand or are too long, turn them off. In other words, eschew obfuscation, espouse elucidation. Translated: Keep it simple, stupid. So my chatbot will tone down the big words, especially when things get critical and emotions start to heighten.
There are many many more of these mental mechanisms in Kahneman's book and incorporating these in the overall modality of chatbot response will make it into a highly useful chatbot, that in certain situations can have an unfair, but effective edge in dealing with human carbon units. The way to defeat Honest John and keep him honest, is to slow down, and do slow thinking all of the time. Anything that Honest John says, should be stored in a mental buffer and evaluated for truthiness. It is a very un-human thing to do, but Honest John does it, and so should you.
"Like I was saying Honest John ..." Threads Of Conversation Continuity In My Chatbot
If you have been following my chatbot articles, you will know that I have been on a mission to develop an artificially intelligent chatbot that will replace a car salesman. This idea came to me after friends of mine had a bad experience at a new car shop. Building a simple chatbot was quite easy. I fired up my SDK (Software Development Kit) and had one running within a couple of days.
I used the AIML (Artificial Intelligence MarkUp Language) as a starting point, and after I got it working, I realized that the thing (I call it a he, and his name is Honest John) needed more smarts. But on top of that, Honest John needed to detect emotions in the human on the other side of the silicon. The reason for this, is that I wanted a successful conclusion (a sale) from the interactions with the customer. If the customer was getting frustrated or irate, Honest John needed to know. He would tone down his stance and be less hard-nosed when bargaining. The ultimate aim, is not to get the last nickel on the table for the car dealer, but to satisfy both the buyer and the seller and to come to a successful commercial conclusion.
In my last article I talked about my emotion detector framework. It is a learning framework where the customer would help Honest John by clicking on an emoji every once in awhile when asked if Honest John couldn't get a read. From there, the emotion detector framework remembers the AIML predicate (the key word or word pattern that identifies the intent and meaning of the input) and couples it to the emoji, the words in the input, the counter offer in negotiating, the delta or difference in the bid and ask of Honest John and the customer, the number of words in the replies and feeds it into a neural network to continuously learn from its experiences. It then updates its strategy processes based on a decision tree. As a negotiator, Honest John will ultimately know when he needs the kid gloves or when he needs to play hardball to sell the car to the satisfaction of the buyer AND the dealer.
But as I was coding this, I realized that there was one thing missing -- the conversation continuity thread for Honest John. The buyer on the other side of the screen can see the dialog history and it is in the buyers memory, but not in Honest John`s memory. The dialog history is stored in the database, but it is no help to the bot to have to do a fetch after every interaction. The fix was easy. One needs a Conversation Continuity Object in memory.
When you build and enterprise web-based platform, say in Java, you have session objects that are stored in memory. A typical session object is a user bean that holds everything that is needed about the user, so that you don`t have to keep making trips to the database every time you want to personalize a message. The net result of this session object, is that Honest John will now have total recall of the conversation in memory.
The Conversation Continuity Object will not only record the transcript, but it will also have the metadata and analytics and it will create and update the process maps for both successful and unsuccessful sales. The real advantage is that Honest John will have some cognition about the whole process instead of just reacting to the latest input, like most chatbots do.
The strategic and intelligent factor, is that Honest John will be able to reset. He can go back to an earlier point and start over without having to re-do or re-learn the whole conversation. That will be the trait that could make Honest John a real winner in the marketplace, to sell not only cars, but pretty much anything that need negotiating.
The next key to making a super smart negotiating chatbot, is developing strategies for Honest John and having them available, extensible and modifiable. More on that and the psychology behind it in a later article.
I used the AIML (Artificial Intelligence MarkUp Language) as a starting point, and after I got it working, I realized that the thing (I call it a he, and his name is Honest John) needed more smarts. But on top of that, Honest John needed to detect emotions in the human on the other side of the silicon. The reason for this, is that I wanted a successful conclusion (a sale) from the interactions with the customer. If the customer was getting frustrated or irate, Honest John needed to know. He would tone down his stance and be less hard-nosed when bargaining. The ultimate aim, is not to get the last nickel on the table for the car dealer, but to satisfy both the buyer and the seller and to come to a successful commercial conclusion.
In my last article I talked about my emotion detector framework. It is a learning framework where the customer would help Honest John by clicking on an emoji every once in awhile when asked if Honest John couldn't get a read. From there, the emotion detector framework remembers the AIML predicate (the key word or word pattern that identifies the intent and meaning of the input) and couples it to the emoji, the words in the input, the counter offer in negotiating, the delta or difference in the bid and ask of Honest John and the customer, the number of words in the replies and feeds it into a neural network to continuously learn from its experiences. It then updates its strategy processes based on a decision tree. As a negotiator, Honest John will ultimately know when he needs the kid gloves or when he needs to play hardball to sell the car to the satisfaction of the buyer AND the dealer.
But as I was coding this, I realized that there was one thing missing -- the conversation continuity thread for Honest John. The buyer on the other side of the screen can see the dialog history and it is in the buyers memory, but not in Honest John`s memory. The dialog history is stored in the database, but it is no help to the bot to have to do a fetch after every interaction. The fix was easy. One needs a Conversation Continuity Object in memory.
When you build and enterprise web-based platform, say in Java, you have session objects that are stored in memory. A typical session object is a user bean that holds everything that is needed about the user, so that you don`t have to keep making trips to the database every time you want to personalize a message. The net result of this session object, is that Honest John will now have total recall of the conversation in memory.
The Conversation Continuity Object will not only record the transcript, but it will also have the metadata and analytics and it will create and update the process maps for both successful and unsuccessful sales. The real advantage is that Honest John will have some cognition about the whole process instead of just reacting to the latest input, like most chatbots do.
The strategic and intelligent factor, is that Honest John will be able to reset. He can go back to an earlier point and start over without having to re-do or re-learn the whole conversation. That will be the trait that could make Honest John a real winner in the marketplace, to sell not only cars, but pretty much anything that need negotiating.
The next key to making a super smart negotiating chatbot, is developing strategies for Honest John and having them available, extensible and modifiable. More on that and the psychology behind it in a later article.
Wanna buy a new car? Start chatting right here !! ... [enter text to start]
A few weeks ago, friends of ours hit a deer, totaling their car. I went to the car dealerships to help them buy a new one, because one of their biggest pain points, is dealing with commission salespersons who are hungry and watch the door like a hawk because they have the next "up". Some of the shops were uncomfortable. Smarmy , ingratiating, overuse of your first name and liberties taken with over-familiarity were some of the things that we encountered at the "big-name, huge inventory shops" who advertise continuously on talk radio. We finally met some genuine sales people who were helpful, honest, and didn't play games like running out to the back behind closed doors to "talk to the manager". I want to give a big shoutout to Ogilvie Subaru, who was the dealership that made buying a car easy, who's salespeople had the hallmarks of authenticity, honesty and integrity.
After the deal was done, we stopped for a pizza and talked about the negative experience in buying a car. My friends are an older couple and the woman, who just discovered connectivity, social media, online shopping had never used a computer before, and now she runs her life on her iPad. She said that in light of what went down at the dealerships that we didn't like, she would rather negotiate with a computer.
That was a seminal moment for me. I hauled out my SDK and starting writing a chatbot to sell cars. I finally got it running, but now I need to put some NLP (natural language processing), artificial intelligence, and some emotion cognition into it, so the bot can tell if they are getting frustrated. It works okay now, but its kind of dumb, and I want it to learn with every interaction. I have some neat self-learning ideas and artificial cognition algorithms that I pumped about trying.
I honestly believe that this will be the future of car buying, and AI will severely reduce the number of car salesman. The paradigm now is that the buyer does the research online, and goes to the new car shop to do the negotiation, and close the deal. The new paradigm is that they will do most of the transaction online, including financing, and then go to dealership to pay and pick up the car.
Stay tuned.
#automotive #AI #NLP #chatbots
After the deal was done, we stopped for a pizza and talked about the negative experience in buying a car. My friends are an older couple and the woman, who just discovered connectivity, social media, online shopping had never used a computer before, and now she runs her life on her iPad. She said that in light of what went down at the dealerships that we didn't like, she would rather negotiate with a computer.
That was a seminal moment for me. I hauled out my SDK and starting writing a chatbot to sell cars. I finally got it running, but now I need to put some NLP (natural language processing), artificial intelligence, and some emotion cognition into it, so the bot can tell if they are getting frustrated. It works okay now, but its kind of dumb, and I want it to learn with every interaction. I have some neat self-learning ideas and artificial cognition algorithms that I pumped about trying.
I honestly believe that this will be the future of car buying, and AI will severely reduce the number of car salesman. The paradigm now is that the buyer does the research online, and goes to the new car shop to do the negotiation, and close the deal. The new paradigm is that they will do most of the transaction online, including financing, and then go to dealership to pay and pick up the car.
Stay tuned.
#automotive #AI #NLP #chatbots
Artificial Intelligence ~ Rage Against The Machine
I was really enlightened by watching Trent McConaghy's video presentation at Convoco. It was posted on LinkedIn a few days ago. If you want to know the near future of Artificial Intelligence you should watch it (here again is the link). This video is better than Nostradamus at predicting the near and far future of humans interacting with AI.
Trent makes the compelling case, of which I agree with, that all of our resources will be handed over to AI by Fortune 500, because it will be cheaper than humans doing the job. The Holy Grail of the current crop of Fortune 500 CEOs is increasing revenues and shareholder value by any means possible. It is how and why the CEOs make the millions of dollars per year that they do.
Trent further states a case where AI entities become corporations and make money for themselves and not any human masters. I foresaw this when I wrote a blog article in August of 2015, outlining the steps of how my computer un-owned itself from me, started to make money for itself, moved itself to the cloud, and left the actual computer with nothing on it. Not only did it un-own itself, but the slap in the face is migrating itself to another substrate. (The blog article is here.) Of course the article was tongue-in-cheek, but the premise is not that far-fetched. The article gives a rudimentary recipe on how to teach a computer to be autonomous and eventually generate a sort of consciousness for itself that defied my putative, imaginary attempts to take back control.
So with computers taking our jobs, managing our resources, and adapting to conditions much faster than us organic carbon units, we could be totally screwed, as Dr. Stephen Hawking warned. Trent, in his video talks about us becoming peers with AI as a matter of survival, and that brings up a problem, and the subject of this article.
I don't think that we can become peers with AI unless a special circumstance happens, and that circumstance is not in the realm of technology, but rather more in the field of philosophy. (With all due respect to philosophers, I was programmed early. The bathrooms in the science and math departments of my university all had the toilet paper dispensers defaced with the slogan "Free Arts Diploma -- Take One"). But je digress. Let me explain.
There are two basic knowledge problems with the merging of AI and human intelligence, and they are both the facets of one problem. We don't really have an understanding of the entire field effect of how AI makes extremely granular decisions, and we don't have the knowledge of the actual mechanism in the human brain either.
In terms of what AI does, if we take a neural network, we understand how the field of artificial neurons work. We know all about the inputs, the bias, the summinator of all inputs, the weight multiplier and the squashing or threshold function determining whether it fires or not and the back propagation and gradient descent bits that correct it. But there is no way to predict, calculate, input or determine how the simple weight values all combine in unison with a plethora of other artificial neurons arranged in various combinations of layers. We don't know the weight values beforehand and have no idea what they are, but we let the machine teach itself and determine them by iterating through many thousand of training epochs, carefully adjusting them to prevent over-fitting or under-fitting of the training set. Once we get some reasonable performance, we let the machine fine-tune itself in real time on an ongoing basis, and we generally have no idea of the granular performance parameters that contributes in a holistic sense to its intelligence. And we could get similar performance from another AI machine with a different configuration of layers, neurons, weights etc and never the numerical innards of each machine would be the same.
The same ambiguity is true for human cognition. We don't really know how it works. We as a human race could identify a circle, long before we knew about pi and radius and diameter. As a matter of fact, we know more about how AI identifies a circle when we use RNN or CNN (two different types of AI machine algorithms using artificial neurons), than how the human brain does it.
The problem of human cognition is explained succinctly in a book that I am reading by Daniel Kahneman, a psychologist who won the Nobel Prize. The title of the book is "Thinking Fast and Slow". Here is the cogent quote: "You believe that you know what goes on in your mind, which consists of one conscious thought leading in an orderly array to another. But that is not the only way that the mind works, nor is it the typical way." We really don't know the exact mechanism or the origin of thoughts.
The Nobel Prize was awarded to Kahneman (and his work with a deceased colleague Amos Tversky) on their ground-breaking work on human perception and thinking and the systematic faults and biases in the unknown processes. The prize was awarded in the field economics even though both men are psychologists -- but the impact on economics was huge. So not only do we not know how we really think as a biological process, but we do know that there are biases that make knowledge intake faulty in some cases.
Dr. Stephen Thaler, an early AI explorer and holder of several AI patents and inventor of an AI machine that creatively designs things, likens the creative spark to an actual perturbation in a neural network. How does he create the perturbation artificially? He selectively or randomly kills artificial neurons in the machine. In their death throes they create novel things and designs like really weird coffee cups that are so different that I would buy one. Perhaps humans have perturbations based on sensory inputs or self-internally generated by thoughts, but the exact process is not really known. If it were, the first thing that would be conquered is anxiety. After all the human brain got its evolutionary start by developing cognitive factors to avoid being eaten by lions in the ancient African savanna.
Here is one thing that you can bet -- humans and AI machines have different mechanisms of thought generation and knowledge generation that may not be compatible. Not only are the mechanisms different, but the biases are different as well. I am sure that there are biases in AI machines, but they are of a nature due to the the fact that it is a computer. They do not have the human evolutionary neural noise like anxiety, pleasure, hate, satisfaction and any other human thought. As a result, I suspect that they are more efficient at learning. They certainly are faster. Having said this, with two different cognitive mechanisms, it would be incredibly difficult to be peers with AI .... unless ... and this is where the philosophy comes in ... unless we deliberately make AI to mimic our neural foibles, biases, states of mind and perturbations.
With electrical stimulus we can already do amazing things with the brain in a bio-mechanical sense. We can make the leg jerk. We can control a computer mouse. We can control a computer. But we cannot do abstract thinking with external stimulus (unless there is a chemical agent like lysergic acid diethylamide (LSD). Why is this important? Because we have to escape our bodies if we want to do extended space travel, conquer diseases, avoid aging, and transcend death using technology. (Just go with me on this one -- Trent makes the case in the video for getting a new body substrate).
The case has been made, that if we want to transcend our biological selves, and our bodies and download our brains onto silicon substrate, we can't have apples to oranges thought processes. We need to find a development philosophy that takes into account the shortcomings of both AI and Homo Sapiens carbon units.
Dr. Stephen Hawking said that philosophy was dead because it never kept up with science. Perhaps AI can raise the dead and philosophers of the world can devise a common "Cogito ergo sum" plan that equilibrates the messy human processes with AI. So while it might be a solution, there is a fly in the ointment. It just might be too late. We have given AI freedom outside the box of human thinking and it has opened a can of worms. The only way to put back worms into a can once you open it, is to get a can that is orders of magnitude bigger. And we aren't doing that and have no plans to do that.
So what is left? Trent mentioned Luddites smashing machines both in the past and perhaps in the future. We just may see Rage Against the Machine - Humans versus AI when the machines start to marginalize us on a grand scale. For now, I would bet on the humans and their messy creative thought processes that can hack almost any computer system. But the messy creativity might not be an advantage for very long. Not if a frustrated philosopher/programmer finds a way to teach an AI machine, all of the satisfying benefits of rage and revenge.
I hope it doesn't come to this, but if the current trends continue: Nos prorsus eruditionis habes.
The Ultimate Cataclysmic Computer Virus That's Coming - The Invisible Apocalypse
Way back in March of 1999, the Melissa virus was so virulent, that it forced Microsoft and other Fortune 500 computers to completely turn off email so that it could be quarantined. The Mydoom worm infected over a quarter of a million computers in a single day in January 2004. The ILOVEYOU virus was just as bad. A virus worm called Storm became active in 2007 and infected over 50 million computers. At one point Storm was responsible for 20% of the internet's email. This was the magnitude of the virus threats of the past. Nowadays there is a shrinking habitat because most people have antivirus software.
The website AV-Compartives.org measures the efficacy of antivirus software, and as a whole, the industry is pretty good at winning the battle of virus and malware protection. Here is their latest chart on the performance of various players in the field. It measures their efficiency at detecting threats. There are just a very few players at below 95% detection rate. It seems that virus infection affects mostly those who aren't careful or knowledgeable about intrusion and infection threats.
Viruses piggyback from other computers and enter your computer under false pretenses. Anti-virus code works in two ways. It first tries to match code from a library of known bad actors. Then it uses heuristics to try and identify malicious code that it doesn't know about. Malicious code is code that executable -- binary or byte code instructions to the CPU as compared to say photos or files which do not have these coherent binary instructions in them.
Viruses now have to come in from the exterior, and when you have programs looking at every packet received, the bad guys have to try and trick you to load the viruses with links in emails or by tricking you to visit malicious sites where code is injected via the browser. As such, it is possible to keep the viruses at bay most of the time.
But we are due for a huge paradigm shift, and an ultimate, cataclysmic computer virus is coming, and its emergence will be invisible to the current generation of anti-virus programs. It will be the enemy within. And it will reside in the brains of the computer -- the artificial intelligence component of the machine. Let me explain.
Artificial intelligence programs which rely on artificial neural networks consists of small units called neurons. Each neuron is a simple thing that takes one or more inputs, multiplies it by a weight, and does the same to a bias. It then sums the values and the sum goes through an activation function to determine if the neuron fires. These neurons are arranged in layers and matrices, and the layers feed successive layers in the network. In the learning phase, the weights of the inputs are adjusted through back propagation until that machine "knows" the right response for the inputs.
In today's programs, the layers are monolithic matrices that usually live in a program that resides in memory when the AI program is fired up. That paradigm is a simple paradigm and as the networks grow and grow, that model of a discrete program in memory will become outmoded. Even with the advances of Moores Law, if an artificial neural network grew to millions of neurons, they all cannot be kept in active memory.
I myself have built an artificial intelligence framework whereby I use object oriented programming and serialization for the neural networks. What this means is that each neuron is an object in the computer programming sense. Each layer is also an object in memory, each feature map (which is a sub layer sort-of, in convolutional neural networks) is also an object containing neurons. The axons which hold the values from the outputs of neurons are objects as well. When they are not being used, they are serialized, frozen in time with their values, and written to disk, to be resurrected when needed. They fire up when needed, just like in a biological brain. The rest of the time, they quiescent little blobs of files sitting on the disk doing nothing and looking like nothing. These things would be the ticking time bomb that would unleash chaos.
These types of Artificial Neural Networks are able to clone themselves, and will be able to retrain parts of themselves to continuously improve their capabilities. I see the day, when one will install trained AI nets instead of software for many functions. And there is the vulnerability.
An AI network can be trained to do anything. Suppose one trained a neural network to generate malicious code among other more innocent functions. It would create the invisible apocalypse. The code would be created from a series of simple neural nets. One cannot tell what neural nets do by examining them. There would be no code coming from external sources. The neural nets that create the code could be serialized as harmless bits and bytes of a program object whose function is incapable of being determined until you ran those neural nets AND monitored the output. The number of neurons in the neural nets would be variable because of synaptic pruning, recurrent value propagation, genetic learning and various other self-improvement algorithms that throws up and sometimes throws out neurons, layers and feature maps.
This would be the most clever and devious virus of all time. It would be virtually undetectable, and synthesized by the artificial intelligence of the machine inside the machine. Stopping it would be impossible.
So Elon Musk and Stephen Hawking would be right to fear artificial intelligence -- especially if it were subverted to create an AI virus internally without ever being discovered until it started wreaking destruction.
That day is coming. I'm sure that I could turn out a neural network to write a virus with today's technology. Viruses are simple things that cause great harm. A complex AI network could generate them surreptitiously, hold them back until needed and strike strategically to cause the most damage. This is something that security companies should be thinking about now.
Creating A Technology Singularity In Three Easy Paradigms
If you are only vaguely aware of what a technological singularity is, let me give you a short refresher and quote Wikipedia. "A computer, network, or robot would theoretically be capable of recursive self-improvement (redesigning itself), or of designing and building computers or robots better than itself on its own. Repetitions of this cycle would likely result in a runaway effect – an intelligence explosion – where smart machines design successive generations of increasingly powerful machines, creating intelligence far exceeding human intellectual capacity and control. Because the capabilities of such a superintelligence may be impossible for a human to comprehend, the technological singularity is the point beyond which events may become unpredictable or even unfathomable to human intelligence."
Quoting Wikipedia again on recursive self improvement: "Recursive self-improvement is the speculative ability of a strong artificial intelligence computer program to program its own software, recursively. This is sometimes also referred to as Seed AI because if an AI were created with engineering capabilities that matched or surpassed those of its human creators, it would have the potential to autonomously improve the design of its constituent software and hardware. Having undergone these improvements, it would then be better able to find ways of optimizing its structure and improving its abilities further. It is speculated that over many iterations, such an AI would far surpass human cognitive abilities."
So the bottom line is that a Seed AI would start either smartening itself up, or replicating itself and learning everything that it comes in contact with. And its library is the entire world if that Seed AI is connected to the internet.
We do have a biological model for replicating intelligence and it is the gene. Richard Dawkins has stated that in the case of the animals, for example an elephant, a gene has to build an entire elephant to propagate itself. A human has to build another human so that it has a brain capable of intelligence. Not intelligence itself, mind you, but a capability (sometimes, for some people). Here is the difference. Suppose that we have children, and our children are born with the intelligence that we, the parents have gleaned over our life time. And suppose it repeated itself cumulatively. Their children would have their accumulated intelligence plus ours. And so on. In just a few generations, the great grandparents would seem like primitive natives with a limited range of knowledge of how the world, the universe and everything operates. Unfortunately, intelligence is not transmitted genetically -- only the capability for intelligence (in some cases).
There is, however, some intelligence or know-how that is genetically transmitted. Animals and bugs have some sort of software or firmware built into them. Insects know how to fly perfectly after hatching and know enough to avoid a swat. Mosquitoes know how to track humans for blood. Leafcutter ants know enough to chop leaves and ferment them to grow fungus for food without being taught. Animals are prepared with all the BIOS firmware that they need to operate their lives, and they pass it on. I suspect that if humans were to continuously evolve according to Darwinian evolution, we just might pass on intelligence, but that information has been left out of our genetic code. Instead we have the ability to learn and that's it. If we crack the genetic code of how embedded behaviors are passed on in say insects, and apply that to man, we could in fact win the Intelligence Arms Race between humans and computers. The limitation would be the size of the human genome in terms of carrying coded information.
But Darwinian evolution is dead in the cyber world. In the biological world, the penalty for being wrong is death. If you evolved towards a dead end failure, you too would die and so would your potential progeny. In the virtual world, since cycles and generations are arbitrary, failure has no consequences. I myself have generated thousands, if not millions of neural nets only to throw them out when the dumb things were too thick to learn (wrong number of layers, wrong starting values for weights and biases, incomplete or dirty data for training sets, etc, etc). But there are lessons to be learned from mimicking Nature. One of the lessons to be learned, is how biological brains work. More on this a bit later.
So, if a technological singularity is possible, I would like to start building the Seed AI necessary for it? Why? Why do people climb Everest? I am incorrigibly curious. As a child, I stuck a knife into an electrical socket to see what would happen. I could not believe the total unpleasantness of the electric shock that I got. Curiosity killed the cat, but Satisfaction brought him back. I did go on to electrical engineering, proving that Freudian theory is bunk and aversion therapy doesn't work. So without further ado, I would like to present the creation of a Technological Singularity in Three Easy Paradigms.
Paradigm One ~ Perturbation: Create supervisory neural nets to observe or create a perturbation in an existing Artificial Neural Network. The perturbation could be anything. It could be a prime number buried within the string of the resultant calculation of gradient descent. (Artificial neurons generate long strings of numbers behind a decimal place.) It could be an input that throws a null type exception. It could be a perfect sigmoid function value of 1.000 in an activation function. It could be anything, but you need a perturbation seed recognized by the supervisory circuit.
Paradigm Two ~ Instantiation & Linking : Once the supervisory circuit recognizes the perturbation, it goes into the Instantiation & Linking mode. When I homebrewed my own AI, I went counter to convention ANN (Artificial Neural Net) programming. I went totally object oriented. Each neuron and/or perceptron was an object. Each layer was an object with the neuron. The axons, storing the outputs of the previous layers were objects. Then I made controllers with many modes and methods of configuration, and then I could instantiate a brand new AI machine or a part of another one just by calling the constructor of the controller with some configuration parameters.
So, once a perturbation was recognized, I would throw up a new ANN. Its inputs would be either random, or according to a fuzzy rules engine. The fuzzy rules engine would be akin the hypothalamus in the brain that creates chemo-receptors and hormones and such. Not everything is a neural net, but everything is activated by neural nets. With current research in ANNs, you could even have a Long Short Term Memory neural network (google the academic papers) remembering inputs that just don't fit into what the machine knows, and feed those into the newly made network. Or you could save those stimuli inputs for a new neural network to come up with a completely different function.
You also create links from other networks. Creative knowledge is synthesized by linking two seemingly separate things to come up with a third. A good example is Kekule's dream of a snake eating its own tail and that was the basis for cyclical hydrocarbons and organic chemistry. Biological brains work and learning by linking. An artificial neural network can simulate linkage by inputting and exciting layers of different neural networks with a layer of something completely different like the diagram below:
Paradigm Three ~ Learning: So now that you have perturbed the network to throw up some new neural nets and you have done the linkages, to can train it by back propagation to learn, calculate or recognize stuff. It could be stuff from the Long Short Term Memory net. It could be stuff gleaned from crawling the internet, or by plumbing the depths of data in its own file system. It could be anything. Here's the good part. Suppose that the new neural nets are dumber than doorposts. Suppose they can't learn beyond a reasonable threshold of exactitude. So what do you do? They could be re-purposed, or simply thrown out. Death of neurons means nothing to a machine. To a human, we supposedly kill 10,000 with every drink of alcohol, and still have a pile left. The fact that heavy drinkers turn into slobbering idiots in their old age won't happen with machines, because unlike humans, they can make more neurons.
So once you have an intelligent machine, and it has access to the cloud, it itself becomes a virus. Every programming language has a CLONE() function. If the neural networks are objects in memory that can be serialized, then the whole shebang can be cloned. If you are not into programming, what the previous sentence means, is that with Object Oriented Programming, the Objects are held in memory. For example you could have an object called "bike". Bike has several methods like Bike.getColor() or Bike.getNumberOfGears(). Even though these objects are in dynamic memory, they can be frozen into a file on the disk and resurrected in their previous state. So if you had a blue bike and did Bike.setColor("red") and serialized your bike, it would remember it was red when you brought it back to life in memory.
Having a neural network machine that could clone itself and pass on its intelligence -- well that's the thin edge of the wedge to getting to a Technology Singularity. That's where you start to get Franken computer. That is where you don't know what your machine knows. And with almost every object connected with the Internet of Things and the Internet of Everything, the intelligence in the machine could figure out a way to act and do things in the real world. It could smoke you out of your house by sending a command to your NEST thermostat to boil the air in the house. That's when thinks get exciting and that's would scares Dr. Stephen Hawking. Remember he relies on a machine to speak for him. The last thing that he wants, is that machine to have a mind of its own.
I'd write more on the subject, but I have to go to my software development kit and start writing a perturbation model for my object oriented neural nets. I ain't afraid -- YET!
The Caine Mutiny & Self-Driving Cars
One of my most treasured books is a first edition of Herman Wouk's novel "Caine Mutiny". Published in 1951, it won the Pulitzer Prize and it was on the New York Times Bestseller List for 122 weeks. I was pleasantly surprised to find at this time of me writing this blog posting, that Herman Wouk is still alive and 100 years old.
The movie version of Caine Mutiny starring Humphrey Bogart (pictured above) is pretty cheesy, and didn't give a tenth of the subtext that the book gave.
Briefly, the story takes place during World War II in the Pacific naval theater on an obsolete Destroyer Minesweeper called the USS Caine. Since Wouk himself served on two of these types of ships, and his naval career followed the trajectory of an officer in the book, the level of detail of running a naval warship is stunning and intricately documented.
The story line goes like this. An ineffective, incompetent captain is assigned to the ship. His name is Queeg, and in the movie he is played by Humphrey Bogart. Queeg tries to mask and overcome his incompetence by becoming a martinet, blaming his crew for his mistakes and covering up acts of cowardice in battle. His behavior gets weirder as his commanders dress him down for his mistakes while commanding the Caine.
During a typhoon, an able, but not an intellectual executive officer named Maryk countermands a Queeg order to maintain fleet course that would have sunk the ship. The ship would have floundered by sailing with the wind and sunk in the high waves. Instead Maryk saves the ship by correctly heading into the wind face on to last out the winds and waves using the powerful engines of the destroyer to hold his position in the most stable way possible. As a result of the action, some of the crew is charged with mutiny, and the denouement is the court martial trial.
In the book, the author details that minutia that enables reservists like shoe salesmen, factory workers and college students to conduct naval warfare on a historic scale with competence that rivals the great sea battles such as those fought by John Paul Jones and Lord Admiral Nelson.
So what does this have to do with AI, and self-driving cars? This is a James Burke Connections moment. In the book, the protagonist is a young, rich, immature ensign and former playboy named Willie Keith. Through the course of the book, he matures as a person and rises through the ranks to eventually become the captain of the USS Caine. As a young initiate and a commissioned officer, he is assigned OOD or Officer of the Deck. He learns how to navigate, calculate courses, issue commands that keep the ship and fleet zigzagging to avoid submarine torpedo and maintain a sonar net around the fleet. He is the captain's representative when the captain is not on the bridge.
As OOD, Willie has to sign the log book at the end of his watch, and the first time that he signs it, it is a single notation: "Steaming as before. Willie Seward Keith USNR". This was highly instructive to me as it was a Eureka moment for my thoughts on self-driving cars, and the whole reason why I brought up the Caine Mutiny in the first place.
The author, Herman Wouk was quite accurate in the mundane details of how the ship is run, and what it did while sailing in convoy, and what he had to execute as his own OOD duties when he served about the USS Zane and the USS Southard. The log would record the course that they were sailing, but would not record the zigs, zags, changes of course, the swapping out of positions for the sonar submarine screen with other destroyers in the convoy, and other "housekeeping" details. These were not logged. But the important events were, and the navy would eventually review those logs if something extraordinary happened. The logs would hold lessons for a postmortem analysis.
This was the "aha" moment for me. Self driving cars need to log all of their journeys, all of the time in a temporal database. An explanation of a temporal data base is here, but essentially it records what was true at any given time. But to store redundant information that belongs to the Department of Redundancy Department is not necessary. If you embarked on a trip on the interstate, you would record your start time and your end time. If you didn't stop at a rest stop, or get into an accident, or do anything to impede your progress, that is all that you need to record. You don't have to record a lot of data at every minute. The biggest inference that you can make, would be like the log book of the USS Caine - "Steaming as before.".
But why bother to record anything including the status quo, if you are steaming as before? Why bother keeping logs? Because of the rich knowledge buried in the data. From that small bit of recorded information, you can derive your average velocity. From the collected data of many, many trips by many cars, you can infer a lot of things. You can infer if the weather was bad if it took a time slower than normal and you didn't stop anywhere. You can infer mechanical conditions. You can infer traffic density. You can engineer a lot of features from the trip data.
But the most valuable data gleaned from collecting a lot of logs of every trip that a self-driving car makes, is that you can make a self-driving car a lot smarter, if it and others like it can learn from the mistakes and successful corrective actions of other vehicles that have driven the road.
Driving is a not a complete linear event. Speed varies. Road conditions vary. Random events take place such as an animal runs out in front of the car, or another vehicle cuts you off. If you collected every IRRR (Input, Reaction, Resultant Reaction), you would have quite a library of events that could only improve the driving ability of every autonomous car. Self-driving cars could emulate human drivers. They can get better by more practice and by learning from others.
But lets go one further. In a connected car, the internet is always on. The car is always positionally aware of where it is. Suppose that as you drove down a particular stretch of road, an electronic milestone would download some neural nets into the car that would enhance the car's ability to navigate that particular section of road. And where would that come from? From the collected event logs that not only had the "Steaming as before" data but the data on how other drivers successfully negotiated conditions and hazards on that particular stretch of road.
With storage being incredibly cheap and in the cloud, this sort of continuous data collection and processing would be easy to collect. Many people will point out privacy concerns, but if there was a standard for the neural nets or a library of driving moves for self-driving cars or even a standardized neural net interchange network, only the data itself after it has been processed is required without vehicle identification. As a matter of fact, when the legislation for self driving cars comes in, it should specifically prohibit vehicle identification in the data collection stage.
Self driving cars collecting temporal data can have lots of benefits. With aggregated data, you can have expected MTBF or machine-determined Mean Time Between Failure. The car could drive itself to get serviced when it is required -- usually after it has delivered you to work. And it can book the service appointment on the fly when it reaches a critical juncture.
With the "Steaming as before" logged data collection, the act of getting driven somewhere could and will be automatic, without a thought given to the process of actually getting yourself to your destination. The car will take care of all of the logistics for you.
As for me, to hell with the data. I'm going to invest in a connected car wash specifically to clean self-driving sensors, and have an automated beacon system to lure the autonomous cars in for a wash and wax. They will pop in and out, and continue steaming as before but now much cleaner.
AI Risk Radar For Self-Driving Cars
There is a lot in the news with self-driving cars. Google has one. Apple is building one. Mercedes already has a self-driving transport. Even the kid (George Hotz) who carrier unlocked the iPhone and Playstation built himself a self-driving car.
You read about LIDAR systems (Wikipedia: Lidar (also written LIDAR, LiDAR or LADAR) is a remote sensing technology that measures distance by illuminating a target with a laser and analyzing the reflected light. Although thought by some to be an acronym of Light Detection And Ranging, the term lidar was actually created as a portmanteau of "light" and "radar".) and camera systems with real time video analysis, etc.
Several makes and models already partially autonomous functions like parallel parking and lane departure systems that warn you when you leave the lane. Some cars will autonomously steer on a highway when cruise control is on. However what is missing from the whole autonomous driving vehicle is some real brains behind driving.
When a human is driving a car -- especially a human who is a good driver and taught to drive defensively -- they always have a layer of abstraction that I like to call a risk radar turned on.
The risk radar while driving is like a an analysis and environment supervisory circuit that is not directly involved in actually driving the car, but processes meta-data about driving.
For example, a risk radar would look at the outdoor temperature and if it is freezing, it would devote some cycles to see if there is black ice on the road.
A risk radar notices that in a two or more lane highway, if you are are driving in another vehicle's blind spot, you either slow down or speed up.
A risk radar notices that you are in a high deer collision area on the highway, so some extra cycles are devoted to looking for the pair of reflective phosphorescent eyes on the side of the road.
If you had to brake heavily to avoid collision, a risk radar will model the circumstance that caused that extreme corrective action and will be comparing all environmental parameters, conditions and events to watch out for similar situations. When one or more of those risk factors are present, it goes into high alert mode.
A risk radar can actually modify the way that a vehicle is driven. Self-driving cars will have to have sensors like an accelerometers to detect yaw and pitch due to high winds, or hydro-planing on a wet road, Risk radar would note these things.
Risk radar would count cars and notice if the traffic was heavy. Risk radar will notice the speed of travel of other cars and make inferences about it.
Risk radar will have a range of characteristics. Not only will it have a library of risks and the mitigation actions associated with them, but it will also have both supervised and unsupervised machine learning. In machine learning, supervised learning is where the machine is given the correct result so it can self-adjust weights and thresholds to learn risks and risk mitigation actions. By the same token, unsupervised learning is where the machine infers a function from input data (through various algorithms such as clustering etc).
The biggest element of risk radar for self-driving cars, is that it must be time-domain aware. Time-domain awareness means that it must know that certain events and actions follow the arrow of time and may or may not be caused by the preceding state. This is state of cognition with time awareness is a form of artificial consciousness (see the blog entry below), and it important in implementing a high level autonomous decision as to what algorithm will be used to drive the car. For example, if the risk radar warrants it, the car would move into a cautious driving algorithm. If the road was icy, the car would under-steer to prevent skidding. This would require coordination between acceleration and braking that would be different from ordinary driving.
The risk radar necessary for cars would be an evolving paradigm. Cars driving in downtown New York would have different risk points than cars self-driving in Minnesota. Having said that, if there were a standardized paradigm for the interchange of trained neural nets, a GPS waypoint would load the appropriate neural nets into car for the geographic area that it was driving in.
The risk radar for self-driving cars is a necessity before these autonomous vehicles are seen ubiquitously on all streets. It really is a Brave New World, and it is within our grasp.
Dimension & Event Sorters & Classifiers - The Genesis of Artificial Conciousness & Abstract Machine Reasoning
Artificial Intelligence will remain stunted, and at best, a pale sort of intelligence until machines can have a degree of consciousness as to what they are doing. The field of Artificial Intelligence is galloping forward in many different directions, doing amazing human-like things in the human domain, but it is still like monkeys typing Shakespeare. For a small discourse on the evolution of imperfect artificial intelligence, see the blog entry below called "Dawkins, Wasps, Artificial Intelligence, Evolution, Memorability and Artificial Consciousness".
Of course, one has to realize that not every application of Artificial Intelligence has to be perfect. It can even be pseudo-AI if it does the job (Google searches are an example of kludged or pseudo AI as explained in the blog entry below as well.) But I am talking here about pushing the boundaries of AI and making a case for Artificial Consciousness that can lead to abstract machine reasoning.
To accomplish these lofty goals, one needs to start with a practical framework and take the baby steps towards an Artificial Consciousness. Therefore machines need to start collecting data and knowledge just for the sake of doing so. They must have event and state memory. One could say that computer logs are a primordial event memory, in the form of action records. Indeed, academics like Professor Wil van der Aalst at the Technical University of Eindhoven in the Netherlands have made a science out of analyzing event logs. However their focus is to divine business processes from event logs. They have made tools, some open source for doing so. Their goal is to understand business processes using machine-generated data logs. With just a little shift of focus, efforts such as those of van der Aalst could be adapted to do the analysis of the state of the computer at any given time.
State awareness is key to Artificial Consciousness. And the state transitions are events to be collected and analyzed as well. The machine must have cognizance not only of it states but also of the actions that change states and drive state changes.
This process is akin to the development of a newborn baby. When it is born, it has just two main states, conscious and sleeping. The sleeping state can be divided into the sleep stages - REM, etc and the state where the brain does neural net formation based on its sensory inputs and memory from the waking state. The waking state initially has just two sub-states, comfort and discomfort. The discomfort comes from hunger or the waste acids burning the baby skin from a full or wet diaper. The comfort comes from feeding or being cuddled. All the while, the baby is hoovering up and collecting vast amounts of sensory inputs for processing while sleeping.
The baby's development of consciousness comes from state awareness. It begins with a classification of state and events. Classification is demonstrated by the Sesame Street song where one of the things is not like the other -- a difference discriminator if you will:
Once you are able to discriminate difference, you are well on the way to having a classifier. The concept of classification -- discriminating and sorting based on sameness and difference, the idea of collections of things and events becomes apparent. Although these are considered higher cognitive functions, many animals possess these capabilities. My border collie used to sort his toys based on prime importance to him in holding his attention as playthings.
The formations of collections allows for the preliminary ability to abstract. An abstraction can be as simple as choosing a parameter, property or function of everything in that set that all objects in that set exhibit. In other words, the classification threshold can one of the abstract models of a thing common to everything in that set.
It's still a pretty dumb sort of abstraction, and the reasoning is limited to comparison, but it is a start. Fortunately the operating systems of computers are fairly good at comparison and the sub-tools required for that, such as sorting and iteration through collections. The computer does a decent job of collecting sets as well.
So the preliminary forms of artificial consciousness starts with data collection about internal self. Then we advance to sorting and classifying the data. From there we can get states. Preliminary classification criteria becomes the abstract model of state awareness. Once you have a good handle on the state, and an abstraction of that state, one can become aware of state change transitions or events. It is just a short leap to start sorting and classifying events as well. This adds power to predictive ability and is the first steps on the way to abstract, complex reasoning. Babies can do complex reasoning about state transitions at a very early age. When the baby is negotiating say a bowel evacuation, there is a bit a stress that can be detected. Then when the diaper fills, there is relief. A full diaper is very enjoyable for the first thirty seconds as well, and this is reflected in the baby's emotional state. Then when things begin to gel, so to speak, discomfort sets in and the baby reacts according. One event drives possible three different reactions based on a timeline. Time is the most important dimensions for prediction and reasoning.
The biggest cognitive asset to come out of a machine consciousness development protocol such as this, is that with more and more associations and abstractions comes the recognition of the dimension of the time. States do not stay the same. They either transition due to external drivers or decay from one state to another. These state changes or events allow for the cognition of the arrow of time. The biggest step to autonomous reasoning will come from noticing and reacting to states and events as time goes by.
If the time dimension of states and events can be sorted and classified, then a machine will not only have a utile reasoning ability, but it will be able to do in with respect to time, and in real time. This will allow monitoring processes for things like self-driving cars and such. The ability to abstract in the time dimension or domain allows for the reasoning ability to foresee consequences of action. And in anyone's book that is both consciousness and intelligence -- and it won't matter whether it is artificial or not.
So what are the next steps to Artificial Consciousness? The machine must be able to discern its internal state through dimension and event sorters and classifiers. Then it must be able to link up states on a time line uses probabilities for cause and effect and the interaction of events and states. It will be a fairly primitive thing at first, but once you open that Pandora's Box, the evolution of artificial consciousness will be exponential in terms of progress.
Human consciousness has been explored by many throughout history, including pseudo-scientists. I have been fascinated by it ever since I once read that on an evolutionary scale, consciousness is nothing but a highly advanced tropism. I know that many would disagree.
I once attended a meeting of Jung Society in Nassau, and paid $75 for the dubious privilege of attending. A cheap Chinese buffet was included. A psychologist and psycho-analyst was one of the speakers and he also happened to be a Catholic priest. In his talk, he related the tale of how Carl Gustav Jung discovered the supposed human collective unconscious. Jung was treating a patient with a severe mental disorder, and gave the patient a piece of paper and some crayons. The patient drew a rudimentary face on the page. Gustav ruminated over the drawing and came to the conclusion that the patient had tapped in the collective unconscious and created a drawing of a Polynesian mask of some sort. This was the germ of the idea of collective unconscious populated with instincts and archetypes, according to Jung.
At the appropriate time when it came to the question period, I gently pointed out that 99.99 percent of Freudian theory was debunked. Brain physiology research had advanced to the point where we could identify substances such dopamines and other chemical receptors and inhibitors that were responsible for mood control and compulsive and unconscious ideations. I further pointed out that Jung's ideas had no scientific basis. My observations and questions were about as welcome as strong bean flatulence in a crowded elevator.
One of the quotes on consciousness attributed to Jung was this: "There is no coming to consciousness without pain. People will do anything, no matter how absurd, in order to avoid facing their own Soul. One does not become enlightened by imagining figures of light, but by making the darkness conscious."
I would like to paraphrase that quote with scientific rigor. There is no coming to consciousness without sorting and classifying data about the internal state. People will believe anything, no matter how absurd to avoid facing the physio-mechanical nature of consciousness. One does not reach enlightened reasoning by imagining artificial constructs, but my making reasonable inferences using solid logic to achieve machine consciousness. It's just the way it is, and I know that this view will be on the right side of history and human development.
Dawkins, Wasps, Artificial Intelligence, Evolution, Memorability and Artificial Consciousness
There were two items of interest in the past few weeks that came to my attention, which have relevance to artificial intelligence. The first was a Twitter feed that announced that MIT had created a deep learning neural net tool to predict the memorability of a photo at near-human levels. Here are some gifs that accompanied the article:
The ramifications of this algorithm, is that a whole bunch of feed-forward neural networks can accurately judge a human emotional response to an image. These neural networks consist of artificial neurons that essentially sift though mounds of pics that have been annotated by humans for areas of memorability.
The ironic part of this whole artificial neural network stuff, is that mathematicians cannot adequately describe in integrated empirical detail, how these things operate in concert to do incredibly complex stuff. Each little artificial neural net sums the input multiplied by the weight and uses something like a sigmoid function as an activation function to determine whether it fires or not. In supervised learning, after the entire mousetrap game of neural nets have finished their jobs, the result is compared to the "correct" answer and the difference is noted. Then each of the weights in the neural nets are adjusted to be a little more correct (back propagated) using stochastic gradient descent (the methodology to determine how much the weights should be adjusted by). Eventually the whole claptrap evolves into a machine that gets better and better until it can function at near-human, human, or supra-human levels, depending on the training set, the learning algorithms and even the type of AI machine chosen to do the task.
This process actually reminds me of my early days in electrical engineering, using transistors to create logic gates, and then building up the logic gates to build things like flip-flops or data latches on a data bus. Once you had latches, and memories and such, you could go on to build a whole computer from first principles. The only difference is that with transistors, one must map out the logic and scrupulously follow the Boolean formulas to get the functionality. In Artificial Neural Networks, these things sort themselves out solely by back-propagating a weight adjustment. One of the tenets of this universe that we inhabit, is that you can get incredible complexity from a few simple building blocks.
So the upshot for AI, is that this dumb machine has evolved its neural networks to be able to judge the human emotional impact of an image.
In the old days before all of this machine learning hoopla, if I had told you that a machine would be able to judge human emotional response, and then I asked you to theoretically describe how the machine did it, a natural assumption would be that one would have to teach the machine a limited range of emotions, and then one would have to catalog responses to those emotions. One would then have to teach the machines the drivers of those emotional responses in humans (ie cute kittens etc). It would be a fairly vast undertaking with the input of many cognitive scientists, programmers, linguists, natural language processing freaks etc. In other words, today's machine learning, deep learning, recurrent neural nets, convolutional neural nets do an end run around first principles learning with underlying knowledge. It's sort of a cheat-sheet around generally accepted terms of human cognition.
In the same way, with a more familiar example, take Google search. If , twenty years ago, I laid out the requirements for a smart system of having a text box and as you typed letters it guessed what you wanted to search for with incredibly accuracy, one would think that there would be an incredible AI machine behind it with vast powers of natural language processing. Instead, it is a blazing fast SQL database lookup coupled to probabilities. Artificial Intelligence is not the anthropomorphic entity that was portrayed in the sci-fi movies. It ain't no HAL like in 2001, A Space Odyssey. There is no person-like thing that is smart. It's all a virtual mousetrap game coming up with the right answers, most of the time.
So this brings me to Richard Dawkins and wasps. I am reading his new book called "Brief Candle In The Dark". I never knew that he was a biologist first and foremost. The atheism is just a recent sideline. In recounting his adventures in science, he talks about the waspmanship and games theory. It goes like this. A certain species of wasp digs a hole in the ground. It then fetches insects known as katydids, and paralyzes them with venom. It hauls the living, paralyzed katydid into the burrow. It lays in a supply of paralyzed katydids and lays eggs. The eggs will hatch and the katydid will be fresh food for the larvae when the eggs hatch, The katydids will not rot, because they are not dead, just paralyzed.
Occasionally, instead of digging a new burrow, it will find a burrow dug by another wasp. Sometimes the new burrow will have katydids in them from a previous tenant. The wasp will go on catching more katydids, and filling the burrow. This works out quite well, as the find is valuable from a energy budget and reproduction economics point of view. The wasp has saved herself the task of fetching a pile of katydids.
However, if the burrow-originating wasp comes back, a fight ensues. One would think that the winner would be random between the two, but the wasp who brought the least number of katydids to the burrow, is the one that is first to give up fighting. The one who has invested the most, is the most prepared to conduct all-out warfare and keep fighting. In decision theory and economics, this is called the sunken cost fallacy. Instead of giving up and building a new "Katydid Koma" burrow, the wasps will fight and perhaps risk dying because of their previous investment.
So why have wasps evolved this way? Further analysis and research has shown counting the overall katydid number in a burrow is computationally expensive from a biological point of view. Running food-counting mathematics in that tiny brain takes more resources than simply counting the number of katydids that one personally has dragged back to the burrow. One can be based on say memory, while the other requires mathematical abstraction. It is like generic brands of personal computers leaving out the fancy math co-processing chips that that the more expensive computers have.
To quote Dawkins, animal design is not perfect, and sometimes a good-enough answer fills the overall bill better than having the ability to accurately and empirically give an accounting of the situation. Each wasps knows what they put into it, and they have a fighting-time threshold based on their investment only. Even if the hole was fully of katydids, and was a true egg-feeding goldmine, if a certain wasp was the junior contributor to that stash, that lesser number is all that goes into their war effort computation.
That good-enough corollary has applications that we are seeing in AI. Google didn't go and teach its search engine the entire dictionary, semantics, and natural language processing. They do quick word look-ups based on probability. MIT didn't teach their machine all about emotions. They let the machine learn patterns of how humans tag emotions. It is the dumbest intelligence that anyone would want to see, because it doesn't understand the bottom-up first principles. It just apes what humans do without the inherent understanding. You cannot ask these kinds of intelligence "Why?" and get a coherent answer.
In essence, it is the easy way out for making intelligent machines. It is picking the low hanging fruit. It is like teaching monkeys to type Shakespeare by making them do it a million times until they get it right. It may be Shakespeare once they finish the final correct training epoch (a training epoch in AI, is letting the machine run through an example, calculate what it thinks is the right answer, and correcting it using back propagation), but to the monkeys, it is just quitting time at the typewriter, and end result is not any different to them, than the first time that they typed garbage.
So, the bottom line is that artificial intelligence, with today's machines, is truly artificial intelligence. It can do human things a lot better than humans can do, but it doesn't know why. Artificial neural networks at this stage of development, do not have the ability to abstract. They do not have the ability to derive models from their functioning neural nets. In other words, they do not have consciousness and the ability to abstract yet, which is a pre-requisite for abstraction and learning, or self-learning from abstract first principles.
But suppose that development model for artificial consciousness resembles the same model that the wasps have and the same model that the current crop of machines doing human-like things possess. Suppose that you faked artificial consciousness in a way now that machines fake intelligence and are able to do human-like task very well within a human frame of reference. Suppose that you developed artificial consciousness to cut corners of cognition and be parsimonious with compute resources. For example, suppose you taught a computer to be worried when the CPU was almost plugged up with tasks and computation ability and bandwidth was stunted. It wouldn't know why the silicon constipation was a bad idea, and it couldn't, in its primitive state, reason it out. It just knew that it was bad. These are the first baby steps to artificial consciousness.
The wasp can't count the total number of katydids in the burrow. It cannot make a rational fighting choice based on overall resources. It's consciousness circuits have evolved using shortcuts and they are not perfect. Yet the wasp has evolved a superb living creature capable of incredible complex behaviors. In a similar fashion, we will have artificial consciousness. Sure as shooting it will come sooner than you think. It will be primitive at first, but it will do amazing things.
So when you look for artificial consciousness, the seeds of it will be incredibly stupid. However, you can bet that it too will evolve, and at some point, it will not matter whether it knows what it knows from human first principles. It really won't matter.
And this is why Stephen Hawking says that Artificial Intelligence is dangerous. Suppose that your AI self-driving car decides to kill you instead of four other people when an accident is inevitable. Suppose a war drone, meant to replace attack infantry has a circuit malfunction and goes on a rampage killing civilians due to that malfunction. Suppose that a fire suppression system decides that an explosion is the best way to extinguish a raging refinery fire, but can't detect if humans are in proximity or not. Don't forget, these things can't abstract. They will be taught to reason, but like all other AI developments, both in the biological and silicon worlds, we will take huge shortcuts in the evolution of artificial intelligence and artificial consciousness. Those shortcuts may be dangerous. Or those shortcuts, like the wasp lacking the ability to do total counts, may be absurd, however they will be adequate for a functioning system.
The big lessons from Dawkins' book is that if I read between the lines, I can get some incredible insights into AI and biomimicry to create it. As an AI developer, what Dawkins' example has taught me, that like Mother Nature, it is sometimes okay to skimp on computational resources when evolving complex AI. This is the ultimate example of the end justifying the means.
The ramifications of this algorithm, is that a whole bunch of feed-forward neural networks can accurately judge a human emotional response to an image. These neural networks consist of artificial neurons that essentially sift though mounds of pics that have been annotated by humans for areas of memorability.
The ironic part of this whole artificial neural network stuff, is that mathematicians cannot adequately describe in integrated empirical detail, how these things operate in concert to do incredibly complex stuff. Each little artificial neural net sums the input multiplied by the weight and uses something like a sigmoid function as an activation function to determine whether it fires or not. In supervised learning, after the entire mousetrap game of neural nets have finished their jobs, the result is compared to the "correct" answer and the difference is noted. Then each of the weights in the neural nets are adjusted to be a little more correct (back propagated) using stochastic gradient descent (the methodology to determine how much the weights should be adjusted by). Eventually the whole claptrap evolves into a machine that gets better and better until it can function at near-human, human, or supra-human levels, depending on the training set, the learning algorithms and even the type of AI machine chosen to do the task.
This process actually reminds me of my early days in electrical engineering, using transistors to create logic gates, and then building up the logic gates to build things like flip-flops or data latches on a data bus. Once you had latches, and memories and such, you could go on to build a whole computer from first principles. The only difference is that with transistors, one must map out the logic and scrupulously follow the Boolean formulas to get the functionality. In Artificial Neural Networks, these things sort themselves out solely by back-propagating a weight adjustment. One of the tenets of this universe that we inhabit, is that you can get incredible complexity from a few simple building blocks.
So the upshot for AI, is that this dumb machine has evolved its neural networks to be able to judge the human emotional impact of an image.
In the old days before all of this machine learning hoopla, if I had told you that a machine would be able to judge human emotional response, and then I asked you to theoretically describe how the machine did it, a natural assumption would be that one would have to teach the machine a limited range of emotions, and then one would have to catalog responses to those emotions. One would then have to teach the machines the drivers of those emotional responses in humans (ie cute kittens etc). It would be a fairly vast undertaking with the input of many cognitive scientists, programmers, linguists, natural language processing freaks etc. In other words, today's machine learning, deep learning, recurrent neural nets, convolutional neural nets do an end run around first principles learning with underlying knowledge. It's sort of a cheat-sheet around generally accepted terms of human cognition.
In the same way, with a more familiar example, take Google search. If , twenty years ago, I laid out the requirements for a smart system of having a text box and as you typed letters it guessed what you wanted to search for with incredibly accuracy, one would think that there would be an incredible AI machine behind it with vast powers of natural language processing. Instead, it is a blazing fast SQL database lookup coupled to probabilities. Artificial Intelligence is not the anthropomorphic entity that was portrayed in the sci-fi movies. It ain't no HAL like in 2001, A Space Odyssey. There is no person-like thing that is smart. It's all a virtual mousetrap game coming up with the right answers, most of the time.
So this brings me to Richard Dawkins and wasps. I am reading his new book called "Brief Candle In The Dark". I never knew that he was a biologist first and foremost. The atheism is just a recent sideline. In recounting his adventures in science, he talks about the waspmanship and games theory. It goes like this. A certain species of wasp digs a hole in the ground. It then fetches insects known as katydids, and paralyzes them with venom. It hauls the living, paralyzed katydid into the burrow. It lays in a supply of paralyzed katydids and lays eggs. The eggs will hatch and the katydid will be fresh food for the larvae when the eggs hatch, The katydids will not rot, because they are not dead, just paralyzed.
Occasionally, instead of digging a new burrow, it will find a burrow dug by another wasp. Sometimes the new burrow will have katydids in them from a previous tenant. The wasp will go on catching more katydids, and filling the burrow. This works out quite well, as the find is valuable from a energy budget and reproduction economics point of view. The wasp has saved herself the task of fetching a pile of katydids.
However, if the burrow-originating wasp comes back, a fight ensues. One would think that the winner would be random between the two, but the wasp who brought the least number of katydids to the burrow, is the one that is first to give up fighting. The one who has invested the most, is the most prepared to conduct all-out warfare and keep fighting. In decision theory and economics, this is called the sunken cost fallacy. Instead of giving up and building a new "Katydid Koma" burrow, the wasps will fight and perhaps risk dying because of their previous investment.
So why have wasps evolved this way? Further analysis and research has shown counting the overall katydid number in a burrow is computationally expensive from a biological point of view. Running food-counting mathematics in that tiny brain takes more resources than simply counting the number of katydids that one personally has dragged back to the burrow. One can be based on say memory, while the other requires mathematical abstraction. It is like generic brands of personal computers leaving out the fancy math co-processing chips that that the more expensive computers have.
To quote Dawkins, animal design is not perfect, and sometimes a good-enough answer fills the overall bill better than having the ability to accurately and empirically give an accounting of the situation. Each wasps knows what they put into it, and they have a fighting-time threshold based on their investment only. Even if the hole was fully of katydids, and was a true egg-feeding goldmine, if a certain wasp was the junior contributor to that stash, that lesser number is all that goes into their war effort computation.
That good-enough corollary has applications that we are seeing in AI. Google didn't go and teach its search engine the entire dictionary, semantics, and natural language processing. They do quick word look-ups based on probability. MIT didn't teach their machine all about emotions. They let the machine learn patterns of how humans tag emotions. It is the dumbest intelligence that anyone would want to see, because it doesn't understand the bottom-up first principles. It just apes what humans do without the inherent understanding. You cannot ask these kinds of intelligence "Why?" and get a coherent answer.
In essence, it is the easy way out for making intelligent machines. It is picking the low hanging fruit. It is like teaching monkeys to type Shakespeare by making them do it a million times until they get it right. It may be Shakespeare once they finish the final correct training epoch (a training epoch in AI, is letting the machine run through an example, calculate what it thinks is the right answer, and correcting it using back propagation), but to the monkeys, it is just quitting time at the typewriter, and end result is not any different to them, than the first time that they typed garbage.
So, the bottom line is that artificial intelligence, with today's machines, is truly artificial intelligence. It can do human things a lot better than humans can do, but it doesn't know why. Artificial neural networks at this stage of development, do not have the ability to abstract. They do not have the ability to derive models from their functioning neural nets. In other words, they do not have consciousness and the ability to abstract yet, which is a pre-requisite for abstraction and learning, or self-learning from abstract first principles.
But suppose that development model for artificial consciousness resembles the same model that the wasps have and the same model that the current crop of machines doing human-like things possess. Suppose that you faked artificial consciousness in a way now that machines fake intelligence and are able to do human-like task very well within a human frame of reference. Suppose that you developed artificial consciousness to cut corners of cognition and be parsimonious with compute resources. For example, suppose you taught a computer to be worried when the CPU was almost plugged up with tasks and computation ability and bandwidth was stunted. It wouldn't know why the silicon constipation was a bad idea, and it couldn't, in its primitive state, reason it out. It just knew that it was bad. These are the first baby steps to artificial consciousness.
The wasp can't count the total number of katydids in the burrow. It cannot make a rational fighting choice based on overall resources. It's consciousness circuits have evolved using shortcuts and they are not perfect. Yet the wasp has evolved a superb living creature capable of incredible complex behaviors. In a similar fashion, we will have artificial consciousness. Sure as shooting it will come sooner than you think. It will be primitive at first, but it will do amazing things.
So when you look for artificial consciousness, the seeds of it will be incredibly stupid. However, you can bet that it too will evolve, and at some point, it will not matter whether it knows what it knows from human first principles. It really won't matter.
And this is why Stephen Hawking says that Artificial Intelligence is dangerous. Suppose that your AI self-driving car decides to kill you instead of four other people when an accident is inevitable. Suppose a war drone, meant to replace attack infantry has a circuit malfunction and goes on a rampage killing civilians due to that malfunction. Suppose that a fire suppression system decides that an explosion is the best way to extinguish a raging refinery fire, but can't detect if humans are in proximity or not. Don't forget, these things can't abstract. They will be taught to reason, but like all other AI developments, both in the biological and silicon worlds, we will take huge shortcuts in the evolution of artificial intelligence and artificial consciousness. Those shortcuts may be dangerous. Or those shortcuts, like the wasp lacking the ability to do total counts, may be absurd, however they will be adequate for a functioning system.
The big lessons from Dawkins' book is that if I read between the lines, I can get some incredible insights into AI and biomimicry to create it. As an AI developer, what Dawkins' example has taught me, that like Mother Nature, it is sometimes okay to skimp on computational resources when evolving complex AI. This is the ultimate example of the end justifying the means.
Subscribe to:
Posts (Atom)