CS231N 3강
https://www.youtube.com/watch?v=h7iBpEHGVNc&list=PLC1qU-LWwrF64f4QKQT-Vg5Wr4qEE1Zxk&index=3
1. Loss function
loss function은 손실함수라고 부르며 실제값과 모델을 통한 예측값의 차이를 수치화 하는 함수이다. Loss는 가중치 W 가 얼마나 좋지 않은지를 표현한 것이다.
즉, Loss function은 W 이 잘 설정되었는지를 알려주는 함수이다. loss fucntion이 값이 작을수록 모델이 잘 만들어졌다고 할 수 있다. loss function의 값을 최소화하는 W, b의 값을 찾는 것을 Optimization(최적화)과정이다.

- $x_i$ = image
- $y_i$ = (integer) label 을 뜻한다.
- $L$ 값은 모든 loss의 평균 값이다.
2. Hinge loss(Multiclass SVM loss)

Hinge Loss는 2개의 클래스를 다루는 SVM(support vector machine)을 일반화 한 것이다. 정답인 클래스의 예측 점수가 오답인 클래스의 예측 점수보다 크면 Hinge Loss는 작아진다.
즉, loss가 커지면 이미지를 잘 분류하지 못하고 loss=0이면 이미지를 잘 분류했다고 할 수 있다.

이 예시에서 Loss의 평균은 5.27로 이미지 분류기가 이미지를 잘 분류한다고 보기는 어렵다. Loss가 0에 가까울수록 이미지를 잘 분류하는 것이기 때문이다.
3. Softmax-classifier

Multiclass SVM Loss는 예측 점수 자체는 고려하지 않고, 정답 클래스의 예측 점수가 오답 클래스의 예측 점수보다 크기만을 바란다. 반면 Softmax는 클래스별 확률분포를 사용하여 예측 점수 자체에 추가적인 의미를 부여한다. Softmax Classifier에서 사용하는 Loss는 Cross entropy loss라고 하며, 정답이 나올 확률의 최솟값을 의미한다.

Softmax Classifier는 예측 점수를 지수화하여 점수를 양수로 만들고, 정규화 시켜 확률분포로 만든다. 위 예에서 정규화 된 각 클래스의 점수의 합은 1이다.

hinge loss(SVM)와 cross-entropy loss(softmax) 둘 다 예측 점수는 같으나 예측 점수를 해석하는 방법이 다르다. Multiclass SVM은 정답 클래스의 예측 점수와 오답 클래스의 예측 점수의 차이를 중요시 하고, Softmax는 예측 점수 자체를 해석하고자 한다.
SVM은 예측 점수 자체보다 정답 클래스의 예측 점수와 오답 클래스의 예측 점수 차이에 관심을 두기 때문에 Loss는 변하지 않지만(둔감) Softmax는 정답 클래스의 예측 점수를 확률로 만들기 때문에 Loss는 변한다(민감).
4. Regularization

Regularization은 test data에 적합하에 overfitting을 방지하기 위해 사용된다.
Overfitting은 모델을 훈련하는 과정에서 훈련 데이터에 분포를 과하게 따라 결정경계가 만들어지는 경우이다. Overfitting이 발생하면 훈련 데이터에는 높은 설명력을 가지지만 새로운 데이터에 대해서는 높은 설명력을 갖기 어렵다.
이러한 문제를 방지하기 위해 Regularization(정규화)을 사용한다. Regularization은 예측 모델(W)이 복잡한 고차 다항식을 선택할 때 패널티를 줌으로써, 단순한 저차원의 다항식을 선택하게끔 한다.

Regularization(정규화)는 L1, L2 정규화를 가장 많이 사용하며 이 중에서도 L2를 많이 사용한다.
5. Optimization
loss function을 최소화시키는 W을 찾아내는 과정
5.1 Random research
- 무작위로 parameter를 넣어보고 넣어 본 값들 중 가장 좋은 값을 찾는 방법
5.2 Gradient descent(경사하강법)
- numerical gradient(수치적 계산)
- 시간이 오래걸림, 간편함
- 디버깅 및 점검에 사용
- analytic gradient(해석적 방법)
- 빠름, 정확함, 계산 실수 발생할 수 있음
- gradient: 미분값, 각 변수들이 최종 값(f)에 미치는 영향
- df/dx -> 변수x가 함수 f에 미치는 영향 우선 W를 임의의 값으로 초기화한다. loss와 gradient를 계산한 뒤, 가중치를 gradient의 반대 방향으로 업데이트 한다. 데이터의 크기가 커지면 비효율적
5.3 Stochastic Gradient Descent(SGD)
- 미니배치를 사용해 작은 training sample 집합으로 나눠서 학습하는 방법이다.
- 일반적인 경사하강법은 데이터의 크기가 커지면 비효율적이기 때문에 이를 보완하는 방법이다.
'Study > cs231n' 카테고리의 다른 글
[cs231n] 7. Training Neural Networks 2 (0) | 2024.04.17 |
---|---|
[cs231n] 6. Training Neural Networks (0) | 2024.04.17 |
[cs231n] 5. Convolutional Neural Networks (0) | 2024.04.17 |
[cs231n] 4. Introduction graphs (0) | 2024.04.17 |
CS231N 3강
https://www.youtube.com/watch?v=h7iBpEHGVNc&list=PLC1qU-LWwrF64f4QKQT-Vg5Wr4qEE1Zxk&index=3
1. Loss function
loss function은 손실함수라고 부르며 실제값과 모델을 통한 예측값의 차이를 수치화 하는 함수이다. Loss는 가중치 W 가 얼마나 좋지 않은지를 표현한 것이다.
즉, Loss function은 W 이 잘 설정되었는지를 알려주는 함수이다. loss fucntion이 값이 작을수록 모델이 잘 만들어졌다고 할 수 있다. loss function의 값을 최소화하는 W, b의 값을 찾는 것을 Optimization(최적화)과정이다.

- $x_i$ = image
- $y_i$ = (integer) label 을 뜻한다.
- $L$ 값은 모든 loss의 평균 값이다.
2. Hinge loss(Multiclass SVM loss)

Hinge Loss는 2개의 클래스를 다루는 SVM(support vector machine)을 일반화 한 것이다. 정답인 클래스의 예측 점수가 오답인 클래스의 예측 점수보다 크면 Hinge Loss는 작아진다.
즉, loss가 커지면 이미지를 잘 분류하지 못하고 loss=0이면 이미지를 잘 분류했다고 할 수 있다.

이 예시에서 Loss의 평균은 5.27로 이미지 분류기가 이미지를 잘 분류한다고 보기는 어렵다. Loss가 0에 가까울수록 이미지를 잘 분류하는 것이기 때문이다.
3. Softmax-classifier

Multiclass SVM Loss는 예측 점수 자체는 고려하지 않고, 정답 클래스의 예측 점수가 오답 클래스의 예측 점수보다 크기만을 바란다. 반면 Softmax는 클래스별 확률분포를 사용하여 예측 점수 자체에 추가적인 의미를 부여한다. Softmax Classifier에서 사용하는 Loss는 Cross entropy loss라고 하며, 정답이 나올 확률의 최솟값을 의미한다.

Softmax Classifier는 예측 점수를 지수화하여 점수를 양수로 만들고, 정규화 시켜 확률분포로 만든다. 위 예에서 정규화 된 각 클래스의 점수의 합은 1이다.

hinge loss(SVM)와 cross-entropy loss(softmax) 둘 다 예측 점수는 같으나 예측 점수를 해석하는 방법이 다르다. Multiclass SVM은 정답 클래스의 예측 점수와 오답 클래스의 예측 점수의 차이를 중요시 하고, Softmax는 예측 점수 자체를 해석하고자 한다.
SVM은 예측 점수 자체보다 정답 클래스의 예측 점수와 오답 클래스의 예측 점수 차이에 관심을 두기 때문에 Loss는 변하지 않지만(둔감) Softmax는 정답 클래스의 예측 점수를 확률로 만들기 때문에 Loss는 변한다(민감).
4. Regularization

Regularization은 test data에 적합하에 overfitting을 방지하기 위해 사용된다.
Overfitting은 모델을 훈련하는 과정에서 훈련 데이터에 분포를 과하게 따라 결정경계가 만들어지는 경우이다. Overfitting이 발생하면 훈련 데이터에는 높은 설명력을 가지지만 새로운 데이터에 대해서는 높은 설명력을 갖기 어렵다.
이러한 문제를 방지하기 위해 Regularization(정규화)을 사용한다. Regularization은 예측 모델(W)이 복잡한 고차 다항식을 선택할 때 패널티를 줌으로써, 단순한 저차원의 다항식을 선택하게끔 한다.

Regularization(정규화)는 L1, L2 정규화를 가장 많이 사용하며 이 중에서도 L2를 많이 사용한다.
5. Optimization
loss function을 최소화시키는 W을 찾아내는 과정
5.1 Random research
- 무작위로 parameter를 넣어보고 넣어 본 값들 중 가장 좋은 값을 찾는 방법
5.2 Gradient descent(경사하강법)
- numerical gradient(수치적 계산)
- 시간이 오래걸림, 간편함
- 디버깅 및 점검에 사용
- analytic gradient(해석적 방법)
- 빠름, 정확함, 계산 실수 발생할 수 있음
- gradient: 미분값, 각 변수들이 최종 값(f)에 미치는 영향
- df/dx -> 변수x가 함수 f에 미치는 영향 우선 W를 임의의 값으로 초기화한다. loss와 gradient를 계산한 뒤, 가중치를 gradient의 반대 방향으로 업데이트 한다. 데이터의 크기가 커지면 비효율적
5.3 Stochastic Gradient Descent(SGD)
- 미니배치를 사용해 작은 training sample 집합으로 나눠서 학습하는 방법이다.
- 일반적인 경사하강법은 데이터의 크기가 커지면 비효율적이기 때문에 이를 보완하는 방법이다.
'Study > cs231n' 카테고리의 다른 글
[cs231n] 7. Training Neural Networks 2 (0) | 2024.04.17 |
---|---|
[cs231n] 6. Training Neural Networks (0) | 2024.04.17 |
[cs231n] 5. Convolutional Neural Networks (0) | 2024.04.17 |
[cs231n] 4. Introduction graphs (0) | 2024.04.17 |