이번 7월 테크 세미나 후기는 ‘다가오는 Automated AI 시대, 그 기반 기술과 적용 사례’였는데요!
세미나를 듣기 전에는 머신 러닝에 대해 공부해본 적이 없어 AutoML이라는 용어도 처음 들어봐 세미나를 듣는 동안 어려운 부분도 많았지만 사례를 들어 설명해주셔서 쉽게 이해할 수 있었고, 세미나를 듣는 동안 정리했던 내용들을 다른 분들과 공유하면 좋을 것 같아 작성해보려고 합니다!
- AutoML in Data Analysis Process
데이터 분석 프로세스를 Human Based와 AutoML Based로 구분해서 살펴보면
Human Based인 경우 Business Understanding → Data Understanding → Feature Engineering → Modeling → Hyper-parameter Optimization → Management & Model Interpretation 순서로 진행되는데요.
이때, AutoML은 Modeling, Hyper-Parameter Optimization 중심으로 발달하고 있고 점차 적용 범위가 확대되어 가고 있습니다.
비즈니스를 이해하고 모델링을 잡는 과정은 Human Based와 똑같이 전개되지만 뒷부분으로 진행될수록 급격하게 리소스가 줄어들면서 생산성을 기대할 수 있습니다.
- Hyper-parameter Optimization, 하이퍼 파라미터 최적화
Parameter vs Hyper-parameter
Parameter는 모델 내부에서 주어진 데이터로부터 결정되며, 작업자에 의해 조정되지 않습니다.
반면, Hyper-parameter는 모델이 스스로 학습하면서 찾아가는게 아니라 작업자가 직접 세팅해주는 값입니다.
따라서, Hyper-parameter 값을 주고 measurement를 하여 Accuracy를 측정 후 Best Hyper-parameter 값을 알아내게 되는 것입니다.
⇒ Heuristics 혹은 반복된 실험을 통해 얻게 되는 값입니다.
- HIPO process by human
Hyper Parameter Setting → Model 생성 → 학습 → 성과 측정 및 기록 → Hyper-parameter 재조정
⇒ 초기의 작업자의 경험으로 세팅하고, 모델 생성 후 성과를 측정하고 기록하는 과정을 Hyper Parameter 값을 조정하면서 반복하게 됩니다.
즉, HIPO는 최적의 모델을 얻기 위해 Best Hyper-parameter를 역으로 찾는 과정입니다.
✔️ Cons
대용량 데이터를 필요로 하는 모델일수록 모델의 복잡도는 커지게 되고, 연산 내용이 급격하게 늘어난다는 문제점이 있습니다.
- Grid Search
Hyper-parameter의 탐색 범위를 제한하고 모든 조합을 순차적으로 탐색해서 가장 좋은 것을 찾는 방법입니다.
✔️ Cons
- 탐색해야 할 Hyper Parameter의 탐색값이 늘어날수록 Hyper-parameter 값의 set는 기하급수적으로 늘어나게 됩니다.
- 구성이 쉽고 직관적이지만 모든 구간을 전부 탐색해야 해서 비효율적입니다. (매우 느리다!)
- Random Search
Grid Search처럼 Hyper-parameter의 탐색 범위를 제한하고 설정한 횟수만큼 범위 안에서 랜덤하게 조합을 돌려보고 결과값을 찍어보는 방법입니다.
→ 일정 간격의 grid보다 랜덤값으로 뽑아서 봤을 때 최적화를 찾을 가능성이 높습니다.
✔️ Cons
탐색 범위가 넓을 경우 할 때마다 결과가 달라져 일반화된 결과가 나오지 않습니다.
⇒ 단순히 반복적인 실험을 통해 비교 분석을 해서 최적화를 찾아가는 과정이라는 것이 grid와 random search의 단점
- Bayesian Inference
내가 알고 있는 일정량의 정보와 관측치를 통해 내가 알고자 하는 값을 추론해 나가는 방법입니다.
→ 이전 시행의 정보(Hyper-parameter set와 성과 pair)로부터 최적의 성과를 낼 수 있을 것 같은 Hyper-parameter를 추론합니다.
✔️ Pros
- Grid Search와 Random Search보다 훨씬 이론적이고 알고리즘적이며, 적은 시도로도 최고의 성능을 낼 수 있습니다.
→ 높은 성능의 Hyper-parameter를 찾을 수 있습니다.
- 기존의 탐색 결과를 활용하는 Sequential Approach라서 속도상의 한계가 있으며 병렬 처리가 불가능합니다. (분산 컴퓨팅의 혜택 X)
- SHA, Successive Halving Algorithm
적절한 중간 학습 과정에서 Early Stopping 하는 방법입니다.
→ Halving(절반으로 줄이기) : “연속적으로 개별 모델에 대한 평가를 시행하여 절반은 남기고 나머지 절반은 버리자”
- XAI (Permutation, Surrogate Model, LIME, SHAP, PDP)
예측값을 뱉어낼 때 활용되는 입력변수에 관심을 가지는 방법입니다.
→ 해석성을 얻을 때 정보의 수준이 모델이 복잡할수록, 해석성이 부족할수록 예측력은 높아지지만 해석할 수 있는 요인은 줄어들게 됩니다.
- Permutation Importance
특정 Feature 값들을 임의로 섞으면 모형성과는 얼마나 나빠질까?라는 의문에서 시작되어 재학습하지 말고 기존의 학습된 모형에 Original Set vs Permutation Set을 예측하여 오차를 비교하는 방법입니다.
✔️ Pros
- 모델을 재학습할 필요가 없어 계산 비용이 적게들고 비교가 용이한 직관적인 Feautre 중요도를 얻게 됩니다.
- Feature간의 상호 작용이 자동적으로 고려됩니다.
✔️ Cons
- 영향의 방향은 알 수 없고 Outlier가 있다면 편향될 수 있습니다.
- Permutation 정도와 에러에 기반한알고리즘 실행시마다 중요도가 다르게 계산될 수 있습니다.
- Surrogate Model
복잡도가 높은 딥러닝 모델의 예측력을 설명할 때, 해석이 어려운 블랙박스 모델의 예측에 근사하도록 훈련된 대리 모델을 활용해 블랙박스 모델에 대한 설명력을 제공하는 방법입니다.
→ 회귀선 작업을 했을 때 y 값과 실제값이 얼마나 가까운지 보는게 R Squared입니다.
이때, R Squared(1-RSS/TSS)가 1이되면 완벽한 설명력을 가졌다고 여겨지며 이 되면 설명력이 없다고 여겨집니다.
✔️ Pros
- 해석이 가능하면 어떤 모델이든지 사용할 수 있는 유연합니다.
- 사용자의 접근성에 따라 대리 모델을 선택할 수 있고, Multi-Surrogate 모델 구성 등 설명력의 제공 방식이 열려 있습니다.
✔️ Cons-
- 대리 모형과 Original 모델의 근사함을 판단하는 기준이 명확하지 않으며 sample마다 대리모델과 Original 모델의 근사치가 다를 수 있습니다.
- 해석력은 모든 데이터 포엔트에 대해 동일하지 않습니다.
Example
Case 1.
블랙박스 모델로부터 SVM 대리모델로 CART 의사결정트리를 활용하는데, 대리 모델의 R^2는 0.75, 이는 블랙 박스 모델의 성능에 상당히 가깝지만 완벽하지는 않다는 것을 의미함. 만약 R^2가 0.94라면?
→ 블랙박스 모델을 쓸 필요가 없음. 대리모델이 블랙박스와 유사해서 오리지널을 대리모델로 사용해도 됨
Case 2.
블랙박스모델은 랜덤포레스트, 대리모델은 CART 의사결정트리를 활용하는데, 대리 모델의 R^2은 0.14, 대리 모델의 해석력을 어떻게 봐야 할까?
→ 대리모델을 사용할 수 없음. 오리지널 모델과 동떨어질 가능성이 있기 때문에 다른 대리모델을 찾아봐야 함
- LIME(Local Interpretable Model-agnostic Explanation)
설명하고 싶은 관측치에 초점을 맞추어서 해석 가능한 대리 모델(Surrogate Model)을 활용하는 방법입니다.
Ex. 대출이 거부된 고객 A에게 은행의 대출 심사역은 대출이 거부된 이유에 대해 설명해주어야 하는데, A씨의 상황이 일반적인 고객의 경향과 달라 전체 데이터의 Feature Importance로 반려 요인을 설명할 때 적용해볼 수 있습니다.
→ A씨의 Local Area로 살펴보면 전체적인 비선형 곡선이 해당 부분에 한해서 직선에 근접하다고 설명할 수 있습니다.
⇒ 설명하고자 하는 관측치와의 근접도에 따라 가중치를 부여하는데, Kernel Width에 따라 전혀 다른 해석력이 나올 수 있어 주의해야 합니다.
✔️ Pros
- 기존 학습 모델을 교체하더라도 로컬 대리 모델을 사용해 동일한 설명력을 제공할 수 있으며, Local Surrogate Model을 통해서 해석이 용이한 Feature로 설명력을 제공할 수 있습니다.
✔️ Cons
- 해석에 큰 영향을 주는 이웃에 대한 적절한 정의는 해결하기 어려운 문제입니다.
- SHAP(SHapley Additive exPlanations)
최근에 가장 많이 사용되는 AI 알고리즘으로 Feature 조합의 모든 경우의 수를 따져보는 방법입니다.
✔️ Pros
- 예측값을 결정하는 기준을 균형있게 해석할 수 있으며 Feature간 의존성을 고려해서 모델 영향력을 계산합니다.
✔️ Cons
- Feature 수에 따라 연산 비용이 기하급수적으로 늘어나게 되며, 연산 비용의 한계로 Sample 계산량을 줄이면 오차의 분산이 커집니다.
- PDP(Partial Dependence Plot)
다른 Feature는 고정하고 관심 Feature를 구간별로 변화시키면서 Target(Y) 예측의 변화를 관찰하는 방법입니다.
✔️ Pros
- Feature의 값이 변할 때 모델(예측값)에 미치는 영향을 그래프를 통해 가시적으로 이해할 수 있으며, Feature 값에 개입하고 예측값의 변화를 측정함으로써 특성과 예측 사이의 인과관계를 추론해볼 수 있습니다.
✔️ Cons
- 그래프를 통해 표현해 표현의 한계를 가집니다.
- AutoML의 Benefit
- 최소의 Resource로 최대의 효과를 볼 수 있습니다.
- 검증된 알고리즘으로 신뢰할 수 있는 결과물을 얻을 수 있습니다.
- 과제 아이디어, 데이터만 준비하면 사용 가능합니다.
이렇게 세미나가 마무리되고, 마지막으로 “Data Scientist에게 AutoML은 어떤 느낌일까요?”라는 질문에 대한 답변을 해주셨습니다.
AutoML은 Task를 돕는 아군인 동시에 나의 역할을 앗아가는 침략자가 될 수 있습니다. 만약 팀의 역량이 높고 오래 일을 해왔다면 거부감있게 느껴질 수 있지만 AutoML이 3-4명의 일을 해내기 때문에 어느정도 연차가 있고 경험이 많은 Data Scientist라면 주니어와 일하는 것보다는 정말 능력 좋은 assistant와 일 하는 것처럼 느껴질 수 있다고 이야기 해주셨습니다.
기술이 발전되면서 생기는 장점이 있다면 동시에 단점도 발생하는건 어쩔 수 없는 점인 것 같다는 생각이 드는 세미나였습니다 😂
'SK DEVOCEAN YOUNG 2기' 카테고리의 다른 글
[8월 Tech Seminar] 업무 생산성 향상을 위한 생성형 AI 사용 (1) | 2023.09.07 |
---|---|
[7월 영 전용 세미나] DEVOCEAN YOUNG 전용 밋업 (0) | 2023.09.01 |
[SKT] AI 서비스기획 CAMP 참가자 모집! (~8/9) (0) | 2023.08.08 |
[6월 Tech Seminar] 웹 프론트엔드 성능 최적화 방법 및 적용 사례 (0) | 2023.06.28 |
SK DEVOCEAN YOUNG 2기 발대식 후기 (1) | 2023.03.15 |