Perceptron
: 다수의 입력으로부터 하나의 결과를 내보내는 알고리즘
각 노드의 가중치와 입력치를 곱한 것을 모두 합한 값이 활성함수에 의해 판단되는데, 그 값이 임계치(보통 0)보다 크면 뉴런이 활성화되고 결과값으로 1을 출력한다. 뉴런이 활성화되지 않으면 결과값으로 -1을 출력한다.
기본 수식 : y = wx + b
위 사진에서 우리는 y값을 만족하는 w, b값을 찾을 것이다.
우리는 원하는 출력값을 뽑아내는 w(weight 가중치), b(bias 편향) 값을 찾아야한다. 초기에는 이 값들이 랜덤하게 정해지게 된다. optimizer가 loss값을 보고 w, b값을 조정하는 과정의 반복을 통해 w, b값을 찾아낸다. 이것이 학습하는 과정이다.
MLP
- perceptron layer가 여러 개 겹쳐있는 것
Hidden layer는 input layer와 output layer 사이의 layer를 말한다. 이 hidden layer에서는 비선형 함수인 activation function을 이용하여 선형 함수인 perceptron layer의 output값을 바꿔줌으로써 더욱더 다양한 추론을 가능하게 하고, 값의 범위를 줄여서 loss값 계산을 수월하게 한다.
※ 비선형은 선형이 아닌 함수라면 무엇이든 비선형 함수이다. 즉, 직선이 아니면 모두 비선형 함수이다.
Loss Function
- 모델에게 수치값으로 오차를 알려주는 역할
Optimizer
- loss값을 보고 w, b 값을 조정해준다.
- 그리고 조정된 w, b 값을 넣고 계산을 해서 다시 w, b 값을 조정해준다
- 이 과정을 반복
- 이것이 모델이 학습하는 과정이다.
Activation function
- active한지 inactive한지 바꿔주는 함수. 즉, 수치값을 0 또는 1의 신호값으로 바꿔줌
- Linear
- x축은 input, y축은 output이라 하자
- 아래의 그래프는 Activation function을 쓰지 않았거나 Linear Activation function을 사용한 것
Sigmoid
- Activation function의 일종.
- 비선형 함수
- 어떤 값이 들어오든 0~1 사이값으로 만들어줌
- Hidden layer에서 쓰이는 모든 activation function의 특징
- 비선형
=> 더욱더 다양한 추론 가능하게 해줌 - 범위를 줄여줌
=> loss값이 지나치게 커지는 것을 방지
- 비선형
- 데이터 전처리를 통해 값의 범위를 줄여준다면 loss값도 줄어듦
=>그러면 optimizer가 그걸 보고 정답 찾기도 수월해짐 - 근데 MLP에서는 1번째 layer의 output이 다시 0~1 사이 값이 나오지 않는다면 미리 0~1 사이의 값으로 normalization해준 의미가 없음
=>hidden layer에서 activation function 사용 - 2개로 분류할 때 output layer에서 사용
'교육 > AI+X 융합 교육' 카테고리의 다른 글
Image Inpainting (0) | 2021.09.02 |
---|---|
NVIDIA Image Inpainting (0) | 2021.09.02 |
Image Segmentation (0) | 2021.08.24 |
[Pytorch] 변형(Transform) (0) | 2021.08.20 |
[Pytorch] Dataset과 Dataloader (0) | 2021.08.20 |