본문 바로가기

Deeplearning2

CNN에서 layer가 깊어질 수록 channel size를 키우는 이유 아래와 같이 많은 CNN 기반 모델들이 layer가 깊어질 수록 channel size를 점점 늘려주는 형태를 갖는다.물론 실험적으로 증명되었기 때문에 굳어진 하나의 패턴이겠지만 왜 이런 구조를 사용하게 되었을까?  그 이유와 관련해서는 크게 2가지 의견이 있다. 1. Convolution layer와 Pooling layer를 거치면서 줄어든 feature map의 만큼 정보의 양이 줄어드는데,    channel size를 늘려줌으로서 줄어든 정보의 양을 보상시켜준다는 것이다. 2. CNN에서 앞단의 레이어에서는 저차원적인 패턴(e.g. 엣지, 코너 등)을 학습하고, 뒷단의 레이어에서는 앞단의 패턴을 결합하여 통해 좀 더 고차원적인 패턴(e.g. 특정 물체의 부분, 신체 부위 등)을 학습하게 된다. .. 2024. 5. 31.
ReLU의 활성 함수으로써의 사용과 미분 가능성 ReLU는 여러 딥러닝 모델에서 activation function으로써 쓰이고 있다. (ReLU에서 생기는 문제를 해결하기 위한 다양한 variation들이 있긴 하지만) $$ ReLU(x) = max(0, x) $$ 더보기 import numpy as np import matplotlib.pyplot as plt x = np.linspace(-5, 5, 100) y = np.maximum(0, x) plt.plot(x, y) plt.grid(True) plt.xlabel("x") plt.ylabel("ReLU(x)") 딥러닝에서는 모델 훈련 시 Gradient descent를 통해 Loss를 최소화하는 파라미터를 계산하는데, Gradient descent를 위해서는 미분값을 필요로 한다. 하지만 ac.. 2024. 4. 23.