활성화(activation) 함수 : 인공 신경망은 입력값을 가중치와 곱하고 그 결과를 전부 더하여 합산한 값을 활성화 함수에 입력하여 최종 출력으로 변환함.
[5-1] 활성화 함수의 종류
1-2 손실 함수
손실 함수(loss function) : 인공 신경망이 출력하는 값과 실제 정답과의 차이를 의미
- 손실 함수가 작을수록 좋음.
딥러닝 학습을 통해 인공 신경망의 출력값과 실제값을 비교하여 그 차이를 최소화하는 가중치와 편향의 조합을 찾음.
[5-2] 손실 함수의 종류
1-3 옵티마이저(최적화 알고리즘)
손실함수 J(W)와 같이 가중치(W)의 함수로 나타냄.
손실함수가 볼록 함수의 형태라면 미분으로 손실이 가장 작은 가중치(W*)를 찾을 수 있음.
BUT, 손실 함수의 형태가 복잡하므로 계산량이 매우 커질 뿐만 아니라, 미분이 0이 되는 값이 여러 개 존재하게 되므로 미분만으로 최소값을 찾기 어려움.
=> 경사하강법(Gradient Desent Method) 사용
- 손실 함수의 현재 위치에서 조금씩 손실이 낮아지는 쪽으로 가중치를 이동하면서 최솟값을 찾는 방법임.
따라서 옵티마이저란, 손실 함수를 최소화하는 방향으로 가중치를 갱신하는 알고리즘
ex) SGD, RMSProp, Adagrad, Adam 등
1-4 다층 신경말(MLP. Multi-Layer Perceptron)
인공 신경망은 일반적으로 여러 층의 레이어(층, layer)를 겹겹이 쌓아서 만듬.
입력 레이어와 출력 레이어가 신경망의 앞과 뒤에 위치하고, 그 사이에 여러 층의 은닉 레이어(hidden layer)를 배치함.
각 유닛은 입력값과 가중치를 갖고 활성화 함수를 거쳐 출력을 내보냄.
인접한 두 레이어의 각 유닛은 서로 가중치(weight)를 갖는 연결선을 통해 이어지고 일대일 대응 관계를 갖음.
02. 간단한 딥러닝 모델 만들기
2-1 Sequential API
케라스 Sequential API : 레이어 여러 개를 연결하여 신경망 모델을 구성하는 도구