Introduction to AI product management part 2 - Where to start? | Liisi Soots | Skillshare

Playback Speed


1.0x


  • 0.5x
  • 0.75x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Introduction to AI product management part 2 - Where to start?

teacher avatar Liisi Soots, AI Product Development

Watch this class and thousands more

Get unlimited access to every class
Taught by industry leaders & working professionals
Topics include illustration, design, photography, and more

Watch this class and thousands more

Get unlimited access to every class
Taught by industry leaders & working professionals
Topics include illustration, design, photography, and more

Lessons in This Class

    • 1.

      Introduction to Lesson 2

      1:02

    • 2.

      Mindset shift in AI development

      6:50

    • 3.

      Consistent Maintenance - Why?

      6:20

    • 4.

      AI product development

      13:35

    • 5.

      Conclusion

      2:04

  • --
  • Beginner level
  • Intermediate level
  • Advanced level
  • All levels

Community Generated

The level is determined by a majority opinion of students who have reviewed this class. The teacher's recommendation is shown until at least 5 student responses are collected.

36

Students

--

Project

About This Class

AI product development is a rising trend. More and more products involve machine learning aspects and data-driven algorithms

The world of AI is a little bit different from the software engineering world and the AI product creation and product management need a new kind of mindset and skills. This is something that has not yet been standardized - everyone does it in their own way.

In this part 2 course, we will go over

  • Mindset of AI
  • Why AI needs consistent maintenance?
  • Starting with AI product development

Join Liisi and Kristin to find out more about the AI world and the world of new innovative products.

About the authors

Liisi Soots has been working in ML and AI development for 8 years - detecting fraud, doing data analysis and automating manual processes. For the past 3 years, she has been working in Veriff to automate the document verification process.

Kristin Ehala has been working in IT for almost 10 years and specifically with AI and Data for over 5 years. Within that time she has seen and worked closely with software development teams, clients and data. For the past 3 years, she has focused only on developing computer vision models for urban analytics, so that campuses, cities and stores would have more data to make better decisions and better environments for people . 

Meet Your Teacher

Teacher Profile Image

Liisi Soots

AI Product Development

Teacher

Passionate about AI, Machine Learning and how all the new technologies can change the world.

See full profile

Level: Intermediate

Class Ratings

Expectations Met?
    Exceeded!
  • 0%
  • Yes
  • 0%
  • Somewhat
  • 0%
  • Not really
  • 0%

Why Join Skillshare?

Take award-winning Skillshare Original Classes

Each class has short lessons, hands-on projects

Your membership supports Skillshare teachers

Learn From Anywhere

Take classes on the go with the Skillshare app. Stream or download to watch on the plane, the subway, or wherever you learn best.

Transcripts

1. Introduction to Lesson 2: Hi, thanks for clicking on this A0 product management course. My name is Kristin. I have been working in IT almost ten years and in data science and computer vision, almost five. Hi, I'm Lizzie and welcome to the course. I have also included in AI product development in the past three years, been working on automating verification process with machine learning and specifically with computer vision. In this course, we will go more in-depth into AI product development. We'll discuss the differences between a software development mindset and AI product development mindset. Also, we will look why AI products take so much time for maintenance and why they degrade over time. The last thing for this course, we will go and look into the three steps that you need to make sure and start thinking about when creating your first Ai project. Thank you. 2. Mindset shift in AI development: In the previous lesson, we talked about the fact that there is a computer's ability to perform tasks that are usually done by people. Most AI applications work with really specific tasks. Ai development and software development processes are very different. We will be discussing that more in depth this lesson as well. We talked about AI product requirements and about what they depend on. And we talked about AI products and what sort of AI today actually include. Today's topic is what sorts of work to actually live in. In terms of data. It is sometimes are good whether we live in a world where everything is destined to be, or in a world where we create their own future with our own decisions. We understand that there are tasks that lead to a specific outcome and there are decisions that lead to a surprise or an unexpected outcome. This world can be described as a deterministic and probabilistic world. The term deterministic world means we know what will happen if you do one thing, other thing will definitely happen. Classical software engineering problems are just like that. Deterministic. If you click on a button, it does something it is programmed to do. I mean, of course unless there is a bug. But when we're talking about AI products or NEA functionality, we are leaning more into non-deterministic, also called probabilistic world. This means that we cannot be sure what the model will do. This is specifically important to understand when mothers are put into an unknown situation. For example, when the input data is slightly different from the regular norm. In computer vision, this would mean that the image includes objects or environments that the model is not used to. So let's explain this in more detail. If some activity happens, for example, press of a button or entering a query or receiving data in a form. There is always some sort of concrete functions related to that. You click on a button, next page is opened, or query is entered, and then the result is searched for and database. Or third example, data is received and it is automatically saved into database. Although things are deterministic. But then click happened. Click equals true and something predefined is then done. But what about probabilistic world? There is a balance of statistics and guesses. So we do not exactly know for sure that something will happen, but we can predict it based on previous patterns. For example, if you see a dog player barking sound, or in fraud detection, if it seems, or fields that user X strangely then sent, sent them for further inspection. The main difference with deterministic world is that we kinda be 100% sure that anything happened or will happen. It is not like there may be, what's a click of a button, let's send the data anyway. But our AI algorithms, deterministic or probabilistic, we can say that they are, is deterministic in the sense that does follow the algorithm or the model, but probabilistic in the sense of creating that algorithm. So when we are training a model, it uses statistics to predict the outcome, meaning it's probabilistic. But when this train model is then put into use in a product, it predicts exactly by the rules or the, or the algorithm is trained to do. We can also have a quick look into deterministic and probabilistic data. Probabilistic data is data that is based on behavioral events like pageviews, time spent on page are click-throughs. This sort of data can be used for prediction models. For example, it can be used for clustering. Users are suggesting items to your customer. Deterministic data is linked to something which identifies the user, like an email address or a cookie idea id. And it's most likely 100% true. This can be considered a fact or a characteristic of a user. For example, if a user signs up to some platform and gives their current age, it is, it is a fact that the following year the customer will be a year older. But the, but if the same user use the platform ten times less tear, we cannot be sure if he or she will use the same platform next year, 1110 or nine times. Whilst we can do is group and analyze many users with similar behavior last year and make a guess or prediction how he or she might deck next year. But we don't know it for sure. So when we're talking about mindset, when creating our products, we have to understand that the real world is not deterministic. Real-world is not black and white. It's, we can say, Fifty Shades of Grey. So we leave in a probabilistic world and we have to make all those predictions based on that, AI is solving probabilistic challenges. When a great day or products, We need to make sense of the probabilistic world and structure it into data that describes the world around us in a way that makes sense to AI. In last lesson, we discussed the difference of processes between software engineering and product development. But how does this probabilistic world influence development in more detail? So for software engineering products, there is a high likelihood of knowing the outcome. Development time can be estimated quite well. People use Scrum processes and other stuff to estimate more better. The goal can be described by mockups, specs analysis. There are established best practices of the engineering process. And product problems do not really shift that often. And when the feature is ready, it's mostly, it most likely stays like this for a long time. But when we're talking about AI products, we cannot be sure of anything really. There was a hope for an outcome. You want the model to do something, but you cannot be sure if it will actually do it. You cannot really estimate, but can timebox tasks. So it's more or less unknown how long it will take to reinvent the bike. So there's lot of guessing happening. The goal of the model is described through data examples and metrics. There are not yet established best practices about managing day AI development process. So we can say it's a bit of a mess. And the environment that the data, the models, or the AI features use the change really often. The model is awesome. It costs constant updates. We'd have to keep maintaining them for a long time. 3. Consistent Maintenance - Why?: And systems maintenance and why it's really necessary for AI products is really depending on where the product is applied to. What are the environments that it's applied to. Because if you apply the model to a different place that it wasn't trained for, there is an environmental shift and you need to do updates for it. Also, when environment around us changes, then also the data and the patterns change. If life changes, then basically we need to change the model, the product with it. Let's take an example of corona. When Corona started, people started wearing face masks. If you had face detection model that tried to detect faces. Now the environment changes, changed. If you had lots of people with face masks before, you will have anybody basically with face masks. New clients. If you are in a place where you apply your model to different clients, different environments. For example, first you have a client in us, then you have client in Europe. Than there are different patterns of human behavior on the environment and how everything works looks like. So there is a data shift through with that. Also, we are doing constant maintenance because machine learning is moving around really fast. It's growing year by year. And some other things you might not be so couldn't sold last year. You can solve this year and therefore, you just need to come back to apply new methods. When you build a software product, the environment you solve the problem is usually way more stable than for AI products. At least it doesn't show up so easily when you create a website, you usually, for example, have understanding who is the main clients? Is it for elderly people, is it for children? You probably will do some changes depending on who this product is meant to fool the AI product developments. Yes, you're also thinking with this applies, but there are a lot of more different factors that play in the performance of these models. Ar developments are specifically optimizing only really small problem set if problems and changes to performance also changes. Let's take an example. So Forest animal detection algorithm, the aim of it is that we detect animals and we classify what animal it is. So here you can see the example. There is rapid. We say it's rabbit. If it has do with the stair and say what it is. Now, we are in Northern Europe. This is where we are building our animals, but there are 20 animals here in total. So what we are going to first focus on when trying to build a good machine learning model is take the biggest group that we can do. The biggest group today is that they're so thick that they are correctly. We can detect seven animals after 20. Next one after that is born. So we have four boards and if we detect them correctly, we can already addicted for more animals. After that, there is foxes. So we can catch three folks is awesome. So this is kinda the distribution of the environment. With this environment and with this model, we catch 70% of the animals. So with detecting deer meat, the ticking boxes, with the dictum for now, we have a change that somebody has decided that we should put the same model and use it in tropical forest. So what we will do is that there is a new environment. We have exactly the same model. So everything is the same. But what we optimize it for is different. So first we will look at dear, oh, there's only one there. So we catch it only one animal. What other thing that we learned how to the deck? So they were the board, so we have three boards. They take the dose also that they are pores. Next we detected foxes, at least that's what the model I learned. There is no boxes detected. So we lost that class completely. So here you can see the change of environment. Really clearly. We changed where we're using the ER and the ER doesn't understand it. So in tropical forest, the algorithm catches 20% of the animals overall. So we cannot state that the algorithm is bad. It's more than where we are applying it and what it was meant to be. This is really drastic change in real-life. Lot of the times we don't have so drastic changes. But there are changes up to 10% and even smaller changes, but they bring up the problem of fairness and bias. So we're all for machine learning. 4. AI product development: We'll go into product development part. So first is the three pillars to think before you start working on in our predicts. So really have to think about those because otherwise you cannot be successful with solving the problem or, or creating the product. So first, what problem you're trying to solve? What are the things you're trying to solve? What are the things that we are fixing here are making better? Second, what metrics you care about? Really, what are the things you care about? And we'll go into more details. You will see the examples. And thirdly, where do you get the data? In the previous course, we looked at the animals. You saw the data is really important and you have to keep in mind where do we get the data? Because the data that gets really determines how well you perform on the metrics that you care about. There are two kinds of problems or overshoot. Basically, it's all with machine learning. One is automating the process, another is estimating an outcome. In automating the process, we mean basically automating humans work, factory work, customers report work. Really today, a work that is really repetitive. We are good at narrow AI today in the world, not with general ARE. So we can automate small tasks. Estimating an outcome is also something that is done. It's for example, when you want to estimate what people like, like marketing. Or you want to estimate how much time it takes to get from one place to another place and tomorrow, because tomorrow is Monday. So something like that. Estimation and automation, the aim of them is different, but methods behind is our same. Automation. Automation is, like I said, as an example, it's a factory work guides repetitive tasks. How to understand what task job to meet. There could be also really hard tasks that are done in factors or the derivative. Some of them could be a, teach a child how to read. It's repetitive tasks. Teachers are doing it all the time, but it's hard tasks. But what machine learning can do in the ER can do is more small tasks, 1 second tasks. So start thinking of your problem as 1 second tasks. What are the things you can do in 1 second? And this is one task. This is one problem to fix. If you have a bigger problem, you can split it into different 1 second tasks. For example, if you want to, um, to a robot that finds garbage and throws it away, then first is look around. Second, detect garbage. Third, go near the garbage. Four. Take it up, go on and go on and then throw it away. So you can see they're really small task. You cannot have a task clean up the room. But easier to task, the more likely it will get done. So all of us understand that. And also the ones that control is kinda guidance to understand what are the things that can be done or how it should be splitted? If the task is basically a really small, if it's real easy task, it's really easy to solve it if there is lot of details of task also a lot of things to keep in mind to do roles. There is way harder. So really, really simple things that we can do these days to do. And your aim as a product manager should be think of a tasks so that they won't be atlas T2. This means it's easier for you to solve it. Estimations, estimation task is what people are like, would like estimate that, um, and this is basically that today it's used mostly for marketing purposes. And to basically in the consumer, consumer side. Secondly, what kind of metrics you care about? The big, big thing here is to forget to always be a 100% correct. You can never be 100% correct. People can never be a 100% correct. Nor can AI. Today is, like I said, once, to solve really small tasks things. So the bigger question to answer is, what mistakes are you willing to make water and do things that are okay to mistake up? Let's look at some examples. For example, rare condition in a shop. So we are in a show. It's basically the estimation you tried to understand. People like that. Or what you can do is show glows clients lengths. That's really good. Don't show gloss. Client does not lie. Meaning you don't show things that they don't like. They are really good things to do. One of the things you could do, your show glows that clients do not like. So this means that you show clients things that for them is garbage. They, they see something they don't care about. Or also what you can do as mistake is don't show clothes that the client likes. That means that you don't show the things that they really like. And you, as a marketer will have losing revenue because you don't sell tightens that the client would buy. Also, another example is good. So good rates, you know, is a recommendation for books. So here is recommendations made and some of the things maybe, maybe like Salton things. Not. Fourthly recommended is a book person does not lie and forcefully not recommended a book person likes. So these are the two mistakes that you can make today. So whether you do not show books, people like, or you basically show them stuff that they don't curb. Looking at this system today. Probably if you would get load of books that are recommended to you, but you don't like them, then you're not going to use that service anymore because you see that the recommendation is pointless. Additional, good. What is more okay? Is not recommending a burst on the books. People like recommending most of them. So here you can see why the first one is not okay. But the second one is because when the first thing happened all the time, then the client would not use the service. But if the second one happens, then Pip probably people will still line to service. They just don't. We'll get all the books that would be recommended or good for them. Another example on the planes. Planes have lot of maintenance. They need a lot of repairs done them and they need to follow a lot of requirements to flying. Also, terrorists, basically similar calculations behind it. Falsely state that one piece of the airplane is not okay. Or falsely state that the piece is okay. So if we are the first and we say falsely that one piece of equipment is not okay. We just use more time to repair the plane. We use more money to repair the plane. But nothing bad happens. If a four-fifths state that a piece is okay. This means that we falsely state that that piece is your k and let the plane fly, we will get a faulty plane. So today, in this case, this is not a good thing. Something bad might happen with a plane when we let it fly. So you could see before that all of those things are depending use case. Let's go on to what kind of data you have. It this hard restored renewal data. First, you always have to have some things, but this is a clear thing. It's really, really, really hard to start from completely topic. But what kind of data you need is also be questioned. And that now depends on the problem that you have written down. You need data that is as close as possible to the data you have in real life. Best would be that you have data of really, really the live, where you would use it. Coming back to the forest example with animals, if you will use the animal detector in tropical forest, it's best to have the data room tropical forest, not from some other kind of forest. So really data from exactly where you will use and the product. Let's take an example of a car detector. You want AI to know what is a car and what is not. So the question that we learn is, what is, is it a car? So the left side, it is the right side. It's not, it's a Googler round. In search for cars, you will see tons of different cars around. What you can see here is first different color. Some are in white background, some are driving, some are in Lakish grayish background. This is completely from the side. This is more on the top and not completely at the top. This is from the front. So if you do a car detector, what side you want to see the car? And is it on the white or black background or the elements? Or is it in in real life, in near the beach or on the street? Do you need to detect cars on here, these pictures are really different, the ones that we had just in the previous slide. Or do you want to to see and detect cars from above? We didn't have the any cost pictures from above and the picture above is completely different. So you really need to think from what angle you also want to detect them. Because if you train a model to detect the cars from side, but in reality the camera of where you in the future with detector cars are looking at from the top, the model will not perform AN will fail here. So the data has to be as similar to the use case that you have in real life from geographical lightning perspective. So we sit in a dark room, light room, time-wise. I'm 50-year-old cars. Cars right now, streets 50 years ago or today. Maybe. Things don't change so much lately and you don't have so much pictures from fifties. But basically, there are every now and then there's new things happening. So time is really important to get the latest data and viewpoints and angles. So making sure that you are looking at objects as similar way as you in the future. One to have the use case for. 5. Conclusion: For me, it's like stated above, the AI product performance depends hugely on the available data that you have in. Because the data that comes in is basically performance that comes out. So what you are collecting that you are getting also from the client data or real you, where you are using the data. This is basically determined the off towards performance of this model because this depends where it is applied to. So where is the real use case? And it is hugely important that the data that you have in the usage decline data and available data you have when training or as similar as possible. In the conclusion, for this day's course, development verbs together with software development, there is nothing separating those 28 development is riskier, known, unknown, a lot unknown than so for development because it's research and development. And also there is a lot of dependencies of way you're going to use that model. Development is dependent. Children data. They could say it or sore, ready. The data, what you're using for training, How has to be really similar to where are you going to use it in the future. As did data determines also how will you will perform. Ei prefer forms is stepping link hugely on the environment. So data and environment. They earned Kiki, thanks. Thank you for listening today. See you next time.