Coder Social home page Coder Social logo

tensorflow-autoencoder's Introduction

tensorflow-autoencoder

autoencoder implemented with tensorflow

Autoencoder

입력과 출력이 같은 구조인 네트워크이며, 보통 가운데 Node(encoder의 출력단)의 차원이 줄어드는 형태이다.

Sparse Autoencoder의 경우 실질적으로 차원 수가 올라가지만, Sparsity 제약조건으로 인해 실제적인 데이터의 차원이 줄어들었다고 보아도 무방하다. 이 Repository에서는 일반적인 Autoencoder만을 다룬다.

입력 데이터 x 로부터 출력값 y 까지의 과정은 아래와 같다.

x to y

모델의 최종 목표는 입력 데이터와, 모델의 복원값의 차이를 최소화 하는 것이다.

loss

Visualization

Training

train result

Test

테스트 데이터 중, 원본 이미지

original

Encoder: x(784) -> hidden(128) -> hidden(64) -> hidden(32) -> hidden(16) -> hidden(8) -> z(2)

Decoder: z(2) -> hidden(8) -> hidden(16) -> hidden(32) -> hidden(64) -> hidden(128) -> x_hat(784)

위와 같은 네트워크 구조로 100 epoch 학습 후, Decoder가 복원한 이미지

reconstruct

CNN을 사용했다면 더욱 정확하게 복원되었겠지만, 일반적인 Fully-Connected 구조로 얼마나 2차원 공간에 Mapping이 가능한지 확인하는 정도로 구현하였다. Flat한 구조로는 1과 0은 대단히 잘 복원하지만, 비슷한 숫자끼리는 정확히 복원을 하기 어려움을 알 수 있다.

tensorflow-autoencoder's People

Contributors

dltkr77 avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.