꺼내먹는지식 준
Neural Net, Multi-layer Perceptron 본문
Neural Net
포유류의 뇌 신경망을 모방하고자 하는 시스템, 다만 에매하게 모방을 했다.
사람이 날고 싶어서 새를 모방한 기계를 만들었었다.
라이트 형제가 만든 비행기는 새처럼 생기지 않았었다.
최근에는 더 다르다.
뉴런도 마찬가지다. 처음에는 동작 방법을 모방에서 시작을 했지만, 최근 트렌드는 모방과는 너무 다르게 갈라졌다.
이에 따라 왜 잘 되는지를 모델 자체만 놓고 수학적으로 분석하는 것이 더 좋을 수 있다.
뉴럴 네트워크는 행렬을 곱하고 비선형 연산이 반복적으로 이루어져 우리가 만들고자 하는 function 의 function approximator이다.
Linear Neural Network
기울기가 있고 절편이 있다. 즉 2개의 파라미터.
출력값과 우리의 예측값의 차이를 줄이는 것이 목표
간단한 모델이기에 최적 값을 빠르게 찾는 방법이 있지만, 실제 문제들을 복잡하다.
이에 따라 loss function이 주어졌을 때, 파라미터가 어느 방향으로 움직일 때 loss 가 줄어드는 지 보고, 미분 방향의 음수 방향으로 끌고나가면 최저 값을 찾을 수 있다.
실제 모델은 레이어도 여러개 이고, 비선형 함수도 필요하다.
(multi dimension의 경우 행렬을 사용하면 된다.)
(행렬에 대한 해석: 서로 다른 백터 공간 사이의 mapping)
이건 선형 layer 한개와 다를게 없다.
이에 따라 비선형 함수가 꼭 필요
비선형 함수는 무엇이 있을까?
문제 상황 마다 비선형 함수가 다르게 필요하다.
뉴럴 넷이 왜 잘되는가에 대한 한가지 가설
: hidden layer 가 하나 있는 뉴럴 넷은 대부분의 continuous, measurable function을 근사할 수 있다.
우리가 원하는 근사까지 맞출 수도 있다.
이 말이 무언가 하면, 이 세상 어딘가에는 그러한 neural net 이 존재할 수 있다는 뜻, 다만 어떻게 찾을지는 모른다.
Layer가 여러개라서 Multi-layer Perceptron
Loss
outlier 가 있으면 뉴럴넷이 망가질 수 있다.
Loss function에 대해 깊게 이해하자.
분류를 위해서는 y hat 의 값만 다른 값 대비 높게 하는 것이 목적이다. 값의 크기는 중요하지 않다.
결과값이 단순한 숫자가 아니라 확률 값도 즉 uncertatinty, confidence 확률을 가지고 싶을 때 사용한다.
'AI > 딥러닝 기초' 카테고리의 다른 글
딥러닝 Optimization (최적화) 및 최적화 용어 정리 (0) | 2022.02.07 |
---|---|
Multi layer Perceptron 간단 구현 (0) | 2022.02.07 |
딥러닝 역사, 기본 및 용어 (0) | 2022.02.07 |
Multi_GPU, 분산 학습, 데이터 병렬화, 파라미터서버 (0) | 2022.01.28 |
딥러닝 학습모델 간단 정리 (0) | 2022.01.23 |