AI & Data를 활용하는 기술경영자

머신러닝 인풋 최적화를 위한 추론 입력값 탐색 전략(Chapter3) 본문

Genetic algorithm

머신러닝 인풋 최적화를 위한 추론 입력값 탐색 전략(Chapter3)

Data_Lover 2022. 7. 28. 02:32
728x90

쉽게 쓸 수 있는 방법: 순차(Grid) 및 임의 탐색법(Randomized Search)

탐색 전략 Overview

탐색 공간내에서 최대값을 찾는 방법으로 측정 횟수와 정확성의 Trade-off

조합 수에 따라: Grid < Randomized < Genetic Search or Bayesian Optimization 선호

 

  • Praticle swarm optimization
    • 여러 위치를 동시 측정을 한 후에 위치별 gradient를 확인하여 측정 그룹을 고려한 뒤 다음 측정 위치를 정하기
  • Grid Search
    • 가장 기본적인 탐색 전략으로 탐색공간 내 설정 범위의 후보 조합을 모두 계산하는 방법으로 Hyper-Parameter 탐색에 많이 사용된다.
    • 확실한 방법일지라도 조합의 수가 많아지면 계산 시간을 고려할 필요가 있고 Iterative 접근 시 Local Optimum 주의
      • 해결책: 격자를 회전 시켜서 두 인자 입력을 모두 다르게 구성할 경우 결과 information gain이 더 크므로 Local Optimum valley에 빠질 가능성이 감소된다.
    • 등간격, 위도, 경도 교차점에서 측정해서 찾아본다.
  • Randomized Search
    • 이름에서 알 수 있듯이 아무 곳이나 임의로 측정을 해본다.
    • 지정한 탐색 공간 내에서 계산점을 임의로 결정하는 방법으로 일반적으로 탐색인자가 3 초가인 경우 선택하면 좋다.
    • 임의 반복횟수 및 계산 시간 지정을 통해서 탐색에 투입할 연산 비용을 제어한다.
    • Calculation Points
      • 각 인자에 더 많은 정보를 줄 수 있다.
      • 임의 탐색을 통해서 반복횟수만큼의 서로 다른 계산 결과를 반환하므로 모델별로 서로 다른, 임의 오차 출력 가능성이 높다.
  • Gradient descent
    • Gradient를 확인해서 오염도가 더 심할 것으로 예상되는 다음 측정위치를 정한다.
  • Genetic search
    • 일단 임의로 측정한 뒤 높게 나온 곳의 측정 위치 정보를 결합하여 새로운 측정 장소를 정한다.
  • Bayesian optimization
    • 주변 측정치가 적어서 예측값을 가장 알 수 없는 곳부터 측정한다.

Modified or Hybrid Methodology

  • 데이터 특성에 따라서 최적 방법은 다르지만 보통 차원이 높을수록 Random탐색이 유리하다.
  • 일반 Random조합을 개선한 <Latin HyperCube< Sobol 조합 방법이 제안된다.

 

  • 특정 인자의 최적해 구간이 좁은 경우 임의탐색으로 선택될 확률이 낮기에 LHC Sampling기반 Hybrid이다.
  • 의사 난수를 사용해서 Grid+ Random Search의 장점을 결합한 것으로 Genetic Algorithm의 초기 생성자로 유용하다.

 

탐색 공간이 매우 크다면? 유전 알고리즘!

최적화란 무엇인가?

  • 목표 최적값을 탐색 범위 내에서 조절하여 주어진 cost function값을 최소화하는 해를 찾아내는 방법이다.
  • 모델의 가중치를 찾기 위해서 Optimizer도 최적화를 수행한 것이다.(GD, RMSProp, Adam)

유전 알고리즘: 직관적 접근

  • 교차(crossover) 연산을 통해서 더 나은 해 집합을 생성한다.
  • 세대 진행될수록 해 집합(populations)는 Global Optimum으로 다가간다.

Step 1.임의 초기 해 생성(Initial Generation)

  • 최적화할 목적함수의 최초 해 집합 생성이므로 많을수록 유리하지만 계산시간도 급증하므로 고려할 필요가 있다.
  • Grid, Random Search에서 다룬 모든 전략이 다 사용 가능하다.

Step 2. 선택(Selection)

  • 교차에서 쓰이는 두 개의 부모 해를 고르기 위한 연산이다.
  • 우수한 해가 선택될 확률이 높도록 구현을 해야하고 수렴도 vs. 해의 품질 Trade-off 
    • Roulette Wheel Selection
      • K를 높이면 빠른 수렴이 되지만 해의 다양성이 감소한다.
      • K를 낮추면 느리게 수렴이 되어서 해의 평균 품질이 감소한다.
      • 해의 적합도를 임의 수 K로 가중하여 휠 공간을 배정하기 때문이다.
    • Order-based Selection
      • 해의 품질 순서대로 정렬하여 적합도를 재배정한다.

Step 3. 교차(Crossover)

  • 부모 해를 기반으로 더 나은 자식 해를 도출하는 유전 알고리즘의 핵심 연산이다.
  • 최적해가 구해지지 않은 경우 해결 문제에 맞는 Crossover 방법을 설계할 필요가 있다.

Step 4. 변이(Mutation)

  • 부모해에 없는 속성을 도입하는 것으로 탐색 공간을 넓히는 연산을 한다.
    • 강화학습의 탐색과 탐험을 기반으로 한다.
  • 해의 품질을 떨어뜨리지만 성공적으로 변이된 해는 집단의 품질을 향상시키므로 전역 탐색효과를 극대화한다.

Step 5.대치(Replacement)

  • 생성된 자식해를 원시 Population 해와 교환하는 연산이다.
  • 품질(=Fitness값)이 제일 낮은 해를 대치하는 것이 일반적이다.

Finally: 유전 알고리즘 솔루션

  • TSP(Traveling Salesman Problem)문제를 GA에 의한 미국 로드 트립 최적 경로 설계
  • 공장 설비/기계 배치 문제 해결
    • 인쇄회로기판 제작 공정 과정이다.
    • 택배 최적 경로 설계 등 산업현장 수요가 높은 최적화 유형이다.

유전 알고리즘과 예측모델과의 결합

목적함수: 머신러닝 모델

  • 머신러닝 모델을 GA의 목적함수로 사용되는데 Target를 만족하는 최적 솔루션 탐색이다.
  • 모델의 정확도가 최종 겨로가의 해석 품질을 결정한다.

외삽(Extrapolation)에 취약한 예측모델

  • Data로 학습되지 않은 영역은 이론적으로 예측이 불가하여 Trend Prediction이 필요할 때가 있다.
  • Latent SPace 내부 탐색이 원칙으로 앙상블 모델을 사용하여 Extrapolation의 예측 오차를 상쇄한다.

 MNIST 필기체 인식 CNN 모델의 GA추론

  • Image Array를 받아서 CCE Log Loss를 출력하는 목적함수를 설계하여 CNN모델과 GA를 연결한다.
  • 특정 숫자로 인식되기 위한 모델 Input값을 역으로 추론(Reverse Inference)

Dropout 및 Ensemble를 활용한 예측 신뢰구간 추정

참고사이트

 

불확실성을 예측하라

  • 불확실성(Uncertainty): 예측 결과에 대해서 얼마나 확신하는가에 대한 정보이다.
    • Softmax의 예측 확률과는 다르다.
  • 데이터가 없는 구간을 어떻게 예측하나? Bayesian 통계 기반으로 불확실성을 추정한다.

MC Dropout Method(for Epistemic Uncertainty)

  • 대표적인 Bayesian Approach: 학습 및 예측 시 무작위로 신경망 노드를 끊은 다중 예측값의 분산을 불확실성으로 해석한다.
  • Issues: 모든 문제를 신경망 구조에서 해석하는 한계, 불확실성이 Dropout Rate 및 활성함수에 의존하는 문제이다.

모델들의 예측 결과로 추정하는 불확실성

  • 여러 모델에서 도출된 다수의 결과의 분산으로 불확실성을 추정하는데 데이터에서 멀어질수록 증가한다.
  • 예측을 위해 디자인한 앙상블 모델로 불확실성 추정이 가능하고 모델의 제약이 없다.
728x90

'Genetic algorithm' 카테고리의 다른 글

REST API  (0) 2022.08.01
유전 알고리즘(chapter2)  (0) 2022.07.25