Convolution Neural Network

Introduction

Convolution neural network has gain its popularity recently due to its power with computer vision. Although CNNs have been used as early as the nineties to solve character recognition tasks (Le Cun et al., 1997), their current widespread application is due to much more recent work, when a deep CNN was used to beat state-of-the-art in the ImageNet image classification challenge(Krizhevsky et al., 2012).

  • Difference from multi-layer conception

    1. A convolutional layer’s output shape is affected by the shape of its input as well as the choice of kernel shape, zero padding and strides.

    2. CNNs also usually feature a pooling stage

    3. transposed convolutional layers (also known as fractionally strided convolutional layers) have been employed in more and more work as of late

Discrete convolutions


这里写图片描述

Features

  1. stored as multi-dimensional arrays.

  2. feature one or more axes for which ordering matters (e.g., width and height axes for an image, time axis for a sound clip).

  3. One axis, called the channel axis, is used to access different views of the data.

  4. sparse (only a few input units contribute to a given output unit) and reuses parameters (the same weights are applied to multiple locations in the input).

denotations

  • ij : input size along axis j ,
  • kj : kernel size along axis j ,
  • sj : stride (distance between two consecutive positions of the kernel) along axis j ,
  • pj : zero padding (number of zeros concatenated at the beginning and at the end of an axis) along axis j .

Pooling


这里写图片描述
Pooling operations reduce the size of feature maps by using some function to summarize subregions, such as taking the average or the maximum value.

  • difference from discrete convolution:
    replaces the linear combination described by the
    kernel with some other function.

denotations

  • ij : input size along axis j,
  • kj : pooling window size along axis j,
  • sj : stride (distance between two consecutive positions of the pooling window) along axis j.

Convolution arithmetic

The discussion are based but not limited to the following c
onstraints:

  • 2-D discrete convolutions ( N=2 ),
  • square inputs ( i1=i2=i ),
  • square kernel size ( k1=k2=k ),
  • same strides along both axes ( s1=s2=s ),
  • same zero padding along both axes ( p1=p2=p ).

No zero padding, unit strides


这里写图片描述

Relationship: o=(ik)+1

Zero padding, unit strides


这里写图片描述

Relationship: o=(ik)+2p+1

Half(same) padding


这里写图片描述
Sometimes, we just want the output size to be the same as the input size.

Relationship: For any i and for k odd( k=2n+1,nN ), s=1 and p=[k/2]=n ,

o=ik+1+2[k/2]=i+2n2n=i

Full padding


这里写图片描述
Sometimes, we just want to take every possible partial or complete superimposition of the kernel on the input feature map into consideration.

Relationship: For any i and k , and for p=k1 and s=1 ,

o=i+2(k1)(k1)=i+k1

No zero padding, non-unit strides


这里写图片描述
Move with strides.

Relationship: For any i,k and s , and for p=0,

o=[iks]+1

Zero padding, non-unit strides


这里写图片描述

With strides, some regions may not be covered by the kernel.

Relationship:

o=[i+2pks]+1

Pooling arithmetic

Pooling does not consider padding, so its output size is simple and the relationship will hold for any type of pooling.
Relationship:

o=[iks]+1

Transposed convolution arithmetic

Intuition: Arises form the desire of transformation from something that has the shape of the output of some convolution to something that has the shape of its input.
Usage: as decoding layer of a convolutional autoencoder or to project feature maps to a higher-dimensional space.

It has some similarities with direct convolution but some arithmetic changes!

ref : http://arxiv.org/pdf/1603.07285v1.pdf

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值