제목 그대로다.
오늘 막상 스스로에게 뉴럴 네트워크에 대해 설명을 해보려고 했으나..공식을 계산할 줄만 알았지. 왜이렇게 됐는지는 몰랐다.
알고 있는 줄 알았다. 사진을 픽셀별로 촤르륵 1자로 쪼개서, 그것들을 합친다면 어떻게 계산하는 거야???
- 퍼셉트론 : 임계값 활성화 기능을 가진 유런의 구조를 차용한 아키텍쳐.
이 단순한 걸로 그 복잡하고 정교한 신경망을 만드는 것이다.
결국 픽셀 별로 숫자화 (0~1) 시키고, 그 숫자들을 은닉층에서 잘개 부수고 조합해서 총 n개의 출력층에서 출력을 하고, 그 평균으로 답을 구하는 것임... (세세한 부분은 틀릴수도)
근데 여기서 구한 답이 항상 맞겠어? ㄴㄴ 차이가 있겠지. 그 차이를 다 더한 함수가 '손실함수(cost)' 임 .
손실함수의 최소.곧 , 이 결과의 오차를 최소로 하는 최솟값을 구하면 되겠다!
<Optimize>
그게 바로 경사하강법 (gradient decent) : 지역최소를 찾을 수도 있고, 전역최소를 찾을 수도 있어서 변수를 다양하게 여러번 해봐야하드라. 근데 지역최소를 찾는다네 보통.
쨌든 그럼 그 최솟값으로 가는 기울기를 구하면 되겠네?
-> 1차 미분 : 경사하강, 경사 하강법의 변형 알고리즘 : SGD, SGD 모멘컴, AdaGrad,RMSProp,Adam
-> 1.5차 미분 : 1차 미분을 이용해서 2차 미분을 근사하는 방식으로 최적해를 빠르게 찾는다.
-> 2차 미분: 곡률이용하므로 최적해 빠르게 찾지만 손실함수 곡면이 convex해야만 하고, 비용과 메모리 too much
.... 뭔소린지 모르겠으니까 더 공부하기
그 기울기를 구하는 방법이 바로 '역전파 알고리즘' 이다. [ error 를 minimize 하는 gradient를 구하는 , optimize하는 거 ]
순전파(forward propagation) 예측에서는 가중치가 고정이었지만 역전파(backpropagation)에서는 가중치를 올바르게 (비용 적게) 교정시켜주는 작업이라고 보면 된다..
이,,,일단! 2계층 회귀 모델 부터 알아보자
< 2계층 신경망 회귀 모델 >
사용된 활성 함수 : ReLU ,
회귀모델 이므로 활성 함수는 항등 함수,
손실함수 : 평균제곱오차 MSE
* 자 나는 여기서 또 ㅋㅋ 왜 regression은 항등함수를 사용하는지 몰랐지.
쉽게말해 분류 : 회귀 = 이진(bin)으로 나누기, 라벨링 : 연속적인 수 구하기 = 소프트맥스 함수 : 항등 함수 와 솔직히 too much 간단명료 . 핵심 그자체다.
-다음에서 계속-
'개발 과 보안 > AI 알고리즘 코딩 수학' 카테고리의 다른 글
군집 알고리즘 따라쓰다가 모르는거 공부함 (1) | 2022.11.17 |
---|---|
교차 엔트로피(Cross Entropy) (0) | 2022.11.06 |
손실함수야 왜 1/2를 곱하는거니 (0) | 2022.11.06 |
ML/DL 공부 사이트 모음 (1) | 2022.11.05 |
로지스틱 회귀분석 공부하면서.. (0) | 2022.11.05 |