Skip to content
This repository has been archived by the owner on Oct 19, 2023. It is now read-only.

keon/3-min-pytorch

Repository files navigation

Build Status

펭귄브로의 3분 딥러닝, 파이토치맛

PyTorch 코드로 맛보는 CNN, GAN, RNN, DQN, Autoencoder, ResNet, Seq2Seq, Adversarial Attack

저자: 김건우, 염상준

파이토치 코드로 맛보는 딥러닝 핵심 개념!

이 책은 파이토치로 인공지능을 구현하는 방법을 알려줍니다. 인공지능 입문자를 위한 기초 지식과 최신 인공지능 구현 방법인 인공신경망 기술을 사례를 통해 알아봅니다. 지도학습 방식의 ANN, DNN, CNN, RNN을 비롯해, 비지도학습 방식의 AE와 GAN 그리고 강화학습 DQN을 직접 구현합니다. 딥러닝의 약점을 이용해서 해킹하는 방법을 배우는 등 각 장에서 소개한 신경망으로 재미있는 응용 예제를 다룹니다.

3분 딥러닝 파이토치맛

요구사항

아래 파이토치와 파이썬 버전을 지원합니다.

  • PyTorch 1.0 이상
  • Python 3.6.1 이상

구성

이 책은 딥러닝과 파이토치를 처음 접하는 사람이 쉽게 이론을 익히고 구현할 수 있도록 구성돼 있습니다. 딥러닝은 언어부터 이미지까지 넓은 분야에 사용되고 있어서 응용하는 분야에 따라 그 형태가 다양합니다. 따라서 최대한 다양한 학습 방식과 딥러닝 모델을 구현할 수 있도록 예제를 준비했습니다.

딥러닝의 기본 지식을 쌓고, 여러 기계학습 방식에 대해 배웁니다. 파이토치가 무엇이고, 왜 필요한지와, 텐서플로와 케라스 같은 라이브러리와 무엇이 다른지에 대해 알아봅니다.

파이토치 환경 설정과 사용법을 익혀봅니다. 파이토치 외에도 책을 진행하면서 필요한 주변 도구를 설치합니다.

파이토치를 이용하여 가장 기본적인 인공 신경망을 구현하고 모델을 저장, 재사용하는 방법까지 배웁니다.

앞서 배운 인공 신경망을 이용하여 Fashion MNIST 데이터셋 안의 패션 아이템을 구분해봅니다.

영상 인식에 탁월한 성능을 자랑하는 CNN에 대하여 알아봅니다. 여기에 그치지 않고 CNN을 더 쌓아 올려 성능을 올린 ResNet에 대해 알아보고 구현합니다.

정답이 없는 상태에서 특징을 추출하는 비지도학습에 대해 알아보고 대표적인 비지도학습 모델인 오토인코더를 이해하고 구현하는 방법을 익힙니다.

문자열, 음성, 시계열 데이터에 높은 성능을 보이는 RNN을 활용하여 영화 리뷰 감정 분석을 해보고 간단한 기계 번역기를 만들어봅니다.

딥러닝 모델을 의도적으로 헷갈리게 하는 적대적 예제에 대해 알아보고 적대적 예제를 생성하는 방법인 적대적 공격(adversarial attack)을 알아봅니다.

두 모델의 경쟁을 통해 최적화하는 특이한 학습 구조를 가진 GAN에 대해 알아봅니다. GAN은 데이터셋에 존재하지 않는 새로운 이미지를 생성할 수 있습니다. 예제로 Fashion MNIST 데이터셋을 학습하여 새로운 패션 아이템을 만듭니다.

간단한 게임 환경에서 스스로 성장하는 DQN에 대해 알아보고 간단한 게임을 마스터하는 인공지능을 구현해봅니다.

참여하기

중요! 모든 코드는 주피터 노트북 파일인 .ipynb로 쓰여져야 합니다.

주피터 노트북으로 작성 후 compile_notebook.py를 실행시키면 주석과 코드 모두 파이썬 파일로 예쁘게 변환됩니다.

일반 파이썬 포멧으로 쓰여진 .py 파일은 변환과정에서 삭제될 수 있으니 주의바랍니다.

참고