(Abu-Mostafa, 2012)
(Abu-Mostafa, 2012)
Can we learn the credit approval?
(Abu-Mostafa, 2012)
Components of Learning
(Abu-Mostafa, 2012)
Components of Learning
(Abu-Mostafa, 2012)
Solution Components
(Abu-Mostafa, 2012)
A simple hypothesis set - the perceptron
(Abu-Mostafa, 2012)
A simple hypothesis set - the perceptron
(Abu-Mostafa, 2012)
A simple hypothesis set - the perceptron
Feedforward neural network is an ANN wherein connections between the nodes do not form a cycle
(Abu-Mostafa, 2012)
(Abu-Mostafa, 2012)
Supervised learning
(
(Abu-Mostafa, 2012)
Unsupervised learning
( input , ? )
(Abu-Mostafa, 2012)
Reinforcement learning
( input , some outcome, belief for the outcome )
(Abu-Mostafa, 2012)
Is Learning Feasible?
(Abu-Mostafa, 2012)
Summing up
The problem of representation and why representations matter
(Goodfellow, 2016)
Computational Graphs map inputs to outputs where nodes perform an operation (activation function)
(Goodfellow, 2016)
AI
Machine Learning
Representation (Feature) Learning
(Goodfellow, 2016)
AI
Machine Learning
Representation (Feature) Learning
Deep Learning
(Goodfellow, 2016)
AI
Probabilistic Reasoning
Machine Learning
Logistic Regression
Representation (Feature) Learning
Shallow Autoencoders
Deep Learning
MLPs
Text
(Goodfellow, 2016)
Depth and Repeated Composition
(Goodfellow, 2016)
Learning Multiple Components: how the different parts of an AI system relate to each other within different AI disciplines
(Goodfellow, 2016)
Input
Input
Input
Input
Hand-designed program
Hand-designed program
Features
Simple Features
Output
Output
Output
Output
Mapping from features
Mapping from features
Mapping from features
Additional layers of more abstract features
Learning Multiple Components: how the different parts of an AI system relate to each other within different AI disciplines
(Goodfellow, 2016)
Input
Input
Input
Input
Hand-designed program
Hand-designed program
Features
Simple Features
Output
Output
Output
Output
Mapping from features
Mapping from features
Mapping from features
Additional layers of more abstract features
Rule- based systems
Classic machine learning
Representation learning
Deep Learning
The many names and changing fortune of Neural Networks
(Goodfellow, 2016)
AlexNet (Hinton et al, 2012)
VGG (Simonyan et al, 2014)
GoogleNet (Szegedy et al, 2015)
Linear Regression
(Goodfellow, 2016)
Over-fitting and Under-fitting in Polynomial Estimation?
(Goodfellow, 2016)
Over-fitting and Under-fitting in Polynomial Estimation?
(Goodfellow, 2016)
Underfitting
Appropriate Capacity
Overfitting
Generalization Error is the difference between out-sample and in-sample error and the model Capacity is the ability to fit a variety of functions
(Goodfellow, 2016)
Effect of Training Set Size
(Goodfellow, 2016)
Weight Decay and Regularization
(Goodfellow, 2016)
Fun evaluation terminology for Deep Learning Approaches
Fun evaluation terminology for Deep Learning Approaches
We might use ROC and Precision-Recall Curves to evaluate classification problems
(Devis & Goadrich, 2006)
Common machine learning evaluation metrics
(Devis & Goadrich, 2006)
import tensorflow as tf
mnist = tf.keras.datasets.mnist
(x_train, y_train),(x_test, y_test) = mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0
model = tf.keras.models.Sequential([
tf.keras.layers.Flatten(),
tf.keras.layers.Dense(512, activation=tf.nn.relu),
tf.keras.layers.Dropout(0.2),
tf.keras.layers.Dense(10, activation=tf.nn.softmax)
])
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
model.fit(x_train, y_train, epochs=5)
model.evaluate(x_test, y_test)
TensorFlow Quick Tutorial
Dataset
Supervised: Training and Testing
Model Definition
Loss Function
Fitting
Evaluation
(Abu-Mostafa, 2012)
Topics out there
Related?
BinaryCode IOT 1
BinaryCode IOT 2
Related?
BinaryCode IOT 1
BinaryCode IOT 2
http://gear.github.io/2016-09-05-MAGE/
by Xiaojun Xu, et al.
Presented by David A.N
Drawbacks in art approach, specifically, graph matching:
The purpose of the research is to design a function to detect whether two functions are similar or not
Presented by David A.N
Genius is a graph embedding workflow (Feng et al, 2016)
Features or Basic-block Attributes
Vertex-specific features
CFG and ACFG of a Binary Function
Presented by David A.N
Query Function
Target Functions
Distance Matrices
Epochs
Presented by David A.N
Not looking for predicting binary code, not doing well on a predictive task
Although, training a NN to DO well on differentiating the similarity between inputs
Neural Network
Presented by David A.N
p dimensional feature
embedding vector
Aggregation function
T iterations
T iterations
T iterations
T iterations
T iterations
Presented by David A.N
Training the model parameters with
Siamese Architecture
Presented by David A.N
Generate additional ACFG pairs from human experts to retrain the graph embedding network (e.g., 5 more epochs)
Same Source
Different Source
Hyperparameters
Dataset | Purpose | Source |
---|---|---|
I | Accuracy | OpenSSL |
II | Task-specific | IoT divices |
III | Efficiency | Firmware (large # of vertices) |
IV | Vulnerability Case Study | Vulnerable functions |
Discussion: why did the authors use ROC curves?
Discussion: can we tell that the model is overfitting? about the capacity?
Discussion: do you believe this is a good plot?