Transcripts
1. Introduction: Hey guys, hi, Welcome to the AI product
management course. In this course, we will learn about ALL
product development. If you are excited about the whole new technologies that consists of
machine learning, data science, and
different ai aspects than common joined to learn
how to create those products. For example, self-driving cars, automating processes, suggestion marketing really
well with using the data. In this course, we
will be talking about comparing AI software
development processes. We will learn what you
need to know before you start any other AI
product development. And we will also look into different products you have
in your life all around you. I'm lazy. I have been working
for many years with data, data analytics, data science, and the pass-through years being the AI product management for very wary out to meet the
verification process. And I'm really passionate
about this topic. And I'm Kristen, I
have been working with data for five years, mostly as a data scientist, but also as a data analyst. And they thought team lead. Come and join our course. See you there. Bye.
2. What is AI?: Today AR predicament
management course. In this course we will talk about what product
management for HIEs, how the development
process looks like. We will specify how the AI
development is different from the regular software engineering
development and what you should take into consideration and started to build
a new product. In the first lesson, we will cover the general topic, often the product, what is it? What is their product
and how it is different from software
engineering project, how the development processes
differ from each other. Additionally, we will bring out some key questions
and ideas you have to consider when
developing a product that has AI component, meaning. Your teachers are
Christine and Lizzie. They both have been working in data science for
all we can use. And specific key or machine
learning out to me. So let's start with the course. So what is DAI? Lot of people think that a sum computer making all
decisions by themselves. But in reality, it is
far different from me. At least the reality we
see in our everyday life. Just means that we want to build a machine, that human life. There is no definition of
how human life and machine has to be to be an EI. There are two kinds of anions. Narrowing, which means that the a is meant to
do specific tasks. And there is generally Mania, means that the AI, everything that the EIS like
from the Terminator movie, that it knows itself, how to make and how to
basically grow their knowledge. And generally yard
is not something that is used today in
the product making. In this course, we also
focused on narrow AI because narrowing the ER that
everybody is working today. One of the ways
artificially intelligent has described also touring, Determining, create
the determined this. And it's also known as
mutation came in 1950s. The test was created
to understand if she has an intelligent
behavior as acumen. Turing was a
mathematician during the Second World War and help
to two coordinates you can, like I said before, Turing test is a test to see if machine. How did you Arrington works? It consists of three components. A, Computer, B's, a
human, is a guest. The test only is done written
form of communication, meaning that a and B can only communicate with rewrite
with the participant. Test is a success. If the gesso does not
understand that there is no human can differentiate. B. Also, note that
the communication is always done on
a grid structure. The machine is counted as
intelligent, difficult. So kind of differentiate
between a and B. We have to take into
account that the complexity of the task can be
really, really different. But in the case of a really simple task is fairly
easy to clinical acumen, even though you
might be machine. In the case when we are
automating any process, we are playing good indication. Those processes are
where we tried to replace repetitive human
birth with computer making to make sure and get the real experience with the product you give them. We can take into account,
for example, costumer. The customer ensures that most of the times can answer
really simple question. If you ask them
simple Christians, they can really easily
act like a human. If you ask them new
bit harder questions. They cannot. In our case, a lot of the times the scene also placed
the client rolled. So like we said
before, the customer, for example, the
client wants decline. Whether there's computer
or a human behind the wall or automating the process is like trying to
fulfill the attorney. As of today, no computer has passed the Turing test.
People who have joined. One of the methods is using coefficient, using
artificial intelligence. This is what we will be.
3. AI Development process: Now we will talk about AI
development processes. Now that we understand
what AI broadly means, we have a lot of other
terms that need to be explained that
often get mixed up. While they are usually means something that is human-like. Machine learning, data science and deep learning
are all techniques to work with data and get
amazing results from there. Let's go over the terms, as they might be confusing and are used loosely in
our everyday life. Machine learning is a branch of computer science
that works with algorithms that try
to improve themselves based on the data and
repetitive experiences. Those algorithms are usually
referred to as a model. And models are just
different ways that data can be
analyzed and trained. Deep learning is basically
still machine learning. It is using very
specific type of models that require a
lot of processing power, a lot of data, and
a lot of time to learn to get the needed outcome. The dusk these models
are solving are not simple and use deep
neural networks to do with the computations. Then we have data science, which works also with data. But the aim is to get
the knowledge and information out of the
data, the great value, basically, data science uses different methods
to get valuable information out of data. A lot of BI desks or
data science tasks. We've talked about AI, machine
learning and data science. But probably you are also guessing where it's
software engineering. How is it all combined? Most people in IT are
really aware of creating software products and they know how software
development works. There are multiple
different components that need to be developed, merged, and created in order to have one function is
software product. These components, components can be in front-end or back-end. There is probably
someone dealing with databases and logs and alerts and some other
people dealing with servers and DevOps
components and issues. All these parts are
in the world of software engineering
and they are quite obvious when you need
to work on anything. You have a goal and
you know what you need to do in order to
achieve this goal. The whole traditional
development cycle is also known. Most of the project managers
and most programmers are used to their regular
development and its cycle. It's some sorts of adaptation of Agile or waterfall methodology. But let's go over it so we can start comparing it today
AI development cycle. At first, when you
decide to do a project, you start gathering
requirements. This is a step where you try to understand what you
should be building. What is the thing we need to do? What are the problems to
customers or users have? This step includes
a lot of time and communication with
many stakeholders. In the next step, you
do the analysis and designs to understand how to
make the requirements work, what the solution could be, what obstacles you need to
avoid and pre-existing. Pre-existing solutions
are available to use. Within this step, each
corner case of the product and its usability has
to be well thought through, is rarely perfect. Humans are humans and
they make mistakes. And that's why we have
testers and maintenance. Development starts
after the analysis is done based on the UI designs, architecture, and
process models to designers and analysts
have created. After the development
is done your test. Sometimes you might need to go back and need
to fix something. In that phase, some
things are sent back to development and some
are approved for lunch. If everything gets
approved by testers, the feature or the
MEP product can be deployed and proceed into
the maintenance mode. But let's talk about how
we're development looks like. The beginning of a
component development is really similar to the regular
software development. It must have an idea that
you want to achieve. And based on that,
you must start gathering requirements
and do the analysis. What is the problem
you're solving? What do you need
the model to do? And in what situations or contexts you want
the model to work. For those situations. What sort of data do you need? You have to start thinking about the problem
in terms of data, what biases, issues or
unpredictability that data caries. Of course, outcome is important, but you have to be able to think from the
perspective of data. What data do you have and
what data do we need? Let's have a look at an example. Let's imagine you have an awesome idea to start
detecting ride-sharing vehicles. Or Texas. You don't care about
any other cars, just the ride-sharing companies. You have to
understand and define what does it mean
for your model. After some analysis, you might
stumble up to a problem. Right now, we also have boys do butt and
lift and cream and other ride-sharing companies in various different countries
that looked like regular car. Do you still want
to detect them? You might add the requirement of company logo on a vehicle to your list of
data requirements. But you have to accept that some quite high percentage of ride-sharing vehicles
will not be detected by your model because you have no way of differentiating
those from regular cars. But if you're really determined, you might look into detecting
passengers inside of it, bus, drivers and other
people sitting in the back. Can this be
considered a valuable feature for your ride-sharing
detection model? Can you get access to
this sort of data? And what do you do if the car windows in
the back or tinted? The face of analysis and
defining the problem is crucial for the future steps
and success of the projects. If you get this wrong, your project might become
really, really difficult. For example, you can define the car sharing task
in different ways. You can do it globally or
only in one specific city. You can agree the digital
and traditional taxis and not trying to
ride, sharing cars. Or maybe it's okay
if you exclude the cars that don't
look like taxes, making those small
adjustments to your task might
make the dusk way more easier or me,
way more difficult. After you are happy and content
with your requirements, you have to start
gathering data. In many cases, you might have
to go back and reconsider some of your requirements and define some more key points. When you actually
look at the data, you start to notice some things you didn't consider before. For example, let's talk
about taxes again. If tax is stowed, do you want the model
to detect the taxi? Taxi is not working. Do you want to detect the exit? Then? There are many different
questions you have to consider. In software development process, our next step would
be development of the feature in
their development. This actually means
many different steps that need to be done in
order to achieve the model. Development process starts with excessive amounts
of data gathering. It of course, depends on the
outcome and the contexts. But you might need thousands
of data points or images, or tens or hundreds of thousands of data points and images. In data acquisition,
there are two strategies. You need a lot of data or
you need a little bit less, but more quality data. More quality, we mean that there are less
mistakes in the data. This data is then
prepared an annotated. This means that data is cleaned, put into the right format and place to start the
training process. Compared to any other step. This is usually the most
time-consuming one. And finally, we have the
infamous modelling step. In this step, data
scientists are tuning the hyperparameters
of selected model. They have to fix the
details of the model that influence how well it
will learn your data. They try out different versions
and choose the best one. Although this step is most
known in the machine learning, It's not the most
crucial nor the hardest. The snippet gathering step
is way harder and longer. And it will also determine if the outcome will be
in high-quality. After the model has finished training, it has to possess it. This has to be done on the
data that is similar to the real data in the context of where the
model is going to work. But it cannot be
the same exact date that the model was trained on. In this step, we have
multiple metrics to consider and we will explain them in more detail
in later in the course. After testing the model
needs to be deployed. In this step, we can
see the main connection between software development
and their development teams. For deployment different. They are models need different than
sometimes very resource heavy systems to run in real
time or in near real-time. Communication between
software, DevOps, and they add development is
important because there are various different requirements
for from all sides. After the model is deployed. It's awfully working fine
and people are using it. We reach the monitoring
and maintenance phase that is really similar
to the software development, but the reason behind
maintenance is vastly different. For software products,
you might need to update some systems because in your solution or goat
has been graded, it might update
looks and feels of a webpage or a product
within your design. But when we're talking about
AI product maintenance, all updates are usually
done because we have newer and maybe better
model architecture. We want to use.
Or in most cases, the data that we have
used so far is not suitable for the environment the model is being
used currently. This means that in
maintenance phase we usually restart the data gathering
and analysis and modelling. Once again, we can say that the model
is never 100% ready. It's always in process. Usually the world is
changing and also the contexts round where the model is working
is changing. Therefore, we need to also do the changes
in the model itself. We can say that regular
development needs input of a desired outcome
sometime for analysis, development and
testing, and outcomes should look like the
expected results. Ai development, on
the other hand, needs data and desired
results as input. Then some probably a lot of time and resources
to make it work. Where software development
most likely currencies you a specific outcome as a result than AI development hopes for a result but
cannot currently it. Let's take an example
of Google Translate. Google Translate has a program
that detects language. Based on this detection, Google knows from what
language to translate. The program, the program, the text language is
a development part. We can say that this
program is then used in a traditional software
development component as the program that will
do the computations, data science, machine
learning models, and AI development can be done separately for many
software products, you can have a model
that classifies, predicts or detect something. But to reach more people and create real value with a model, it usually has to be put in a software product that people are more
comfortable width. We can not do meaningful Ai
without the support of classical software
engineering. But we do have to
acknowledge that they are really different things.
4. Product Examples: Product examples part. In here we will talk
about different places, how AI is inside the product. For example, lot of streaming platforms
or online stores where you have your
personal account. They are using the
data and width data, building ML and
data science models to show you what you might like. For example, Netflix, YouTube, all kinds of online
store, GoodReads. Google. Even when you do Google search tries to guess
what you would like. This is an AI part
that recognizes the products you like and
tries to find more of that. In this classical software
engineering component is the component that
shows you the results. Website to online store. And AR is too steep
smartness behind it. Another example, It's also recommendation
systems or works on both. Facebook. Puts the best pieces
to your feed, to what you might be liking, what you might be interested in, what you might be clicking
some advertisements. Again, here, an ER is
the part that recognizes the products you might like and tries to find more of those. The classical software
engineering part is that shows you the results. Next example, Google Home. And this is really
interesting because that has three different product pieces. First is the physical
product design development. How the production looks like. Does it have a light where
it has the microphone, then it has the ARMA
part that recognizes your voice and understands
the voice commands. So each time it till
it's something, each time it tries to
understand what you would like to learn or query or
get information about. The classical software
engineering part is the part that takes the from the AEI and turns on the musical tells you what the
theories are basically. After understanding
what you want, telling you the piece, what do you want to hear? Another example says Jeff, driving car and its
product pieces. Here we have also the physical part to product
design and development. Where are the sensors, how to predict looks like? Then we have the AI part
that recognizes the streets, the movements, understands
where people are, understands where
other cars are. And then we have a classical
software engineering part that controls the car
based on the AEI. So for example, if we see that a person is phone
front of the car, AI recognizes that there
is a person in front of the car and the classical software engineering
bottle, okay? If there is person
in front of the car, we don't put on the
gas, but we break. If we see that there is
a payment or stop sign, then mitch wine, AI understands that there
is a top stop sign. Classical software
engineering part tells us that then we stop. Uber. Uber is maybe a little bit
different in its product that we do not try to
automate something, but we try to estimate how much time it takes you
to go from one place to another place or in the
background to system twice to guess what driver
would be best for you to get quickest
to your equation. This classical software
engineering part here is the part where you interact, interact with AP order the
cab or tear where you want to go or add a credit card details.
5. Conclusion: To conclude, AI is computer's ability to perform tasks that they're
usually done by people. Most AI applications and
systems work with narrow AI. They can only do one or
few tasks at the time. Development and
software development are separate and very
different things. While analyzing gayo
product requirements, you have to do
with analysis from the perspective of data. Most tools and apps we use in our everyday life include
some sort of a component. And meaningful and
useful ai is done by combining AI and traditional
development together. In the next lesson,
we will discuss deterministic and
probabilistic world. Explain it in more detail way I needs constant maintenance and we will go into more
details what you need to know to start your
first AR project.