본문 바로가기

IT

인공지능 빅데이터 워크플로우

머신 러닝 영역이 방대하기 때문에 각 세부 분야별로 살펴봐도 내용이 많습니다.

전반적인 인공지능의 개발 플로우를 확인하신다면 좀 더 쉽게 인공지능 분야를 이해하실 수 있습니다.

그런 다음 세부적인 분야를 보신다면 아. 내가 어디쯤 파악하고 있구나! 를 좀 더 쉽게 파악하실 수 있습니다.

 

 

빅데이터를 아무런 관리를 해 주지 않으면 헌책방에 무쟈기로 쌓여 있는 책들과 같아요.

책이 데이터로 예를 들었으니 빅데이터 관리 프로세스를 도서관이라고 해 볼게요.

도서관에서는 책이 파손된 것은 버리고 책의 주제 내용에 따라 카테고리별로 나눕니다.

도서관에서 인기가 있는 것(자주 대출되는 것)과 없는 것을 구분합니다.

그리고 신간본들이 들어오면 이제껏 인기가 있던 것들과의 주제나 다른 매칭을 통해 이 책이 대출이 많을지 적을지를 예측할 수 있습니다.

 

도서관 책을 데이타로 비유한 프로세스
도서관 책을 데이타로 비유한 프로세스

인공지능에서 사용되는 데이터가 바로 책과 같습니다.

데이터는 생성이 되어야 하고

생성된 데이터를 필요로 하는 곳에서 수집하지요

그리고 수집된 데이터가 잘못된 정보를 가지고 있을 수도 있고 파손되었을 수도 있어요.

그런 걸 모두 골라내는 작업을 합니다.

그런 다음 목적에 맞게 데이터를 처리하는데요.

이 목적에 맞게 부분에서 여러 가지 방식으로 나뉘게 되는데 이전 글인 "인공지능 모델의 분류"에 설명이 되어 있습니다.

아래에 링크를 걸어 두었으니 참조하시면 됩니다.

데이터에는 개와 고양이 모양처럼 시간이 흘러도 변하지 않는 것이 있지만

부동산 트렌드, 대학 입시 트렌드, 주식 트렌드처럼 시간이 변함에 따라 변화하는 데이터들이 있습니다.

변화하는 데이터의 경우는 주기적으로 모델을 재학습해서 관리해 줘야 합니다.

 

다음에 좀 더 구체적으로 데이터를 취합하는 머신러닝의 개발 주기에 대해 확인하실 수 있습니다.

머신러닝 개발 주기

머신러닝 개발 전체 주기는 크게 데이터 소스에서 빅데이터를 가져와 학습 후 배포하는 과정으로 구성되어 있습니다.

ML Ops 워크플로우
ML Ops 워크플로우

데이터 소스

딥러닝 공개 데이터 셋을 제공하는 공식 사이트로   AI-Hub, ImageNet, 캐글 등에서 개방 데이터셋을 제공합니다.

그 외 각 기업에서 인공지능 처리를 원하는 파일, 이미지, 트래픽 데이터들이 데이터 소스가 될 수 있습니다.

데이터에는 정형 데이터와 비정형 데이터 (텍스트, 이미지)가 있습니다.

데이터 처리

데이터 소스로부터 데이터를 수집한 다음 처리하는 과정입니다.

현업에서 인공지능 모델을 생성할 때 주로 발생하는 문제점은

학습할 데이터가 충분하지 않다거나

데이터가 특정 성향으로 취중 된 편향성을 가지고 있다거나

결측치, 이상치가 포함되어 있거나 

스케일이 많이 다른 데이터들이 함께 존재할 수 있습니다.

 

이런 결측치, 이상치등 품질이 나쁜 데이터에 대해 전처리를 수행하고 서로 다른 분포를 가지는 데이터에 대해 보정 작업을 하는 피처 엔지니어링 작업을 수행합니다.

피쳐 엔지니어링에는 결측치 보정, 이상 값 처리, 범주화, 원-핫 인코딩, 스케일링 등이 있습니다.

 

결측치 보정

결측치는 데이터에 값이 없는 경우인데

평균값(Mean), 중앙값(Median), 최빈값(Mode) , 초기값(Defatul), 랜덤 값으로 채울 수 있습니다.

결측치가 너무 많은 경우는 데이터를 왜곡할 수 있기 때문에 해당 피쳐를 드롭할 수 있습니다.

 

이상값 처리

데이터 값이 존재할 수 있는 범위인 정상 범주를 벗어나는 경우를 이상치(Outlier)라고 합니다.

이상치는 입력 실수나 측정 오류, 실험 오류, 자료처리 시 오류로 인해 발생할 수 있습니다.

표준편차에서 예외적인 값들을 삭제하거나, 특정 퍼센티지 외에 있는 값들(상위  5% 이상, 하위 5% 이하)을 삭제 처리하는 방법을 사용할 수 있습니다.

 

범주화

범주화는 근처 값들을 하나의 범주로 묶어주는 것으로 좀 더 성능이 좋은 모델이 생성되기 때문에 범주화 처리를 수행합니다.

예를 들어 10에서 20, 20에서 30,..., 80에서 90, 90에서 100과 같이 구간을 정해 그룹으로 처리할 수 있습니다.

 

원-핫 인코딩

텍스트로 된 범주형 데이터를 인공지능 학습을 시키기 위해서는 숫자로 변환해 주어야 합니다.

이때 동일한 계층으로 다뤄져야 하는 필드들이 숫자(1,2,3)로 변형되면 랭킹의 개념이 생기게 되기 때문에 원-핫 인코딩으로 표현합니다.

원-핫 인코딩은 국어, 수학, 영어를 표현할 때 국어 (1,0,0), 수학(0,1,0), 영어(0,0,1)와 같이 데이터 각각의 칼럼을 만들고 0과 1로 표현하는 방식입니다.

 

피쳐 스케일링

서로 다른 범위의 데이터들을 같은 범위로 묶어서 학습하기 위해 데이터 범위를 모두 0과 1 사이에 값을 가지도록 변환하는 것이 스케일링입니다.

 

 

이 단계가 인공지능 빅데이터를 하실 때 넘어가는 첫 고비입니다.

여기까지 오셨다면 70%를 경험하신 것입니다. 이 부분의 이해가 첫 단계에서는 좀 어려워요.

왜냐면 AI는 데이터가 전부이고 빅데이터는 데이터 처리와 데이타 분석이 가장 중요하기 때문입니다.

 

인공지능 학습

인공지능 모델의 분류에 대한 설명과 분류 모델 및 회귀모델의 매트릭은 다음 글에서 참조하시기 바랍니다.

2022.11.01 - [IT] - AI? 다 해결해?

 

AI? 다 해결해?

인공지능, 머신러닝, 딥러닝 인공지능은 머신러닝(기계학습)과 딥러닝을 포함하는 의미입니다. 서로 다른 영역인 듯하기도 하고 비슷한 영역인 것 같기도 해서 많이 헷갈릴 수 있는데 인공지능,

give-cheese.com

 

대표적인 인공지능 학습 모델은

지도 학습에는 SVM, Logistic Regression, Linear Regression, Decision Tree, Random Forest, kNN 등이 있고

비지도 학습 모델은 K-means (클러스터링), PCA (이상값 감지), 

강화 학습에는 Monte-Carlo, Q-learning, Markov Decision 가 있습니다.

 

각 모델의 특징과 방식에 대해서는 별도로 자세하게 확인할 예정입니다.

모델 배포와 운영

인공지능 학습과 검증 단계를 거친 모델은 상용망에서 운영되게 됩니다.

이때 인공지능 플랫폼이 학습된 모델을 관리하고 배포를 담당하게 됩니다.

 

운영시 실시간 트래픽을 학습모델에 입력하여 해당 트래픽의 이상현상을 감지할 수 있습니다.

이상탐지 모델 운영
이상탐지 모델 운영

만약 데이터가 시계열성을 가지게 된다면 주별, 월별, 분기별로 모델을 재학습하여 재배포하게 됩니다.

 

워크 플로우

앞서 설명드린 단계를 플로우를 다음과 같이 표현할 수 있습니다.

인공지능 workflow
인공지능 workflow

데이터 분석 단계에서는 데이터를 생산하는 산업 전문가와 AI 전문가가 같이 협업하여 데이터를 분석하게 됩니다.

어떻게 수집할 수 있는지, 전처리는 어떻게 해야 하는지, 데이터에 레이블링은 필요 한지등을 함께 협력하여 분석합니다.

 

학습을 위한 데이터를 수집해 이상치, 결측치 등 데이터 전처리를 수행합니다.

데이터 레이블링은 정답을 지정해 주는 것인데, 데이터 레이블링이 되어 있는 데이터를 사용할 경우는 이 단계는 스킵하고 바로 모델 학습단계로 진행합니다.

 

개발과 검증이 완료된 모델은 플랫폼 내에 저장되고 배포되어 실시간 트래픽을 처리하도록 구동됩니다.

실시간 데이터 트래픽은 학습 데이터와 동일하게 수집과 전처리 과정을 거친 후 

모델에 입력되고 학습된 결과물을 출력합니다.

 

이상으로 인공지능의 개발 및 운영 플로우에 대해 살펴보았습니다.

제시해 드린 단계는 분석 단계처럼 수집전에 진행할 수도 있고, 전처리 단계에서 진행할 수도 있습니다.

풀려고 하는 문제에 따라 유동적으로 적용될 수 있다는 점을 유의해 주시기 바랍니다.

 

인공지능 공부를 학술적으로 하시지 않으셔도 됩니다.

누구나 인공지능에 대해 이해할 수 있고 또 빅데이터 처리 프로세스에 대해 알 수 있습니다.

이 프로세스만 알고 계셔도 빅데이터 전문 실무진들과 대화하실 때 방향을 잡으실 수 있습니다.

전체 인공지능 개발 흐름의 이해에 도움이 되셨기를 바랍니다.

 

감사합니다.

 

'IT' 카테고리의 다른 글

OpenCV 빌드를 위한 CMake 설정  (0) 2023.04.11
Python URL 쉽게 다루기  (0) 2023.02.10
빅데이터 구조  (0) 2022.11.16
인공지능의 시작  (0) 2022.11.15
AI? 다 해결해?  (0) 2022.11.01