Sigmoid 3

[Calculus] Sigmoid 함수 미분하기

딥러닝에서 활성화 함수를 사용할 때 시그모이드(Sigmoid) 함수를 많이 사용한다. 역전파를 보내기 위해서는 해당 함수의 편미분값을 보내야하기에 이번 글에서는 시그모이드 함수를 수식적으로 미분해보자. 우리가 알고 있는 시그모이드 함수는 다음과 같다. \[ f(x) = \frac{1}{1 + e^{-x}} \] \[ \begin{equation} \begin{split} \frac{df}{dt} = & -\frac{1}{t^2}, \ \ \ (t = 1+e^{-x}) \\ \\ \Rightarrow & \ \frac{1}{(1+e^{-x})^2} \cdot e^{-x} \\ \\ \Rightarrow &\ \frac{1 + e^{-x} -1}{ (1+e^{-x})(1+e^{-x})} \\ \\ \Righ..

[Books] 밑바닥부터 시작하는 딥러닝 1 시작하기

밑바닥부터 시작하는 딥러닝1을 리뷰합니다. 밑바닥부터 시작하는 딥러닝(이하 밑시딥)1은 파이썬을 시작하고, 딥러닝에 관심을 가졌다면 필수적으로 읽고 가야하는 책이라고 생각한다. 밑시딥 시리즈는 딥러닝 패키지를 사용하지 않고 딥러닝을 밑바닥 구현부터 시작하기 때문에 딥러닝의 구조를 하나하나 파악할 수 있는 아주 좋은 책이다. 이 글에서는 밑시딥1을 읽고 지극히 개인적으로 중요하다고 생각하는 부분을 정리할 것이기 때문에 일부 내용이 빠져있을수도 있다. 밑시딥1은 밑바닥부터 구현하는 것을 목표로 두기 때문에 외부 라이브러리를 최소한만 사용한다. (numpy, matplotlib은 예외적으로 사용한다.) 기본적인 산술 연산 및 자료 구조와 같은 내용(1장)은 여기 코드를 참고하길 바라며, 본 글에서는 넘어가고,..

[CS231N] Neural Network Back-propagation

Backpropagation 이 왜 Neaural Network에서 중요할까? Backpropagation 은 어떤 함수의 gradient를 계산하는 방식이다. chain rule를 recursively( 재귀적으로 ) 적용을 하고, 이러한 계산 방식이 computational 하다고 할 수 있다. backpropagation을 하는 가장 주된 목적은 parameter를 updata하기 위함이다. parameter를 update 하면서 가장 최적의 parameter를 찾는 것이 궁극적인 목적이기 때문이다. 부수적으로는 학습한 NN을 시각화하고 해석하기 위함이다. NN 이라는 것은 하나의 함수라고 지칭할 수 있다. 만약 SVM을 이라면 convex optimization을 활용하여 단 한 번의 optimu..

반응형