Source: Deep Learning on Medium
The first week of Andrew Ng’s new course (AI for everyone) made us understand what today is Artificial Intelligence (AI), its possibilities, its limits and how it can be implemented in the form of Machine Learning models, and in particular Deep Learning. With this general knowledge of AI, we can now learn how to develop an AI project in this second week of course.
List of articles “AI for everyone”
- AI for everyone (week 1)
- Building AI projects (week 2)
Now that you have a general knowledge of AI thanks to week 1, you can start your first AI project (starting an AI project)!
Whether a project with friends or a business, you need to know to select an AI project (selecting an AI project) — ie a project where the use of AI brings value — establish the workflow and organizing data and team.
Andrew Ng uses the example of speech recognition by Amazon Alexa to explain these 3 steps.
Credit: all images in this article come from Andrew Ng’s MOOC, AI for everyone.
Tips for a trainer
The content of this week 2 contains all the essentials for developing an AI project (large or small) and understanding how all jobs will be impacted by AI.
The trainer should present the course content in Top-Down way starting with examples showing the uses of AI in different sectors (trade, industry, agriculture, etc.) and different jobs (sales, marketing, human resources, etc.). Indeed, by discovering the impact of AI on jobs in his/her sector, the participant will have a personal interest in understanding AI, and therefore an additional motivation.
In addition, the course must be based on simple and comprehensible examples for all.
Key points of the week 2
. How your job will be modified by AI
. How to decide to use AI in a project? (step 1)
. How to decide to use AI in a project? (step 2)
. Realize an AI project internally or outsource it?
. Workflow of a Machine Learning project
. Workflow of a Data Science project
. Work with an AI team
. The tools of AI team
. Without big data, no AI project? False!
How your job will be changed by AI
With the digital revolution, all activities have been digitized and/or generate digital data. This means that the use of Data Science and AI tools can benefit you by applying to the different activities of your job.
Let’s look at the examples taken by Andrew Ng:
- Increasing sales: if you work in the commercial field, you know that potential customers (leads) with a different profile are sensitive to different products. An ML model can help you prioritize customers (output B) based on their profile (input A) for a given product.
- Default detection: at the end of a product manufacturing line, it is possible to install a camera whose photos will be visually inspected by an ML model in order to classify the products in one of the 2 categories “without default “or” with default “.
- Recruitment assistance: for each job, an ML model can be trained with the CVs data (entry A) to detect those that correspond to the job (exit B: Yes / No).
- Product recommendation: if you work in marketing, you know that e-commerce sites increase their sales by knowing how to offer their customers the products that correspond to them the most. The software behind these recommendations is most often an ML model that has been driven to predict the product or products (output B) that a customer with a certain profile (input A) will prefer.
- Precision agriculture: by training a ML model to recognize weeds (output B) from photos (input A), it is possible to get rid of them by targeting them instead of spraying the whole plantation with a chemical. It is better for both production, consumer health and the environment.
How to decide to use AI in a project? (step 1)
Whether it’s an existing activity or launching a new project, how do you decide to use AI? Indeed, we saw in week 1 that AI models can not (at least today) replace all human and business processes.
To answer this question, it is often better to organize a cross-functional brainstorming with both the AI and domain teams (the domain team is the one that has the knowledge of the field in which we want to use AI): the projects to be selected are those that are both feasible with AI and creating value (increased revenue or costs reduction).
Andrew Ng’s framework for this brainstorming is as follows (note: in the following section, Andrew Ng proposes a second framework to further analyze the feasibility and value of a pre-selected AI project):
- automation of processes/tasks rather than jobs: a job is in fact made up of multiple activities and since AI can only automate a single one, each job must be broken down into unit activities to decide for each of them to use AI or not.
- selection of activities with the greatest impact on the company’s business: if it is preferable at the beginning of the use of AI in a company to choose a project with a low impact on its business (in the beginning, the idea is to experiment in order to get experience), it is better, once the teams are ready to use AI, to select projects with the greatest impact on the company’s business.
- selection of the main pain points in the company’s business: in addition to the previous point, it is preferable, once the teams are ready to use AI, to select the activities that are the main pain points in the company’s business (maybe, AI can solve some).
How to decide to use AI in a project? (step 2)
The framework of step 1 above allows to pre-select a project in which to use AI. However, it is still necessary to analyze in greater depth both its technical feasibility by the AI team (technical diligence) and its potential value by the domain team (business diligence) before starting it.
- According to the state of the art in AI, is it possible to reach the level of performance required by the domain team?
- If so, how much training data is needed (and is it possible to collect them)?
- How much time and people will be involved in creating, training and deploying the AI model?
- What cost reduction can the AI model induce?
- What increase in revenue can the AI model bring?
- Can the AI model generate a new product and/or a new business?
Week 4 of the course will be devoted to ethics because it must also be a decision criterion for launching an AI project.
Realize an AI project internally or outsource it?
Before hiring AI specialists to build an in-house team, it is often best to outsource the project to gain first-hand experience. Moreover, it is important to keep aware of the state of the art in AI so as not to redevelop what already exists, especially in its sector: use/buy standard AI models in your sector and do develop in-house only those which do not exist and/or bring you a differentiating value.
Workflow of a Machine Learning project
All ML projects start with data collection (step 1) that will be needed to train the model (step 2).
In the example of Andrew Ng about speech recognition, it is to record several people pronouncing the words “Hello” and “Alexa”. The recorded audio files represent the A entries of our ML model and their content (“Hello”, “Alexa”), the B targets. In order for our ML model to achieve a good performance, not only do we need several training data (dataset (A, B)) but also several training iterations to refine the value of the model’s parameters.
Then, we will have to deploy the model (step 3), ie implement the ML model as software in Amazon Alexa speakers and send it to a small group of users who will generate new data when using the speaker. For example, if this group contains people with a different accent from the ones that generated the first training dataset, the new data will be different. It will allow us to re-train the model and/or modify its architecture. This upgrade cycle of the ML model is essential to improve its performance in the widest possible use.
Now that you know the 3 steps to create a ML model, how would you apply it to autonomous cars?
Workflow of a Data Science project
As for the workflow of an AI project, the workflow of a Data Science project contains 3 steps: the first is to collect the data (collect data), the second to analyze them (analyze data) with as many interactions as necessary in order to extract the important characteristics (insights), and the third to emit hypotheses and propose actions (suggest hypotheses/actions) whose implementation will generate new data to analyze . This upgrade cycle is essential to improve the performance of the analyzed product/service.
Two examples are used by Andrew Ng to illustrate this workflow: the optimization of the act of purchasing on a site and the reduction of mugs with defaults in its manufacturing process.
Working with an AI Team
Before posting a job offer to recruit an AI specialist, Andrew Ng suggests that your IT engineers take a ML/DL course. Many MOOCs are available on the Internet and are a great place to start learning about AI.
Once you have an AI team, the domain team must define the performance rate of the AI model to be developed for a project and must provide a test dataset that will evaluate the level reached by the model after training.
Be careful, it is not realistic to ask the AI team to obtain a 100% performance rate because depending on the difficulty of the project, even the best AI model may not be enough. In addition, the training dataset can never cover all possible cases and some of the data may be false or ambiguous (these problems can be corrected with more data and/or work to correct existing data) .
The tools of the AI team
The AI evolves largely in the Open Source world, which allows not only to have free ML/DL high quality frameworks (to the list of Andrew Ng, we must add the library fastai) but also to have access to academic research papers in ML/DL (site Arxiv) and the source code of many models (site GitHub).
The AI team must also have significant computational capacity (GPU) in order to be able to train their ML/DL models. GPUs can be local (On-premise or On-prem deployment), in the cloud at Amazon AWS, Microsoft Azure or Google GCP, or in Edge deployment (use case: in stand-alone cars or in mobile devices speech recognition in order to have a faster response time, to have less data to transfer and to increase the privacy).
Without big data, no AI project? False!
The amount of data needed to train an AI model depends on the nature of the project. In addition, with the techniques of Data Augmentation, Transfer Learning and Regularization, it is now possible to begin to train a ML/DL model with little data (1000, 100 or even 10). Subsequently, the use of the model in production will increase the number of training data and thus improve the performance of the model.