빅웨이브에이아이 기술블로그

BADA, 데이터 분석 솔루션 본문

기술 블로그

BADA, 데이터 분석 솔루션

빅웨이브 이현상 2021. 9. 7. 15:06

안녕하세요! 빅웨이브에이아이의 박정환입니다.

 

이번 포스팅 글은 저희 빅웨이브에이아이에서 개발한 데이터 분석 솔루션 BADA(Bigwave AI Data Analytics)를 소개하겠습니다.

 

기존 데이터 분석 솔루션은 데이터 분석에 대한 지식과 전문적 인력이 없어도 자체적으로 분석을 수행할 수 있도록 여러 기능을 제공하고 있습니다.

 

하지만 기존 솔루션들이 가지고 있는 문제점이 있었고, 저희는 이런 부분들을 보완하고 차별화 요소를 넣어 BADA 시제품 개발을 완료했습니다.

 

그럼 문제 인식을 어떻게 하게 되었는지부터 알려드리도록 하겠습니다!

 

 

중소기업/기관에서의 빅데이터 분석 도입의 어려움

 

빅데이터 분석 시스템을 도입하고 싶은 기업은 많지만 인프라 구축에는 큰 비용과 전문 인력이 필요합니다.

 

(통계청 기준 -> 평균 구축 기간 : 14개월 , DB 구축 평균 비용 : 2억2천만원)

 

이 모든 문제를 해결하기 위해, 데이터 분석 솔루션이 등장하게 되었습니다.

 

하지만, 분석 솔루션 역시 문제가 있었습니다.

 

기존 분석 솔루션의 문제점

 

기존 분석 솔루션은 솔루션 당 하나의 도메인을 대상으로 개발되었습니다.

 

그래서 분석 결과에 대한 활용을 하기 위해선 별도의 응용 애플리케이션 개발이 필수였습니다.

 

그에 따른 비용이 발생하게 되고, 구축 시간까지 더해져 비효율적이라는 문제점이 있었습니다.

 


솔루션과 응용 애플리케이션의 일원화

 

기존 솔루션의 문제점을 해결하기 위해 분석 솔루션 내에서 즉시 응용 애플리케이션으로 활용할 수 있도록 솔루션과 앱을 일원화 시켰습니다.

 

즉, 빅데이터 분석 시 즉각적으로 응용 애플리케이션을 활용할 수 있다는 것입니다.

 

 

 

저희 BADA 솔루션의 핵심 기능은 시뮬레이션(Simulation), 최적화(Optimization), 자동 학습(AutoML), 모듈형 구성(Module)이 있습니다.

 

시뮬레이션

 

시뮬레이션은 데이터의 값을 변경할 때마다 예측되는 분석 결과를 대시보드 형태로 시각화 해주는 기능입니다.

 

또한, 설명가능한 인공지능(XAI)를 적용한 해석을 제공하여 결과에 대한 근거를 제시해줍니다.

 

아래에서부터는 시뮬레이션을 위한 프로세스 입니다.

 

 

 

Data Selection에서 데이터 파일을 업로드 할 수 있습니다.

 

 

 

데이터 선택이 완료되면 Check Meta Data & Set Label을 통해 메타 정보를 확인하고, 예측 목표 변수(Label)을 선택합니다.

 

 

모델 선택이 완료되면 Model Summary에서 머신러닝 모델의 요약 정보를 확인할 수 있습니다.

 

 

데이터, 라벨 및 모델 파일 선택이 완료된 후 Simulation Board 버튼을 누르면 Simulation & Optimization을 위한 대시보드로 화면이 전환됩니다.

 

위 화면에서 데이터 내 변수들을 사용자가 원하는 값으로 조정할 수 있습니다.

 

변수의 형태(수치형, 범주형)에 따라 각각 Range Slider, Select Box 형태로 값을 변경할 수 있습니다.

 

원하는 변수 값을 변경한 후, 그에 따른 예측 결과를 확인하려면 Simulation Run 버튼을 클릭합니다.

 

Regression Report
Classification Report

 

시뮬레이션 결과는 위와 같이 나타나며, Regression, Classification에 따라서 각 목표 변수 값 또는 Class에 대한 확률 값으로 예측 결과가 리포팅됩니다.

 

분석 결과와 함께 XAI가 적용되어 예측 결과에 중요하게 영향을 미친 변수와 영향력의 크기와 방향 (양의 효과, 음의 효과)을 확인할 수 있습니다.

 

모델의 전체 변수 중요도 또한 함께 그래프로 표현됩니다.

 

XAI 리포트를 통해서 머신러닝 모델의 분석 결과에 대한 해석이 가능합니다.

 

 

최적화

 

최적화는 예측 변수를 원하는 설정값으로 맞추기 위해서 변경 가능한 변수들을 조작할 수 있는 기능입니다.

 

예를 들어, 아래의 그림에서 선택한 데이터를 변경하여 예측 변수의 설정값으로 맞출 수 있도록 최적화한다는 것입니다.

 

선택한 변수들이 어떻게 변경되었는지 전 후 차이를 확인할 수 있습니다.

 

 

 

 

최적화를 진행할 변수들을 선택 후, 목표 변수를 어떤 값으로 최적화할 지 설정합니다.

 

Regression은 예측 변수 값을, Classification은 예측 변수의 클래스를 지정할 수 있습니다.

 

최종적으로 Optimization Run 버튼을 누르면 Optimization 결과를 확인할 수 있습니다.

 

Optimization Regression Report

 

Optimization Classification Report

 

사용자가 설정한 목표 변수 값에 최적화하기 위해 변수들의 전 후 차이를 확인할 수 있습니다.

 

 

AutoML

 

머신러닝 시스템을 개발하기 위해서는 데이터 수집, 전처리, 모델 학습 및 검증과 같은 많은 과정을 거쳐야합니다.

 

AutoML 기능을 활용하면 반복되는 분석과정을 자동화하여 효율을 높일 수 있습니다.

 

또한, 비전문가도 쉽게 문제 해결을 위한 인공지능 모델을 학습할 수 있습니다.

 

 

BADA는 데이터 분석 사이클을 AutoML로 대체하여 사용자가 우수한 머신러닝 모델을 선택할 수 있는 기능을 지원합니다.

 

BADA의 Auto Paramerter Tuning은 다양한 하이퍼 파라미터를 조정하여 최적의 성능을 낼 수 있도록 합니다.

 

다양한 하이퍼 파라미터 값들로 부터 최적의 조합을 찾기위해 Gradual Grid Search와 베이지안 최적화(Bayesian Optimize)를 적용합니다.

 

 

Gradual Grid Search

 

 

Grid Search란 모델 내의 하이퍼 파라미터를 최적화할 수 있는 분석 기법입니다.

 

기존의 Grid Search 방법론은 시간이 오래 걸린다는 단점이 있습니다.

 

BADA에서는 Gradual Grid Search를 적용하여 시간을 크게 단축했습니다.

 

하이퍼 파라미터 조합 집합을 설정하고 factor 수에 따른 최소 데이터 샘플 수를 점점 늘려가면서 모델이 학습됩니다.

 

 

베이지안 최적화(Bayesian Optimize)

 

베이지안 최적화는 미지의 목적 함수 f(x)를 최대 또는 최소가 되게하는 최적해를 찾는 방법입니다.

 

베이지안 최적화는 Surrogate Model과 Acquisition Funcion으로 구성되어 있습니다.

 

Surrogate Mdoel은 입력값 샘플 및 함숫값의 집합으로 목적 함수의 형태를 추정하는 모델입니다.

 

Acquisition Function은 Surrogate Model의 현재까지의 확률 추정 결과를 바탕으로 최적의 입력값을 추천해주는 함수입니다.

 

위의 그림에서 파란색 선은 최적 목적 함수를 의미하며 검은 점선으로 추정된 함수값을 나타냅니다.

 

보라색 선은 Acquisition Function으로 다음 입력값으로 어떤 값을 사용할 지 추천하고 있습니다.

 

베이지안 최적화에서는 x가 여러 하이퍼 파라미터를 의미하며, 목적 함수 f(x)는 모델의 검증 데이터셋에 대한 성능을 나타냅니다.

 

베이지안 최적화는 기존 Grid Search의 방식과 다르게 목적 함수의 분포를 추정함으로써 좋은 성능을 가진 하이퍼 파라미터를 찾는데 효율적이며, 일반화 성능을 극대화합니다.

 

 

모듈형 구성

 

BADA는 분석 목적에 맞는 분석 기법들을 모듈형으로 개발하여 사용합니다.

 

솔루션 사용 목적에 따라 사용자화가 가능하며 개발 요청에 따라 추가가 가능합니다.

 

 

 

마무리

 

BADA는 기존 분석 솔루션의 문제점과 빅데이터 분석 도입에 대한 어려움을 해결할 수 있는 분석 솔루션입니다.

 

머신러닝뿐만 아니라 딥러닝 모델까지 기능을 추가할 예정입니다.

 

머신러닝 분석을 간단하게 수행하는 것은 쉽지만 XAI, 시뮬레이션, 최적화와 같은 응용 작업들은 어려울 수 있습니다.

 

BADA는 데이터 분석가에게 다양하고 유용한 기능들을 제공합니다.

 

더 자세한 내용은 아래의 URL에서 확인하실 수 있습니다.

 

https://bada.bigwaveai.com/

 

읽어주셔서 감사합니다!

 

 

 

Comments