인공지능의 핵심 기술은 머신러닝(Machine Learning)입니다. 머신러닝은 데이터를 통해 스스로 규칙을 학습하고, 그 지식을 바탕으로 예측하고 판단하는 능력을 갖추게 합니다.
학습 방법에 따라 지도 학습, 비지도 학습, 강화 학습으로 분류할 수 있고, 학습 단계에 따라 사전 학습과 미세 조정으로 나눌 수 있습니다. 이들은 서로 다른 분류 기준을 가지고 있으며, 중첩되거나 조합하여 사용될 수 있습니다
1. 지도 학습(Supervised Learning) - “정답을 보고 배우는 학습”
입력값(특징)과 그에 대한 정답(레이블)이 함께 있는 데이터 세트를 활용해 학습하는 방식입니다. 모델은 입력과 출력 사이의 관계를 학습하여 새로운 데이터에 대한 예측을 수행합니다. 즉, 모범 답안이 있는 시험을 통해 훈련시키는 방식입니다. 정답 데이터를 구축하는 비용이 높은 점이 단점입니다.
1) 분류(Classification) - 범주를 맞히는 문제. 스팸 메일 탐지, 불량품 자동 판정, 질병 진단
2) 회귀(Regression) - 연속적인 값을 예측. 주택 가격 예측, 수요/매출/재고 예측
2. 비지도 학습(Unsupervised Learning) - “정답 없이 패턴을 발견”
정답(레이블)이 없는 데이터 세트에서 숨겨진 패턴, 구조, 연관성을 스스로 찾아내는 학습 방식입니다. 인지하기 힘든 데이터에 숨어 있는 패턴을 발견할 수 있습니다.
1) 군집화(Clustering) - 자동 그룹화. 고객 세분화, 관심사 기반 추천
2) 연관 규칙(Association) - 항목 간 연관성 분석. 장바구니 분석(기저귀-맥주 사례)
3) 차원 축소(Dimensionality Reduction) - 정보는 유지하고 데이터 축약. 시각화, 노이즈 제거, 성능 개선
3. 준지도 학습(Semi-supervised Learning) - “조금의 정답 + 많은 데이터”
정답이 있는 소량의 데이터와 정답이 없는 대량의 데이터를 함께 사용하여 학습합니다. 대표적인 예시로 얼굴 인식 모델이 있습니다. 수백 장의 라벨링된 얼굴 이미지와 수백만 장의 라벨링이 없는 이미지를 통해 학습합니다. 라벨링 비용과 모델 성능 사이의 균형을 맞추는 전략입니다.
4. 강화 학습(Reinforcement Learning) - “보상으로 배우는 AI”
AI가 환경과 상호작용하면서 보상을 최대화하는 방향으로 일련의 행동을 학습하는 방식입니다. 에이전트(Agent)는 환경(Environment)과 상호작용하며, 올바른 행동에 대해 보상(Reward)을 받고 잘못된 행동에 대해 벌칙(Penalty)을 받으며 최적의 행동 방침(Policy)을 학습합니다.
바둑 게임에서 승리하는 것을 보상으로 설정하여 최적의 수를 두도록 학습한 알파고(AlphaGo), 도로 환경에서 주행하며 안전한 운전에 대한 보상을 받고, 사고를 피하도록 학습한 자율주행, 그리고 작업 수행을 위한 로봇 제어가 있습니다. 스스로 판단하고 결정하는 AI의 핵심 기술입니다.
1. 사전 학습(Pre-training) - 방대한 데이터로 ‘기초 소양’을 갖추는 단계
인터넷 텍스트, 이미지, 코드, 문서 등 방대한 양의 데이터를 사용해서 언어, 비전, 지식, 문맥 이해 능력을 미리 학습합니다. 목표는 다양한 상황에서 다양한 데이터에 대응하는 일반적인 성능을 높이는 것입니다.
2. 미세 조정(Fine-tuning) - 특정 업무 능력을 강화하는 단계
특정 목적에 맞는 소규모의 고품질 데이터 세트를 이용해 사전 학습된 모델을 추가로 학습시킵니다. 이 단계에서는 지도 학습 방식을 주로 활용합니다. 대화, 요약, 작은 글씨 인식 등 특정 작업에 대한 모델의 성능을 향상시킵니다. 금융 상담에 특화된 챗봇, 제조 현장 설비 데이터로 고장 예측, 기업의 정보에 기반한 고객 응대 모델 등이 있습니다.
학습방법의 선택은 단순히 어떤 학습 방식이 가장 우수한가의 문제가 아닙니다. 지금 우리가 어떤 데이터를 가지고 있고, 모델 개발의 목표가 무엇인가에 따라 비용과 리스크를 종합적으로 분석해서 선택합니다.
참고
1) Machine learning. https://en.wikipedia.org/wiki/Machine_learning
2) Pre-training. https://en.wikipedia.org/wiki/BERT_(language_model)#Pre-training
3) Fine-tuning (deep learning). https://en.wikipedia.org/wiki/Fine-tuning_(deep_learning)