숟가락 그만 얹어

Causal Dilated Convolution 본문

Research/Operations

Causal Dilated Convolution

업무외시간 2020. 10. 16. 14:17

WaveNet paper만 봐서는 어떻게 동작하는지 잘 모르겠어서 이것저것 찾아보았다.

Causal Dilated Convolution

1-D convolution에서 causal을 구현하려면 zero padding을 input의 왼쪽 side에만 붙이면 된다. (output[t]가 input[t+1:]에 영향을 받지 않게 된다) Stride가 1이면 input과 output의 shape이 같다. 논문에서의 dilation과 Pytorch에서의 dilation의 의미가 조금 다른 것 같은데, 전자는 두 step 사이의 거리를 2^(dilation)으로 정의한 것 같고 후자는 (dilation - 1)이다.

 

Pytorch Implementation

Input의 양 side에 padding을 붙이고 convolution 계산 후에 오른쪽 side를 제거할 수도 있다.

 

References

[1] theblog.github.io/post/convolution-in-autoregressive-neural-networks/

[2] discuss.pytorch.org/t/causal-convolution/3456/4

'Research > Operations' 카테고리의 다른 글

Spectral Normalization  (0) 2021.05.22
Spectral Norm  (0) 2021.05.22
Weight Standardization & Batch-Channel Normalization  (0) 2020.10.26