Sunday, June 25, 2017

Artificial Intelligence Explained

Hi!

The popularity of artificial intelligence (AI) as some monster about to eat us all has gotten out-of-hand in my opinion. To help educate people then below I present some hopefully easy-to-understand diagrams explaining the state of AI today. Scroll below the images to see the explanation.

The hope is dispel the fear and  near super-natural abilities of AI being foisted on the world today.

AI Diagrams



 

 

 

 

 

 

 

 

 

 

 

 

  

 

 

 

 

Step 1. The Problem Statement

Name the object displayed in an image when given an image showing only a single object. 

In this example the image is an image of an apple. The solution is "apple" for the problem image.

Step 2. Ask The AI


The laptop represents a computer with an AI program.  We are going to run a program where we select an image of a single object and then when the AI program runs the program will always respond with a name for the object.

Step 3. Guess


All AI programs guess. All of them. There exists a fancy word for guessing: probabilities. But these words mean the same thing. The AI program is going to guess a solution. The easiest way to conceptualize a computer guessing is to consider a random number generator. Further imagine the AI program has a file listing millions of words and names used in the English language on a separate line. The computer AI program simply uses a random number generator and then selects a word on a line based on the random number and then outputs the word on that line.

In our example the AI program rolled the dice and the word the random number word selected was "Bugs Bunny".

This AI program is extremely unhelpful. The program will almost assuredly be wrong and if on the off chance the word "apple" is correctly chosen then the output is not reproducible as it will choose randomly the next time. A random number generator is a terrible AI program.

The point here is to understand that computers can generate randomness. How computers create random numbers is a hard problem. However, creating a random number in and of itself is not considered AI.

Step 4. Learn 


Machine learning is often associated with AI. Machine learning requires a feedback loop where incorrect guesses are fed back into the AI program such that the AI program does not make the same incorrect choice again.

In our example diagram the feedback loop is shown using an "Incorrect Basket".

Imagine you wanted to ask Siri on your iPhone "Find the nearest gas station", but instead said "Find the nearest filling station". Siri might reply, "The nearest Filling Station Night Club is 3 miles away on El Camino and Hillsdale." Then to correct your incorrect solution you say, "Find the nearest gas station." At this point Siri could store that "Filling State Night Club" as the incorrect answer for "filling station".  Storing incorrect answers as incorrect is is called a feedback loop. This is also called machine learning.

Machine learning is a.) make a guess and then b.) store incorrect answers so as not to use them in the future.

To be sure, Siri could have also stored "gas station" as the correct solution for "filling station". However, in our example  the AI was only told if the solution was correct or not. The solution of "Bugs Bunny" is not the correct answer for the apple image so we tell the AI the solution is incorrect. From our feedback loop then the AI will store the apple image along with the solution  "Bugs Bunny"  in the "Incorrect Basket".

In future apple image requests then all such apple images will be checked against the incorrect basket. If the new random word solution chosen by the random word AI program is in the incorrect basket then the AI program continue to guess until a solution is found that is not in the incorrect basket. One can imagine if one asked the AI program a million or so times to identify the apple image then eventually  the correct solution will always be given because all of the incorrect solutions are in the incorrect basket. It will take forever too as all of the incorrect solutions have to be tried. Now if this seems like a slow way to get at the right answer then you understand why machine learning is so difficult and machine learning can lots of processing power, trial-and-error takes forever.

Step 5: Train


The next step in our journey of understanding AI journey is to train the AI program. Training in AI means to provide the AI with known solutions.

The diagram depicts training as putting two images with solutions into a "Correct Basket". We are pre-filling the solution basket with known solutions, thus the digram is labeled, "Pre-fill Correct Basket".

Sometimes in computer science we call this "hard coding" where we don't run some program algorithm to derive a solution, but instead we use a hard coded solution for the program to use.

And yes this is how all AI works. All AI machines that use machine learning use what is innocuously referred to as training data. I say innocuously because when the AI program comes up with a solution one is suppose to "ooh" and "aah" that some really complicated program derived the solution. Training data makes it sound better than "pre-configured solutions".

In this example we are pre-filling solutions for "apple" and "Bugs Bunny".

Step 6: Solve Known Solution

In this new AI program we are going to update our AI program to include a new step so as to check the "Correct Basket". The "Random Word" process still exists but is not displayed in this diagram.

Given the apple image solution of "apple" has already been put in the correct basket then the AI program will correctly answer "apple".

Step 7: Solve Unknown Solution

In this step we put all the pieces of our previous steps together where we take advantage of both baskets, the "Incorrect" and "Correct" baskets. In addition we have a new process box called "Pattern Match Correct Basket" that replaces the "Random Word" process box. This process box has a single artificial intelligence rule:

If the image contains the color red then guess "apple". 

The "Bugs Bunny" image does not contain the color red. The first thing our AI program does is to check the "Correct" basket for the input image. However, the input image is unknown. The input image is not in the "Correct" basket.

Since a correct solution is not available then a pattern match process is used.   An AI engine uses a bunch of if-then rules to characterize a solution. In this case there is one rule and that rule is if an image contains the color red then guess "apple".

Is the answer correct? Is the image an "apple"? Well, for sure it is not "Bugs Bunny". The determination of whether an "apple core" image is an apple is up to the human using the AI program. If the human tells the AI program the guess is correct then the solution goes in the "Correct" basket, otherwise the solution goes into the "Incorrect" basket.

Now You Understand AI

Now you understand the basis of AI and machine learning.

Can AI intelligence beat human intelligence? Sure, easily because an AI engine can be pre-configured with far more solutions than a human can retain. An AI engine can also be configured with a much larger set of pattern matching characterizing rules than humans use. An AI engine can process information information much faster than humans.

Great, AI intelligence is better than human intelligence in this fashion. But this is no different than a computer has much more detail memory capacity than a human and a computer can store the entire Library of Congress on a hard drive where we cannot remember even a single book.

So what?

Now you understand AI hype

 

AI is a very popular topic in the media and entertainment industries.

The series of "Terminator" movies is all about AI going to war with humans.

Now that you understand the basis of modern AI then ask yourself  does machine learning have the capability of free will or original thought to declare war on humans?

No. Guessing is not free will. Even if those guesses are so well informed due to a well fabricated set of pattern matching rules using an enormous mountain of known solutions the solution is just a guess informed by previous solutions and guesses.

Therefore AI is nothing to be feared.

Humans using AI to control systems where the risk of those guessed solutions are not sufficiently or accurately accounted for should be feared. But that is not about fearing AI, but fearing humans incorrectly using a tool like any other tool.

The fear of AI  is not AI,  but humans hyping AI as being something other than what is and then blaming AI so as to avoid human responsibility for failures and disasters.

Cheers!
-Mybrid

Saturday, December 10, 2016

Nielson Norman Group Conference, User Experience (UX)

Hi! Happy Saturday!

Nielson Norman Group Conference, Conference Review

Fantastic!

First, is important to note that I am not a UX professional nor am I engaged in the UX community. My interest in UX is purely professional, I build web sites for a living as a developer.  My objectives were twofold. One objective was to refresh the education I received at UC Berkeley in 1997-1998 that incorporated usability where I took three courses 1.) User Interface Design, 2.) Groupware Using Groupware,  and 3.) Cost Effective Software Engineering. The other objective was to evaluate NN/g for suitability with clients.

Having thus qualified myself,  I'll begin by saying today is 12/10/2016 and I just spent the last week at a conference put on by the Nielson Norman Group,  aka NN/g. This was a teaching conference. I completed a week of coursework on user experience (UX) and user interface (UI). This blog post are my thoughts about my user experience of a conference on user experience.

Conference Recommendation

Fantastic! I highly recommend the conference! :-P

The conference is excellent and it works well as an introduction and overview to what UX/UI are all about. I would especially recommend these day long classes for anyone newly engaging UX for the first time. Also for any one looking for more than reading a book. The networking with other UX professionals was excellent. I also recommend this as required background for any one looking to hire UX/UI consultants and employees.

What I do not recommend is the certification because the classes are only six hours.  The conference is structured with one certification topic per day where a day is six-hours. For example, I took the class on conducting usability studies. The question in my mind is how much can one really learn in a day and earn a certification?

Engagement Recommendation

Fantastic!

I highly recommend the Nielson Norman Group after the UI/UX commitment has been made. This recommendation is based upon my perspective of having taken a total of five, one-day courses. I am not a UX expert or otherwise engaged in the UX community reading research or opinion but found these courses very approachable.

I would not recommend Nielson Norman Group as consultants for making a UX/Usability case to the typical, rough-and-tumble, dog-eat-dog executives. NN/g are just really nice people and not hard sell enough. I asked a couple of questions in each class and in all cases made the instructors nervous. I'm not management, but a student.  In my dream world just the scientific facts would be compelling for making the case to convince people. Sadly, we don't live in that world. 

I make the after the UI/UX commitment recommendation as consultants based on the fact that their instructors are the practitioners. I used the class as a six-hour interview, if you will, of their capabilities. I was happy with the expertise of all the instructors as practitioners.

I also recommend NN/g for organizations identified as have having a 6-8 user experience engagement level as measured by NN/g. The user experience engagement level can be measured by a self-assessment survey of UX engagement that you can find on their web site. Since my score was only a 2 on a scale of 1-to-8 of UX engagement then utilizing NN/g as a consultant is not appropriate in my eyes for my needs.  NN/g is best in class and as such their price and course work primarily reflects large projects and using their services for those organizations that are the most committed to customer experience.

Talking Points


Pros:
  1. Very nice people. Can't say that enough.
  2. Beaten path and conservative with respect to the material. Confidence is key here.
  3. UX/UI technically excellent. 
  4. Well trained and practiced. The people teaching the class are working UI/UX professionals.
  5. Approachable and easy to talk too. Can't say that enough.
  6. Met expectations for the six hours of class designed for certification on a daily topic basis.
Cons:
  1. Very nice people. Can't say that enough. This is both a pro and con because if you are thinking of using NN/g as consultants just ask yourself if nice people are suitable to convincing your management, especially if there is a need to make a case with dog-eat-dog management types.
  2. Beaten Path.This is also both a pro and con in that if your business falls outside of their experience then I wouldn't engage. Their expertise in what they know is well versed. 
  3. Compartmentalized. For example, even though the UX class stresses using a holistic approach to integrating usability and UI with UX, the class on usability was only usability. Nothing about UX integration was mentioned. Personally I use a holistic approach because UX Heuristic Evaluation and UI best practices are cheap and easy to do.  I intertwine both of these all along the development and test process. I also have trained QA folk  on UX Heuristic Evaluation and UI Best Design practices. Fixing usability problems before they get to production is always cheaper and preferred.  Incorporating a holistic approach has worked well for me and yet the course work was all compartmentalized. 
  4. Technically shallow on the subject matter. For example, as a developer it is critical to think about usability with respect to user  errors at all levels; in the UI, in the middleware and in the back-end. Course work only covered UI. Also I did not meet any developers on their staff, which indicates to me they don't get feedback at that level.

The End


Sunday, April 3, 2016

To "Internet" or "internet"? That is the question.

Hi! Happy Sunday!

Mosaic, Launched April 23, 1993
The Original World Wide Web Browser
File this under "first world problems." Today the Associated Press published their latest revised style guideline indicating the words "Internet" and "Web" were to be no longer capitalized, but lower case.

To that I say hearty "No!" We must keep net neutrality first and foremost in everyone's mind by reminding people there is only one World Wide Web and only one Internet. We have an agenda here people!

So please, keep do capitalizing the words "Internet" and "Web". Screw the AP.

If the AP really wants to be helpful with a style guide then perhaps they can focus on corporate networks.

Even at home we say "home network" or "LAN" (local area network) to avoid the "internet" cognitive sounding "intranet".

And it is not just me saying this, but the inventers as well. The Web, it was invented and freely given to the world by Tim Berners-Lee and his colleagues at CERN. Sir Tim has always emphasized that it should be both unique and world-wide, hence the proper name "the World Wide Web".
Here is his authoritative explanation:
Q: How in fact do you spell World Wide Web?
A: It should be spelled as three separate words, so that its acronym is three separate "W"s. There are no hyphens. Yes, I know that it has in some places been spelled with a hyphen but the official way is without. Yes, I know that "worldwide" is a word in the dictionary, but World Wide Web is three words. I use "Web" with a capital W to indicate that it is an abbreviation for "World Wide Web". Hence, "What a tangled web he wove on his Web site!". Often, WWW is written and read as W3, which is quicker to say. In particular, the World Wide Web consortium is W3C, never WWWC.

Q: Why did you call it WWW?
A: Looking for a name for a global hypertext system, an essential element I wanted to stress was its decentralized form allowing anything to link to anything.

So, AP, if you really want to be helpful then as a style guide please come out and say that you will no longer use the word "intranet", but "LAN"?

Also, AP, just get rid of the confusing sounding "inter" and "intra" altogether and replace "intra" with something visually and audibly distinguishable, like say "bob".  No more "intra-state" commerce. We'll now have "bob-commerce", thank you very much.

Also, AP, could you also in your style guide kill of the plural of index, "indices". The advent of databases has shown how ineffectual the word "indices" is. Time to replace the use of the word "indices" with "indexes'.

To whit, killing of "intranet" and "indices" would be useful, but lower case of unique items is not. Making the Internet and the Web lower case undermines the original intent of these words: to purposefully and forever remain unique.

Cheers!
-Mybrid Wonderful

Sunday, March 27, 2016

VR Headsets: State of Art

Hi! Happy Sunday!

Samsun Gear VR
Samsung Gear VR, Tigger Model
Okay, Welcome! and Well met! to the Wonderful Tech Emporium. I'm your editor, curator and host, Mybrid Wonderful.

Today: VR Headsets. Perhaps you've seen Facebook posts about Google Cardboard, a VR headset,  or read articles about  VR and are curious.

This week I upgraded my HTC One phone, an excellent phone I might add, to the new Samsung S7.

Costco was throwing in a $99 Gear VR Headset for free with the purchase of a Samsung S7. The phone was selected on other merits but when it came time to pick the distributor then we chose Costco because of not only a free VR Headset, but also a free external battery and free 64GB Micro SSD card. Yummy!

Question: Am I missing out? 

Answer: No. Not yet.
  1. The good stuff is not out on the market yet, but is coming available this year in 2016. Oculus Rift comes out in April and Sony Playstation's VR comes out in October.
  2. Phone VR Headsets are gimmicks. Google Cardboard is $7. It will do the same thing as the $99 Gear VR assuming your phone has the 3D chops. The only difference is paper vs. plastic. Technically the VR Gear can play games with any Bluetooth game pad tethered to your phone. Technically. The reality is the selection of games suck as well as the fact phones do not have enough CPU horse power to play any game of significance. If you look at the minimum graphics card and horse power the Oculus Rift is requiring then you realize that your phone's graphics are nowhere near adequate enough. So, being able to "play games" on the phone is a non-starter: no selection and insufficient graphics. 
  3. Phone VR Headsets are for watching movies. I will discuss this further below.
  4. Phone VR Headsets overheat the phone. All the graphics required to render 3D stereoscopic images utilizes 100% of the phone processing all the time. This causes the phone to get hot. My phone was every bit as hot after watching a TV show for 30 minutes the same as if the phone is charged using a 2 Amp power source. Heat kills electronics. Unless you want to kill your phone, watching movies on your headset should be a novelty. 

Question: What are people using VR Head sets for?

Answer: Watching movies.

Currently the only VR Headsets on the mass market are phone headsets such as Google Cardboard and Gear VR for Samsung. Primarily these headsets are for watching 2D video in a 3D setting.

Why? A couple of reasons.
  1. First, larger view. You really do getting a bigger aspect relative your TV at home. But at a price. That price being the quality of the video itself decreases significantly. The video is very pixelated. 
  2. Second, privacy. I can see VR Headsets being used on airplanes. I may even take mine on my next flight. Realize the battery in the phone will probably be only good for 3-4 hours of video. The 3-4 hours will easily fit on the SSD card. If you bring a spare battery then you can double your viewing time. One advantage the Gear has over Google Cardboad is an external micro-USB port on the headset for charging the phone while viewing.
Question: What's The Future Hold?

Answer: It's going to be awhile.

The biggest obstacle to 3D will be content, not technology. I've been taking in 3D movies for over a decade now and watch them every chance I get. Guess what? The 3D content still doesn't have any compelling difference with 2D movies.

Given the state of 3D entertainment is going nowhere fast and  realize 3D games are much more difficult than 3D movies then 3D content is going to take awhile.  Even if the industry figures out 3D content the content will be very expensive early on.

Business Opportunity

There is a real business opportunity with 3D phone calls.

Microsoft's soon to be released Holoportation is a 3D phone call environment. Holoporation is what Microsoft is calling their 3D phone calls. Two groups of people on different sides of the planet can converse in immersive 3D.

Now that's a money maker. Figure to charge at least $300/hour per call.

The reason the business will be necessary is the amount of set-up and technical expertise required to get the 3D environment just so. As with any photography and video the expertise for lighting, sound and stage will require real know-how.

Of course you need virtual locations on both ends. But, given you partner up with franchises throughout all the world's major cities and you'll have something to sell at weddings, funerals, baby showers, etc.

3D phone calls. That's a winner.

Cheers!
-Mybrid