0% found this document useful (0 votes)
22 views29 pages

Keras DL Framework

Uploaded by

amelksibi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
22 views29 pages

Keras DL Framework

Uploaded by

amelksibi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 29

How to Create a Machine Learning Model using Keras

CBIIT/FNL Workshop

Frederick National Laboratory for Cancer Research


Bioinformatics Analyst IV
Hyun Jung

November 6, 2019

1
Outline

• Why Deep Learning?


• Why Keras?
• How does it work?
• Convolution, ReLU, Max pooling, Fully-connected layer
• Gradient Descent and Backpropagation
• Know your data
• Build/Train/Test your own network
• Glossary

2
Why Deep Learning?

ICDAR 2011 Chinese handwriting IJCNN 2011 traffic signs

ISBI 2012 brain segmentation ICPR 2012 cancer detection MICCAI 2013 Grand Challenge
3
Why Deep Learning?

4
Why Keras?

From: Google Trends


5
Why Keras?

From: TensorFlow official website


6
How does it work?

If (circles):
if (brown-ish):
if (two triangles):
picture = dog
else:
picture = food

Traditional Programming Dog Cookie


Image Source: guidedogs.org Image Source: foodnetwork.com
7
How does it work?

Dog vs. Food

Image source: boredpanda.com

8
How does it work?

Dog Food

Food Dog

Dog Food

. Dog
.
.

Dog Food

Food Dog

Food

9
How does it work?

• Building Blocks of Convolutional Neural Network (CNN)


• Convolution, ReLU, Pooling, and Fully-Connected (Dense) Layer

Simple convolutional neural network architecture


Image Source: MathWorks

10
How does it work?

• Why the CNN structured in such a way?

Hierarchy of visual detectors of increasing complexity achieves sophisticated perceptual categorization,


with the higher levels being able to recognize 1000's of different objects, people, etc.
Image Source: Medicine Library

11
How does it work?

• Input

Matrix representation of a digit 8 Composition of RGB from 3 Grayscale images


Image credit: Deep Learning made easy with Deep Cognition from Medium Image credit: Wikipedia

12
How does it work?

• Convolution

Convolution operation
Image credit: the data science blog

Convolution operation and its effect


Image credit: Deep Learning Methods for Vision (CVPR 12 tutorial) Image credit: groundai.com
13
How does it work?

• Convolution

Convolution operation
Image credit: the data science blog

Convolution operation and its effect


Image credit: Deep Learning Methods for Vision (CVPR 12 tutorial) Image credit: An Intuitive Explanation of Convolutional Neural Networks
14
How does it work?

• ReLU (Rectified Linear Unit)


• Introducing non-linearity

ReLU operation and its effect


Image credit: the data science blog
15
How does it work?

• Pooling (sub-sampling or down-sampling)


• Reduce dimensionality and extract most import information

Max pooling operation Max pooling effect


http://cs231n.github.io/convolutional-networks/ Neural Networks, MLSS2015 Summer School, Facebook AI Research,

16
How does it work?

• Story so far

Simple convolutional neural network architecture


Learned features from a CNN
Image Source: MathWorks H. Lee, et al., PROC. OF THE 26th ICML, 2009

17
How does it work?

GoogLeNet structure and visualization of its feature maps


Image Source: Feature Visualization from Distill 18
How does it work?

• Fully Connected Layer

Simple convolutional neural network architecture


Image Source: MathWorks

19
How does it work?

• Fully Connected Layer

Image Source: Understanding Convolutional Neural Networks, Medium


20
How does it work?

• What are we training?


• Weights and biases

Image credit: Deep Learning made easy with Deep Cognition from Medium

21
How does it work?

• How to train?
• Gradient Descent and Backpropagation

Gradient descent mechanism Backpropagating error to individual weights

Image Source: Image Source:


Gradient Descent: All You Need to Know from Rohan & Lenny #1: Neural Networks & The
Medium Backpropagation Algorithm, Explained from Medium
22
How does it work?

• How to train?
• Gradient Descent is too slow

Different optimization methods on loss surface contours Optimization methods on saddle point

Image Source: Sebastian Ruder webpage Image Source: Sebastian Ruder webpage

23
Know Your Data

• Understanding your data is CRUCIAL


• Kaggle: Breast Histopathology Images
• URL: https://www.kaggle.com/paultimothymooney/breast-histopathology-images
• Invasive Ductal Carcinoma Breast Cancer Images
• Scanned at 40x optical magnification
• Image Size: 50 x 50 x 3 (Height x Width x Channels)

24
Know Your Data

• Understanding your data is CRUCIAL


• Kaggle: Breast Histopathology Images
• Total number of patients: 279 (Train: 223, Valid: 28, Test: 28)
• Total number of benign images: 198,783
• Total number of malignant images: 78,786
• Average number of benign images per patient: 712.32
• Average number of malignant images per patient: 282.38
• Maximum/Minimum number of benign images among patients: 2231/14
• Maximum/Minimum number of malignant images among patients: 1347/10

25
Build/Train/Test your own network

• Download/Analyze/Organize Data (Done, Organize_data.py)


• Setup a virtual environment (anaconda/mybinder) and install necessary packages
• Read/Explore data
• Create generators to feed images to your network
• Define your own network
• Compile and train your network
• Save and load trained model for testing
• Transfer learning (if time allows)

26
Glossary

• Batch size: Number of images that are trained simultaneously


• Step/Iteration: Training one batch
• One Epoch: Training entire image once
• Overfitting: Network is specifically optimized to solve training images
• Underfitting: Network performance is not fully utilized
• Dropout: Randomly discard information to avoid overfitting

Image Source: What is underfitting and overfitting in machine learning and how to deal with it., Medium
27
Glossary

• Loss/objective function: Binary cross entropy function

−(𝑦𝑦 * log(𝑝𝑝) + (1−𝑦𝑦) * log(1−𝑝𝑝)) − (y*log(𝑝𝑝)+(1−y)*log(1− 𝑝𝑝))

prediction/Label y=0 y=1

p=0 0

p=1 0

28
Environment Setup

• Anaconda (Your own laptop, can be faster)


• conda create -n MyEnvName python=3
• conda install pip
• pip install --upgrade tensorflow or tensorflow-gpu
• pip install Keras
• conda install nb_conda
• pip install scikit-learn
• pip install matplotlib
• pip install scikit-image

• Mybinder.org (Jupyter server)


• https://mybinder.org
• GitHub repository name or URL
• https://github.com/newhyun00/DL_Workshop
• Press launch

29

You might also like