Skip to content

sakethbachu/denoising_autoencoder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 

Repository files navigation

Denoising Autoencoder

Description

Autoencoder

  • An autoencoder is a type of artificial neural network used to learn efficient data codings in an unsupervised manner.

  • The aim of an autoencoder is to learn a representation (encoding) for a set of data, typically for dimensionality reduction, by training the network to ignore signal “noise”.

  • It has one encoding and a decoding function.

  • Where g is the encoding function and f is the decoding function.

  • The encoding and decoding is done in order to take the most important things that represents the input.

  • The below given image represents an autoencoder. alt text

Denoising Autoencoder

  • There is always a risk that the autoencoders learn the identity function.
  • Denoising autoencoder solves this problem by corrupting the input images by adding noise in them.
  • And also other ways of corrupting is by randomly turning some of the input values to zero.
  • When calculating the Loss function, it is important to compare the output values with the original input, not with the corrupted input.
  • That way, the risk of learning the identity function instead of extracting features is eliminated.
  • The below given images represents the gaussian noise that is added, the left one is a random image without noise and the right one is with noise.

alt text   alt text

  • The below given image describes another type of noise called the speckle noise. alt text

Methods

In this repository, we have used a linear autoencoder.

Features

Demo

  • The below image shows the original, noisy and cleaned image. alt text

Usage

Requirements

  • Pytorch
  • MNIST dataset
  • OpenCV

About

Denoising autoencoder on MNIST dataset.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published