convolution 연산은 인풋에 커널을 곱해서 feature map을 만든다. 연산을 거칠 때마다 feature map의 크기가 인풋의 크기보다 작아지는데, 이 문제를 해결하는 것이 padding이다.
padding을 통해서 인풋의 크기 (spatial dimension)를 유지할 수 있고, 또 인풋의 모든 파트를 feature map에 반영할 수 있게된다. (padding이 없으면 2D 이미지의 중간 부분만 커널이 여러번 지나가게됨)
causal padding
시계열 데이터를 다룰 때, 위의 사진처럼 4개의 인풋이 한개의 타겟에 영향을 미친다고 하자. 커널 사이즈를 4로 정해서 인풋과 아웃풋을 매핑할 수 있다. 하지만 2, 3, 4의 값은 4개의 인풋이 전부 존재하지 않는다. causal padding은 인풋의 시퀀스 앞에 zero padding을 해줌으로써, 아웃풋 시퀀스의 초기 부분이 존재할 수 있게 해준다.
causal padding은 Conv1D 레이어에서만 사용할 수 있고, 주로 시계열 데이터에 쓰인다.
'Computer Science > [21-22] ML & DL' 카테고리의 다른 글
[Autoencoder] Denoising Autoencoder란? (0) | 2022.05.02 |
---|---|
[LSTM] LSTM + Fully Connected Layer 두가지 방법 (0) | 2022.04.23 |
[cv] 시계열 데이터 Cross Validation - GroupKFold (0) | 2022.04.16 |
[FE] 시계열 데이터 lag feature 추가하기 (0) | 2022.04.15 |
[LSTM] LSTM unit, cell, layer에 대한 이해 (0) | 2022.04.13 |
댓글