The Comprehensive machine learning canvas is A Tool for Scoping Machine Learning Projects and Defining Solutions.
The Comprehensive Machine Learning Canvas (CMLC) is a tool that helps teams scope machine learning projects and define solutions to business problems. It is based on the idea that machine learning is a creative process, and that the best way to approach it is to start with a hypothesis of how machine learning could help solve a particular business problem. The CMLC helps teams map out the problem, machine learning approach, and potential solutions.
2. The
Comprehensive
Machine Learning
Canvas 1.0
By Filip Romeling
The Comprehensive Machine Learning Canvas is a tool help thinkers,
teams and stakeholders to describe and scope important aspects of Machine
Learning solutions. It's comprehensive because it covers everything from
stakeholder and user perspective as well as key aspects of Machine Learning
solutions and also deployment and future iterations. The result of using the
CMLC is to align people on important topics and create a foundation for
developing prototypes, POC's and MVP's.
The canvas is divided into seven sections: Initial problem framing, Stakeholders,
Users, ML Functionality, Data, Deployment/ Inference and iteration. Each section
contains different question-
boxes highlighting important topics under related to
each section. Beneath each section there is also a place where you could try to
sum up the results from all the question-
boxes to generate a summary that can be
helpful when creating presentations.
How to use
It is pretty straight forward to use the CMLC you try to complete each section as
well as you can by answering each question-
box, moving from sections left to right.
There are many different smart way you can facilitate the discussions round the
topics, and what method you use is up to you and your team.
Tips: The total canvas contains 45 different questions so it may take a while to go
through, at least if you are many people doing the sessions together.
One way to use the canvas is also to break each section out and use them as
stand alone templates.
The Comprehensive Machine Learning Canvas 1.0
2022-10-22 Stockholm, Sweden
Made By Filip Romeling
filip@filipromeling.com
filipromeling.com
3. Initial problem framing
What is causing the problem?
What observable thing is causing the problem? Can you define
the problem with its physical or logical properties?
Why is the problem a problem?
Start with asking why! why is the problem even a problem?
Sometimes, what appears to be a problem can just be a result
of a simple misunderstanding or misinterpretation.
When is the problem?
Can you find temporal patterns of the problem?
Where is the problem located?
Is the problem related to a certain location, or system?
Who is experiencing the problem?
Who's headache is it we are trying to relieve?
How is the problem experienced?
How does the problem manifest itself for the one experiencing
it?
Who has the ability to influence the problem once given
the proper tool?
Once you get a better understanding of the challenge at
hand, think about who has the mandate and power, to
influence the problem. It’s not enough to develop a great
solution, you have to put it in the right hands as well.
What is the technical competence required to solve the
problem?
Think about the technical or expertise knowledge needed to
solve the challenge that you have framed. This will also be
important to understand on how your product will be
integrated. It's important that your solution can exhibit
domain knowledge.
Describe the problem in one short description
What is the problem?
Try to describe the problem freely as-
is.
4. Who are the stakeholders?
Who are people that either are impacted or can impact the ML solution?
What are the stakeholders
expected outcomes?
What expectations are there of the
result of using ML?
How would the stakeholder be impacted of your solution?
In what way will the stakeholders be impacted in using AI?
Stakeholders
Describe stakeholders in one short description
5. What routines, and habits does the user have when your solution is needed?
Try to describe the context of what the user is doing when he/she will be interacting or be impacted by the ML solution.
How could the user interact with the solution in their current workflow?
Who is the user?
Who will be interacting or directly impacted by the output of the AI solution?
User
Describe the user in one short description
In what way may the user routine or behaviour change using the ML solution?
6. What is the main functionality of the ML solution?
Complete ML solution may consists of a series of ML models that together delivers the wished result.
What is the simplest method to deliver the
functionality?
Do we have to use ML? E.g. could we predict future sales
using statistics instead?
Describe the ML- model or approaches
needed to deliver the functionality.
Do we need to train and develop a deep neural net to create
an advanced structure or language model or can we use a
simpler decision tree for predicting house pricing.
Are there anything on the market that could deliver the
functionality right out of the box? Don't reinvent
something if you don't have to, especially when getting
started.
What platforms or other enablers are needed to make
the solution possible?
Are there certain cloud solution we need? Do we need to do
all the development on-
prem?
ML Functionality
Describe the functionality in one short description
Identify : Describing something in enough detail so that it could be
recognised in a given context E.g. People, users, cars,
Classify: Sorting objects or events into groups or categories e.g: Bad
from good fruit, a paragraph of text to a category.
Find historical patterns: Can the solution identify historical patterns,
in sales or other events?
Recommend something: Do you want the ML-
model to recommend
something to the user? E.g. A movie to watch, a part to order, a
method to use, a strategy to select.
Take action : Do you want to solution to be able to act based on data
to in order to get a particular result in the physical world.
Make a decision: The ability to select an action, or a certain option.
Automate something: Automate a process or an action that today
requires a human to interact in the process.
Create something: Should the model be able to create something
that does not exist e.g. write text, create an image or video, a
structure.
Predict : Do you want the ML-
model to recommend something to the
user? E.g. A movie to watch, a part to order, a method to use, a
strategy to select.
7. What are the primary data assets the functionality will rely on?
How proprietary is the data used to train your models?
Can you use open data library or du you need specific data collected for your situation?
How much data integration, cleaning, and other activities remain to be performed on your data before it is useful for training?
Do you envision additional data will become available to improve your models at some point?
Data
Can you get 10x more data?
How much work would it be to collect 10x more data than you have at the moment?
How much sensitive data does the functionality rely on?
Does your solution require personal or economical data that could be sesitive?
Describe the data requirements in one short description
8. How could the
solution be integrated in existing systems?
What systems or tools do the users we are developing for already use?
Brainstorm tech and systems the user already use.
Value at day Zero!
What value for the user and stakeholder could you solution deliver right from start?
Where could you place a human in the loop?
To reduce risk and secure value at day zero, could a human be placed in the process to verify
an outcome? Or act as the AI-
itself in a "wizard of oz" test?
How accurate do you need to be?
How accurate does your model need to be in order to deliver value and reduce
risk?
What is the cost of error?
What happens when the model makes a mistake? What risks could an error
have to the user, costs and brand? What are the potential errors for false
positives and false negatives?
Deployment/ Inference
Describe the deployment/ inference in one short description
9. What data/ information do you need in order to add value/ complexity in the next iteration?
What data can you collect about the usability of the solution once deployed?
What qualitative feedback could you collect from the users?
What is the metric on which you deem the model successful or not? How do you know what features to kill or improve over
the next iteration?
Iteration
Describe the next iteration in one short description