(ch.1) Deep Learning Classification 과 CNN의 배경

2020. 12. 24. 18:07·머신러닝-딥러닝/study

Neuron

특정 자극이 어떤 한계치를 넘을 때만 활성화를 시킬 수 있도록 한다.

 

MLP (Multi-Layer Perceptrons)

 

Backpropagation Algorithm

- Output 구조에서 생기는 오차값을 각각의 weight에 전파하기 위해서 어떤 chain-rule 을 통해서 gradient를 전파해준다. 이 획기적 알고리즘을 통해 MLP가 학습을 할 수 있고, 또한 고차원적인 Feature들을 표현할 수 있다.

 

Yann Lecun 의 Le-net이 CNN의 기본적인 구조다.

 

CNN

Convoultion 계층

-feature을 잘 뽑아내는것에 도움을 줌

Subsampling 계층

-feature가 볼 수 있는 dimension을 보다 넓히기 위해서 그것들의 차원을 축소해주는 역할

Fully-connection 계층

-아웃풋단에서 효과적으로 나타낸다.

(자세한 내용은 CNN 정리 글에 잘 나와있다)

 

MLP는 레이어를 깊게 쌓을수록 Vanishing Gradient Problem 문제가 생김. 

& Overfitting 문제 때문에 한계에 직면해 1990~2000년대에는 SVM와 같은 Kenel Method가 각광

 

Geoffrey Hinton's summary of findings up to today

-dataset too small

-computer too slow

-initialized the weights in a stupid way

-activation function / non-linear

 

ReLU

-Vanishing gredient solution

-특정 값 이후의 값들을 버리거나 영향력이 미미하도록 만듬 => 학습이 보다 잘됨

-값들이 잘 수렴(기울기가 급격하게 변하는 구간이 있음)

 

Drop out

-Overfitting문제의 solution

학습사이클이 진행되는 동안 특정확률로 random 하게 뉴런들을 생략한다. 그럼 학습할 때 마다 학습하는 뉴런이 달라지게 되고 이를 통해 보다 generality를 가지게 됨. Regularization 효과

 

AutoML 효율적인 아키텍쳐를 알고리즘이 직접 최적화하는것. 최근에 좋은 성능을 보이고 있음

 

CNN의 고안

MLP의 문제점

:입력이미지가 한칸만 shift가 된다 하여도 입력이 변화하는 부분이 굉장히 많음. input의 변화에 굉장히 민감해서 general한 특성을 학습하기 어렵다.

여러개의 이미지에서 동일한 특성을 갖고있는 것을 찾아야하는데 shifting, 기울어짐을 다 반영하는 MLP는 맞지않음.

 

변하지 않는 특징을 학습하기 위한 구조가 CNN

-subsampling: 입력의 전체적인 topology를 보기위해서 subsampling을 수행하는 pooling 과정들

-egde가 많은 정보를 가지고 있음.

-보다 invariant한 feature로 바꿔주기 위해서 pooling등의 작업을 수행 (가장 강한 자극, 평균 자극을 pooling해 전체적인 topology 정보) 

 

invariance명사

  • 1.불변(성).

LeNet 

Boosted LeNet-4 : 여러개의 LeNet 구조를 한꺼번에 이용해서 각각의 결과들을 조합해 결과값을 얻어내는 앙상블 적인 모델을 구조를 가지고있음.

 

AlexNet

1. 병렬구조

- 컨볼루션을 그룹화시키고 이 그룹화시킨 결과 더 좋은 성능을 나타냈다. 2개일 때 가장 좋은 성능을 나타냈다.

-이 두개는 다른 feature의 특징을 가지더라

2. ReLU 함수

3. DropOut 함수

4. Overlapping Pooling 

5. Data Augmentation

과적합을 막기 위해 data agumentaton이란 방법을 통해 양을 늘렸다.

6. local response normalization (LRN)

강한자극들이 보다 잘보이고 약한자극들은 사라져 좀 더 학습이 잘 될 수있음.

'머신러닝-딥러닝 > study' 카테고리의 다른 글

(ch.1) Image Classification - ZFNet, NIN  (0) 2020.12.28
(ch.2) Object Detection 이란? : R-CNN, Fast R-CNN, Faster R-CNN  (0) 2020.12.24
(ch.1) 딥러닝의 개요 : classification 이란 무엇인가  (0) 2020.12.24
CNN 개념정리  (0) 2020.12.20
RNN & LSTM 개념정리  (0) 2020.12.20
'머신러닝-딥러닝/study' 카테고리의 다른 글
  • (ch.1) Image Classification - ZFNet, NIN
  • (ch.2) Object Detection 이란? : R-CNN, Fast R-CNN, Faster R-CNN
  • (ch.1) 딥러닝의 개요 : classification 이란 무엇인가
  • CNN 개념정리
복복씨
복복씨
개발자여, 사고하라 !
  • 복복씨
    정리노트
    복복씨
  • 전체
    오늘
    어제
    • 분류 전체보기 (118)
      • 개발새발자 (22)
        • 의 삶 (7)
        • 의 회고 (9)
        • 의 낙서장 (6)
        • 영어 (0)
      • Flutter (38)
        • 새싹 (5)
        • Dart (8)
        • Flutter (14)
        • iOS 에서 Flutter 로 전환하며 (2)
        • 챗지피티랑놀.기 (3)
        • 하루 한 입 플러터 (2)
      • CS (7)
        • 짤막지식 (6)
      • IOS (6)
        • Swift (0)
        • UIKit (1)
        • SwitUI (4)
      • 머신러닝-딥러닝 (28)
        • 논문리뷰 (3)
        • study (16)
        • Kaggle (9)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

    새싹 용산
    dart
    unawaited
    veo3
    용산캠
    코드 결합도
    새싹
    시그널링데이터
    getit
    멋쟁이 사자처럼
    부트캠프
    schedulemicrotask
    flutter 애니메이션
    ai asmr
    runzonedguarded
    깊은참조
    사그널링서버
    플러터 di
    핫 리로드
    expando
    유리과일 자르기
    플러터
    IOS
    futurerecord2
    swiftui 플러터
    새싹 플러터
    유리과일
    asmr 프롬프트
    FLUTTER
    플러터 새싹
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
복복씨
(ch.1) Deep Learning Classification 과 CNN의 배경
상단으로

티스토리툴바