Differene between Autoencoder Network and Fully Convolution Network

断了今生、忘了曾经 提交于 2019-12-24 20:19:23

问题


what is the main difference between autoencoder networks and fully convolutional network? Please help me understand the difference between architecture of these two networks?


回答1:


1] AutoEncoder :

  • Autoencodder is a dimensionality reduction technique
  • It has two parts an encoder and decoder
  • Enocder maps the raw data to a hidden representation (Latent Space Representation)
  • Decoder maps the hidden representation back to raw data
  • The network automatically learns this hidden representation and it turns out that this hidden representation are the most important feature of your data
  • So The raw data goes as input to the encoder and it outputs the Latent Space Representation
  • Now the output of the encoder is the input to the decoder which will try to regenerate the raw data
  • Autoencoder is type of unsupervised learning
  • Below is a diagram of Autoencoder that uses convolution layer in encoder network and deconvolution layer in decoder network

2] Convolution Network:

  • Convolution Network are used for images
  • in convolution network set of filters are used to convolve
  • The filters are shared across the data
  • Which means that you data shares weights
  • Each pixel value of your filter is a weight
  • To know the convolution operation check out this link https://www.youtube.com/watch?v=C_zFhWdM4ic
  • Every convolution layer does this convolution operation
  • Convolutional networks are type of supervised learning
  • Convolutional networks use Pooling operations for down sampling
  • Below is diagram of convolution network

  • In the above diagram usually the classifier is a fully connected layer

  • But it is not necessary to have fully connected layer as a classifier .. you can use other classifiers
  • You can refer this for understanding difference between convolutional networks and MLP network: http://cs231n.github.io/convolutional-networks/

3] Fully Connected Layers:

  • These are simple layers with neurons
  • Each neuron has a set of weights based on the input
  • Below is the diagram of Fully connected layer




回答2:


Autoencoders have at least one hidden fully connected layer which "is usually referred to as code, latent variables, or latent representation" Wikipedia. Actually, autoencoders do not have to be convolutional networks at all - Wikipedia only states that they are feed-forward non-recurrent networks.

On the other hand, Fully Convolutional Networks do not have any fully connected layers. See Wikipedia and this paper by Cicek et al. for more details (the paper has a nice visualization of the network).

So even when both an encoder and a decoder in an autoencoder network are CNNs, there is at least one fully-connected hidden layer in between them. Thus, autoencoder networks are not FCNs.



来源:https://stackoverflow.com/questions/47632208/differene-between-autoencoder-network-and-fully-convolution-network

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!