Ai

    ReLU (Rectified Linear Unit)

    ReLU (Rectified Linear Unit)

    해당 게시물은 "혁펜하임의 AI DEEP DIVE"를 수강하고 작성되었습니다.https://welldonecode.tistory.com/139 기울기 소실 (Vanishing Gradient)해당 게시물은 "혁펜하임의 AI DEEP DIVE"를 수강하고 작성되었습니다.  깊은 층의 layer를 갖는 인공신경망은 입력층으로 갈수록 미분이 작아지는 (기울기가 소실되는, 0으로 가는) 문제가 발생한welldonecode.tistory.com 이전 게시물에서 기울기 소실의 문제는 activation의 미분 때문이다. 라고 했다. 이를 해결하기 위해 ReLU가 등장하였다.  ReLU함수는 위 사진과 같이 0보다 작은 입력에 대해서는 0으로 출력하고, 0보다 큰 입력에 대해서는 입력과 같은 값을 출력한다. 그럼 양..

    기울기 소실 (Vanishing Gradient)

    기울기 소실 (Vanishing Gradient)

    해당 게시물은 "혁펜하임의 AI DEEP DIVE"를 수강하고 작성되었습니다.  깊은 층의 layer를 갖는 인공신경망은 입력층으로 갈수록 미분이 작아지는 (기울기가 소실되는, 0으로 가는) 문제가 발생한다. $w_{k+1}=w_k-\alpha g$즉, 위와 같은 가중치 업데이트 수식에서 $g$가 0으로 수렴하면 가중치가 업데이트되지 않는 문제가 발생한다. 왜 이런 문제가 발생할까? 문제는 activation의 미분에 있다. $\frac{\partial L}{\partial w_1}=2(\hat{y_1}-y_1)f_{2}^{'}(d_2)w_2f_{1}^{'}(d_1)n_1$backpropagation을 할 때 첫번째 weight에 대한 미분을 구하려면 위와 같은 수식처럼 activation'-weight..

    Softmax를 이용한 다중 분류

    Softmax를 이용한 다중 분류

    해당 게시물은 "혁펜하임의 AI DEEP DIVE"를 수강하고 작성되었습니다.3x100x100 이미지의 삼중 분류룰 해보자. (강아지, 고양이, 소) 정답 label은 강아지 : [1, 0, 0] 고양이 : [0, 1, 0] 소 : [0, 0, 1] 과 같이 정할 수 있다. (one-hot encoding) 이때 activation function은 확률 분포를 표현해 주기 위해 softmax를 사용한다.  softmax는 위와 같이 여러개를 입력으로 받아 확률 분포를 출력한다. (수식에 의해 당연하게 총합은 1이 된다.) 그냥 sigmoid를 거쳐 나오게 할 수도 있지만, 합이 1이 되지 않는다는 문제가 있다.(그래서 sigmoid는 multi-label classification에 사용된다. 강아지하..

    딥러닝 학습의 본질 (MLE)

    해당 게시물은 "혁펜하임의 AI DEEP DIVE"를 수강하고 작성되었습니다.https://welldonecode.tistory.com/114 최대 우도 추정 (MLE : Maximum Likelihood Estimation)해당 게시물은 "혁펜하임의 AI DEEP DIVE"를 수강하고 작성되었습니다. 1. 조건부 확률 (Conditional Probability)조건부 확률은 어떤 사건 A가 발생했을 때, 다른 사건 B가 발생할 확률을 나타낸다. 일반적welldonecode.tistory.com이전 게시물에서 MLE에 대해 다룬 바 있다.  여러 개의 입력이 들어왔을 때 likelihood를 $ q_1^{y_1}(1-q)^{1-y_1} q_2^{y_2}(1-q)^{1-y_2}\cdots $ 라고 하자...

    MSE vs Likelihood (convex한 함수가 loss function으로 사용되는 이유)

    MSE vs Likelihood (convex한 함수가 loss function으로 사용되는 이유)

    해당 게시물은 "혁펜하임의 AI DEEP DIVE"를 수강하고 작성되었습니다.MSE를 loss함수로 쓸 수는 없을까? 강아지 사진일 때 출력 $q$가 1이 나온다면 $(q-1)^2$즉 MSE를 loss함수로 사용해서 이걸 minimize하면 되지 않을까? 그럴듯한 생각이다. 그렇다면 $(q-1)^2$를 minimize 하는 것과 $-\log{q}$를 minimize 하는 것을 비교해 보자.   위 그래프에서 파란색이 $(q-1)^2$이며 빨간색이 $-\log{q}$이다. 여기서 알 수 있는 것은, 만약 강아지 사진을 고양이 사진이라고 했을 때 즉, $q=0$일때 loss값을 비교해 보면 $-\log{q}$가 훨씬 크다는 것이다. $-\log{q}$가 아닌걸 아니라고 강력하게 (민감하게) 주장할 수 있는 ..

    Sigmoid를 이용한 이진 분류, Logistic Regression

    해당 게시물은 "혁펜하임의 AI DEEP DIVE"를 수강하고 작성되었습니다.강아지 사진을 y=1, 고양이 사진을 y=0이라고 하고 강아지 사진이 나올 확률을 q=1 고양이 사진이 나올 확률을 q=0이라고 정의하자. 그렇다면 강아지 사진이 나올 확률을 구하는 수식은 아래와 같다.$q^{y}(1-q)^{(1-y)}$만약 사진을 100장 준다면 수식은 아래와 같다. 사진을 주는 행위는 독립시행이기때문에 곱한다.$q_1^{y_1}(1-q_1)^{(1-y_1)}q_2^{y_2}(1-q_2)^{(1-y_2)} \cdots q_{100}^{y_{100}}(1-q_{100})^{(1-y_{100})}$ 하지만 이렇게 계속 0과 1사이의 값을 계속 곱하면 숫자가 너무 작아져 대소구별을 할 수 없는 underflow 문..

    선형 분류 & 퍼셉트론

    선형 분류 & 퍼셉트론

    해당 게시물은 "혁펜하임의 AI DEEP DIVE"를 수강하고 작성되었습니다. 위와 같은 신경망이 있다. 키(x), 몸무게(y)를 input으로 받아 unit step function을 거쳐 비만인지(1) 저체중인지(0) 이진 분류를 하는 task를 한다. $bias=-1$이라고 한다면 위 신경망을 수식으로 나타내면 아래와 같다.$-x+y-1>0$즉, $y>x+1$unit step fuction을 거치기 때문에 위 수식이 양수면 1(비만)을 출력하고 음수면 0(저체중)을 출력하게 된다. 이 때, $y>x+1$과 같이 경계가 선형으로 나오면 "선형 분류" 라고 한다. 위 신경망처럼 hidden layer 없이 unit step fuction을 activation function으로 사용하면 이를 "퍼셉트론..

    Backpropagation

    Backpropagation

    해당 게시물은 "혁펜하임의 AI DEEP DIVE"를 수강하고 작성되었습니다.역전파(Backpropagation)는 미분이 뒤로 전달되기 때문에 "Back"propagation이라고 부른다. 역전파를 이해하기 위해 chain rule을 먼저 알아야 하는데 이에 대해서 잠시 설명한다. $(x^2+1)^2$라는 식은 $x \to x^2 \to x^2+1 \to (x^2+1)^2$의 과정으로 만들어진다. $(x^2+1)^2$을 chain rule을 따라 미분해 보면 아래와 같이 미분할 수 있다.$\frac{d(x^2+1)^2}{dx}=\frac{(x^2+1)^2}{d(x^2+1)} \frac{(x^2+1)}{d(x^2)} \frac{(x^2)}{d(x)}$감이 오는지? 식 전개 과정에서 자기 자신을 그 전 단..

    MLP를 행렬과 벡터로 나타내기, Non-linear activation의 중요성

    MLP를 행렬과 벡터로 나타내기, Non-linear activation의 중요성

    해당 게시물은 "혁펜하임의 AI DEEP DIVE"를 수강하고 작성되었습니다. 입력이 두개고 은닉층의 노드가 3개인 MLP의 부분을 행렬과 벡터로 나타내면 아래 수식과 같다. $ f_1\begin{pmatrix} \begin{bmatrix} x_1 & x_2 \\ \end{bmatrix} \begin{bmatrix} w_1 & w_3 & w_5 \\ w_2 & w_4 & w_6 \\ \end{bmatrix}+\begin{bmatrix} b_1& b_2 & b_3 \\ \end{bmatrix}\end{pmatrix}= f_1(\underline{x}W_1b_1) $이 때 $f$는 activation function이다.  MLP가 더 deep 해진다면 아래와 같이 표현할 수 있다.$ f_3(f_2(f_1(..

    Adam (Adaptive Moment Estimation)

    Adam (Adaptive Moment Estimation)

    해당 게시물은 "혁펜하임의 AI DEEP DIVE"를 수강하고 작성되었습니다. 위 사진과 같은 Adam의 알고리즘에서 마지막 줄만 보자. 기존의 update 방식은 아래와 같은 수식으로 이루어졌다.$ \begin{bmatrix} a_{k+1} \\ b_{k+1} \end{bmatrix} = \begin{bmatrix} a_k \\ b_k \end{bmatrix} - \alpha g$위 수식의 형태는 Adam 알고리즘의 마지막 부분과 동일하다. $m_t$는 모멘트의 개념을 반영한 것이며 $v_t$는 RMS norm의 개념을 반영한 것이다. $m_t=\beta_1 m_{t-1}+(1-\beta_1)g_t$ 에서 $beta=\frac{1}{2}$라고 한다면 첫 번째 step에서 $m_1=\frac{1}{2}m..