AI/Deep Learning

Hyper-Parameter Optimization #0

Linuxias 2024. 4. 10. 19:18
반응형

1. Introduction

1) Background

데이터 사이언스 업무는 이전의 업무 영역에서 벗어나 점차 엔지니어링 영역까지 포함하고 있다. 점차 데이터 사이언스는 데이터를 다루고 분석하는 것을 넘어 모델을 학습시키고 평가 배포, 모니터링의 영역까지 확장되고 있다.

실제로 데이터 과학자들에게 엔지니어링까지 함께 하기를 원하는 회사들이 늘어나고 있다.

 

https://miro.medium.com/v2/resize:fit:705/1*WKJKqDs7GXJ-KAy6l2cUXg.png

 

엔지니어링 측면의 역량까지 요구되는 이유는 두 가지 측면에서 분석할 수 있다.

  1. AI 분야의 낮아진 진입장벽과 다양한 도구 
  2. 모델 복잡도와 데이터의 증가 -> 다양한 기술의 발전

`먼저 AI 분야의 낮아진 진입장벽과 다양한 도구`로 인해 다양한 개발자들이 쉽게 AI 분야에 진입이 가능하고 Keras, PyTorch 등 다양한 프레임워크의 발전과 오픈소스 지원에 따라 좀 더 쉽고 빠르게 AI에 접근할 수 있는 것이다.

`모델 복잡도와 데이터의 증가` 는 다양한 도구와 별개로 AI 엔지니어들을 힘들게 하는 원인 중 하나가 되었다. 하지만 반도체, GPU 등의 하드웨어적인 측면에서도 빠르게 발전하며 이러한 문제를 해결해 나아가고 있다.

이에 대한 내용은 고객 또한 인지하고 있으며 그에 따른 개발 납기 주기가 빨라지고 있다. 이러한 고객들의 요청사항에 맞춰 AI 엔지니어들은 반복적인 작업들 중 일부를 최적화하기 위한 방안을 찾게된다.

그리하여 시작된 연구분야가 AutoML 이다. 하이퍼파라미터 최적화는 AutoML 중 하나의 연구 분야이다.

https://adioshun.gitbooks.io/deep_learning/content/Auto-ML/Intro.html

2) Parameter vs Hyper-Parameter

파라미터와 하이퍼파라미터는 머신러닝과 딥러닝 모델에서 중요한 역할을 하는 개념이다. 이 둘은 모델의 학습과 성능 조정에 관련이 있지만, 다른 목적과 역할을 가지고 있다.

https://towardsdatascience.com/model-parameters-and-hyperparameters-in-machine-learning-what-is-the-difference-702d30970f6

파라미터 (Parameters):

  • 파라미터는 모델이 직접 학습하는 변수이다.
  • 모델이 데이터를 학습하면서 조정되는 가중치(weight)나 편향(bias) 등의 값이다.
  • 예를 들어, 신경망에서는 각 층의 가중치(weight)와 편향(bias)이 파라미터이다.
  • 파라미터는 학습 데이터를 통해 모델이 최적화되는 과정에서 업데이트된다.

하이퍼파라미터 (Hyperparameters):

  • 하이퍼파라미터는 모델의 구조나 학습 과정을 제어하는 변수이다.
  • 모델의 학습률, 은닉층의 개수, 각 층의 뉴런 수, 배치 크기 등이 하이퍼파라미터이다.
  • 하이퍼파라미터는 모델을 학습하기 전에 사전에 정의되어야 한다.
  • 모델의 성능과 학습 속도에 영향을 미치며, 최적의 하이퍼파라미터를 선택하는 것이 모델의 성능을 극대화하는 데 중요하다.
  • 일반적으로 하이퍼파라미터 튜닝은 그리드 탐색, 랜덤 탐색, 베이지안 최적화 등의 방법을 사용하여 수행된다.

간단히 말해, 파라미터는 모델이 직접 학습하는 변수이고, 하이퍼파라미터는 모델의 학습 과정을 제어하기 위한 외부적으로 조정해야 하는 변수이다.

 

3) 모델 학습 (Model Training) vs 하이퍼파라미터 최적화 (Hyper-Parameter Optimization)

https://www.oreilly.com/library/view/evaluating-machine-learning/9781492048756/ch04.html#idp1753984

모델 학습은 모델의 파라미터를 학습하는 과정이다. 이 때 하이퍼파라미터는 사전에 정의되어 고정된 상태이다. 하이퍼파라미터 최적화는 하이퍼 파라미터를 학습한다. 모델 학습 과정의 메타 최적화 기법 중 하나이다.

2. 하이퍼파라미터 최적화 기법 소개

1) 최적화 기법 분류

하이퍼파라미터는 크게 `Searching Method``Scheduling method` 두 가지 범주로 분류할 수 있다. 각 분류의 구분은 조기종료 (Pruning) 여부이다. Pruning없이 매 시도마다 끝까지 하이퍼파라미터 탐색을 할 것인지, 아니면 탐색 도중에 성능이 좋지 않은 시도는 Pruning하여 전체 탐색 속도를 증가시킬 것인지의 차이가 있다.

  1. Searching Method
    • Grid Search
    • Random Search
    • Bayesian Optimization (BO)
    • Evolutionary Search
    • 기타 최적화 기법
  2. Scheduling Method
    • Successive HAlving (SHA)
    • HyperBand (HB)
    • Bayesian Optimization - HyperBand (BOHB)
    • Asyncronous Successive HAlving (ASHA)
    • 기타 최적화 기법

각 하이퍼파라미터 최적화 기법을 지원하는 다양한 프레임워크들이 존재한다. 각 기능에 대해서는 추가로 살펴보려 한다.

다음 글에서는 Searching Method, Scheduling Method 기법들에 대해 각각 정리해보려 한다.

반응형