학습이란 학습시킨 데이터를 통해 가중치 매개변수의 최적값을 얻어낼 때, 컴퓨터가 알아서 획득하는 것을 말합니다.
손실 함수라는 것의 결괏값을 가장 작게 만드는 가중치 매개변수가 최적 값입니다.
기계학습은 학습시킬 데이터로부터 규칙(패턴)을 찾아내는 일을 사람이 아닌 기계(컴퓨터)가 하는 것입니다.
하지만 특징을 정하는 과정에서는 사람이 개입할 수 밖에 없습니다.
예를 들어 숫자를 분류하는 기계학습을 할 때, 이미지를 벡터로 변환하고, 벡터를 가지고 학습하는 방법이 있습니다.
이 때, 이미지를 벡터로 변환할 때는 사람의 개입이 있을 수 밖에 없습니다.
이러한 사람의 개입을 보다 최소화하는 것이 신경망과 딥러닝입니다.
그래서 딥러닝을 종단간 기계학습이라고도 합니다.
기계학습에는 훈련 데이터와 시험 데이터로 나누어 학습과 실험을 수행합니다.
훈련 데이터를 이용하여 최적의 매개변수를 찾아내고, 시험 데이터로 잘 찾아냈는지 테스트합니다.
이 때, 특정 데이터셋에만 지나치게 최적화되면 오버피팅( overfitting )되었다고 합니다.
신경망 학습이 잘 되었는지 확인하기 위해 사용하는 지표가 손실 함수입니다.
손실 함수는 신경망의 학습의 나쁨을 나타내는 지표입니다.
즉, 손실 함수가 높다는 것은 학습이 제대로 되지 않았다는 의미입니다.
손실 함수에는 평균 제곱 오차, 교차 엔트로피 오차가 있다.
훈련 데이터가 너무 많으면 모든 손실 함수를 구하기 힘드니,
그 중 일부를 무작위로 뽑아서 학습을 수행하는 것을 미니배치( mini-batch ) 학습이라고 합니다.
정확도가 아닌 손실 함수를 사용하는 것은 개선할 때 매개 변수의 기울기를 이용하기 때문입니다.
만약에 정확도를 지표로 삼는다면, 변화량은 0이다가 계단 함수처럼 어느 순간 변화하기 때문에 기울기가 계속 0이 나오기 때문에 개선하기가 힘듭니다.
가중치 매개 변수 기울기를 구할 때는 수치 미분을 이용합니다.
두 점에서 함수 값들의 차인 차분을 이용하여 미분을 구하는 것을 수치 미분이라고 합니다.
한 번 학습할 때 얼마만큼 학습할지, 그리고 매개변수 값을 얼마나 갱신할지 정하는 것을 학습률이라고 합니다.
학습률이 너무 크거나 작으면 문제가 생길 수 있습니다.
에폭은 훈련 데이터를 모두 소진했을 때 횟수를 말합니다.
데이터가 1000개고 100개로 미니배치 학습할 경우 10회가 1 에폭입니다.
학습이 잘 될 경우 에폭이 늘어날수록 정확도가 늘어나는데, 너무 늘어나면 오버피팅이 일어나서 정확도가 떨어집니다.
'Coding > DeepLearning' 카테고리의 다른 글
학습 관련 기술들 - 최적화 (0) | 2020.03.10 |
---|---|
오차역전파법 ( 내용 추가 중 ) (0) | 2020.03.10 |
신경망 Neural network 이란? - 2 (0) | 2020.03.07 |
신경망 Neural network 이란? - 1 (0) | 2020.02.29 |
Perceptron 퍼셉트론이란? (0) | 2020.02.29 |