데이터 사이언스(Data Science)/딥러닝, Deep Learning, 심층학습

신경망 기본 원리 - 합성함수

게임이 더 좋아 2021. 9. 10. 14:33
반응형
728x170

 

 

심하게 말하면

개나 소나 심지어 물고기까지 한다는 딥러닝...

교수님께서는 딥러닝을 모르고도 쓸 수 있는 것이 딥러닝인 반면에

딥러닝을 알려고도 하지 않는 사람들에게 비판 아닌 비판을 하셨다.

내 마음이 심히 찔려서 기초부터 공부하기로 하였다.

시작하자

 


 

 

신경망의 동작원리를 알기 위한 모델을 소개한다.

바로 합성함수다.

 

정확하게 말하면 합성함수에 대한 도함수, derivative에 대해서 알아본다.

 

?? 왜 합성함수냐..??라고 생각할텐데

쉽게 설명하자면

원숭이 엉덩이는 빨개

빨가면 사과

사과는 맛있어

맛있으면 바나나

바나나는 길어

길으면 기차

기차는 빨라

빠르면 비행기...와 같이

 

원숭이 엉덩이에서 비행기까지 도출할 수 있다.

실제로 아무관계가 없을지라도 위의 과정을 거쳐서 나왔으므로 맞는 말이라고 생각한다.

즉, 컴퓨터에게 수많은 Layer들로 결괏값에 대한 정당성을 부여하고자 하는 작업이라고 보면 된다.

 

 


 

 

그렇다면 합성함수인 것은 알겠는데

왜 도함수에 집중하느냐?

 

 

바로 도함수의 의미떄문이다.

도함수는 어떠한 지점에서의 함숫값의 기울기(변화율)을 알 수 있다.

즉, 해당 지점에서 입력이 변했을 시에 예측되는 함숫값을 알 수 있다는 것이다.

극소로 변한다면 실제 함수와 근사한 값의 차이가 크지 않을 것이라 생각할 수 있는 것처럼 말이다.

 


 

다시 돌아가서

합성의 의미가 무엇일까??

원숭이 엉덩이는 빨개

빨가면 사과에서

출력은 무엇이고 입력은 무엇일까??

원숭이 엉덩이와 빨갛다 가 입력이 되고

빨개와 사과가 출력이 될 것이다.

 

바로 빨갛다는 의미가 출력이면서 다음 출력을 위한 입력이 되는 것이다.

 

 


 

 

음...

알겠는데 그래서 뭘 알아야 하는데???

 

 

합성함수의 도함수를 알아야 한다.

딥러닝 모델을 학습시키기 위함이다.

 

합성함수의 도함수는 합성함수를 구성하는 함수의 도함수 곲으로 나타낼 수 있다.

저렇게

dydu가 계산이 되고 dudx가 계산이 되어

최종적으로 합성함수의 도함수를 구할 수 있다.

 

즉, 합성함수의 입력값이 바뀌었을 때

합성함수의 출력값이 변하는 정도를 알아보기 위한 것이다.

 

합성함수의 도함수를 이용해서 기울기가 양이면 음수만큼으로

기울기가 음이면 양수만큼으로. 향하게끔 한다.

즉, 결국 Loss가 줄어드는 방향으로 간다는 뜻이다.

 

아무튼 딥러닝을 배우려면

왜? 가 중요하다.

왜? 를 모르면 발전할 수가 없다.

 

딥러닝을 하면서 무심코 하이퍼파라미터를 쓰는 경우가 있는데

왜? 를 모르면 제대로 쓸 수 없는 것과 마찬가지다.

 

 

728x90
반응형
그리드형