Search

PReLU(Prametric ReLU)

MPRNet의 CAB 구조에 보이는 PReLU
딥러닝 네트워크에서 activation function으로 필수적으로 사용되어온 ReLU
이를 개선한 것 중 하나이다
ReLU
음수의 값을 모두 0으로 만듬
양수에서의 gradient 1, 음수에서의 gradient 0
Leaky ReLU
음수에서도 작은 값의 gradient 발생(그림에선 0.02)
ReLU보다는 음의 값에 대해서도 작은 값의 gradient가 발생할 수 있도록 해줌
PReLU
음수에 대한 gradient를 a라는 변수 로 두어 ‘학습'을 통해 ‘업데이트' 시키는 것이다
f(yi)=max(0,yi)+aimin(0,yi)f(y_{i}) = max(0, y_{i}) + a_{i}min(0, y_{i})
pytorch에서는 nn.PReLU로 사용 가능하다
def __init__(self): super(Net, self).__init__() self.conv1_1 = nn.Conv2d(1, 32, kernel_size=5, padding=2) self.prelu1_1 = nn.PReLU()
Python
복사