CS 523: Multimedia Systems

Similar documents
Convolutional Neural Networks. Computer Vision Jia-Bin Huang, Virginia Tech

Machine Learning 13. week

Deep Neural Networks:

ConvolutionalNN's... ConvNet's... deep learnig

Deep Learning. Deep Learning. Practical Application Automatically Adding Sounds To Silent Movies

CMU Lecture 18: Deep learning and Vision: Convolutional neural networks. Teacher: Gianni A. Di Caro

CS 2750: Machine Learning. Neural Networks. Prof. Adriana Kovashka University of Pittsburgh April 13, 2016

Computer Vision Lecture 16

Lecture: Deep Convolutional Neural Networks

Keras: Handwritten Digit Recognition using MNIST Dataset

DEEP NEURAL NETWORKS FOR OBJECT DETECTION

Artificial Intelligence Introduction Handwriting Recognition Kadir Eren Unal ( ), Jakob Heyder ( )

Machine Learning. Deep Learning. Eric Xing (and Pengtao Xie) , Fall Lecture 8, October 6, Eric CMU,

Deep Learning for Computer Vision II

Object Detection Lecture Introduction to deep learning (CNN) Idar Dyrdal

Convolutional Neural Networks

Study of Residual Networks for Image Recognition

Know your data - many types of networks

Using Machine Learning for Classification of Cancer Cells

Convolutional Neural Networks: Applications and a short timeline. 7th Deep Learning Meetup Kornel Kis Vienna,

Deep Learning with Tensorflow AlexNet

Convolutional Neural Networks. CSC 4510/9010 Andrew Keenan

Neural Nets & Deep Learning

Deep Convolutional Neural Networks. Nov. 20th, 2015 Bruce Draper

ECE 5470 Classification, Machine Learning, and Neural Network Review

COMP 551 Applied Machine Learning Lecture 16: Deep Learning

Perceptron: This is convolution!

Deep Learning for Computer Vision with MATLAB By Jon Cherrie

Deep Learning. Vladimir Golkov Technical University of Munich Computer Vision Group

Large-scale Video Classification with Convolutional Neural Networks

Machine Learning. MGS Lecture 3: Deep Learning

Deep Learning. Visualizing and Understanding Convolutional Networks. Christopher Funk. Pennsylvania State University.

ROB 537: Learning-Based Control

ImageNet Classification with Deep Convolutional Neural Networks

Dynamic Routing Between Capsules

Fuzzy Set Theory in Computer Vision: Example 3, Part II

The SIFT (Scale Invariant Feature

Real-time Object Detection CS 229 Course Project

Convolu'onal Neural Networks

A Deep Learning Framework for Authorship Classification of Paintings

Deep Learning in Visual Recognition. Thanks Da Zhang for the slides

DL Tutorial. Xudong Cao

Multi-Glance Attention Models For Image Classification

CSE 559A: Computer Vision

Code Mania Artificial Intelligence: a. Module - 1: Introduction to Artificial intelligence and Python:

Deep (1) Matthieu Cord LIP6 / UPMC Paris 6

Keras: Handwritten Digit Recognition using MNIST Dataset

INTRODUCTION TO DEEP LEARNING

Convolutional Neural Networks

Deep Learning Workshop. Nov. 20, 2015 Andrew Fishberg, Rowan Zellers

EECS150 - Digital Design Lecture 14 FIFO 2 and SIFT. Recap and Outline

CS 4510/9010 Applied Machine Learning. Deep Learning. Paula Matuszek Fall copyright Paula Matuszek 2016

Training Convolutional Neural Networks for Translational Invariance on SAR ATR

! References: ! Computer eyesight gets a lot more accurate, NY Times. ! Stanford CS 231n. ! Christopher Olah s blog. ! Take ECS 174!

Hello Edge: Keyword Spotting on Microcontrollers

Does the Brain do Inverse Graphics?

Visual object classification by sparse convolutional neural networks

Deep Learning & Neural Networks

Object Recognition II

DEEP LEARNING REVIEW. Yann LeCun, Yoshua Bengio & Geoffrey Hinton Nature Presented by Divya Chitimalla

An Exploration of Computer Vision Techniques for Bird Species Classification

OBJECT RECOGNITION ALGORITHM FOR MOBILE DEVICES

Handwritten Hindi Numerals Recognition System

Deep Learning. Deep Learning provided breakthrough results in speech recognition and image classification. Why?

Using Capsule Networks. for Image and Speech Recognition Problems. Yan Xiong

Classification of objects from Video Data (Group 30)

Su et al. Shape Descriptors - III

Rotation Invariance Neural Network

Skin Lesion Classification and Segmentation for Imbalanced Classes using Deep Learning

Introduction to Deep Learning for Facial Understanding Part III: Regional CNNs

Intro to Deep Learning. Slides Credit: Andrej Karapathy, Derek Hoiem, Marc Aurelio, Yann LeCunn

SEMANTIC COMPUTING. Lecture 8: Introduction to Deep Learning. TU Dresden, 7 December Dagmar Gromann International Center For Computational Logic

LSTM: An Image Classification Model Based on Fashion-MNIST Dataset

Deep Learning Basic Lecture - Complex Systems & Artificial Intelligence 2017/18 (VO) Asan Agibetov, PhD.

Global Optimality in Neural Network Training

Deep Learning Based Real-time Object Recognition System with Image Web Crawler

OBJECT DETECTION HYUNG IL KOO

On the Effectiveness of Neural Networks Classifying the MNIST Dataset

Scaling Convolutional Neural Networks on Reconfigurable Logic Michaela Blott, Principal Engineer, Xilinx Research

6. Convolutional Neural Networks

Deep Face Recognition. Nathan Sun

Lecture note 7: Playing with convolutions in TensorFlow

Regionlet Object Detector with Hand-crafted and CNN Feature

M. Sc. (Artificial Intelligence and Machine Learning)

Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks

Deep Learning Based Large Scale Handwritten Devanagari Character Recognition

Video Object Segmentation using Deep Learning

Object detection using Region Proposals (RCNN) Ernest Cheung COMP Presentation

COMP9444 Neural Networks and Deep Learning 7. Image Processing. COMP9444 c Alan Blair, 2017

Neural Networks. Single-layer neural network. CSE 446: Machine Learning Emily Fox University of Washington March 10, /10/2017

Learning to Detect Faces. A Large-Scale Application of Machine Learning

PSU Student Research Symposium 2017 Bayesian Optimization for Refining Object Proposals, with an Application to Pedestrian Detection Anthony D.

Contextual Dropout. Sam Fok. Abstract. 1. Introduction. 2. Background and Related Work

TRANSPARENT OBJECT DETECTION USING REGIONS WITH CONVOLUTIONAL NEURAL NETWORK

Dynamic Routing Between Capsules. Yiting Ethan Li, Haakon Hukkelaas, and Kaushik Ram Ramasamy

Vulnerability of machine learning models to adversarial examples

Automated Diagnosis of Lymphoma with Digital Pathology Images Using Deep Learning

CS231N Section. Video Understanding 6/1/2018

Application of Deep Learning Techniques in Satellite Telemetry Analysis.

Apparel Classifier and Recommender using Deep Learning

Transcription:

CS 523: Multimedia Systems Angus Forbes creativecoding.evl.uic.edu/courses/cs523

Today - Convolutional Neural Networks - Work on Project 1

http://playground.tensorflow.org/

Convolutional Neural Networks ConvNets, or CNNs: - An approach to model visual processing, which has been suggested to be hierarchical or pyramidal in nature - Detects high-level features first, then more fine grained features - Uses convolution to identify rotation-invariant features - Math is similar to commonly used mathematics in image processing kernels

Convolutional Neural Networks - Have had enormous success at image classification tasks - Widely used by Google, Facebook, Instagram for identifying both general categories and individual elements in photos and vidoes; core of self-driving car algorithms, etc. - Have been adapted to wide range of other types of problems, even those that don t involve images, such as search tasks and recommendation systems

Vision neurons - In 1962, Hubel & Wiesel inserted microscopic electrodes into the visual cortex of experimental animals to read the activity of single cells in the visual cortex while presenting various stimuli to the animal's eyes. - Nearby cells in the cortex represented nearby regions in the visual field - The visual cortex represents a spatial map of the visual field.

Vision neurons - Individual cells in the cortex respond to the presence of edges in their region of the visual field. - Some of these cells fire only in the presence of a vertical edge at a particular location in the visual field, while other nearby cells responded to edges of other orientations in that same region of the visual field. - Orientation-sensitive cells, called "simple cells", are found all over the visual cortex.

Vision neurons - Complex cells also responded to edges of a specific orientation at a specific location in the visual field, but also respond in a contrast-insensitive manner. - - - Complex cells respond to their edges in a larger region of the visual field. This suggested that complex cells received input from lower level simple cells by way of a receptive field. - Higher level "hypercomplex cells respond to more complex combinations of the simple features, for example to two edges at right angles to each other in a yet larger region of the visual field. - Steven Lehar http://cns-alumni.bu.edu/~slehar/webstuff/pcave/hubel.html

CNNs Last week we talked about multilayer perceptrons, where each neuron fired (was included in the summation of the next layer) if its value was greater than a threshold value. CNNs include an initial type of layer, called a convolution layer, in which a simple convolution operation is applied (perhaps successively) to the input data (eg, pixels).

CNNs A convolution filter in image processing transforms each of the input pixels into a new convolved output pixel: for each pixel: - place the convolution filter so that it is centered on the pixel - where the filter overlaps a pixel overlaps, multiply the the element in the filter by that pixel, and divide it by the number of overlaps - add them all together - that s the convolved value of your output pixel

CNNs These are called filters because the output will low or zero if the input doesn t match the values in the filter. For example, the part of the Sobel filter that detects vertical edges looks like this: [ ] -1 0 1-2 0 2-1 0 1

CNNs -1 0 1-2 0 2-1 0 1 - If we were applying this filter to a patch of pixels that were all black, it would return a 0, indicating that there were no vertical edges to the left or right of our input pixel - but if, say all the pixels to the left were white, we d get a value of?

CNNs -1 0 1-2 0 2-1 0 1 - If we were applying this filter to a patch of pixels that were all black, it would return a 0, indicating that there were no vertical edges to the left or right of our input pixel - but if, say all the pixels to the left were white, we d get a value of (-1*1.0 + -2*1.0 + -1*1.0) / 9 = -0.4444

CNNs What the CNN does is that it learns these filters that is, by setting the values each of the cells of the convolutional kernel. The filters are generally larger than 3x3, and only ones that are successful in distinguishing features that help to classify the training data correctly will survive the training session.

- Krizhevsky, et al., ImageNet Classification with Deep Convolutional Neural Networks

CNNs The next layer is called the pooling layer, which basically performs a downsampling operation, usually by taking maximum within a particular range of elements, reducing the size of the feature map - Helps to control overfitting - Makes the network ignore small fluctuations or distortions - Ideally, by performing multiple layers of convolution + pooling, our network becomes scale invariant, so that features of any size, anywhere in the image, can be detected

CNNs By the end of the convolution layers and pooling layers, we should have discovered a set of high-level features that can be used to classify images. This is the feature extraction component of the network The features are the inputs to a normal neural network, which can learn nonlinear combinations of these high-level features (i.e. similar to the simple MNIST example network from the TensorFlow demo). This is the classification component of the network.

http://cs231n.stanford.edu/

CNNs Just like in a normal neural network, backpropogation is used to adjust the weights in the network, but in CNNs, the filter values are also updated. You might also hear the term dropout, which simply means that during training certain neurons chosen at random are turned off, and don t participate in firing (even if summation of weights*inputs is above the threshold that would make the activation function fire), also don t participate in the backpropogation step. Reduces complex co-adaptations of neurons, since a neuron cannot rely on the presence of particular other neurons, reducing overfitting, but requiring more training.

CNNs Online Demo: http://scs.ryerson.ca/~aharley/vis/conv/ http://scs.ryerson.ca/~aharley/vis/conv/flat.html

CNNs in the news - Deep learning algorithm does as well as dermatologists in identifying skin cancer http://news.stanford.edu/2017/01/25/artificial-intelligence-used-identifyskin-cancer/ - Traffic signs classification with a convolutional network http://navoshta.com/traffic-signs-classification/ - Indoor Space Recognition using Deep Convolutional Neural Network: A Case Study at MIT Campus https://arxiv.org/abs/1610.02414 - Many CNN links on course website

Project 1 - Implement Deep Dream or Neural Style - Learn by doing! - Main goal is to understand: Tensorflow code (lots of examples, tutorials online to learn from) Neural Network architecture and algorithms - Can work alone in groups of 2 or 3 - An interactive interface would be nice as well, plus adding your own twist to it... but main goal is get used to coding in python + TF

Lab - Has everyone been able to run the MNIST example from the TF website? - No? then work on it now! - Yes? then: a) help others b) work through the other MNIST example c) figure out how to visualize neurons (the weights attached to the neurons) during (and at end of) training d) visualize the number that were misclassified can you infer why the NN got confused?

Next Week - Project 1 - Introduction to Recurrent Neural Networks (RNNs) - See syllabus for reading assignment