[딥러닝] Convolutional Neural Networks - 강의 정리

2022. 9. 13. 17:00·공부정리/모두를 위한 딥러닝 (강의 정리)
728x90
반응형

해당 게시글은 모두를 위한 딥러닝 강좌 시즌 1 - Sung Kim 강의를 바탕으로 작성하였습니다. 해당 이미지의 출처는 모두 해당 강의에 있습니다.

 

CNN의 기본적인 아이디어: 고양이 실험

고양이 어떤 형태의 그림에 대해서만 반응한다는 것을 알게됨

 

 

 

그림에따라 인식하는 뉴런의 신호가 달랐다 (입력을 나누어 받음)

해당 실험을 성공적으로 구현한 것이 CNN

 

과정

 

3: 세가지 RGB

전체의 이미지를 받지 않고 일부분만 따로 처리한다. -> filter (고양이 실험처럼 )

Filter

 

여기서 filter는 우리가 사이즈를 정할 수 있다. 그리고 해당되는 값에서 한 점만 처리한다.

이것이 filter가 하는 일임

그렇다면 5x5x3 filter를 어떻게 한 값으로 만들어내는 것인가?

 

 

필터가 움직일 수 있는 범위만큼의 값이 만들어짐

 

한 칸식 움직인다 : stride 크기가 1임

stride가 1이면 5X5 만큼의 값을 얻을 수 있음

 

stride가 2면 3X3의 값을 얻을 수있음

 

일반화를 하면 다음과 같다.

따라서 이미지의(정사각형) 크기 N X N

필터의 크기 F X F

stride (간격) 

 

해당되는 크기만큼 필터로 점을 모아 값이 만들어지는 갯수들을 알 수 있음

 

하지만 이미지의 사이즈가 작아질 수록 정보를 잃게됨

따라서 제로패딩을 통해서 방지해줌

 

ZERO Padding

  • 이미지가 작아지는 것을 방지 (데이터 손실 방지)
  • 테두리의 역할 (이미지 영역을 알려줌)

 

7 X 7 의 이미지를 패딩하면 9 X 9 의 크기가 됨

 

따라서 ConvFilter를 거치면서 이미지 사이즈가 작아졌던 것에서 (7X7 -> 5X5 가 되었던 것) 제로패딩을 통해서 7X7으로 아웃풋이 나오게됨

 

필터를 하나 더 만들어준다 (깊이를 깊게)

 

ConvNet Max pooling 과 Full Network

Pooling Layer

 

Pooling Layer (Samplig)

레이어를 뽑아내고 resize 한다.

 

한 레이어씩 뽑아내고 resize한 것을 쌓는다

4X4 이미지에서 stride가 2인 2X2의 필터를 이용해서

 

그렇다면 Out put으로 어떤 값을 내보낼 것인가?

-> 평균, min, max,... 등 여러 방법이 있겠지만 CNN에서는 MAX를 이용

Max Pooling

따라서 output으로는

 

 

Fully Connected Layer 

 

쌓는 구성은 알아서 쌓을 수 있다. (강의 내용임)

 

 

728x90
반응형

'공부정리 > 모두를 위한 딥러닝 (강의 정리)' 카테고리의 다른 글

*Tensorflow (기본적인 operations)  (0) 2022.04.07
2-1. Linear Regression(선형회귀)  (0) 2022.04.07
1. Machine Learning Basics  (0) 2022.04.07
'공부정리/모두를 위한 딥러닝 (강의 정리)' 카테고리의 다른 글
  • *Tensorflow (기본적인 operations)
  • 2-1. Linear Regression(선형회귀)
  • 1. Machine Learning Basics
sillon
sillon
꾸준해지려고 합니다..
    반응형
  • sillon
    sillon coding
    sillon
  • 전체
    오늘
    어제
    • menu (614)
      • notice (2)
      • python (68)
        • 자료구조 & 알고리즘 (23)
        • 라이브러리 (19)
        • 기초 (8)
        • 자동화 (14)
        • 보안 (1)
      • coding test - python (301)
        • Programmers (166)
        • 백준 (76)
        • Code Tree (22)
        • 기본기 문제 (37)
      • coding test - C++ (5)
        • Programmers (4)
        • 백준 (1)
        • 기본기문제 (0)
      • 공부정리 (5)
        • 신호처리 시스템 (0)
        • Deep learnig & Machine lear.. (41)
        • Data Science (18)
        • Computer Vision (17)
        • NLP (40)
        • Dacon (2)
        • 모두를 위한 딥러닝 (강의 정리) (4)
        • 모두의 딥러닝 (교재 정리) (9)
        • 통계 (2)
      • HCI (23)
        • Haptics (7)
        • Graphics (11)
        • Arduino (4)
      • Project (21)
        • Web Project (1)
        • App Project (1)
        • Paper Project (1)
        • 캡스톤디자인2 (17)
        • etc (1)
      • OS (10)
        • Ubuntu (9)
        • Rasberry pi (1)
      • App & Web (9)
        • Android (7)
        • javascript (2)
      • C++ (5)
        • 기초 (5)
      • Cloud & SERVER (8)
        • Git (2)
        • Docker (1)
        • DB (4)
      • Paper (7)
        • NLP Paper review (6)
      • 데이터 분석 (0)
        • GIS (0)
      • daily (2)
        • 대학원 준비 (0)
      • 영어공부 (6)
        • job interview (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    백준
    소수
    Python
    programmers
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
sillon
[딥러닝] Convolutional Neural Networks - 강의 정리
상단으로

티스토리툴바