AI

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

pullwall 2024. 9. 2. 22:57
728x90
해당 게시물은 "혁펜하임의 AI DEEP DIVE"를 수강하고 작성되었습니다.

https://www.researchgate.net/figure/MLP-structure-with-m-inputs-one-hidden-layer-and-n-outputs_fig1_321451171

 

입력이 두개고 은닉층의 노드가 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(\underline{x}W_1+b_1)W_2+b_2)W_3+b_3) $ 의 반복...

 

하지만 linear(선형)인 activation function으로는 이렇게 깊게 쌓아 봤자 효과가 없다.

이는 입력과 출력 간의 선형적 관계밖에 나타내지 못한다는 한계가 있을 뿐더러 아래와 같은 한계도 존재한다.

 

  • $f(x)=x$

위와 같은 함수가 linear함수인데, 이대로$ f_3(f_2(f_1(\underline{x}W_1+b_1)W_2+b_2)W_3+b_3) $수식을 전개해 보면,

치환..치환을 거쳐 결국 $ \underline{x}Wb $ 의 형태로 돌아온다. 이때, $W$와 $b$의 shape을 보면 은닉층은 무시되는 의미의 shape이 나온다...

 

따라서 이는 은닉층이 없는 FC layer의 표현력과 같아진다.

 


 

 

따라서 MLP에서 deep한 신경망을 표현하기 위해서는 non-linear activation fuction이 필요하며,

 

입력과 출력간 비선형적 관계를 표현하기 위해서도 non-linear activation fuction은 필수적이다.

 

 

728x90