9 5월 2021

간단하게 알아보는 인공지능(AI)기술과 UiPath AI Center

9 5월 2021

간단하게 알아보는 인공지능(AI)기술과 UiPath AI Center


SNS의 이용자 패턴 분석, 온라인 쇼핑몰의 방문자 분석과 자율 주행 자동차 등 인공지능(AI) 활용은 계속 넓어지고 있습니다. 업무 프로세스 자동화가 주된 목표인 RPA (Robotic Process Automation)도 AI 이용이 깊어지는 영역입니다. 이런 이유로 UiPath가 AI를 활용하는 방법과 고객 사례를 앞 서 소개했습니다. 오늘은 조금 딱딱할 수 있지만 AI 기술의 간단한 소개와 UiPath AI Center 연계 활용 방안을 정리해 보겠습니다.

 

AI, 머신러닝(ML)과 딥러닝(DL)

블로그_0510_4

AI, 머신러닝 그리고 딥러닝

AI는 인간 지능을 모방해서 특정 행동(예:제품 선택)이나 작업(예: 물류 센터에서 물건을 취합해 소비자에게 배송)을 스스로 수행할 수 있는 시스템을 만드는 기술로 정의됩니다. AI하위 개념인 머신러닝은 시스템이 데이터를 이용해 학습하고 필요한 결과를 도출하는 기술로, 딥러닝은 인간의 뇌 신경망 구조와 기능을 닮은 기술로 정의됩니다.

 

머신러닝의 작동 원리

먼저, 주어진 데이터의 학습을 통해 머신러닝 모델을 만드는 데서 시작합니다. 여기서는 주택 구매 가격과 주택 크기 데이터를 이용해 학습을 하고 결과 예측을 위한 머신러닝 모델을 만드는 예제로 정리했습니다.

블로그_0510_5

머신러닝은 주어진 데이터를 이용해 학습하고 향후 결과를 예측하는 모델을 만드는 기술이라고 설명했죠. 위 그림에서는 주택 크기(평방 미터)와 주택 구매 가격을 입력 데이터로 삼고 이를 학습해서 향후의 주택 구매 가격을 예측하는 예측 함수 모델 (그림 중앙을 지나는 검은 선)을 만들어 냅니다. 머신러닝 모델을 만드는데 적용되는 원칙이 몇 가지 있습니다:

● 어떤 함수를 선택하더라도 주어진 학습 데이터와 완벽하게 맞아 떨어지지 않습니다. 즉, 편차가 존재하는 것이 당연하다는 의미입니다.

● 머신러닝 모델은 데이터 학습으로 분석 과제의 보편적 패턴이나 경향을 도출(이 작업을 일반화라고 함)하는데 우선 목표를 둡니다.

● 머신러닝은 출력 예상 값에 영향을 주는 모든 요소나 데이터를 사용하지 않고 필요한 항목만 추출해 이용합니다.

● 머신러닝 모델은 정확도 최대화가 아니라 오류 최소화에 목표를 둡니다.

 

머신러닝 모델의 학습 방법

다음은 생성된 머신러닝 모델을 훈련시키는 과정입니다. 이를 통해 정확도를 높이면서 일반화를 하게 됩니다.

블로그_0510_6

머신러닝 모델을 학습시키는 데이터셋은 학습용 데이터셋과 테스트셋으로 나눠집니다. 그리고 이 데이터셋을 이용해 머신러닝 모델을 반복적으로 훈련시키는 것이죠. 이때, 데이터셋 크기와 학습 목표에 따라 학습 횟수를 정하는데 에폭(Epoch)이란 개념을 씁니다. 에폭은 머신러닝 알고리즘이 학습을 완료한 전체 데이터셋의 성공 개수를 의미하며 학습용 데이터셋과 검증 데이터셋으로 나눠집니다. 학습 횟수가 늘어날수록 모델의 정확도는 높아지게 됩니다.

그런데 머신러닝 모델 생성과 학습은 쉬운 일이 아닙니다. AI개발 경험이 많은 개발자를 가진 조직이라면 모르지만 그렇지 않은 기업에게는 큰 문제입니다. UiPath는 UiPath AI Center를 통해 고객의 AI 활용을 지원합니다.

● UiPath AI 센터가 자동으로 데이터셋을 학습용 데이터셋과 검증 데이터셋으로 분리

● UiPath AI 센터가 자동으로 최적의 지식을 가진 에폭에서 모델을 추출한 다음 특정 머신러닝 패키지 버전 (예: 버전 1.0)에 모델 상태를 저장

● 사용자는 학습 목표에 따라 실행된 에폭 횟수와 최소 환경 변수를 수정 가능

● 파이프라인에서 학습과 평가 성능에 대한 정보를 가진 아티팩트 폴더 점검하고 학습 과정에 이용

 

 

​머신러닝 모델 평가하기 – 분류 (Classification) & 리그레션 (Regression)

머신러닝 모델을 만들고 학습하는 것만큼 중요한 것이 평가 작업입니다. 모델에 오류가 있다면 원하는 결과를 얻을 가능성이 낮아지기 때문이죠. 머신러닝 모델 정확도는 인력 안전과 직결되거나 비용 구조가 높은 경우에는 더 중요합니다. 분류 (Classification) & 리그레션(Regression) 두 가지 방법이 사용됩니다.

블로그_0510_7

리그레션 (Regresssion)

리그레션은 주어진 데이터의 경향을 파악하고 이와 연관된 함수를 예측하는 일입니다. 위 그림에서는 중앙선이 데이터의 핵심 경향입니다. 데이터에 가장 잘 맞는 함수를 찾아내기 위해서는 중앙선과 실제 데이터 사이의 거리 - 머신러닝은 비용(Cost) 개념을 사용 - 를 최소로 줄이는 작업이 필요합니다. 리그레션은 이 작업에 효과적이고, 이런 특성 때문에 미래 특정 시점의 값(여기서는 주택 구매 가격)을 예측하는데 유용합니다.

 

블로그_0510_8

분류 (Classification)

분류는 클래스(그림에서는 주택 구매 가능 고객 그룹)을 분류하는 라벨링(‘주택을 구매할 고객’과 ‘주택을 구매하지 않을 고객’) 학습을 위해 머신러닝 알고리즘을 사용하는 것을 말합니다. 매일 사용하는 이메일에서 수신 메일을 ‘받은 편지함’과 ‘스팸’ 폴더로 분류하는 작업과 동일합니다.

리그레션이 데이터에 숨어있는 방향성과 향후 결과를 예측하는데 효과적이라면, 분류는 주어진 데이터가 어떤 클래스(주택 구매 가능 여부)인지를 예측하는데 적합합니다. 그리고 결과값은 리그레션과 달리 산발적으로 분포하는 특성을 갖습니다.

리그레션과 분류 작업은 아래 그림처럼 Underfit, Just right, Overfit 3가지로 결과로 도출 됩니다. 언더핏(Underfit)은 학습용 데이터 모델을 만들거나 새로운 데이터를 일반화할 수 없는 수준의 모델을 의미합니다. 반대로 오버핏(Overfit)은 학습 데이터를 너무 깊게 학습해서 해당 데이터에는 최적이지만 새로운 데이터 학습에는 적합하지 않거나 모델 성능을 떨어뜨리는 것을 의미합니다. 따라서 정확한 흐름과 패턴을 찾아내서 일반화할 수 있는 Just right 모델이 좋습니다.

 

블로그_0510_9

1단계: 데이터 준비 및 클린징

- 양질의 데이터 준비 : 학습용 데이터는 실제 데이터에서 좋은 품질의 데이터로 준비하는 것이 필요

- 정확한 데이터 라벨링: 라벨링 오류는 모델 성능 저하의 주된 이유

- 균등 배분: 클래스별로 데이터셋을 균등하게 배분하는 작업이 중요

- 데이터 분리: 데이터셋을 학습 데이터와 테스트 데이터로 분리

2단계: 모델 학습과 평가

- 업무 반복: 작은 데이터셋으로 모델의 학습과 평가 진행. 만족한 성능이 나올 때까지 반복 학습 진행 필요

- 베이스 버전 학습: 재학습 시에는 더 큰 데이터셋을 이용하고 베이스 버전에 대한 재학습 진행

3단계: 모델 배포

- GPU 활용: GPU를 이용하면 5-10배의 속도 개선이 가능

- ML패키지 버전: 학습이 끝날 때마다 학습 내용을 차기 마이너 버전에 저장 필요

4단계: 모델 유지와 재학습

- 사람의 참여:모델 예측 작업에 사람의 참여 필요. 재학습을 위해 검증된 데이터 저장 필요

- 모델 품질 유지: 모델 성능을 모니터링하고 주기적으로 모델을 재학습

이 포스트는 AI 웨비나 내용을 요약했습니다.


by UiPath Korea

TOPICS: UiPath, RPA, AI, 로보틱프로세스자동화, 자동화, 로봇프로세스자동화, RPA + AI, RPA솔루션, 로봇프로세스, 완전히 자동화된 기업, fully automated enterprise

Show sidebar