SlideShare a Scribd company logo
Convolutional
Neural Networks
김현우
시각 및 학습 연구실
공지사항
• 질문을 비밀글로 올리시면 답변해드리지 않아요.
• 오늘 실습은 다음 파일에 들어 있는 연습 문제를
수업시간에 완성하는 것으로 평가할 예정이에요.
• Convolutional_Neural_Networks_PyTorch.ipynb
• 과제는 다음 파일에 있는 연습 문제를 완성해서 ETL에 제출하시면 돼요.
• 03_[BOTH]_CIFAR10_CNN_ PyTorch.ipynb
• 실습 환경 세팅
• Data loader
• notMNIST 데이터셋
• CNN에 기반한 이미지 분류(image classification)
목차
Colab 사용자를 위한 실습 환경 세팅
Colab 실습 환경 세팅
https://colab.research.google.com
Colab 실습 환경 세팅
파일 → 노트 열기 → GitHub탭 → skywalker023/deep_iab 입력
Colab 실습 환경 세팅
01&02_[COLAB]_DataLoader_&_Conv… 노트북 파일 열기
Colab 실습 환경 세팅
“드라이브로 복사” 클릭
anaconda & jupyter notebook
사용자를 위한 실습 환경 세팅
$ conda create –n deep_iab python=3.6
$ conda activate deep_iab
$ git clone git@github.com:skywalker023/deep_iab.git
$ cd deep_iab/
$ pip install –r requirements.txt
$ conda deactivate && conda activate deep_iab
$ jupyter notebook
실습 환경 세팅 (anaconda & jupyter notebook 사용시)
$ conda create –n deep_iab python=3.6 ← python 3.6 버전의 가상환경 만들고 거기에 deep_iab라고 이름 붙이기
$ conda activate deep_iab ← deep_iab 가상환경 활성화
$ git clone git@github.com:skywalker023/deep_iab.git ← 이 저장소에서 파일 복사해서 가져오기
$ cd deep_iab/ ← deep_iab 디렉토리로 이동하기
$ pip install –r requirements.txt ← pip이라는 툴로 requirements.txt 에 들어있는 패키지들 설치하기
$ conda deactivate && conda activate deep_iab ← 가상환경 한 번 껐다 다시 켜주기 (설정 적용 위해)
$ jupyter notebook
실습 환경 세팅 (anaconda & jupyter notebook 사용시)
실습 환경 세팅 (anaconda & jupyter notebook 사용시)
이미지 분류 과제
• 10개의 클래스: 각기 다른 폰트로 이루어진 A ~ J
• 28x28 사이즈 이미지들로 구성
Dataset: notMNIST
데이터셋을 다운로드 합니다
‘url + filename’ 링크로부터 다운로드를 하고
‘dest_dir’ 에 저장을 합니다.
Data loader
Untar *.tar.gz file.
다운로드 한 파일의 압축을 풉니다
Data loader
각 글자 데이터들을 각각 pickle 파일로 저장합니다
Data loader
픽셀값을 0~1로 변경해주기
normalization의 일종
각 글자 데이터들을 각각 pickle 파일로 저장합니다
Data loader
각 글자 데이터를
Pickle로 저장하기
Pickle 모듈?
list, dictionary, class와 같은 파이썬 객체들을 그대로 저장해줍니다
그대로 다시 불러와도 파이썬 자료형이 살아있습니다. 매우 편리!
각 글자 클래스마다 개수가 비슷한지 점검합니다 (불균형 싫어요)
Data loader
각 글자 별로 나누어져있던 거를 2개의 트레이닝셋, 테스트셋으로 퉁칩니다
Data loader
Data loader
데이터셋을 섞어줍니다.
라벨들이 잘 섞여 있어야 트레이닝셋, 테스트셋에 골고루 들어갑니다.
Data loader
데이터를 이제 파일로 저장합니다
CNN based
Image Classification
Why Convolution?
우리 사람도 이렇게 시각 정보를 convolution으로 처리합니다
Why Convolution?
공간 정보를 같이 반영할 수 있습니다.
https://towardsdatascience.com/intuitively-understanding-convolutions-for-deep-learning-1f6f42faee1
Why Convolution?
일반 fully connected neural net은 이미지 학습을 잘 못합니다.
이유: fully connected라서.
예를 들어,
28x28짜리 이미지가 주어진다고 하면
Input layer 1층의 weight만 해도
28 x 28 x 3 = 2,352 개!
0.7cm
Why Convolution?
파라미터 개수를 확 줄일 수 있습니다
https://towardsdatascience.com/intuitively-understanding-convolutions-for-deep-learning-1f6f42faee1
Convolution over RGB images
각 채널에 convolution을 합니다
Convolution over RGB images
하나로 더해줍니다
Convolution over RGB images
Bias도 있습니다
Convolution over RGB images
Convolution over RGB images
Convolution over RGB images
Input
(N × N)
(F × F)
Input size : N x N x channel
Filter size : F x F
Padding : p per side
Stride : s
Output size :
!"#$ %&
'
+ 1 ×
!"#$ %&
'
+ 1 ×# 𝑜𝑓 𝑓𝑖𝑙𝑡𝑒𝑟𝑠
depth
Convolution 결과 크기 계산하기
필터는 feature detector입니다.
딥러닝 이전에는 학습이 아니라 사람이 직접 값을 지정해줬…
= Hand-designed (conventional ML)
www.gimpbible.com
Convolution의 filter
Convolution의 filter
필터는 feature detector입니다.
딥러닝에서는 필터의 weight값을 학습합니다!
아래는 AlexNet의 96개 필터(사이즈 11x11)가 무엇을 배웠는지 시각화한 예시입니다
Convolution의 계층 구조
Hierarchical feature learning
낮은 층에서는 색깔이라든지, edge라든지 그런 low level feature를 학습
높은 층에서는 좀더 복잡한 패턴과 같은 high level feature를 학습
Convolutional Neural Net의 요소
이들을 쌓아서 ConvNet 모델을 만듭니다
Convolutional Neural Net
이제 코드를 확인해봅시다
Convolutional_Neural_Networks_Pytorch

More Related Content

PDF
Microsoft Edgeで サポートされる 新しい API について
PDF
Deep Learning Into Advance - 1. Image, ConvNet
PDF
딥러닝을 위한 Tensor flow(skt academy)
PDF
딥러닝 세계에 입문하기 위반 분투
PDF
Dl from scratch(7)
PPTX
Image Deep Learning 실무적용
PPTX
Cnn 강의
PPTX
텐서플로우 2.0 튜토리얼 - CNN
Microsoft Edgeで サポートされる 新しい API について
Deep Learning Into Advance - 1. Image, ConvNet
딥러닝을 위한 Tensor flow(skt academy)
딥러닝 세계에 입문하기 위반 분투
Dl from scratch(7)
Image Deep Learning 실무적용
Cnn 강의
텐서플로우 2.0 튜토리얼 - CNN

Similar to 서울대학교 IAB 강의 Pytorch(파이토치) CNN 실습 수업 (20)

PDF
Deep learning framework 제작
PDF
소프트웨어 2.0을 활용한 게임 어뷰징 검출
PDF
[데이터 분석 소모임] Convolution Neural Network 김려린
PPTX
Cnn 발표자료
PDF
Final project v0.84
PPTX
CNN
PPTX
인공지능, 기계학습 그리고 딥러닝
PDF
지적 대화를 위한 깊고 넓은 딥러닝 PyCon APAC 2016
PPTX
딥러닝(Deep Learing) using DeepDetect
PPTX
호서대학교 - 다양한 오픈소스 활용법 (Colab을 이용하여)
PPTX
CNN 초보자가 만드는 초보자 가이드 (VGG 약간 포함)
PDF
Convolutional Neural Networks(CNN) / Stanford cs231n 2017 lecture 5 / MLAI@UO...
PPTX
Convolutional neural networks
PPTX
[3장] 딥러닝을 위한 환경 구축하기 | 수학 통계를 몰라도 이해할 수 있는 쉬운 딥러닝 | 반병현
PPTX
3강 - CNN 및 이미지 모델.pptx
PDF
머신러닝으로 쏟아지는 유저 CS 답변하기 DEVIEW 2017
PDF
Deep neural networks cnn rnn_ae_some practical techniques
PPTX
기계학습 / 딥러닝이란 무엇인가
PDF
[신경망기초] 심층신경망개요
PDF
(Paper Review)Kernel predicting-convolutional-networks-for-denoising-monte-ca...
Deep learning framework 제작
소프트웨어 2.0을 활용한 게임 어뷰징 검출
[데이터 분석 소모임] Convolution Neural Network 김려린
Cnn 발표자료
Final project v0.84
CNN
인공지능, 기계학습 그리고 딥러닝
지적 대화를 위한 깊고 넓은 딥러닝 PyCon APAC 2016
딥러닝(Deep Learing) using DeepDetect
호서대학교 - 다양한 오픈소스 활용법 (Colab을 이용하여)
CNN 초보자가 만드는 초보자 가이드 (VGG 약간 포함)
Convolutional Neural Networks(CNN) / Stanford cs231n 2017 lecture 5 / MLAI@UO...
Convolutional neural networks
[3장] 딥러닝을 위한 환경 구축하기 | 수학 통계를 몰라도 이해할 수 있는 쉬운 딥러닝 | 반병현
3강 - CNN 및 이미지 모델.pptx
머신러닝으로 쏟아지는 유저 CS 답변하기 DEVIEW 2017
Deep neural networks cnn rnn_ae_some practical techniques
기계학습 / 딥러닝이란 무엇인가
[신경망기초] 심층신경망개요
(Paper Review)Kernel predicting-convolutional-networks-for-denoising-monte-ca...
Ad

More from Hyunwoo Kim (16)

PDF
Curiosity-Bottleneck: Exploration by Distilling Task-Specific Novelty
PDF
Abstractive Summarization of Reddit Posts with Multi-level Memory Networks
PDF
Genetic Algorithm Project 2
PDF
Sentiment Analysis Intro
PDF
Universal Adversarial Perturbation
PDF
Two VWM representations simultaneously control attention
PDF
Capstone Design(2) 최종 발표
PDF
Neural Networks Basics with PyTorch
PDF
Capstone Design(2) 중간 발표
PDF
Capstone Design(2) 연구제안 발표
PDF
Capstone Design(1) 최종 발표
PDF
Capstone Design(1) 중간 발표
PDF
Capstone Design(1) 연구제안 발표
PDF
Neural Network Intro [인공신경망 설명]
PDF
Random Forest Intro [랜덤포레스트 설명]
PDF
Decision Tree Intro [의사결정나무]
Curiosity-Bottleneck: Exploration by Distilling Task-Specific Novelty
Abstractive Summarization of Reddit Posts with Multi-level Memory Networks
Genetic Algorithm Project 2
Sentiment Analysis Intro
Universal Adversarial Perturbation
Two VWM representations simultaneously control attention
Capstone Design(2) 최종 발표
Neural Networks Basics with PyTorch
Capstone Design(2) 중간 발표
Capstone Design(2) 연구제안 발표
Capstone Design(1) 최종 발표
Capstone Design(1) 중간 발표
Capstone Design(1) 연구제안 발표
Neural Network Intro [인공신경망 설명]
Random Forest Intro [랜덤포레스트 설명]
Decision Tree Intro [의사결정나무]
Ad

서울대학교 IAB 강의 Pytorch(파이토치) CNN 실습 수업