ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 9. CNN & RNN
    AI/1주차 2021. 8. 5. 13:21

    Convolution 연산의 수학적인 의미는 신호를 국소적으로 증폭 또는 감소시켜 정보를 추출 또는 필터링 하는 것.

    CNN에서 사용되는 연산은 엄밀히 말하면 빼기를 사용하는 것이 아닌 더하기를 사용하는 cross-correlation이다. 

    빨간색:커널 파란색:신호 검은색: 결과

    convolution 연산은 1차원뿐만 아니라 다양한 차원에서 계산 가능하다.

    채널이 여러개인 2차원 입력의 경우 2차원 convolution을 채널 개수만큼 적용. 


    Convolution 연산을 역전파를 위해 미분해도 convolution 연산이 나오게 된다. 


    RNN은 시계열과 sequence data에 주로 사용된다. 시퀀스 데이터는 독립동등분포 가정을 잘 지키지 않기 때문에 순서를 바꾸거나, 과거 정보에 손실이 발생하면 데이터의 확률분포도 바뀐다. 

    • 시퀀스 데이터를 다루기 위해 조건부 확률을 사용할 수 있다.
    • 시퀀스 데이터를 다루기 위해서는 길이가 가변적인 데이터를 다룰 필요가 있다

    RNN의 역전파는 BPTT를 통해 이루어지게 되고, 모든 시점에 대해 BPTT를 하게 되면 vanishing gradient / exploding gradient의 문제가 발생할 가능성이 높다. 

    • Gradient를 중간에 끊은 truncated BPTT 사용
    • LSTM, GRU

    피어세션 및 과제

    • RNN의 backprop을 계산하는 것이 헷갈리는데 다시 볼 필요가 있을 것 같다. 
    • 시퀀스 데이터를 다루는 방법에 대한 표기법에 대한 질문이 있었는데 아직 해결하지 못했다. 2번째 표기 방식을 보면 $ H_t =  Net_\theta(H_t-1, X_t-1) $로 이미 $ X_t-1 $ 에대한 정보를 담고 있는데 왜 $ X_t $를 나타낼 때 $ P(X_t|X_t-1, H_t) $로 표기하는지 모르겠다.


    느낀점

    RNN과 CNN의 backprop이 헷갈린다. 차근차근 다시 보면서 친숙해질 필요가 있을 것 같다.

    'AI > 1주차' 카테고리의 다른 글

    1~4. AI Math  (2) 2021.08.06
    8. 베이즈 통계학  (0) 2021.08.04
    7. 통계 기본  (0) 2021.08.04
    6. 확률론 기초  (0) 2021.08.03
    5. 딥러닝 학습방법 이해하기  (0) 2021.08.03

    댓글

Designed by Tistory.