In this episode I talk with Murry Vince about the process of getting machine learning to work in medical applications.
Music: Blue by Roa Music
Show note links:
- Linkedin: Murray Vince
In this episode I talk with Murry Vince about the process of getting machine learning to work in medical applications.
Music: Blue by Roa Music
In this episode I talk with Andrea Gagliano about how to avoid bias in data, rapid prototyping needs and other ways to improve models through data.
Music: Blue by Roa Music
In this episode I talk with John C Thomas about his research at Nynex, and IBM, AI-ethics, and how it affects the books he writes.
In this episode I talk with Cheenu, VP of UXPA Austin about his experience doing UXR research for conversational UIs and the different UX challenges between consumer and enterprise AI.
We cover changes that are coming to the UX field because of AI. We look at how design, research, and UX management will all need to adapt to new processes.
We show how the normal software development cycle does not work with AI and how the modified dev model needs attention from UX at every step
Why creating a personality for your AI is important, be it recommendation system or AGI. We cover the steps needed to evaluate your system and come up with the best personality for your users..
Background research links
I talk with Michelle Carney, founder of MLUX. Lecturer for AI design at d.School at Stanford, and Sr UXR at Google AIUX group. We discuss resources available and needs that have not been filled yet
We cover all the steps needed for creating a conversational UI like a chatbot or Siri, Alexa, Google voice, and Cortana. We make sure to cover making a plan so a good user experience is the top priority.
Hello and welcome to Design for AI, I’m Mark Bailey, Welcome to episode 4
Let’s talk conversational UI.
A lot of people think chatbot, other people think Siri, Alexa, Google Voice, or Cortana.In the current gold rush climate that is AI right now, it seems that the first step a lot of companies dip their toe in. Sounds like a good topic to cover to me. So I’ll cover the steps that need to be covered to avoid mistakes.
1st step: start with a plan.
If you want to have a conversational interface you need a plan. Think of a good plan as a stop off point on way to voice interaction that everyone says is just around the corner. More likely though is to think of the plan as a list of immediate needs, then turn that around and look at it from the users point of view. Who uses a conversational UI? People using voice interfaces right now, they don’t want to be bothered. They don’t want to be bothered to wait to talk to a live person, bothered by downloading your app, bothered by opening their computer, not even bothered to get off the couch. Your UI needs to make their life more convenient. the way to think of your plan is, how will you get what you need AND make it more convenient for the user?
The first part of the plan is how this benefits your company. What is your motivation for building the interface. Your reason will be specific to you. So I can only cover the general cases. It could be for improving media buy by understand customers, or reducing call center time. There are a lot of Industry specific choices. Conversational UIs are easier to apply to certain industries more than others. Some of the easy industries for this kind of interface. If you are running a CRM, then reduce call center times. For IP established media, the personality is already there. There are set expectations on what to expect so it makes the personality a lot easier.
The next part of coming up with a plain is deciding what to measure. Again this is very specific to your industry. Do you want to know the length of engagement? should it be higher or lower? Do you want to increase return users A lot of the time you will be getting some analytics about the user. Do you want to compare info gathered through your UI to analytics info in user profile? What can you add to the user profile? Do you want to increase the number of recommendations made to other people. No I’m not talking about Net promoter score. I’m talking about use referral codes to get real numbers. You can even measure emotions on users leaving.
Once you have your plan
The next step you need is a DMP – Data management platform, to store the info you are collecting from your app. If you do not have one, now is the time to create it. You probably want to hire a data scientist because DMPs can have a high noise level. Because really, to get any usefulness out of them you will need to be running experiments with the data. DMPs work better better when cross referencing information against each other instead of straight search. Also now is the time to try rolling your own natural language processing project, known as a NLP. Siri, Alexa, Google voice, Cortana all have their own sandboxes that are not compatible with each other. You can try developing for a couple of them to see the differences between the systems. Or a good one open source one to get started with is called Mycroft.
So now that you have a plan and a platform to move forward with, what’s next? You need to create a personality. This is going to depend heavily on your company brand, and what you are trying to accomplish. Think of what is going to be the motivation for the AI you are building. What their motivation is will affect how they answer and guide the conversation. It also depends of the situation your users will be in while having the conversation. You don’t want a mechanic in the middle of a job getting asked 100 questions to get the response they want just so they don’t need to clean off their hands . It might sound like we are designing a person, and there is an argument that goes back and forth on how human you should make your your AI. It is too much to talk about here so I will cover that in a future episode.
short story is don’t fake being a real person. Also know that personality and humanness are different. In this case we want a strong personality, so what’s motivating your AI to give the answers it gives is important. A strong personality is important because it helps to hide the holes in the AI, but not in the way you think. Technology is not at the point yet that conversational AI can answer any question, and people really like to test the limits of conversational AIs. Using a strong archetype personality takes the fun out of pushing the limits
You wouldn’t ask an auto mechanic plumbing questions but you would take joy in asking a know it all a question they didn’t know the answer to. So a strong personality helps people from poking areas you can’t think of.
Once you have the written down all the important aspects of your personality, the next step is to create the golden path. You don’t want to get into the AI yet, and we are not thinking of edge cases either. The golden path is perfect non-interactive conversation. The user asks all the perfect questions, your AI knows all the answers and questions needed to get the information needed to get to the goal. Once you have the golden path, you can start breaking down the conversation into dialogics.
For a description of what dialogics are think of it as the interchangeable small parts of the script. There is a stream of conversation that gets broken down into a trigger, then the steps 1,2,3 and so on until you reach the goal. This is the part that is UX. It is the use cases,
and since the personality dictates the dialogics use cases, that’s why you need to work on the personality first.
This is when you create the script. What do you want to know? Take your golden path conversation and atomize into spreadsheets.
Figure out the use cases, breakdown the conversation into the smallest bits possible, test it by talking to another person, then once you have the use cases broken down as small as possible, create conversational points around the user journeys. These conversation points are where the analytics will plug in, so you know how well the conversation is going the way you expect it to go. One problem to be aware of when you are testing the conversations, know that users will altering their behavior to fit the AIs requirements. The best example I can think of is it is similar to over pronunciation when voice to text first came out. So when testing the conversations, make sure the person you are testing with don’t know what the goals or conversational points are. This is something a lot of people have problems with because they want to test it with co-workers first. Co-workers know the goals of your company. They will subconsciously try to move towards the goal or purposely artificially move away from your goal. Neither of these are real world situations.
Next step is the machine learning.
You want to create the algorithms to get it better. This depends on the use cases you came up with in the previous step. I’ll leave it up to your developers group to handle this step.
Once you have done all the machine learning you are ready to release. This is the final step? Not even close. This is where you start to specialize the training on release. You need to look at the analytics. Where are the the conversations getting killed, where are they lasting longer. You can create multi-variant tests for different script choices. For this first release it is not expected to be the final form. It is good to start beta-testing as a game on kik or facebook, or you can create a conversation bot on reddit. If you want to do a branded beta of your app that will work too, but you need to advertise the beta, or you won’t get any training data. The reason for this beta release is to train the AI.
Expect for it take about 3 months to get ahead of the open source text libraries.
The real final step is entering the cycle. Since AI is more like an employee instead of a machine you have to keep checking on it, otherwise data moves, the model moves, everything moves and your AI gets worse. There will always be tweaks you can make to the conversation run smoother. The reality is that the technology isn’t quite there for the AI to understand unstructured conversation. Think of it like you are perfecting the telescope that your AI is looking through to see. Basically there will be some kludges to cover over the holes in your model. I’ll talk more about the development cycle in future episodes.
Thank you again
and remember, with how powerful AI is, lets design it to be usable for everyone
Hello and welcome to Design for AI
Im Mark Bailey, Welcome to episode 3
Today we will be talking about federated learning.
There is a good chance some of you are wondering what it means,
don’t worry it’s still considered a pretty new topic in AI.
Even the word isn’t pinned down, Apple calls it ‘Differential Privacy’.
so I’ll jump right in to explaining what it is and why it’s important to UX.
The old way, or I guess I should say the normal current way,
most models store data used for machine learning
is to round up all the data you think you’re going to need + data attached to it
then all gets uploaded and stored on your servers.
This is the centralized model
There is the saying going around that data is the new oil,
because the more data you can get your hands on
then the better the accuracy is for your model.
Which means you’re at the front of the line for the gold rush,
Well, not so fast
There are problems
Some people refer to data as the new plutonium, instead of the new oil
There is a high liability for personal data
Releasing an app over the internet is global.
But, laws and regulations change by country.
The new EU privacy laws like the GDPR conflict with the laws in authoritarian countries where they want you to share all your data.
In steps the idea of federated learning
As a quick side note, I am using Google’s term federated learning,
instead of Apple’s term Differential Privacy.
Differential Privacy is a little more inclusive of making things outside of machine learning models private,
so in the interest of keeping things as specific as possible I’ll use the term federated learning
to keep things as specific as possible.
I’ve included links for both Apple and Google’s announcements in the show notes.
Anyway, it is easiest to think of it in terms of using a cell phone,
because that is where all of this got its start for both companies
On device storage is small and there is too much data to upload over a slow network
The phone downloads the current AI model.
Then it improves the model by learning from all the local data on your phone.
Your phone then summarizes the changes as a small update.
Only this small update is sent back instead of all the data.
For a non-phone example think of Tesla building their self driving cars.
Every car that Tesla is currently making records 8 different cameras every time that car is driving.
Those video feeds help to train the model Tesla is trying to create for the car to drive itself.
To date Tesla has sold over 575,000 cars since 2014 when they added the cameras needed for self driving.
multiple 575,000 by 8 then multiply that by the number of miles all those cars drive.
It becomes obvious that is just too many video feeds to send over their wireless network
much less to record and store on central servers somewhere.
More importantly, no one wants everywhere they have driven,
and every mistake they made to come back to haunt them.
federated learning allows Tesla to push the model out to their cars.
Let the model be trained by data collected in the car,
then the training corrections are sent back to Tesla without needing to send hours upon hours of video.
Privacy and data bandwidth are preserved.
As a side note, Tesla does upload some video of a car’s driving for things like accidents.
We talk about outliers and making which parts you keep private later.
So, federated learning allows for global results from local data.
Basically train on the local device and send aggregated results back
It allows to keep the sensitive data on device
and if you can promise, and deliver, privacy to the user of an AI model
then you have taken care of one of the biggest fears users have for machine learning.
Think about it, keeping my data private is one of the biggest complaints against people wanting to use AI.
It is right up there with robots taking over the world,
If we can solve real fears now, we can start working on the science fiction fears next.
This is why it is important to UX
All the benefits of privacy for your customers,
plus all the benefits for the company of well trained models.
Of course offering privacy to your users is a selling point but what are the trade-offs?
For the drawbacks I am not going to sugar coat it.
There might be some pushback from developers because it does add an extra layer of abstraction.
There is a good chance the developers have not created a model using federated learning,
so there will be learning involved.
Also, the models created from federated learning are different from the models created from a central database because the amount data and types of data collected are usually different.
As far as the benefits
You don’t have to worry about getting sued for accidentally leaking information you never gathered.
really though the biggest benefit is usually better more accurate models which may seem counter intuitive.
Since all the data stays local you can collect more data.
Also since the model is trained locally the model is better suited for the person using it which is a huge UX benefit.
There are benefits even if your business plan keeps all of your machine learning models centralized,
instead of the models being on your customers computers or phones.
Because data is siloed instead of in one central location
It is a whole lot easier to comply with local regulations like medical
You don’t need to worry about the cost of transferring large amounts of data
It is easier to build compatibility with legacy systems since they can be compartmentalized
and you can have joint benefits by working between companies,
with each company able being their strengths to the table without revealing their data.
Still since privacy is one of the main benefits, from the UX side of it,
it is important to let people using your app know about the privacy you are offering for peace of mind.
This is not easy since machine learning is already a difficult enough topic to convey to your customers.
For example, this is one of the main selling points Apple uses for their iPhone,
that they protect your privacy is a big marketing point for them.
They are probably one the biggest users of this concept be it Differential Privacy or federated learning.
But I’m guessing that the majority of iPhone users have no clue
that most data for all the machine learning stays on their phone.
And, if Apple, the design focused company,
is having this much trouble conveying the message of one of their main selling points,
it’s obvious it is not an easy thing to accomplish.
The easiest way to convey to the user that you are keeping their privacy
is through transparency inside the app.
Show all the things using federated learning.
Break it down by which features use federated learning
Show user where the data goes, or really doesn’t go.
For example one of the limiting factors of federated learning can be turned into one of the selling points
Since federated learning needs to keep labels local,
it gives you a chance to explain why when you have people correct predictions.
For example choosing who the picture is of on your phone
or choosing which word auto-correct should have chosen.
You can let the user know,
they are doing this is to keep their own data private
Now if privacy is important to your business model,
if it is the thing you are showing as a benefit to using your app.
Then it does need to be designed into the app from the beginning.
First, I won’t go into the math involved,
but merging multi-device information can still expose privacy
You need to make sure when the app is designed that the company can’t see individual results,
only the aggregate
Next, the model, over time can also, possibly, learn identifiable info
When you design the app make sure that the model limits influence of individual devices
Another important thing you will need to pay attention to is outliers
normally you only want to be paying attention to the difference to the average
There is a difference between the global model vs personalized model
How much do you want to allow local data to alter the global model behavior?
That is a decision you need to make based on your use case.
The next big part of improving the UX is deciding how much to split your use cases into different personas
usually each persona get’s their own model
The best example I can think of is for a language model
train different models for different languages
that helps to reduce the outlier information
This is where accessibility fits in too.
Make sure not to forget it.
Since AI models try to average everything,
accessibility needs can be averaged out as outlier data.
Make sure to work any accessibility needs into specialized personas and models,
to reduce the noise for the model and get a better user experience for those with and without accessibility needs.
Outliers also influence how often the app should send back information.
Like I was talking about earlier, usually a model stores up enough information
before it sends it back, either to save on bandwidth costs or to ensure privacy.
If the app is getting a lot of outlier data though,
you probably want to want to know about it as soon as possible.
To be able to adapt the model as needed to give a better user experience.
You will need device to say when it has unusual data,
so the transfer can happen sooner.
Well thank you for listening
and I hope you found this episode interesting
I would love to hear feedback on this this topic and
which other topics you would like to hear about
To leave feedback, since this is a podcast,
use the voice recorder app on your phone,
and make sure to give your name
then email it to firstname.lastname@example.org
If you would like to know how to help,
Well your first lesson in ML is to learn how to help train your podcast agent,
by just clicking subscribe or writing a positive review on whatever platform you use to listen to this podcast.
Thank you again
and remember, with how powerful AI is,
lets design it to be usable for everyone
I talk with David Talby about his experience with AI and his recent article Explainable AI Is An Interaction Design Issue — Not Just A Data Science Issue