1. 정의
sigmoid 함수는 s자 형태의 함수이다. sigmoid 함수의 치역은 (0, 1)이다. 즉, 입력된 값을 0과 1 사이의 값으로 변환시켜준다는 의미이다. non-linearity를 부여하기 위해 sigmoid 함수를 사용한다.
![](https://velog.velcdn.com/images/hjk1996/post/9b567438-d286-48c9-9aeb-fb07539debc9/image.png)
2. sigmoid 함수의 미분
우선 sigmoid 함수의 전체 계산 그래프를 살펴보면 다음과 같다. 계산 그래프에 따라서 마지막 연산부터 차례대로 미분을 해보자.
![](https://velog.velcdn.com/images/hjk1996/post/7234c678-9051-4199-a061-da6722dd916c/image.png)
마지막 연산은 y=x1와 같다. x1=x−1이므로 미분하면 −x−2으로 표현할 수 있다. 이는 −y2와 동일하다.
![](https://velog.velcdn.com/images/hjk1996/post/234b1898-7a44-461c-9034-d68a04e32223/image.png)
더하기 연산은 미분값을 바로 이전 연산으로 흘릴 수 있다. 지수함수 ex의 미분값은 그대로 ex이므로 그대로 곱해줄 수 있다.
![](https://velog.velcdn.com/images/hjk1996/post/23f7bebf-8236-42e0-82fe-5159276e0ba0/image.png)
−x를 미분하면 −1이므로 이를 곱해주면 최종적으로 y를 x에 대해 미분한 값은 y2∗e−x이다.
![](https://velog.velcdn.com/images/hjk1996/post/9a03e473-371e-435d-9900-0703eefabb98/image.png)
y는1+e−x1이므로 y2∗e−x=(1+e−x)2e−x이다. 이는 (1+e−x)1∗(1+e−x)e−x로 표현할 수 있고, 결국 y∗(1−y)와동일하다.
따라서 sigmoid 함수 y=1+e−x1의 미분값은 y∗(1−y)이다.