M.L (p.166)

ReLu function 을 numpy array로 순전파와 역전파를 구현하는 코드이다.

Relu 식에 대한 이미지 검색결과ReLu의 식이며, x > 0 일때는 x 자체를  0보다 작을때는 0을 출력하는 function 이다. 역전파에 쓰이기 위해 이를 미분하면 0보다 클때는 그 자체 1 을 가지고 아닐때는 0을 전파한다.

Relu 식에 대한 이미지 검색결과ReLu picture

forward 구현은 입력받은 x 를  x <= 0 값일 때 True로 만들고 out 변수에 x.copy()로 복사하고 out[x<=0]  = 0 으로 처리하면 x array 중 x <= 0 인 값들은 0이 되고 나머지는 그대로 출력된다.

 

backward 구현은 순전파 때의 값이 0 이하면 역전파 때도 0으로 온다. 그러므로 forward 에 만들어 놓았던 mask를 그대로 사용하여(x <= 0 을 True로 저장해놓은 값)  dout[mask] = 0 을 넣어 그대로 출력하면 된다.

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다