SlideShare a Scribd company logo
1 of 46
AI
The theory and development of computer systems(machines) able to
perform tasks that normally require human intelligence.
perceiving, synthesizing, and inferring information
AI applications include :
advanced web search engines (e.g.google)
Recommendation systems(used by YouTube,Amazon and Netflix ML),
understanding human speech(such as siri and Alexa), self-driving cars
(e.g., Tesla),
automated decision-making and competing at the highest level
in strategic game systems (such as chess and Go).
Simulate human mind and learning behavior.
Intelligence
abilities to creating systems that understand, think, learn, and behave
like humans.
learn from experience, adapt to new situations
The automation of activities that we associate with human
thinking(intelligence) (e.g., decision-making, learning…)
• The study of how to make computers solve problems which require
knowledge and intelligence .
AI is the study and construction of rational agents (an agent that
perceives and acts.
Goal
To Create Expert Systems, To Implement Human Intelligence in
Machines.
Thinking humanly,
acting humanly,
Thinking Rationally,
acting Rationally.
Formally initiated in 1956
name AI was coined by John McCarthy
Characteristics of Intelligent system
• Use vast amount of knowledge
• Learn from experience and adopt to changing environment
• Interact with human using language and speech
• Respond in real time
• Tolerate error and ambiguity in communication
• Traditional paradigms: Programs = data structure + algorithm
• AI programming paradigms: Programs = knowledge structure + inference mechanism
Shifts from procedural to declarative programming paradigm:
• Rather than telling the computer how to compute a solution, a program consists of a
knowledge base of facts and relationships.
• Rather than running a program to obtain a solution, the user asks question so that
the system searches through the KB to determine the answer.
An agent perceiving its environment through sensors and acting upon that
environment through actuators/ effectors.
Property
• Autonomous • Reactive to the environment • Pro-active (goal-directed) • Interacts
with other agents via the environment.
Eg. robot vacuum cleaner, Automated taxi driving system, Automated taxi driving
system, Interactive English tutor
• Percept − It is agent’s perceptual inputs at a given instance. • Percept Sequence − It
is the history of all that an agent has perceived till date. • Agent Function − It is a map
from the precept sequence to an action.
sub-fields
• Natural Language processing (computers communicate in human language)
•Machine learning (adapt to new circumstances and accumulate knowledge)
• Computer vision (recognize objects, image understanding based on patterns.)
• Robotics (produce mechanical device( see, hear & take actions, autonomous)
•Neural Networks – e.g. brain modeling, time series prediction, classification
• Expert Systems – e.g. decision support systems, teaching systems
• Speech Processing(recognition and production).
• Knowledge representation (schemes to store information, both facts and
inferences, before and during interrogation) .
• Automated reasoning (use stored information to answer questions and to draw
new conclusions).
ML
Machine Learning algorithms enable the computers to learn from data, and
even improve themselves, without being explicitly programmed.
decision making and predictions.
1) Supervised Learning Algorithm
Also called learning by example.
AI system is presented with data which is labeled.
 Classification: A classification problem is when the output variable is a
category, such as “red” or “blue” or “disease” and “no disease”.
 predicts discrete values. For example, classification models make predictions that
answer questions like the following:
 Is a given email message spam or not spam?
 Is this an image of a dog, a cat, or a got?
 Regression: A regression problem is when the output variable is a real
value, such as “dollars” or “weight”. predicts continuous values.
value of a house in Addis Ababa?
What is the probability that a user will click on this ad?
2) In unsupervised learning
an AI system is presented with unlabeled, uncategorized data and the system’s algorithms act on the data without prior training.
The output is dependent upon the coded algorithms. Subjecting a system to unsupervised learning is one way of testing AI.
 Clustering: A clustering problem is where you want to discover the inherent groupings in the data, such as grouping customers by purchasing behavior.
 Clustering identifies hidden data patterns in an uncategorized/unlabeled dataset based on the similarities or differences in the dataset as
in market segmentation.
 Association: An association rule learning problem is where you want to discover rules that describe large portions of your data, such as people that buy
X also tend to buy Y.
 Association rules allow you to establish associations amongst data objects inside large datasets by identifying relationships between
variables in a given dataset, as in market basket analysis and recommendation engines.
3) reinforcement learning algorithm
learns by interacting with its environment. receives rewards by performing correctly and penalties for performing incorrectly. Try to maximizing its reward
and minimizing its penalty(punishment) with out intervention.
Labels
A label is the thing we're predicting—the y variable in simple linear regression. The label could be the future price of wheat, the kind of animal shown in a
picture, the meaning of an audio clip, or just about anything. Features
A feature is an input variable—the x variable in simple linear regression. A simple machine learning project might use a single feature, while a more
sophisticated machine learning project could use millions of features, specified as: x1,x2,...xN
In the spam detector example, the features could include the following: •words in the email text •sender's address •time of day the email was sent •email
contains the phrase "one weird trick“.
Models
A model defines the relationship between features and label.
For example, a spam detection model might associate certain features
strongly with "spam". Let's highlight two phases of a model's life:
•Training means creating or learning the model. That is, you show the
model labeled examples and enable the model to gradually learn the
relationships between features and label.
•Inference means applying the trained model to unlabeled examples.
That is, you use the trained model to make useful predictions (y'). For
example, during inference, you can predict median HouseValue for new
unlabeled examples.
If you have lesser amount of data and clearly labelled data for training,
opt for Supervised Learning. Unsupervised Learning would generally
give better performance and results for large data sets.
A child playing with toys can arrange them by identifying patterns
based on colors, shapes, sizes, or just based on their interests.
The kid discovers new ways to cluster the toys without needing
external supervision is similar to unsupervised learning.
Unsupervised learning identifies hidden patterns and relationships in an
unlabeled dataset by grouping data into clusters or by association.
E.g. of association recommendation system.
The two main characteristics of RL are trial and error search and
delayed rewards like delayed gratification.
Reinforcement learning is applied in Robotics, Self-driving cars,
evaluating trading strategies and adaptive controls.
A software engineering perspective on engineering machine learning
systems: State of the art and challenges
Introduction
ML algorithms, which have been around for many decades, empowered
software-intensive systems for providing additional beneficial functionalities.
Some of the remarkable tasks that are successfully tackled by ML algorithms
include autonomous driving ,social network analysis ,natural language
processing ,image recognition ,and recommendation .Compelling examples of
ML systems can be seen in various sectors, including finance ,healthcare , and
manufacturing ,etc. Despite several promising examples, 47% of AI projects
remain prototypes due to the lack of the tools to develop and maintain a
production-grade AI system, according to Gartner Research .
ML systems engineering in real-world settings is challenging since it adds
additional complexity to engineering ‘‘traditional’’ software. We have separate
bodies of knowledge for engineering ML capabilities and engineering
traditional software.
On the other hand, ML capabilities are generally served as parts of larger
software-intensive systems (besides embedded software in robots or vehicles).
Therefore, we need a holistic view of engineering software-intensive systems
with ML capabilities (ML systems) in real-world settings. Many researchers
from software engineering (SE) and MLhave stated the requirement of such a
holistic view
The Software Engineering for Machine Learning Applications (SEMLA)
international symposium (Khomh et al., 2018) was arranged to bring
together researchers and practitioners in SE and ML to explore the
challenges and implications of engineering ML systems. In 2018,
twomain topics were addressed intensively in SEMLA.
(1) How can software development teams incorporate ML related
activities into existing software processes?
(2) What new roles, artifacts, and activities would be required to
develop ML systems?
Realizing Artificial Intelligence Synergies in Software Engineering
(RAISE).
Christian Kästner at Carnegie Mellon University started to deliver a
course called ‘‘Software Engineering for AI-Enabled Systems ,which
takes an SE perspective on building software systems with a significant
ML component .
events is QCon.ai, which aims to bring SE and ML practitioners together
to exchange experiences and thoughts on all aspects of SE for ML.
This study aims to present the state of the art on software engineering
for ML systems.
. This paper can serve as a starting point to obtain such a holistic view
and a repository of papers to explore this topic.
The goal of this paper is to summarize the state-of-the-art and identify
challenges when engineering ML systems.
Artificial intelligence (AI) is the name of the field involving the efforts for
building intelligent agents.
Intelligent agents perceive their environment and try to achieve their
goals by acting autonomously.
Machine learning (ML) is a subfield of AI, which tries to acquire
knowledge by extracting patterns from raw data and solve some
problems using this knowledge. Deep Learning (DL) is a subfield of ML
that focuses on creating large neural network models capable of making
accurate data-driven decisions.
DL has emerged from research in AI and ML and is particularly suited to
contexts where large datasets are available and the data is complex.
ML , since first time since the invention of FORTRAN and LISP’’
Based on the dataset representation and the approach to defining the
candidate models and final model (or function), three different
categories of ML are identified: supervised, unsupervised, and
reinforcement learning .In supervised learning, an ML model (or a
function mapping inputs to outputs) is constructed using a training
dataset with labels. Classification and regression problems are typical
examples of supervised learning. In unsupervised learning, a function to
describe a hidden structure is inferred from unlabeled data. Common
problems for unsupervised learning are clustering and association rule
learning. In reinforcement learning, an agent learns from a series of
reinforcements, i.e., rewards and punishments . Reinforcement learning
finds lots of uses in video games.
Traditional software and machine learning systems
Engineering traditional software (or conventional software Druffel and
Little, 1990) is about the implementation of programs (arithmetic &
logic operations, a sequence of if-then-else rules, etc.) explicitly by
engineers in the form of source code. On the contrary, in ML systems,
ML algorithms search through a large space of candidate programs,
driven by training experience, to find a program that optimizes the
performance metric (i.e., fulfills the requirements). in other words, learn
a function that maps from inputs to outputs.
DL
n large enough datasets are available and is particularly useful for the
tasks in complex high-dimensional domains such as face recognition and
machine translation.
Traditional web service or a mobile application development.
SE for ML and ML for SE
ML community focuses on algorithms and their performance, whereas
the SE community focuses on implementing and deploying software
intensive systems.
SE for ML refers to addressing various SE tasks for engineering ML
systems, i.e., designing, developing, and maintaining ML-enabled
software systems.
ML for SE refers to applying or adapting AI technologies to address
various SE tasks ,such as software fault prediction (Malhotra, 2015),
code smell detection ,reusability metrics prediction.
This paper focuses on SE for ML by systematically reviewing the SE
literature on engineering ML systems,
for evaluating and improving the quality of ML systems, ML systems’
safety and security, testing ML systems, good and bad SE design patterns
for ML systems, standardize ML system development processes…
Research methods
systematic mapping study (SMS)
Simple literature review(SLR)
Multiple linear regression (MLR), also known simply as multiple
regression, is a statistical technique that uses several explanatory
variables to predict the outcome of a response variable.
A .Goal
An SLR approach was adopted to synthesize the knowledge of
engineering ML systems from an SE perspective.
The scope and goal of this study were formulated using the Goal-
Question-Metric approach as follows. Analyze the state-of-the-art in
engineering machine learning systems for the purpose of exploration
and analysis with respect to the reported challenges; proposed
solutions; the intensity of the research in the area; the research
methods from the point of view of software engineering researchers in
the context of software engineering.
RQ1. What research methods were used? RQ2. What application
scenarios and datasets were used for in experiments and case studies?
RQ3. Which challenges and solutions for engineering ML systems were
raised by SE researchers? challenge on requirements engineering,
design, software development and tools, testing and quality,
maintenance and configuration management, software engineering
process and management, or organizational aspects.
Some examples related to testing are as follows: (1) ‘‘Existing testing
methodologies always fail to include rare inputs in the testing dataset
and exhibit low neuron coverage.’’ (Guo et al., 2018); (2) ‘‘Deep neural
networks lack an explicit control-flow structure, making it impossible to
apply to them traditional software testing criteria such as code
coverage.’’ ; (3) ‘‘Unlike software bugs, model bugs cannot be easily
fixed by directly modifying models.
B. primary study selection
2 db search I started by applying the database (DB) search method to
identify relevant primary studies. I used five widely used online
databases, i.e., ACM, IEEE Xplore, ScienceDirect, Springer, Google
Scholar, and Wiley.
. I used two search strings to query online databases: Query 1: ‘‘software
engineering’’ AND ‘‘machine learning’’; Query 2: ‘‘software engineering’’ AND
‘‘deep learning’’.
3. Backward and forward snowballing To ensure the inclusion of relevant
primary studies
I conducted backward and forward snowballing
4 Manual search To enrich the primary study pool, I conducted a manual
search in two top SE conference proceedings (ICSE and ESEC/FSE)
1 Inclusion and exclusion criteria
To identify the relevant primary studies
(1) The paper should be about an ML system or component; (2) The paper
should mention at least one challenge on requirements engineering,
design, software development and tools, testing…
5 De-duplication I manually entered the metadata of primary studies (e.g.,
title, abstract, keywords, publication year, venue, etc.)
6 Quality assessment
To assess the quality of primary studies, I used the quality assessment criteria
C . Data extraction
After selecting the primary studies, I started with the data extraction
phase. I formed an initial data extraction form (Table 6) based on my
RQs.
D. Data synthesis and reporting
I conducted open coding (Miles and Huberman, 1994) to analyze the
challenges and solutions.
results
1. What research methods were used?
experiment, is primarily used in studies addressing testing and quality.
one study may involve more than one research method and may cover
more than one SE knowledge area.
2.What application scenarios and datasets were used for in experiments
and case studies?
Image classification is the most popular application scenario used in 57
primary studies. The reason behind this could be the availability of many
public datasets. Image classification involves assigning predefined labels
to images based on objects they contain.
object detection aims to produce a list of object categories present in an
image,
Twenty studies included a classification scenario other than image
classification. Some examples include sentiment classification ,credit risk
category prediction ,income category classification ,and disease
prediction.
The third most popular application scenario is autonomous driving.
Autonomous driving includes many ML tasks, including image
classification, object (like pedestrian) detection, predicting steering
wheel angle.
Two examples of regression problems are predicting the price of a house and
predicting the number of bugs in a source code.
Mountain car problem is based on an underpowered car that must drive up a
steep hill. The car cannot simply accelerate up the steep slope since gravity is
stronger than the car’s engine. The solution requires a reinforcement-learning
agent to leverage potential energy by learning on two continuous variables:
position and velocity.
I also classified the algorithms used in the experiments and case studies into
two groups: traditional ML and DL algorithms.
traditional ML algorithms entail a manual feature selection process, which may
require domain expertise, statistical analysis of input data, and experiments for
building models with different feature .For instance, to detect an object in an
image, a data scientist would first need to extract features such as edges,
blobs, and textured regions from the image .Thereafter, these features can be
fed to an ML algorithm to detect objects. On the other hand, DL algorithms are
capable of learning more correct features compared to human-designed ones
.Hence, for scenarios where there is a big gap between the inputs (such as
images) and the outputs (such as objects), DL models are able to perform
much better than traditional ML models .However, large labeled datasets are
required to train DL models.
the researchers mostly used traditional ML algorithms. The rationale
behind this could be unavailability of sufficient labeled datasets.
Another reason could be that traditional ML algorithms are suggested to
be used for t.
he problems where features are available
3. Which challenges and solutions for engineering ML systems were
raised by SE researchers?
The identified SE challenges are classified based on the main SE
knowledge areas.
3.1 Requirements engineering
Requirements engineering involves eliciting, analyzing, specifying, and
validating requirements.
RE process has numerous potential obstacles, such as incomplete,
hidden, inconsistent, underspecified requirements, communication
flaws.
Managing expectations of customers: A potential gap between
customers’ expectations and the delivered system has been reported as
a potential problem in software projects (Wiegers, 1996). Frequent
customer engagement is an effective way of reducing this ‘‘expectation
gap’’
Eliciting and analyzing requirements:
Requirements of ML systems are heavily dependent on available data;
different data sets may lead to different needs.
Specifying requirements:
Requirements to be fulfilled by ML components are generally specified
using quantitative measures (such as accuracy, precision, recall, F
measure)that are new for many stakeholders.
In parallel with the rise of ML systems, new quality metrics to ensure
completeness, consistency, etc. should be defined and contemporary
techniques for specifying types of requirements, such as performance.
Dealing with new types of quality attributes:
Stakeholders need to elicit requirements on new types of quality
attributes, such as explainability ,fairness and freshness.
explainability of an ML system measures how a human observer can
understand the reasons behind a decision. Explainability is quite
essential in building trust between an ML system and its users . Defense
Advanced Research Projects Agency (DARPA) has started a program
named ‘‘Explainable AI (XAI)’’, which aimed at developing more
explainable models.
As ML systems are increasingly being used in domains sensitive to
discrimination (such as education, employment, healthcare) due to
protected characteristics (such as gender and race), it becomes crucial
to avoid making decisions biased by protected characteristics. Various
definitions of this new type of quality attribute, fairness, have been
presented. example, a software system assessing loan applications can
be attributed to be fair with respect to age and race. If protected
characteristics are directly identifiable, excluding them from the training
data can fulfill the fairness requirement. For instance, address data,
which may be correlated with race, may be used to train a model for
credit scoring.
Freshness requirement (Zinkevich, 2017) refers to the conditions for
updating ML models. ML models’ performance may change over time
due to some reasons, such as changing patterns in input data (data
drift). Freshness requirements can be defined as a period (daily, weekly,
monthly update of ML models). Robustness requirements are vital,
especially for safety-critical systems, such as those used in autonomous
driving.
For example, an ML component should detect a pedestrian even if a
small amount of noise is added to the image or it is rotated by a limited
amount.
data quality is an important aspect to be considered during RE since it
directly affects the performance of an ML model.
Business rules include government regulations, corporate policies, and
industry standards and form the rules that a software system must
comply with .Business rules are not software requirements themselves,
6. Discussion
Requirements engineering for ML systems:
Specifying ML components’ requirements requires a different perspective than
traditional software components.
It is difficult and mostly impossible to characterize all the behaviors of ML
components under all circumstances
Rather than specifying precise requirements, hypothesizing what outcomes
can be obtained from data should be the starting point, and requirements shall
be refined via experimentation.
Designing ML systems:
Monitoring for potential performance degradation on production and high-
volume data processing are two important design considerations for ML
systems. New architectural styles and patterns for ML systems are required for
robust systems to address these concerns.
SE tooling for developing ML systems:
ML systems’ development involves a diverse set of frameworks, tools, libraries,
and programming languages (Rahman et al., 2019). The popularity of ML has
brought many tools, mostly open-source
Some tools emerged from academia, such as DARVIZ,, NeuralVis, ModelKB, to
solve specific problems in developing ML systems.
Testing ML systems:
Despite many studies, we do not have mature testing techniques and tools to
develop ML systems in industrial settings. Designing and evaluating test cases,
preparing test data, executing tests, and assessing test results contain many
research problems.
SE researchers focused mostly on testing ML systems. Despite many studies,
we do not have mature testing techniques and tools to develop ML systems in
industrial settings. Designing and evaluating test cases, preparing test data,
executing tests, and assessing test results contain many research problems.
Debugging tool support:
Debugging and profiling tool support is an essential deficiency for engineering
ML systems.Although there are some approaches and prototype tools, such as
DeepFault(Eniser et al., 2019), LAMP (Ma et al., 2017), MODE (Ma et al.,
2018c), and DARVIZ (Sankaran et al., 2017), more mature debugging tools
integrated with ML system development environments are required.
Advances in machine learning lead to a transition from the conventional
view of software development, where algorithms are hard-coded by
humans, to ML systems that are materialized through learning from
data. Therefore, we need to rethink our ways of developing software
systems and consider the particularities required by these new types of
applications. This study aims to systematically identify, analyze,
summarize, and synthesize SE research’s current state for engineering
ML systems. Researchers have been showing an increasing interest in
this research area since 2018 (Fig. 9). Although there are a lot of primary
studies (Section 9.1, Primary Studies (sources reviewed in the SLR)) and
secondary studies (Section 3) on this topic, many research questions
remain unanswered (Section 6.1 and Table 8). More cooperation
between industry and academia and conducting more experiments
using real-world problems would help to extend the SE body of
knowledge for engineering ML systems. Moreover, reporting on lessons
learned from action research in the industry can provide valuable
insights for answering research questions.
Knowledge area Challenge Proposed solution(s)
Requirements
engineering
Managing expectations of
customers
Inform customers about the benefits of ML • Explain
the possibility of change in the level of success of ML
systems on production in time
Eliciting and analyzing
requirements
State some requirements as hypotheses to be tested via
experiments • Refine requirements by means of
experiments
Specifying requirements Use a checklist to identify business metrics • Use logical
formulas to express classification performance,
robustness, and fairness of ML classifiers • Extend Goal-
oriented Requirements Engineering • Use a
specification language for specifying fairness
requirement
Dealing with new types of
quality attributes
Use a model and a measurement method to agree with
customers on quality attributes • Use baselines for
specifying quality attributes when possible (such as
human performance for a safety-critical task)
Dealing with new types of
conflicts between
requirements
design Designing for monitoring
performance degradation
on production
Use a specific software
architectural pattern to
deal with operational
problems such as problem
localization and rollback
at failure
Using new solution
patterns for solving
problems
Design effective solutions
via experiments • Develop
and use a design patterns
catalog • Develop and use
a catalog of architectural
patterns
Dealing with high-volume
data
Use a checklist to validate
a design model against
high-volume data
Software
developmen
t and tools
Understanding ML
algorithms, techniques, and
libraries
Produce better documentation for ML libraries, Use automated model and
parameter recommendation tools, Utilize resources such as Stack Overflow
for knowledge acquisition via automatic documentation generation
Dealing with models Use a model-driven development based and platform agnostic framework to
generate DL library specificcode (such as DARVIZ), Use a visual tool to develop
DL models (such as DeepVisual), Use a verification tool (such as NEURODIFF)
to develop robust and resource-efficient ML systems involving compressed ML
models, use a visual tool for supporting engineers in the understanding
structure of neural network models (such as NeuralVis), Use a tool (such as
FeatureNET) to generate and evaluate DL models
Dealing with dependencies,
Reusing models
Dealing with the
development environment,
tools, and infrastructure
• Use Docker images with all desired software pre-installed to prevent
discrepancies among development, quality assurance, and production
environments, • Develop and use extensions on current IDEs for ML system
development, such as Azure ML for Visual Studio Code, Use a tool (such as
DARVIZ) for model abstraction to provide interoperability across platforms,
Use unified APIs (ML API) hiding the complexity of ML libraries
Dealing with data Use data verification tools
Testing Designing test cases Use a method/tool for testing DL models such as DeepEvolution , DeepCT ,DeepConcolic.
Utilize Metamorphic Testing to test DL systems, Use a method/tool to generate fault-
revealing inputs such as DeepJanus, Use a method/tool for generating test inputs for
autonomous cars, Reduce test data volume using an approach, such as DeepReduce ,PACE
Evaluating test cases Use a coverage criterion appropriate for ML/DL models, Consider other criteria when neuron
coverage criterion is not sufficient, such as proposed in DeepGini ,DeepImportance, Measure
the quality of test data
Preparing test data Use a tool (such as DLFuzz) to generate adversarial examples without manual labeling effort,
Develop an infrastructure for automated data collection and labeling, Consider using
simulators to generate test data when appropriate
Executing tests Use a tool to execute tests (such as ModelKB), Use a differential testing framework to detect
potential inconsistent behavior of ML models on different settings
Evaluating test
results
Use metamorphic relations to tackle with oracle problem, Use combinatorial testing to tackle
with oracle problem, Use a program synthesis technique to tackle with oracle problem
Debugging and fixing Use an approach/tool to debug and fix DL models, such as DeepFault , LAMP , MODE,
DARVIZ. Use an approach to find and localize bugs in DL libraries, such as CRADLE ,LEMON
Automating tests • Use a systematic technique to automate test case generation, such as DeepTest
Maintenance and
configuration
management
Dealing with
configuration
management of data
and ML models
Use a tool for data and ML model configuration management (such as
ModelKB) • Use Software Composition Analysis (SCA) tools to discover
all related components of ML frameworks • Use a single platform (like
Kubernetes) to manage all components (data pipelines, ML models, code
logic, etc.) of an ML system
Dealing with the history
of experiments
Use a proper software architecture suitable for troubleshooting
Dealing with re-training
and re-deployment
Apply Canary release approach for risky ML model re-deployments,Retrain
ML models using input data deviating from the distribution of training
data
State of the art
the level of knowledge and development achieved in a technique, science, etc,
esp at present adjective state-of-the-art (prenominal)
The state of the art (sometimes cutting edge or leading edge) refers to the
highest level of general development, as of a device, technique, or
scientific field achieved at a particular time. However, in some contexts it can
also refer to a level of development reached at any particular time as a result of
the
the level of development (as of a device, procedure, process, technique, or
science) reached at any particular time usually as a result of modern
1.the most recent stage in the development of a product, incorporating the
newest technology, ideas, and features:
2."the state of the art in 3D printing"
recent.pptx
recent.pptx
recent.pptx
recent.pptx

More Related Content

Similar to recent.pptx

machinecanthink-160226155704.pdf
machinecanthink-160226155704.pdfmachinecanthink-160226155704.pdf
machinecanthink-160226155704.pdfPranavPatil822557
 
Machine learning-in-details-with-out-python-code
Machine learning-in-details-with-out-python-codeMachine learning-in-details-with-out-python-code
Machine learning-in-details-with-out-python-codeOsama Ghandour Geris
 
Machine Learning Contents.pptx
Machine Learning Contents.pptxMachine Learning Contents.pptx
Machine Learning Contents.pptxNaveenkushwaha18
 
Unlocking the Potential of Artificial Intelligence_ Machine Learning in Pract...
Unlocking the Potential of Artificial Intelligence_ Machine Learning in Pract...Unlocking the Potential of Artificial Intelligence_ Machine Learning in Pract...
Unlocking the Potential of Artificial Intelligence_ Machine Learning in Pract...eswaralaldevadoss
 
introduction to machine learning
introduction to machine learningintroduction to machine learning
introduction to machine learningJohnson Ubah
 
Unit-2-part-2Machine Learning.pptx
Unit-2-part-2Machine Learning.pptxUnit-2-part-2Machine Learning.pptx
Unit-2-part-2Machine Learning.pptxnehayarrapothu
 
Internship - Python - AI ML.pptx
Internship - Python - AI ML.pptxInternship - Python - AI ML.pptx
Internship - Python - AI ML.pptxHchethankumar
 
Internship - Python - AI ML.pptx
Internship - Python - AI ML.pptxInternship - Python - AI ML.pptx
Internship - Python - AI ML.pptxHchethankumar
 
Machine Learning.pptx
Machine Learning.pptxMachine Learning.pptx
Machine Learning.pptxchadhar227
 
Pattern recognition in ML.pdf
Pattern recognition in ML.pdfPattern recognition in ML.pdf
Pattern recognition in ML.pdfMatthewHaws4
 
Data analytics with python introductory
Data analytics with python introductoryData analytics with python introductory
Data analytics with python introductoryAbhimanyu Dwivedi
 
How to build machine learning apps.pdf
How to build machine learning apps.pdfHow to build machine learning apps.pdf
How to build machine learning apps.pdfJamieDornan2
 
Intro/Overview on Machine Learning Presentation
Intro/Overview on Machine Learning PresentationIntro/Overview on Machine Learning Presentation
Intro/Overview on Machine Learning PresentationAnkit Gupta
 
Machine Learning The Powerhouse of AI Explained.pdf
Machine Learning The Powerhouse of AI Explained.pdfMachine Learning The Powerhouse of AI Explained.pdf
Machine Learning The Powerhouse of AI Explained.pdfCIO Look Magazine
 
Lect 7 intro to M.L..pdf
Lect 7 intro to M.L..pdfLect 7 intro to M.L..pdf
Lect 7 intro to M.L..pdfHassanElalfy4
 

Similar to recent.pptx (20)

Machine Can Think
Machine Can ThinkMachine Can Think
Machine Can Think
 
machinecanthink-160226155704.pdf
machinecanthink-160226155704.pdfmachinecanthink-160226155704.pdf
machinecanthink-160226155704.pdf
 
Machine learning-in-details-with-out-python-code
Machine learning-in-details-with-out-python-codeMachine learning-in-details-with-out-python-code
Machine learning-in-details-with-out-python-code
 
Machine Learning Contents.pptx
Machine Learning Contents.pptxMachine Learning Contents.pptx
Machine Learning Contents.pptx
 
Unlocking the Potential of Artificial Intelligence_ Machine Learning in Pract...
Unlocking the Potential of Artificial Intelligence_ Machine Learning in Pract...Unlocking the Potential of Artificial Intelligence_ Machine Learning in Pract...
Unlocking the Potential of Artificial Intelligence_ Machine Learning in Pract...
 
module 6 (1).ppt
module 6 (1).pptmodule 6 (1).ppt
module 6 (1).ppt
 
introduction to machine learning
introduction to machine learningintroduction to machine learning
introduction to machine learning
 
Unit-2-part-2Machine Learning.pptx
Unit-2-part-2Machine Learning.pptxUnit-2-part-2Machine Learning.pptx
Unit-2-part-2Machine Learning.pptx
 
machine learning
machine learningmachine learning
machine learning
 
Internship - Python - AI ML.pptx
Internship - Python - AI ML.pptxInternship - Python - AI ML.pptx
Internship - Python - AI ML.pptx
 
Internship - Python - AI ML.pptx
Internship - Python - AI ML.pptxInternship - Python - AI ML.pptx
Internship - Python - AI ML.pptx
 
Machine Learning.pptx
Machine Learning.pptxMachine Learning.pptx
Machine Learning.pptx
 
Pattern recognition in ML.pdf
Pattern recognition in ML.pdfPattern recognition in ML.pdf
Pattern recognition in ML.pdf
 
Data analytics with python introductory
Data analytics with python introductoryData analytics with python introductory
Data analytics with python introductory
 
How to build machine learning apps.pdf
How to build machine learning apps.pdfHow to build machine learning apps.pdf
How to build machine learning apps.pdf
 
Intro/Overview on Machine Learning Presentation
Intro/Overview on Machine Learning PresentationIntro/Overview on Machine Learning Presentation
Intro/Overview on Machine Learning Presentation
 
Machine Learning The Powerhouse of AI Explained.pdf
Machine Learning The Powerhouse of AI Explained.pdfMachine Learning The Powerhouse of AI Explained.pdf
Machine Learning The Powerhouse of AI Explained.pdf
 
Machine learning
Machine learningMachine learning
Machine learning
 
Lect 7 intro to M.L..pdf
Lect 7 intro to M.L..pdfLect 7 intro to M.L..pdf
Lect 7 intro to M.L..pdf
 
ML vs AI
ML vs AIML vs AI
ML vs AI
 

Recently uploaded

Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 
Final demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxFinal demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxAvyJaneVismanos
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
Science lesson Moon for 4th quarter lesson
Science lesson Moon for 4th quarter lessonScience lesson Moon for 4th quarter lesson
Science lesson Moon for 4th quarter lessonJericReyAuditor
 
ENGLISH5 QUARTER4 MODULE1 WEEK1-3 How Visual and Multimedia Elements.pptx
ENGLISH5 QUARTER4 MODULE1 WEEK1-3 How Visual and Multimedia Elements.pptxENGLISH5 QUARTER4 MODULE1 WEEK1-3 How Visual and Multimedia Elements.pptx
ENGLISH5 QUARTER4 MODULE1 WEEK1-3 How Visual and Multimedia Elements.pptxAnaBeatriceAblay2
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
Painted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of IndiaPainted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of IndiaVirag Sontakke
 
Biting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdfBiting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdfadityarao40181
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon AUnboundStockton
 
भारत-रोम व्यापार.pptx, Indo-Roman Trade,
भारत-रोम व्यापार.pptx, Indo-Roman Trade,भारत-रोम व्यापार.pptx, Indo-Roman Trade,
भारत-रोम व्यापार.pptx, Indo-Roman Trade,Virag Sontakke
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsanshu789521
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxOH TEIK BIN
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionSafetyChain Software
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...Marc Dusseiller Dusjagr
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
Pharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdfPharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdfMahmoud M. Sallam
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdfssuser54595a
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxpboyjonauth
 

Recently uploaded (20)

Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 
Final demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxFinal demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptx
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
Science lesson Moon for 4th quarter lesson
Science lesson Moon for 4th quarter lessonScience lesson Moon for 4th quarter lesson
Science lesson Moon for 4th quarter lesson
 
ENGLISH5 QUARTER4 MODULE1 WEEK1-3 How Visual and Multimedia Elements.pptx
ENGLISH5 QUARTER4 MODULE1 WEEK1-3 How Visual and Multimedia Elements.pptxENGLISH5 QUARTER4 MODULE1 WEEK1-3 How Visual and Multimedia Elements.pptx
ENGLISH5 QUARTER4 MODULE1 WEEK1-3 How Visual and Multimedia Elements.pptx
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
Painted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of IndiaPainted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of India
 
Biting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdfBiting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdf
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon A
 
भारत-रोम व्यापार.pptx, Indo-Roman Trade,
भारत-रोम व्यापार.pptx, Indo-Roman Trade,भारत-रोम व्यापार.pptx, Indo-Roman Trade,
भारत-रोम व्यापार.pptx, Indo-Roman Trade,
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha elections
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptx
 
Staff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSDStaff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSD
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory Inspection
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
Pharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdfPharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdf
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptx
 

recent.pptx

  • 1. AI The theory and development of computer systems(machines) able to perform tasks that normally require human intelligence. perceiving, synthesizing, and inferring information AI applications include : advanced web search engines (e.g.google) Recommendation systems(used by YouTube,Amazon and Netflix ML), understanding human speech(such as siri and Alexa), self-driving cars (e.g., Tesla), automated decision-making and competing at the highest level in strategic game systems (such as chess and Go). Simulate human mind and learning behavior.
  • 2. Intelligence abilities to creating systems that understand, think, learn, and behave like humans. learn from experience, adapt to new situations The automation of activities that we associate with human thinking(intelligence) (e.g., decision-making, learning…) • The study of how to make computers solve problems which require knowledge and intelligence . AI is the study and construction of rational agents (an agent that perceives and acts. Goal To Create Expert Systems, To Implement Human Intelligence in Machines.
  • 3. Thinking humanly, acting humanly, Thinking Rationally, acting Rationally. Formally initiated in 1956 name AI was coined by John McCarthy Characteristics of Intelligent system • Use vast amount of knowledge • Learn from experience and adopt to changing environment • Interact with human using language and speech • Respond in real time • Tolerate error and ambiguity in communication
  • 4. • Traditional paradigms: Programs = data structure + algorithm • AI programming paradigms: Programs = knowledge structure + inference mechanism Shifts from procedural to declarative programming paradigm: • Rather than telling the computer how to compute a solution, a program consists of a knowledge base of facts and relationships. • Rather than running a program to obtain a solution, the user asks question so that the system searches through the KB to determine the answer. An agent perceiving its environment through sensors and acting upon that environment through actuators/ effectors. Property • Autonomous • Reactive to the environment • Pro-active (goal-directed) • Interacts with other agents via the environment. Eg. robot vacuum cleaner, Automated taxi driving system, Automated taxi driving system, Interactive English tutor • Percept − It is agent’s perceptual inputs at a given instance. • Percept Sequence − It is the history of all that an agent has perceived till date. • Agent Function − It is a map from the precept sequence to an action.
  • 5. sub-fields • Natural Language processing (computers communicate in human language) •Machine learning (adapt to new circumstances and accumulate knowledge) • Computer vision (recognize objects, image understanding based on patterns.) • Robotics (produce mechanical device( see, hear & take actions, autonomous) •Neural Networks – e.g. brain modeling, time series prediction, classification • Expert Systems – e.g. decision support systems, teaching systems • Speech Processing(recognition and production). • Knowledge representation (schemes to store information, both facts and inferences, before and during interrogation) . • Automated reasoning (use stored information to answer questions and to draw new conclusions).
  • 6. ML Machine Learning algorithms enable the computers to learn from data, and even improve themselves, without being explicitly programmed. decision making and predictions. 1) Supervised Learning Algorithm Also called learning by example. AI system is presented with data which is labeled.  Classification: A classification problem is when the output variable is a category, such as “red” or “blue” or “disease” and “no disease”.  predicts discrete values. For example, classification models make predictions that answer questions like the following:  Is a given email message spam or not spam?  Is this an image of a dog, a cat, or a got?  Regression: A regression problem is when the output variable is a real value, such as “dollars” or “weight”. predicts continuous values. value of a house in Addis Ababa? What is the probability that a user will click on this ad?
  • 7. 2) In unsupervised learning an AI system is presented with unlabeled, uncategorized data and the system’s algorithms act on the data without prior training. The output is dependent upon the coded algorithms. Subjecting a system to unsupervised learning is one way of testing AI.  Clustering: A clustering problem is where you want to discover the inherent groupings in the data, such as grouping customers by purchasing behavior.  Clustering identifies hidden data patterns in an uncategorized/unlabeled dataset based on the similarities or differences in the dataset as in market segmentation.  Association: An association rule learning problem is where you want to discover rules that describe large portions of your data, such as people that buy X also tend to buy Y.  Association rules allow you to establish associations amongst data objects inside large datasets by identifying relationships between variables in a given dataset, as in market basket analysis and recommendation engines. 3) reinforcement learning algorithm learns by interacting with its environment. receives rewards by performing correctly and penalties for performing incorrectly. Try to maximizing its reward and minimizing its penalty(punishment) with out intervention. Labels A label is the thing we're predicting—the y variable in simple linear regression. The label could be the future price of wheat, the kind of animal shown in a picture, the meaning of an audio clip, or just about anything. Features A feature is an input variable—the x variable in simple linear regression. A simple machine learning project might use a single feature, while a more sophisticated machine learning project could use millions of features, specified as: x1,x2,...xN In the spam detector example, the features could include the following: •words in the email text •sender's address •time of day the email was sent •email contains the phrase "one weird trick“.
  • 8. Models A model defines the relationship between features and label. For example, a spam detection model might associate certain features strongly with "spam". Let's highlight two phases of a model's life: •Training means creating or learning the model. That is, you show the model labeled examples and enable the model to gradually learn the relationships between features and label. •Inference means applying the trained model to unlabeled examples. That is, you use the trained model to make useful predictions (y'). For example, during inference, you can predict median HouseValue for new unlabeled examples.
  • 9. If you have lesser amount of data and clearly labelled data for training, opt for Supervised Learning. Unsupervised Learning would generally give better performance and results for large data sets. A child playing with toys can arrange them by identifying patterns based on colors, shapes, sizes, or just based on their interests. The kid discovers new ways to cluster the toys without needing external supervision is similar to unsupervised learning. Unsupervised learning identifies hidden patterns and relationships in an unlabeled dataset by grouping data into clusters or by association. E.g. of association recommendation system.
  • 10. The two main characteristics of RL are trial and error search and delayed rewards like delayed gratification. Reinforcement learning is applied in Robotics, Self-driving cars, evaluating trading strategies and adaptive controls.
  • 11. A software engineering perspective on engineering machine learning systems: State of the art and challenges
  • 12. Introduction ML algorithms, which have been around for many decades, empowered software-intensive systems for providing additional beneficial functionalities. Some of the remarkable tasks that are successfully tackled by ML algorithms include autonomous driving ,social network analysis ,natural language processing ,image recognition ,and recommendation .Compelling examples of ML systems can be seen in various sectors, including finance ,healthcare , and manufacturing ,etc. Despite several promising examples, 47% of AI projects remain prototypes due to the lack of the tools to develop and maintain a production-grade AI system, according to Gartner Research . ML systems engineering in real-world settings is challenging since it adds additional complexity to engineering ‘‘traditional’’ software. We have separate bodies of knowledge for engineering ML capabilities and engineering traditional software. On the other hand, ML capabilities are generally served as parts of larger software-intensive systems (besides embedded software in robots or vehicles). Therefore, we need a holistic view of engineering software-intensive systems with ML capabilities (ML systems) in real-world settings. Many researchers from software engineering (SE) and MLhave stated the requirement of such a holistic view
  • 13. The Software Engineering for Machine Learning Applications (SEMLA) international symposium (Khomh et al., 2018) was arranged to bring together researchers and practitioners in SE and ML to explore the challenges and implications of engineering ML systems. In 2018, twomain topics were addressed intensively in SEMLA. (1) How can software development teams incorporate ML related activities into existing software processes? (2) What new roles, artifacts, and activities would be required to develop ML systems? Realizing Artificial Intelligence Synergies in Software Engineering (RAISE). Christian Kästner at Carnegie Mellon University started to deliver a course called ‘‘Software Engineering for AI-Enabled Systems ,which takes an SE perspective on building software systems with a significant ML component .
  • 14. events is QCon.ai, which aims to bring SE and ML practitioners together to exchange experiences and thoughts on all aspects of SE for ML. This study aims to present the state of the art on software engineering for ML systems. . This paper can serve as a starting point to obtain such a holistic view and a repository of papers to explore this topic. The goal of this paper is to summarize the state-of-the-art and identify challenges when engineering ML systems.
  • 15. Artificial intelligence (AI) is the name of the field involving the efforts for building intelligent agents. Intelligent agents perceive their environment and try to achieve their goals by acting autonomously. Machine learning (ML) is a subfield of AI, which tries to acquire knowledge by extracting patterns from raw data and solve some problems using this knowledge. Deep Learning (DL) is a subfield of ML that focuses on creating large neural network models capable of making accurate data-driven decisions. DL has emerged from research in AI and ML and is particularly suited to contexts where large datasets are available and the data is complex. ML , since first time since the invention of FORTRAN and LISP’’
  • 16. Based on the dataset representation and the approach to defining the candidate models and final model (or function), three different categories of ML are identified: supervised, unsupervised, and reinforcement learning .In supervised learning, an ML model (or a function mapping inputs to outputs) is constructed using a training dataset with labels. Classification and regression problems are typical examples of supervised learning. In unsupervised learning, a function to describe a hidden structure is inferred from unlabeled data. Common problems for unsupervised learning are clustering and association rule learning. In reinforcement learning, an agent learns from a series of reinforcements, i.e., rewards and punishments . Reinforcement learning finds lots of uses in video games.
  • 17. Traditional software and machine learning systems Engineering traditional software (or conventional software Druffel and Little, 1990) is about the implementation of programs (arithmetic & logic operations, a sequence of if-then-else rules, etc.) explicitly by engineers in the form of source code. On the contrary, in ML systems, ML algorithms search through a large space of candidate programs, driven by training experience, to find a program that optimizes the performance metric (i.e., fulfills the requirements). in other words, learn a function that maps from inputs to outputs. DL n large enough datasets are available and is particularly useful for the tasks in complex high-dimensional domains such as face recognition and machine translation. Traditional web service or a mobile application development.
  • 18.
  • 19. SE for ML and ML for SE ML community focuses on algorithms and their performance, whereas the SE community focuses on implementing and deploying software intensive systems. SE for ML refers to addressing various SE tasks for engineering ML systems, i.e., designing, developing, and maintaining ML-enabled software systems. ML for SE refers to applying or adapting AI technologies to address various SE tasks ,such as software fault prediction (Malhotra, 2015), code smell detection ,reusability metrics prediction. This paper focuses on SE for ML by systematically reviewing the SE literature on engineering ML systems, for evaluating and improving the quality of ML systems, ML systems’ safety and security, testing ML systems, good and bad SE design patterns for ML systems, standardize ML system development processes…
  • 20. Research methods systematic mapping study (SMS) Simple literature review(SLR) Multiple linear regression (MLR), also known simply as multiple regression, is a statistical technique that uses several explanatory variables to predict the outcome of a response variable. A .Goal An SLR approach was adopted to synthesize the knowledge of engineering ML systems from an SE perspective. The scope and goal of this study were formulated using the Goal- Question-Metric approach as follows. Analyze the state-of-the-art in engineering machine learning systems for the purpose of exploration and analysis with respect to the reported challenges; proposed solutions; the intensity of the research in the area; the research methods from the point of view of software engineering researchers in the context of software engineering.
  • 21. RQ1. What research methods were used? RQ2. What application scenarios and datasets were used for in experiments and case studies? RQ3. Which challenges and solutions for engineering ML systems were raised by SE researchers? challenge on requirements engineering, design, software development and tools, testing and quality, maintenance and configuration management, software engineering process and management, or organizational aspects. Some examples related to testing are as follows: (1) ‘‘Existing testing methodologies always fail to include rare inputs in the testing dataset and exhibit low neuron coverage.’’ (Guo et al., 2018); (2) ‘‘Deep neural networks lack an explicit control-flow structure, making it impossible to apply to them traditional software testing criteria such as code coverage.’’ ; (3) ‘‘Unlike software bugs, model bugs cannot be easily fixed by directly modifying models. B. primary study selection 2 db search I started by applying the database (DB) search method to identify relevant primary studies. I used five widely used online databases, i.e., ACM, IEEE Xplore, ScienceDirect, Springer, Google Scholar, and Wiley.
  • 22. . I used two search strings to query online databases: Query 1: ‘‘software engineering’’ AND ‘‘machine learning’’; Query 2: ‘‘software engineering’’ AND ‘‘deep learning’’. 3. Backward and forward snowballing To ensure the inclusion of relevant primary studies I conducted backward and forward snowballing 4 Manual search To enrich the primary study pool, I conducted a manual search in two top SE conference proceedings (ICSE and ESEC/FSE) 1 Inclusion and exclusion criteria To identify the relevant primary studies (1) The paper should be about an ML system or component; (2) The paper should mention at least one challenge on requirements engineering, design, software development and tools, testing… 5 De-duplication I manually entered the metadata of primary studies (e.g., title, abstract, keywords, publication year, venue, etc.) 6 Quality assessment To assess the quality of primary studies, I used the quality assessment criteria
  • 23. C . Data extraction After selecting the primary studies, I started with the data extraction phase. I formed an initial data extraction form (Table 6) based on my RQs. D. Data synthesis and reporting I conducted open coding (Miles and Huberman, 1994) to analyze the challenges and solutions.
  • 24. results 1. What research methods were used? experiment, is primarily used in studies addressing testing and quality. one study may involve more than one research method and may cover more than one SE knowledge area.
  • 25. 2.What application scenarios and datasets were used for in experiments and case studies? Image classification is the most popular application scenario used in 57 primary studies. The reason behind this could be the availability of many public datasets. Image classification involves assigning predefined labels to images based on objects they contain. object detection aims to produce a list of object categories present in an image, Twenty studies included a classification scenario other than image classification. Some examples include sentiment classification ,credit risk category prediction ,income category classification ,and disease prediction. The third most popular application scenario is autonomous driving. Autonomous driving includes many ML tasks, including image classification, object (like pedestrian) detection, predicting steering wheel angle.
  • 26.
  • 27. Two examples of regression problems are predicting the price of a house and predicting the number of bugs in a source code. Mountain car problem is based on an underpowered car that must drive up a steep hill. The car cannot simply accelerate up the steep slope since gravity is stronger than the car’s engine. The solution requires a reinforcement-learning agent to leverage potential energy by learning on two continuous variables: position and velocity. I also classified the algorithms used in the experiments and case studies into two groups: traditional ML and DL algorithms. traditional ML algorithms entail a manual feature selection process, which may require domain expertise, statistical analysis of input data, and experiments for building models with different feature .For instance, to detect an object in an image, a data scientist would first need to extract features such as edges, blobs, and textured regions from the image .Thereafter, these features can be fed to an ML algorithm to detect objects. On the other hand, DL algorithms are capable of learning more correct features compared to human-designed ones .Hence, for scenarios where there is a big gap between the inputs (such as images) and the outputs (such as objects), DL models are able to perform much better than traditional ML models .However, large labeled datasets are required to train DL models.
  • 28. the researchers mostly used traditional ML algorithms. The rationale behind this could be unavailability of sufficient labeled datasets. Another reason could be that traditional ML algorithms are suggested to be used for t. he problems where features are available
  • 29.
  • 30. 3. Which challenges and solutions for engineering ML systems were raised by SE researchers? The identified SE challenges are classified based on the main SE knowledge areas. 3.1 Requirements engineering Requirements engineering involves eliciting, analyzing, specifying, and validating requirements. RE process has numerous potential obstacles, such as incomplete, hidden, inconsistent, underspecified requirements, communication flaws. Managing expectations of customers: A potential gap between customers’ expectations and the delivered system has been reported as a potential problem in software projects (Wiegers, 1996). Frequent customer engagement is an effective way of reducing this ‘‘expectation gap’’
  • 31. Eliciting and analyzing requirements: Requirements of ML systems are heavily dependent on available data; different data sets may lead to different needs. Specifying requirements: Requirements to be fulfilled by ML components are generally specified using quantitative measures (such as accuracy, precision, recall, F measure)that are new for many stakeholders. In parallel with the rise of ML systems, new quality metrics to ensure completeness, consistency, etc. should be defined and contemporary techniques for specifying types of requirements, such as performance. Dealing with new types of quality attributes: Stakeholders need to elicit requirements on new types of quality attributes, such as explainability ,fairness and freshness.
  • 32. explainability of an ML system measures how a human observer can understand the reasons behind a decision. Explainability is quite essential in building trust between an ML system and its users . Defense Advanced Research Projects Agency (DARPA) has started a program named ‘‘Explainable AI (XAI)’’, which aimed at developing more explainable models. As ML systems are increasingly being used in domains sensitive to discrimination (such as education, employment, healthcare) due to protected characteristics (such as gender and race), it becomes crucial to avoid making decisions biased by protected characteristics. Various definitions of this new type of quality attribute, fairness, have been presented. example, a software system assessing loan applications can be attributed to be fair with respect to age and race. If protected characteristics are directly identifiable, excluding them from the training data can fulfill the fairness requirement. For instance, address data, which may be correlated with race, may be used to train a model for credit scoring.
  • 33. Freshness requirement (Zinkevich, 2017) refers to the conditions for updating ML models. ML models’ performance may change over time due to some reasons, such as changing patterns in input data (data drift). Freshness requirements can be defined as a period (daily, weekly, monthly update of ML models). Robustness requirements are vital, especially for safety-critical systems, such as those used in autonomous driving. For example, an ML component should detect a pedestrian even if a small amount of noise is added to the image or it is rotated by a limited amount. data quality is an important aspect to be considered during RE since it directly affects the performance of an ML model. Business rules include government regulations, corporate policies, and industry standards and form the rules that a software system must comply with .Business rules are not software requirements themselves,
  • 34. 6. Discussion Requirements engineering for ML systems: Specifying ML components’ requirements requires a different perspective than traditional software components. It is difficult and mostly impossible to characterize all the behaviors of ML components under all circumstances Rather than specifying precise requirements, hypothesizing what outcomes can be obtained from data should be the starting point, and requirements shall be refined via experimentation. Designing ML systems: Monitoring for potential performance degradation on production and high- volume data processing are two important design considerations for ML systems. New architectural styles and patterns for ML systems are required for robust systems to address these concerns. SE tooling for developing ML systems: ML systems’ development involves a diverse set of frameworks, tools, libraries, and programming languages (Rahman et al., 2019). The popularity of ML has brought many tools, mostly open-source
  • 35. Some tools emerged from academia, such as DARVIZ,, NeuralVis, ModelKB, to solve specific problems in developing ML systems. Testing ML systems: Despite many studies, we do not have mature testing techniques and tools to develop ML systems in industrial settings. Designing and evaluating test cases, preparing test data, executing tests, and assessing test results contain many research problems. SE researchers focused mostly on testing ML systems. Despite many studies, we do not have mature testing techniques and tools to develop ML systems in industrial settings. Designing and evaluating test cases, preparing test data, executing tests, and assessing test results contain many research problems. Debugging tool support: Debugging and profiling tool support is an essential deficiency for engineering ML systems.Although there are some approaches and prototype tools, such as DeepFault(Eniser et al., 2019), LAMP (Ma et al., 2017), MODE (Ma et al., 2018c), and DARVIZ (Sankaran et al., 2017), more mature debugging tools integrated with ML system development environments are required.
  • 36. Advances in machine learning lead to a transition from the conventional view of software development, where algorithms are hard-coded by humans, to ML systems that are materialized through learning from data. Therefore, we need to rethink our ways of developing software systems and consider the particularities required by these new types of applications. This study aims to systematically identify, analyze, summarize, and synthesize SE research’s current state for engineering ML systems. Researchers have been showing an increasing interest in this research area since 2018 (Fig. 9). Although there are a lot of primary studies (Section 9.1, Primary Studies (sources reviewed in the SLR)) and secondary studies (Section 3) on this topic, many research questions remain unanswered (Section 6.1 and Table 8). More cooperation between industry and academia and conducting more experiments using real-world problems would help to extend the SE body of knowledge for engineering ML systems. Moreover, reporting on lessons learned from action research in the industry can provide valuable insights for answering research questions.
  • 37. Knowledge area Challenge Proposed solution(s) Requirements engineering Managing expectations of customers Inform customers about the benefits of ML • Explain the possibility of change in the level of success of ML systems on production in time Eliciting and analyzing requirements State some requirements as hypotheses to be tested via experiments • Refine requirements by means of experiments Specifying requirements Use a checklist to identify business metrics • Use logical formulas to express classification performance, robustness, and fairness of ML classifiers • Extend Goal- oriented Requirements Engineering • Use a specification language for specifying fairness requirement Dealing with new types of quality attributes Use a model and a measurement method to agree with customers on quality attributes • Use baselines for specifying quality attributes when possible (such as human performance for a safety-critical task) Dealing with new types of conflicts between requirements
  • 38. design Designing for monitoring performance degradation on production Use a specific software architectural pattern to deal with operational problems such as problem localization and rollback at failure Using new solution patterns for solving problems Design effective solutions via experiments • Develop and use a design patterns catalog • Develop and use a catalog of architectural patterns Dealing with high-volume data Use a checklist to validate a design model against high-volume data
  • 39. Software developmen t and tools Understanding ML algorithms, techniques, and libraries Produce better documentation for ML libraries, Use automated model and parameter recommendation tools, Utilize resources such as Stack Overflow for knowledge acquisition via automatic documentation generation Dealing with models Use a model-driven development based and platform agnostic framework to generate DL library specificcode (such as DARVIZ), Use a visual tool to develop DL models (such as DeepVisual), Use a verification tool (such as NEURODIFF) to develop robust and resource-efficient ML systems involving compressed ML models, use a visual tool for supporting engineers in the understanding structure of neural network models (such as NeuralVis), Use a tool (such as FeatureNET) to generate and evaluate DL models Dealing with dependencies, Reusing models Dealing with the development environment, tools, and infrastructure • Use Docker images with all desired software pre-installed to prevent discrepancies among development, quality assurance, and production environments, • Develop and use extensions on current IDEs for ML system development, such as Azure ML for Visual Studio Code, Use a tool (such as DARVIZ) for model abstraction to provide interoperability across platforms, Use unified APIs (ML API) hiding the complexity of ML libraries Dealing with data Use data verification tools
  • 40. Testing Designing test cases Use a method/tool for testing DL models such as DeepEvolution , DeepCT ,DeepConcolic. Utilize Metamorphic Testing to test DL systems, Use a method/tool to generate fault- revealing inputs such as DeepJanus, Use a method/tool for generating test inputs for autonomous cars, Reduce test data volume using an approach, such as DeepReduce ,PACE Evaluating test cases Use a coverage criterion appropriate for ML/DL models, Consider other criteria when neuron coverage criterion is not sufficient, such as proposed in DeepGini ,DeepImportance, Measure the quality of test data Preparing test data Use a tool (such as DLFuzz) to generate adversarial examples without manual labeling effort, Develop an infrastructure for automated data collection and labeling, Consider using simulators to generate test data when appropriate Executing tests Use a tool to execute tests (such as ModelKB), Use a differential testing framework to detect potential inconsistent behavior of ML models on different settings Evaluating test results Use metamorphic relations to tackle with oracle problem, Use combinatorial testing to tackle with oracle problem, Use a program synthesis technique to tackle with oracle problem Debugging and fixing Use an approach/tool to debug and fix DL models, such as DeepFault , LAMP , MODE, DARVIZ. Use an approach to find and localize bugs in DL libraries, such as CRADLE ,LEMON Automating tests • Use a systematic technique to automate test case generation, such as DeepTest
  • 41. Maintenance and configuration management Dealing with configuration management of data and ML models Use a tool for data and ML model configuration management (such as ModelKB) • Use Software Composition Analysis (SCA) tools to discover all related components of ML frameworks • Use a single platform (like Kubernetes) to manage all components (data pipelines, ML models, code logic, etc.) of an ML system Dealing with the history of experiments Use a proper software architecture suitable for troubleshooting Dealing with re-training and re-deployment Apply Canary release approach for risky ML model re-deployments,Retrain ML models using input data deviating from the distribution of training data
  • 42. State of the art the level of knowledge and development achieved in a technique, science, etc, esp at present adjective state-of-the-art (prenominal) The state of the art (sometimes cutting edge or leading edge) refers to the highest level of general development, as of a device, technique, or scientific field achieved at a particular time. However, in some contexts it can also refer to a level of development reached at any particular time as a result of the the level of development (as of a device, procedure, process, technique, or science) reached at any particular time usually as a result of modern 1.the most recent stage in the development of a product, incorporating the newest technology, ideas, and features: 2."the state of the art in 3D printing"