ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 인공지능 - 5. Neural Network(CNN)
    인공지능 2021. 5. 30. 18:44

    MLP의 한계: layer의 수가 늘어날수록 학습속도와 일반화속도가 매우 느려진다. 

     

    Local minima: 기울기 강하 학습법의 근본적인 문제 = 오차가 충분히 작지않은 지역극소에서 학습이 멈춤(원하는 오차까지 줄어들지 않음) - Online mode, Simulated annealing 사용으로 해결 

     

    Slow Learning: Plateau Problem - 학습이 느려지는 평평한 구간이 나타, gradient(가중치 수정폭이 gradient의 크기에 의존) 크기가 점점 작아져서 학습이 느려짐(Vanishing gradient problem: 오차신호가 입력층으로 내려오면서 점점 약해짐)

    Plateau 원인: saddle의 존재 (극대, 극소가 아닌 점)

    Overfitting: 학습데이터에 포함된 노이즈까지 학습하여 정확도가 떨어지는 현상(신경망이 복잡할수록)

     

     

    해결:

    Activation Function 교체, 기울기가 줄어들지 않는 relu등 사용

    ????????Weight Initialization: Cell saturation이 일어나지 않도록 작은값으로 

    -Optimizer 관련 해결법들임-

    Update rule with momentum: 이전의 움직임(관성)을 반영 - Plateau를 만나 느려져도 관성에 따라 학습함

    Changing update rule: RMSprop, AdaDelta등 Weight마다 서로다른 학습률을 가지고, weight가 변화된 크기의 누적합을 적용시킨다.

    Errorfunction의 curvature정보 활용

    Batch Normalization: 학습하는 동안 각 node의 활성화 함수로 들어가는 입력을 normalization(입력분포를 항상 일정하게 유지) = Cell saturation, covariant shift현상 방지

    Overfitting - EarlyStop(발생전에 종료), Regularization:오차함수에 정규화항 추가하여 Weight가 지나치게 커지는것 방지, Dropout: 매 update마다 hidden layer의 node 일부를 randomly하게 끈다.

     

    Increasing Generalization Performance: Data Augmentation - Original data에 인위적인 변형을 가하여 추가 데이터 생성

     

     

     

    CNN

    Neuron: 

    Convolution

    Subsampling = Pooling

    Fully connected

     

    input: 2d grid(image) * channels - rgb값을 받을경우 channel이 3개이다. flatten하면 없어진다.

     

    Convolution layer

    raw image로부터 의미있는 특징을 추출하기위해 사용한다.

    이미지의 일부분을 자른다(filter = weight), 잘라낸 작은 이미지의 각 vector를 계산하여 Result값을 반환한다.

    stride: changing size of output - 연속적으로 filter가 움직일때 몇칸씩 움직일지 결정한다.

    Paddding: 원본이미지의 모서리 몇칸을 때고 Parameter로 받는다

     

     

    Pooling Layer

    Resizing을 위해 사용

     

    '인공지능' 카테고리의 다른 글

    인공지능 - 3. Classification  (0) 2021.05.23
    인공지능 - 1. 개요  (0) 2021.05.23

    댓글

Designed by Tistory.