심하게 말하면
개나 소나 심지어 물고기까지 한다는 딥러닝...
교수님께서는 딥러닝을 모르고도 쓸 수 있는 것이 딥러닝인 반면에
딥러닝을 알려고도 하지 않는 사람들에게 비판 아닌 비판을 하셨다.
내 마음이 심히 찔려서 기초부터 공부하기로 하였다.
시작하자
신경망의 동작원리를 알기 위한 모델을 소개한다.
바로 합성함수다.
정확하게 말하면 합성함수에 대한 도함수, derivative에 대해서 알아본다.
?? 왜 합성함수냐..??라고 생각할텐데
쉽게 설명하자면
원숭이 엉덩이는 빨개
빨가면 사과
사과는 맛있어
맛있으면 바나나
바나나는 길어
길으면 기차
기차는 빨라
빠르면 비행기...와 같이
원숭이 엉덩이에서 비행기까지 도출할 수 있다.
실제로 아무관계가 없을지라도 위의 과정을 거쳐서 나왔으므로 맞는 말이라고 생각한다.
즉, 컴퓨터에게 수많은 Layer들로 결괏값에 대한 정당성을 부여하고자 하는 작업이라고 보면 된다.
그렇다면 합성함수인 것은 알겠는데
왜 도함수에 집중하느냐?
바로 도함수의 의미떄문이다.
도함수는 어떠한 지점에서의 함숫값의 기울기(변화율)을 알 수 있다.
즉, 해당 지점에서 입력이 변했을 시에 예측되는 함숫값을 알 수 있다는 것이다.
극소로 변한다면 실제 함수와 근사한 값의 차이가 크지 않을 것이라 생각할 수 있는 것처럼 말이다.
다시 돌아가서
합성의 의미가 무엇일까??
원숭이 엉덩이는 빨개
빨가면 사과에서
출력은 무엇이고 입력은 무엇일까??
원숭이 엉덩이와 빨갛다 가 입력이 되고
빨개와 사과가 출력이 될 것이다.
바로 빨갛다는 의미가 출력이면서 다음 출력을 위한 입력이 되는 것이다.
음...
알겠는데 그래서 뭘 알아야 하는데???
합성함수의 도함수를 알아야 한다.
딥러닝 모델을 학습시키기 위함이다.
합성함수의 도함수는 합성함수를 구성하는 함수의 도함수 곲으로 나타낼 수 있다.
저렇게
dydu가 계산이 되고 dudx가 계산이 되어
최종적으로 합성함수의 도함수를 구할 수 있다.
즉, 합성함수의 입력값이 바뀌었을 때
합성함수의 출력값이 변하는 정도를 알아보기 위한 것이다.
합성함수의 도함수를 이용해서 기울기가 양이면 음수만큼으로
기울기가 음이면 양수만큼으로. 향하게끔 한다.
즉, 결국 Loss가 줄어드는 방향으로 간다는 뜻이다.
아무튼 딥러닝을 배우려면
왜? 가 중요하다.
왜? 를 모르면 발전할 수가 없다.
딥러닝을 하면서 무심코 하이퍼파라미터를 쓰는 경우가 있는데
왜? 를 모르면 제대로 쓸 수 없는 것과 마찬가지다.
'데이터 사이언스(Data Science) > 딥러닝, Deep Learning, 심층학습' 카테고리의 다른 글
CNN, Covolutional Neural Network, 합성곱 신경망이란? (0) | 2021.09.23 |
---|---|
LSTM, Long Shor Term Memory ; RNN 확장 신경망 (0) | 2021.01.13 |
RNN, Recurrent Neural Network; 순환 신경망이란? (0) | 2021.01.07 |
[DL] 퍼셉트론(Perceptron) (0) | 2020.08.20 |