PReLU

1 개요

이미지 채널 값의 PReLU(Parametric Rectified Linear Unit) 함숫값 또는 미분값을 반환하는 알고리즘입니다.

PReLU
Graph
Fig. Plot of PReLU function.

2 알고리즘 상세 설명

Forward 모드

Source 이미지 픽셀 각 채널 값의 PReLU 함숫값을 계산하여 출력합니다.
아래의 Figure 는 [-1, 1] 범위의 float 이미지에 α=0.2\alpha = 0.2 를 적용한 예시를 보여줍니다.

Source Image Destination Image
Source Image Destination Image
Fig. Source and destination images. (forward mode)

yn=PReLUα(xn)y_{n} = \text{PReLU}_{\alpha}(x_{n})

PReLUα(x)={xx>0αxotherwise\text{PReLU}_{\alpha}(x) = \begin{cases} x & x>0 \\ \alpha x & \text{otherwise} \end{cases}

Backward 모드

Source 이미지 픽셀 각 채널 값의 PReLU 미분값을 계산하여 출력합니다.
아래의 Figure 는 [-1, 1] 범위의 float 이미지에 α=0.2\alpha = 0.2 를 적용한 예시를 보여줍니다.

Source Image Destination Image
Source Image Destination Image
Fig. Source and destination images. (backward mode)

yn=PReLUα(xn)y_{n} = \textnormal{PReLU}'_{\alpha}(x_{n})

PReLUα(x)={1x>0αotherwise\text{PReLU}'_{\alpha}(x) = \begin{cases} 1 & x>0 \\ \alpha & \text{otherwise} \end{cases}

3 파라미터 설정 및 사용 방법

Operation Mode 설정

Alpha 설정

4 예제 코드

COperationPReLU prelu;

CFLImage fliSourceImage;
CFLImage fliDestinationImage;

prelu.SetSourceImage(fliSourceImage);
prelu.SetDestinationImage(fliDestinationImage);
prelu.SetOperationMode(COperationPReLU::EOperationMode_Forward);
prelu.SetAlpha(0.2);

prelu.Execute();
COperationPReLU prelu = new COperationPReLU();

CFLImage fliSourceImage = new CFLImage();
CFLImage fliDestinationImage = new CFLImage();

prelu.SetSourceImage(ref fliSourceImage);
prelu.SetDestinationImage(ref fliDestinationImage);
prelu.SetOperationMode(COperationPReLU.EOperationMode.Forward);
prelu.SetAlpha(0.2);

prelu.Execute();

5 기타 사항

Supported Feature

Supported Format

Overflow Method

Overflow 가 발생하지 않습니다.

6 관련 알고리즘

ReLU ELU Softplus Sigmoid Swish Mish Soft Shrinkage Hard Shrinkage