학습 파라미터 - Amazon Machine Learning

더 이상 Amazon Machine Learning 서비스를 업데이트하거나 새 사용자를 받지 않습니다. 이 설명서는 기존 사용자에 제공되지만 더 이상 업데이트되지 않습니다. 자세한 내용은 Amazon Machine Learning이란? 단원을 참조하세요.

학습 파라미터

Amazon ML 학습 알고리즘은 결과 모델의 품질을 조정할 수 있는 하이퍼파라미터 또는 학습 파라미터라고 불리는 파라미터를 허용합니다. 하이퍼파라미터에 따라 Amazon ML은 설정을 자동 선택하거나 하이퍼파라미터의 정적 기본값을 제공합니다. 기본 하이퍼파라미터 설정은 일반적으로 유용한 모델을 생성하지만, 하이퍼파라미터 값을 변경하여 모델의 예측 성능을 향상시킬 수 있습니다. 다음에 이어지는 단원에서는 Amazon ML이 생성한 것과 같이 선형 모델의 학습 알고리즘과 관련된 일반적인 하이퍼파라미터를 설명합니다.

학습률

학습률은 SGD(Stochastic Gradient Descent) 알고리즘에서 사용되는 상수 값입니다. 학습률은 알고리즘이 최적의 가중치에 도달(수렴)하는 속도에 영향을 줍니다. SGD 알고리즘은 확인하는 모든 데이터 예에 대해 선형 모델의 가중치를 업데이트합니다. 이 업데이트의 크기는 학습률에 의해 제어됩니다. 학습률이 너무 높으면 가중치가 최적의 솔루션에 접근하지 못할 수 있습니다. 값이 너무 작으면 최적의 가중치에 접근하기 위해 많은 전달이 필요한 알고리즘으로 이어집니다.

Amazon ML에서 학습률은 데이터를 기반으로 자동 선택됩니다.

모델 크기

입력 특성이 많은 경우, 사용 가능한 데이터의 패턴 수가 많으면 대규모 모델로 이어질 수 있습니다. 대규모 모델은 학습 중 또는 예측을 생성할 때 모델을 유지하는 데 더 많은 RAM이 필요하다는 것과 같은 실질적인 의미를 가집니다. Amazon ML에서는 L1 정규화를 사용하거나 최대 크기를 지정하여 모델 크기를 구체적으로 제한함으로써 모델 크기를 줄일 수 있습니다. 모델 크기를 너무 많이 줄이면 모델의 예측 능력이 감소할 수 있습니다.

기본 모델 크기에 대한 내용은 학습 파라미터: 유형 및 기본 값 단원을 참조하세요. 정규화에 대한 자세한 내용은 정규화 단원을 참조하세요.

전달 횟수

SGD 알고리즘은 학습 데이터를 순차적으로 전달합니다. Number of passes 파라미터는 알고리즘이 학습 데이터에 대해 수행하는 전달 횟수를 제어합니다. 전달이 많을수록 데이터에 더 적합한 모델이 되지만(학습률이 너무 높지 않은 경우), 전달 횟수가 증가하면 이점이 줄어들게 됩니다. 더 작은 데이터 세트의 경우 전달 횟수를 크게 늘릴 수 있게 되어 학습 알고리즘이 데이터에 더 적합하도록 효과적으로 조정할 수 있습니다. 매우 큰 데이터 세트의 경우에도 단일 전달로 충분할 수 있습니다.

기본 전달 횟수에 대한 자세한 정보는 학습 파라미터: 유형 및 기본 값 단원을 참조하세요.

데이터 셔플링

Amazon ML에서 SGD 알고리즘은 학습 데이터의 행 순서에 따른 영향을 받기 때문에 사용자는 데이터를 셔플링해야 합니다. 학습 데이터를 셔플링하면 SGD 알고리즘이 전체 데이터 범위가 아닌 첫 번째로 확인하는 데이터 유형에 최적화된 솔루션을 피하는 데 도움이 되므로 더 나은 수준의 ML 모델이 됩니다. 셔플링은 데이터 순서를 혼합하기 때문에 SGD 알고리즘이 연속적으로 너무 많은 관측에서 한 가지 유형의 데이터만 접하지 않습니다. 연속적으로 많은 가중치 업데이트에서 한 가지 유형의 데이터만 확인하는 경우, 업데이트 규모가 너무 클 수 있기 때문에 알고리즘이 새 데이터 유형의 모델 가중치를 수정하지 못할 수 있습니다. 또한 데이터가 임의로 제공되지 않으면 알고리즘이 모든 데이터 유형에 대해 최적화된 솔루션을 빠르게 찾을 수 없으며, 경우에 따라 알고리즘이 최적화된 솔루션을 아예 찾지 못할 수도 있습니다. 학습 데이터를 셔플링하면 알고리즘이 최적의 솔루션으로 빠르게 수렴하는 데 도움이 됩니다.

예를 들어 ML 모델을 학습시켜서 제품 유형을 예측하려고 하며, 학습 데이터에는 영화, 장난감 및 비디오 게임 제품 유형이 포함되어 있다고 가정해 보겠습니다. 데이터를 Amazon S3에 업로드하기 전에 제품 유형 열 기준으로 데이터를 정렬하는 경우, 알고리즘은 제품 유형 기준에 따라 알파벳순으로 데이터를 확인합니다. 알고리즘은 먼저 영화에 대한 모든 데이터를 확인하고 ML 모델은 영화에 대한 패턴을 학습하기 시작합니다. 그런 다음 모델이 장난감에 대한 데이터를 접하면 해당 알고리즘이 수행하는 모든 업데이트는 장난감 제품 유형에 대한 모델에 적합하게 됩니다. 이러한 업데이트로 인해 영화에 적합한 패턴이 저하되는 경우에도 마찬가지입니다. 영화에서 장난감 유형으로 갑자기 전환하면 제품 유형을 정확하게 예측하는 방법을 학습하지 못하는 모델이 생성될 수 있습니다.

기본 셔플링 유형에 대한 자세한 정보는 학습 파라미터: 유형 및 기본 값 단원을 참조하세요.

정규화

정규화를 사용하면 극단적인 가중치 값에 페널티를 부과하여 선형 모델이 학습 데이터 예에 과적합(즉, 패턴을 일반화하는 대신 암기하는 것)되는 것을 방지할 수 있습니다. L1 정규화는 적은 가중치를 갖게 될 특성의 가중치를 0으로 만들어 모델에서 사용되는 특성의 수를 줄이는 효과를 가집니다. 결과적으로 L1 정규화는 희소 모델을 생성하고 모델의 노이즈를 줄입니다. L2 정규화는 전체적으로 더 적은 가중치로 이어지며, 입력 특성 간의 상관 관계가 높을 때 가중치를 안정화합니다. Regularization typeRegularization amount 파라미터를 사용하여, 적용되는 L1 또는 L2 정규화의 정도를 제어합니다. 매우 큰 정규화 값을 사용하면 모든 특성의 가중치가 0이 되어 모델이 패턴을 학습하지 못하게 될 수 있습니다.

기본 정규화 값에 대한 자세한 정보는 학습 파라미터: 유형 및 기본 값 단원을 참조하세요.