머신 러닝/Theory

Hyperparameter머신 러닝에서 Hyperparameter는 모델이나 알고리즘을 제어하는 변수이다.이러한 변수는 모델의 학습 과정을 제어하며, 모델의 성능에 큰 영향을 미친다. 예를 들어, neural network에서 하이퍼파라미터에는 다음과 같은 것들이 있다.학습률 (learning rate)배치 크기 (batch size)에포크 수 (number of epochs)은닉층의 수 (number of hidden layers)은닉층의 뉴런 수 (number of neurons in each hidden layer)드롭아웃 비율 (dropout rate)이러한 하이퍼파라미터는 모델의 성능을 개선하기 위해 잘 조정(fine-tuned)되어야 한다.이번 포스팅에서는 하이퍼파라미터를 튜닝하여 모델이 최고..
최신, 최첨단의 심층 네트워크를 만들어 써먹으려면 수일 혹은 수주일이 걸릴 수 있으며 수백만 개의 데이터가 필요하다.예를 들어, ILSVRC ImageNet 2010에는 1000개의 카테고리가 있으며 각 카테고리마다 1000개가 넘는 고해상도 테스트 이미지도 있다.모든 사람들이 처음부터 모델을 만들어 위와 같은 데이터를 분류하는 네트워크를 잘 훈련시키기에는 수많은 데이터가 필요하다.이에 더해 최신 장비도 필요하고 시간도 많이 필요한 등 새로운 네트워크를 처음부터 훈련시키는 것은 매우 고된 작업이 될 것이다.이런 에로사항 때문에 Transfer Learning(전이 학습)이 등장한다.Transfer LearningTransfer Learning이란 방대한 양의 데이터를 가지고 미리 잘 훈련된 모델을 가져와..
트레이닝 데이터를 사용해 머신 러닝 모델을 훈련하는 목표 중 하나는 모델이 본 적이 없는 데이터(혹은 레이블이 없는 데이터, 테스트 데이터)에서도 좋은 성능을 나타내게끔 일반화(generalize)를 하는 것이다. 즉, 훈련이 잘 된 모델은 학습하지 않은 데이터를 올바르게 분류하거나 결과를 예측할 수 있어야 한다. 예를 들어, MRI 결과를 가지고 암을 진단하는 네트워크를 훈련한다고 가정해보자. (관련 의료 정보에 대한 법은 무시하자.) 그 네트워크가 자신이 학습한 MRI 데이터로는 암을 잘 찾아내지만 학습하지 않은 환자의 MRI 데이터에는 제대로 암을 찾아내지 못한다고 하면 그저 쓸모없을 뿐만 아니라 자칫 생명을 잃을 수도 있는 모델이다. 위와 같은 현상이 오버피팅의 한 예인데, 오버피팅과 그에 반대되..
Optimizer 역할옵티마이저(optimizer)는 머신 러닝에서 비용 함수를 최소화 하거나 목적 함수를 최대화 하기 위해 모델의 여러 파라미터들을 업데이트하는 데 사용하는 알고리즘이다.이때 비용 함수는 손실 함수나 loss function, cost function이라고도 부르는데 모델의 입력에 대한 출력과 실제 타겟 간의 차이를 측정하고, 목적 함수(objection function)는 최대화할 양(accuracy, recall, or precision 등)을 말한다.옵티마이저는 모델의 파라미터를 조금씩 업데이트하며 작동하는데 이러한 단계는 비용 함수나 목적 함수의 기울기에 의해 결정된다. 다음 예를 보고 옵티마이저를 이해해보자.당신이 산 위에 있다고 내려가는 길을 찾고 싶어한다고 상상해보자.가장 ..