Upsampling through Transposed Convolution and Max Unpooling

Slides:



Advertisements
Similar presentations
Request Dispatching for Cheap Energy Prices in Cloud Data Centers
Advertisements

SpringerLink Training Kit
Luminosity measurements at Hadron Colliders
From Word Embeddings To Document Distances
Choosing a Dental Plan Student Name
Virtual Environments and Computer Graphics
Chương 1: CÁC PHƯƠNG THỨC GIAO DỊCH TRÊN THỊ TRƯỜNG THẾ GIỚI
THỰC TIỄN KINH DOANH TRONG CỘNG ĐỒNG KINH TẾ ASEAN –
D. Phát triển thương hiệu
NHỮNG VẤN ĐỀ NỔI BẬT CỦA NỀN KINH TẾ VIỆT NAM GIAI ĐOẠN
Điều trị chống huyết khối trong tai biến mạch máu não
BÖnh Parkinson PGS.TS.BS NGUYỄN TRỌNG HƯNG BỆNH VIỆN LÃO KHOA TRUNG ƯƠNG TRƯỜNG ĐẠI HỌC Y HÀ NỘI Bác Ninh 2013.
Nasal Cannula X particulate mask
Evolving Architecture for Beyond the Standard Model
HF NOISE FILTERS PERFORMANCE
Electronics for Pedestrians – Passive Components –
Parameterization of Tabulated BRDFs Ian Mallett (me), Cem Yuksel
L-Systems and Affine Transformations
CMSC423: Bioinformatic Algorithms, Databases and Tools
Some aspect concerning the LMDZ dynamical core and its use
Bayesian Confidence Limits and Intervals
实习总结 (Internship Summary)
Current State of Japanese Economy under Negative Interest Rate and Proposed Remedies Naoyuki Yoshino Dean Asian Development Bank Institute Professor Emeritus,
Front End Electronics for SOI Monolithic Pixel Sensor
Face Recognition Monday, February 1, 2016.
Solving Rubik's Cube By: Etai Nativ.
CS284 Paper Presentation Arpad Kovacs
انتقال حرارت 2 خانم خسرویار.
Summer Student Program First results
Theoretical Results on Neutrinos
HERMESでのHard Exclusive生成過程による 核子内クォーク全角運動量についての研究
Wavelet Coherence & Cross-Wavelet Transform
yaSpMV: Yet Another SpMV Framework on GPUs
Creating Synthetic Microdata for Higher Educational Use in Japan: Reproduction of Distribution Type based on the Descriptive Statistics Kiyomi Shirakawa.
MOCLA02 Design of a Compact L-­band Transverse Deflecting Cavity with Arbitrary Polarizations for the SACLA Injector Sep. 14th, 2015 H. Maesaka, T. Asaka,
Hui Wang†*, Canturk Isci‡, Lavanya Subramanian*,
Fuel cell development program for electric vehicle
Overview of TST-2 Experiment
Optomechanics with atoms
داده کاوی سئوالات نمونه
Inter-system biases estimation in multi-GNSS relative positioning with GPS and Galileo Cecile Deprez and Rene Warnant University of Liege, Belgium  
ლექცია 4 - ფული და ინფლაცია
10. predavanje Novac i financijski sustav
Wissenschaftliche Aussprache zur Dissertation
FLUORECENCE MICROSCOPY SUPERRESOLUTION BLINK MICROSCOPY ON THE BASIS OF ENGINEERED DARK STATES* *Christian Steinhauer, Carsten Forthmann, Jan Vogelsang,
Particle acceleration during the gamma-ray flares of the Crab Nebular
Interpretations of the Derivative Gottfried Wilhelm Leibniz
Advisor: Chiuyuan Chen Student: Shao-Chun Lin
Widow Rockfish Assessment
SiW-ECAL Beam Test 2015 Kick-Off meeting
On Robust Neighbor Discovery in Mobile Wireless Networks
Chapter 6 并发:死锁和饥饿 Operating Systems: Internals and Design Principles
You NEED your book!!! Frequency Distribution
Y V =0 a V =V0 x b b V =0 z
Fairness-oriented Scheduling Support for Multicore Systems
Climate-Energy-Policy Interaction
Hui Wang†*, Canturk Isci‡, Lavanya Subramanian*,
Ch48 Statistics by Chtan FYHSKulai
The ABCD matrix for parabolic reflectors and its application to astigmatism free four-mirror cavities.
Measure Twice and Cut Once: Robust Dynamic Voltage Scaling for FPGAs
Online Learning: An Introduction
Factor Based Index of Systemic Stress (FISS)
What is Chemistry? Chemistry is: the study of matter & the changes it undergoes Composition Structure Properties Energy changes.
THE BERRY PHASE OF A BOGOLIUBOV QUASIPARTICLE IN AN ABRIKOSOV VORTEX*
Quantum-classical transition in optical twin beams and experimental applications to quantum metrology Ivano Ruo-Berchera Frascati.
The Toroidal Sporadic Source: Understanding Temporal Variations
FW 3.4: More Circle Practice
ارائه یک روش حل مبتنی بر استراتژی های تکاملی گروه بندی برای حل مسئله بسته بندی اقلام در ظروف
Decision Procedures Christoph M. Wintersteiger 9/11/2017 3:14 PM
Limits on Anomalous WWγ and WWZ Couplings from DØ
Presentation transcript:

Upsampling through Transposed Convolution and Max Unpooling

Convolution Overview

Convolution examples No Padding 𝑖 = 4, 𝑘 = 3, 𝑠 = 1 𝑎𝑛𝑑 𝑝 = 0 𝑜𝑢𝑡𝑝𝑢𝑡 = (𝑖 − 𝑘) + 1 In this example: Output size = 2 Add information about the figure + output formula

Convolution examples Half Padding No Padding 𝑖 =5, 𝑘 = 3, 𝑠 = 1 𝑎𝑛𝑑 𝑝 =1 𝑜𝑢𝑡𝑝𝑢𝑡 = 𝑖 − 𝑘 +2𝑝 + 1 In this example: Output size = 𝑖=5 It is also called Same Padding Add information about the figure + output formula

Convolution examples Full Padding No Padding Half Padding 𝑖 =5, 𝑘 = 3, 𝑠 = 1 𝑎𝑛𝑑 𝑝 =2 𝑜𝑢𝑡𝑝𝑢𝑡 = 𝑖 − 𝑘 +2𝑝 + 1 In this example: Output size = 7 Add information about the figure + output formula

Convolution as a matrix operation Convolution can be expressed as a matrix operation The convolution matrix “C” is inferred from the kernel The output is obtained by multiplying the “C” with the flattened input column vector and then reshaped

Flattening Input

Obtaining “C” kernel Slide it over the input 𝑤 0,0 𝑤 0,1 𝑤 0,2 𝑤 1,0 𝑤 1,1 𝑤 1,2 𝑤 2,0 𝑤 2,1 𝑤 2,2 Slide it over the input

Convolution as matrix multiplication 𝑜𝑢𝑡𝑝𝑢𝑡=𝐶. 𝑖 𝑇 Where 𝑖 is the flattened input feature map. From the previous two slides: Assume the convolution on 𝑖=4 𝑤𝑖𝑡ℎ 𝑘=3, 𝑠=1 : We get the output as 4x1 vector Reshape the output

Reshaping output 1 2 3 4 1 2 3 4

Pooling

Pooling Pooling is a down-sampling operation Summarizes subregions (looses information that is not invertible). Most common functions of pooling are max-pooling and average-pooling

Pooling Examples Max-Pooling Add information about the figure + output formula

Pooling Examples Average-Pooling Max-Pooling Add information about the figure + output formula

Transposed Convolution

Transposed Convolution It is the process of going in the opposite direction of convolution It is also called deconvolution or fractionally strided convolutions Expressed mathematically as the transpose of the convolution matrix “ 𝑪 𝑻 ” Note that transposed convolution does NOT guarantee to recover the original image. But returns a feature map that has the same dimensions as the original

Reshape it to the shape of input Example Consider the Convolution matrix “C” on slide 7 Consider the flattened output of convolution on slide 9 Output = 𝐶 𝑇 𝑖′ 𝐶 𝑇 is 16x4 matrix 𝑖′ is 4x1 column vector Output = 16x1 vector Reshape it to the shape of input

It is always possible to emulate transposed convolution with direct convolution using the same kernel, given the padding of the input, kernel size, and number of strides of the convolution. For this, we need to manipulate the output of the convolution (it is also the input for transposed convolution) This emulation is for the understanding of the transposed deconvolution as it is inefficient to implement due to the sparsity of the convolution matrix. It is rather implemented in practice using the backpropagation of the original convolution.

Transpose convolution as direct convolution

No padding, 𝑠=1, transposed A convolution described by 𝑠 = 1, 𝑝 = 0 and 𝑘 has an associated transposed convolution described by 𝑘 ′ = 𝑘, 𝑠 ′ =𝑠 𝑎𝑛𝑑 𝑝 ′ = 𝑘 − 1 and its output size is 𝑜′ = 𝑖′ + (𝑘 − 1)

Transposed Convolution can be expressed as Example Transposed Convolution can be expressed as

Zero padding, 𝑠=1, transposed A convolution described by 𝑠 = 1, 𝑝 and 𝑘 has an associated transposed convolution described by 𝑘 ′ = 𝑘, 𝑠 ′ =𝑠 𝑎𝑛𝑑 𝑝 ′ = 𝑘 −𝑝− 1 and its output size is 𝑜 ′ = 𝑖 ′ + 𝑘 − 1 −2𝑝

Example: Half padding, transposed Transposed Convolution can be expressed as

Example: Full padding, transposed Transposed Convolution can be expressed as

Padded input, non-unit strides, transposed A convolution described by 𝑠 , 𝑝 and 𝑘 And whose input size “𝒊” is 𝑖+2𝑝−𝑘 is a multiple of 𝑠 has an associated transposed convolution described by 𝑖 ′ , 𝑘 ′ = 𝑘, 𝑠 ′ =𝑠 𝑎𝑛𝑑 𝑝 ′ = 𝑘 −𝑝− 1 Where 𝑖′ is the stretched input obtained by adding 𝑠−1 zeros between each input unit and its output size is 𝑜 ′ = 𝑠(𝑖 ′ −1)+𝑘−2𝑝

Example: Padded input with non-unit strides Transposed Convolution can be expressed as

Max-unpooling

Max-Unpooling Max-unpooling is an upsampling procedure Max-Pooling is an non-invertible operation, instead we obtain an approximation. I order to retrieve an approximation, the locations of the maximum values obtained during the max-pooling operation are stored. The approximation is retrieved by placing each input value of the max- unpooling back to its location, and the neighboring values are set to 0.

Max-unpooling example

Additional Materials

Padded input, non-unit strides(odd), transposed A convolution described by 𝑠 , 𝑝 and 𝑘 And whose input size “𝒊” is 𝑖+2𝑝−𝑘 𝑚𝑜𝑑 𝑠 has an associated transposed convolution described by 𝑎, 𝑖 ′ , 𝑘 ′ = 𝑘, 𝑠 ′ =1 𝑎𝑛𝑑 𝑝 ′ = 𝑘 −𝑝− 1 Where 𝑖′ is the stretched input obtained by adding 𝑠−1 zeros between each input unit, and 𝑎=𝑖+2𝑝−𝑘 where “a” is the no. of zeros added to the bottom and right sides and its output size is 𝑜 ′ = 𝑠(𝑖 ′ −1)+𝑎+𝑘−2𝑝

Example: Padded input with non-unit strides(odd) Transposed Convolution can be expressed as

Dilated Convolution Inflating the kernel with spaces “𝑑” “𝑑” is a hyper-parameter, which is the number of spaces inserted between kernel elements 𝑑=1 corresponds to the normal convolution Used to cheaply increase the receptive field without increasing the kernel size

Example of Dialated convolution