이번에는 "정규화"에 대해 이야기 해보고자 한다. 정규화에 대해 이야기 해보기 전에 먼저 오버피팅부터 복습해보자! 오버피팅이란 학습오차가 일반화 오차에 비해 현격하게 낮아지는 현상, 즉 모델이 학습 데이터의 불필요한 특징들까지 학습을 하여 모델의 일반화 성능이 떨어지는 상황을 말한다. 우리는 오버피팅을 방지하기 위해 여러가지 방법을 배웠는데, 한가지만 말해보자면, 검증 데이터셋과 테스트 데이터셋을 도입하여 모델의 최적화 과정에서 발생할 수 있는 오버피팅 현상을 방지 할 수 있었다. 정규화를 통해서도 오버피팅을 방지할 수 있는데, 정규화에는 데이터 증강, 배치정규화 등 여러가지 방법이 존재한다. 정규화 오버피팅을 늦추고 모델이 학습 데이터로부터 적절한 특징을 학습하여 일반화 오차를 낮춰줄 수 있는 기법을 ..
이번 글에서는 "최적화"에 대해 공부한 내용을 회고 하고자한다. 최적화란? 최적화를 말하기 전 먼저 "하이퍼 파라미터"에 대해 이야기 해보자! 하이퍼 파리미터는 모델의 성능에 크게 영향을 끼치지만 자동으로 최적화되지 않는 파라미터를 의미한다. 즉, 사용자가 직접 값들을 설정해야 하는 중요한 변수를 의미한다. 학습률, 미니배치 크기, 심층신경망의 깊이, 너비등이 하이퍼파라미터에 속한다. 우리는 모델의 성능을 끌어올리기 위해서는 하이퍼파라미터의 잘 설정해주는 것이 매우 중요한데, 경사하강법과 같이 자동으로 자동으로 찾아주는 방법이 없기 때문에 사용자가 직접 실험을 통해 성능을 지켜보면서 값을 튜닝해야 한다. 적응형 학습률 학습률은 모델을 학습하는데 매우 중요한 파라미터, 하이퍼 파라미터라고 할 수 있다. 학..
경사하강법 앞선 글에서 손실값이 최소가 되는 가중치파라미터를 찾아야 한다고 했었는데, 이때 사용되는 방법이 경사하강법이다. 우리는 알수 없는 함수 f* 를 근사하기 위해 데이터셋 D를 모아, 모델 함수가 최적의 출력값을 반환하도록 손실 함수가 최소가 되는 모델의 가중치 파라미터θ를 찾아야 한다. 아래 사진을 보자! y축이 손실값, x축이 가중치 파라미터를 의미한다고 생각해보자 여기서 우리 y축이 최소가 되는 값을 찾아야 한다. 그림의 왼쪽 공이 위치한 지점은 음의 기울기를 가지고 있다. 최솟값을 가진 위치로 접근하기 위해서는.. 왼쪽에 위치한 공을 오른쪽(양의 방향)으로 움직여야 한다. 마찬가지로 양의 기울기를 가진 공 (오른쪽에 위치한 공)은 마찬가지로 우리는 공을 왼쪽(음의 방향)으로 움직여야 한다...