본문 바로가기

Learning/Tuning

(6)
Regularization : L1, L2 regularization 본문을 읽기 전에 regularization글을 읽고 오시면 좋습니다. L1, L2 norm이란 무엇인가? Norm에 대해 알아보자 norm이란 벡터의 크기(길이)를 측정하는 방법입니다. 쉽게 말해, 두 벡터 사이의 거리를 측정하는 방법입니다. 여기에서 p는 Norm 의 차수를 말합니다. `p=1`일 경우 L1 norm을, `p=2`일 경우 L2 norm을 뜻합니다. 간단하게 L1, L2냐에 따라 항이 1차항인지, 2차항인지 나뉜다고 생각하시면 됩니다. 위의 식에서 n은 해당 벡터의 원소 수를 일컫습니다. L1 norm (p=1) L1 norm은 벡터 p, q 의 각 원소들의 차이의 절대값의 합입니다. 예를 들어 vector `p = (3,1,-3)`이고 `q = (5,0,7)`일 때, p, q의 L1 ..
Batch Normalization Batch Normalization paper: https://arxiv.org/abs/1502.03167 repo: https://github.com/shuuki4/Batch-Normalization Ioffe, S., & Szegedy, C. (2015). Batch normalization: Accelerating deep network training by reducing internal covariate shift. arXiv preprint arXiv:1502.03167. 01. Batch Normalization? 배치 정규화. 미니배치 단위로 데이터 분포를 정규화하여 각 층의 활성화를 적당히 퍼트리도록 강제한다. Covariate Shift를 막기 위한 방법 Covariate Shift 학..
Dropout Dropout [[Overfitting]]의 해결책 중 하나. Dropout은 탈락, 낙오라는 뜻을 가지고 있다. Dropout은 2012년 발표된 일종의 regularization 방법이다. 2015년 발표된 Batch normalization의 부수적인 효과 중 하나가 regularization이기 때문에 Dropout을 쓰지 않기도 한다. 1. Dropout? 1-1. Dropout이란 전체 weight를 계산에 참여시키는 것이 아니라 layer에 포함된 weight 중에서 일부만 참여시킨다 즉, 학습 시 뉴런을 임의로 삭제하여 학습하는 방법 훈련 시에는 임의의 비율(dropout ratio) 만큼 뉴런을 삭제한다. 삭제된 뉴런의 값은 순전파/역전파하지 않는다 시험 시에는 모든 뉴런의 값을 흘린다...
Regularization 1. Regularization 1-1. Regularization의 정의 모델이 [[overfitting]]되지 않도록 일반성을 띄게 해 주는 기법. 1-2. Regularization의 목적 모델이 overfitting되는 것을 방지해서, 새로운 데이터에 대해서도 모델이 잘 작동하도록 하기 위해 Regularization을 사용한다. feature를 버리지 않고 모두 사용하면서 overfitting을 방지한다. local noise가 학습에 큰 영향을 미치지 않게 하여, outlier(특이점)의 영향을 적게 받도록 한다. 1-3. Regularization의 목표 우리가 기대하는 일반성을 띈 모델은, 가운데에 있는 2차함수 모양으로 생긴 함수이다. 왼쪽의 모델은, 함수의 차수가 너무 적어서 모델이 너..
Hyperparameter Hyperparameter Hyperparameter(하이퍼파라미터)는 각 층의 뉴런수를 비롯하여 모델의 구조를 정하는 변수, 배치 크기, 학습률, 가중치 감소 등 모델 학습에 사용되는 여러가지 값이다. Hyperparameter 튜닝을 위한 데이터 분리 훈련 데이터 (Train data): 파라미터(매개변수) 학습에 사용 검증 데이터 (Validation data): Hyperparameter 성능을 평가하는 데이터 시험 데이터 (Test data): 모델망의 범용 성능을 평가하는 데이터 Hyperparameter 최적화 방법 Hyperparameter 범위를 점점 줄려가면서 최적의 hyperparameter 값을 찾아내는 방법 아래 방법으로 수행이 가능하다. 정해진 범위 내에서 랜덤하게 Hyperpa..
Overfitting과 Underfitting 정의 및 해결 방법 만약 동일한 점들이 주어지고 이 점을 대표할 수 있는 함수(곡선)을 추정하는 경우에서, 가운데가 optimize하다고 한다면 왼쪽은 지나친 단순화로 인해 에러가 많이 발생해 underfitting이라 합니다. 오른쪽은 너무 정확하게 표현한 나머지 training data에 대한 정확도는 좋지만 실제 test에서는 에러가 날 수 있는 상황이라 overfitting이라 합니다. 모델은 과대적합(Overfitting)과 과소적합(Underfitting)이 발생하지 않도록 설계하는 것이 중요합니다. 1. Overfitting이란? Overfitting은 학습 데이터(Training Set)에 대해 과하게 학습된 상황입니다. 따라서 학습 데이터 이외의 데이터에 대해선 모델이 잘 동작하지 못합니다. 학습 데이터가 ..