[부스트캠프 AI Tech] 1주차 Day 5

Mattaaa·2022년 1월 21일
0

[부스트캠프 AI Tech]

목록 보기
5/23

오늘 학습 내용


1. CNN

2. RNN




1. CNN

  • Convolution(합성곱) 연산은 필터(커널)을 입력상에서 움직여가면서 모델과 합성함수에 적용되는 구조이다.

  • Convolution(합성곱) 연산의 수학적 의미는 신호를 증폭 또는 감소시켜 정보를 추출이나 필터링시키는 것이다.

  • 2D-Convolution 연산


    각 벡터의 성분곱의 합으로 연산한다.

  • 입력 크기가 (H,W)(H,W) , 필터 크기가 (KH,KW)(K_{H},K_{W}) 일 때,출력 크기 (OH,OW)(O_{H},O_{W}) 는 다음과 같다.
  • 채널이 여러개인 경우에는 채널의 수만큼 Convolution 연산을 적용한다.

  • Convolution(합성곱) 연산은 필터(커널)가 모든 입력값에 대해 공통으로 적용되기 때문에, Backpropagation 계산 시에도 Conolution 연산이 나온다.




2. RNN

  • Sequence 데이터는 소리, 문자열, 주가 등 순차적인 데이터를 의미한다.

  • Sequence 데이터는 독립동등분포 가정을 잘 위배하기에 순서를 바꾸거나 과거 정보에 손실이 발생하면 데이터 확률분포가 달라진다.

  • 조건부 확률과 과거 데이터를 기반으로 미래 발생할 데이터의 확률을 구할 수 있다.

  • Sequence 데이터를 다루기 위해서는 길이가 가변적인 데이터를 다룰 수 있어야다.

    따라서, 이전 정보를 제외한 나머지 정보를 또 다른 하나의 잠재변수 HtH_{t}로 인코딩한다.

    이후, 잠재변수 HtH_{t} 를 신경망을 통해 반복해서 학습한다.

RNN의 이해

가장 기본적인 RNN 모형은 다음과 같다.

이전 순서의 잠재변수와 현재의 입력을 이용해 학습을 해나가며, 이를 BPTT(Backpropagation Through Time)이라하며, RNN의 역전파 알고리즘이다.
하지만, 시퀀스 데이터의 길이가 길어지면 길어질수록, 아래 수식에 의해 학습이 불안정할 확률이 높다. 값이 너무 작아져 Gradient값이 소실되거나 하는 상황이 발생하기 때문이다.

따라서, 시퀀스 길이가 길어지는 경우에는 적당한 길이로 끊는 것이 필요하다.
이런 문제를 해결하기 위해 나온 모델이 GRU 와 LSTM이다.




소감

오늘로써 부스트캠프의 첫 주가 마무리되었다. 처음이라 상당히 정신없고 바쁜 한 주였지만, 벌써부터 많은 것을 배운 것 같아 보람차다. 다음주 부터는 본격적인 Pytorch에 대한 내용을 공부 할 것 같은데, 수학이 힘든 나한테는 상당히 반가운 소식이었다. 주말간에 이번주 공부한 내용을 복습하고, 수학에 대해 보충공부를 할 생각이다.
다음 주에는 이번 주보다 더욱 알차게 보낼 수 있으면 좋을 것 같다.

0개의 댓글