최근 패턴인식 과목에서 머신러닝 대회 팀플을 하고 있습니다.
2학년 과목(...)이라 그런가
본의 아니게 팀원분들을 제가 가르쳐가며 진행하는 중인데요,
가르치다보니 초보 분들의 입장에서 뭐가 어려운지를 알게 되더라구요.
오늘은 최근 들어온 질문 중 하나이자,
인공지능의 존재의의,
가장 중요한 Task에 관한 이야기를 해보겠습니다.
소개 - Task란 무엇인가?
인공지능 모델은 어떤 일을 할 수 있을까요?
역사적으로 무릇 위대한 지도자들은 인재의 장점을 파악하여 적재적소에 배치하는 능력이 매우 뛰어났다고 알려졌습니다.
아무리 뛰어난 도구를 갖고 있어도 그 잠재력을 이해하지 못했다면 제대로 활용할 수 없겠지요.
인공지능도 마찬가지입니다.
인공지능은 아주 강력한 도구이지만, 동시에 그 장점과 단점이 명확합니다.
따라서 인공지능이 가진 진가를 모두 발휘하기 위해선 인공지능이 무얼 할 수 있는가를 알 필요가 있습니다.
Task란, 인공지능 모델이 해결하고자 하는 문제의 유형입니다.
다시 말해, "이 모델이 무슨 일을 하려고 만들어졌는가?" 라는 질문에 대한 대답이지요.
Task의 시작 - 분류와 회귀
머신러닝이 다루는 대표적인 Task에는 분류와 회귀가 있습니다.
이 둘은 머신러닝의 오랜 숙명과도 같은 과제로,
모든 복잡한 task의 근간이자 현재까지도 수많은 곳에서 활용되는 개념입니다.
분류란, 어떤 데이터가 주어지면 이것이 주어진 카테고리 중 어느 곳에 해당하는지를 골라내는 일입니다.
대표적인 예시로는
- 사진을 보고 개인지 고양이인지 구별하기 (개 vs 고양이)
- 메일함에서 스팸 골라내기 (스팸 vs 정상메일)
- 타이타닉 탑승자의 생존여부 예측하기 (생존 vs 사망)
- 꽃 사진을 보고, 어떤 종인지 맞추기 (해바라기 vs 장미 vs 민들레 vs 붓꽃)
- 몸에 점을 보고 피부암인지 아닌지 골라내기 (피부암 vs 정상)
등이 있습니다.
각 예시에서, 예측할 때 주어진 선택지를 클래스(class)라고 합니다.
즉 1, 2, 3, 5번은 2개의 클래스로 이루어져 있는 task,
4번은 4개의 클래스로 이루어져 있는 task가 되겠습니다.
전통적인 머신러닝에서, 분류 task는 클래스의 개수가 2개보다 많냐/아니냐 에 따라 나뉩니다.
클래스의 개수가 2개일 때는 이진분류 (Binary Classification),
클래스의 개수가 2개보다 많을 때는 다중 분류 (Multiclass Classification)입니다.
한때 데이터 기반 접근을 하는 모델이 개발되기 이전에는
머신러닝 모델이 영원히 개/고양이 분류 task를 수행할 수 없다는 전망도 나왔었는데요,
이제는 개/고양이 분류는 당연히 가능하고,
오히려 피부암 분류 같은 일부 task에서는 모델이 인간보다 높은 정확도를 보이기도 한답니다.
회귀란, 어떤 데이터가 주어졌을 때, 이걸 토대로 연속적인 수치를 예측하는 일입니다.
대표적인 예시로는
- 영화 관람객수 예측 (예: 17만명, 100만명, 5,723명 ...)
- 아파트 집값 예측 (예: 3억원, 20억원, 12억 4천만원...)
- 당뇨병에 걸릴 확률 예측 (예: 25%, 7.6%, 80% ... )
등이 있습니다.
회귀는 '머신러닝'이라는 단어가 생기기도 훨씬 전인 19세기 초에
수학자 가우스와 라그랑주가 천문 데이터를 예측하며 만든, 아주 유서깊은 task랍니다.
더 복잡한 Task
현대에 들어서는 더 복잡한 task를 수행할 수 있는 방법이 많이 개발되었습니다.
덕분에 다중라벨분류(Multi-Label Classification), 객체탐지(Object Detection), 생성(Generative Task), 기계번역 등,
인공지능이 수행할 수 있는 task의 범위가 무궁무진하게 넓어지고 있지요.
그리고 이러한 발전은, 간단한 task를 변형 및 활용하는 데에서 시작되었습니다.
대표적인 예시가 다중 라벨 분류(Multi-Label Classification), 순서예측(Sequence Problem)입니다.
다중 라벨 분류
다중 라벨 분류(Multi-label Classification) 란 하나의 데이터에서 여러 클래스를 동시에 예측하는 문제를 뜻합니다.
아래 사진에서 동물을 모두 분류해내는 task를 수행해보면, '개', '고양이', '인간'으로 나눌 수 있을 것입니다.
즉, 한 데이터당 하나의 라벨만 달릴 수 있었던 일반적인 분류 문제와 달리
한 데이터당 라벨이 여러 개 달릴 수 있습니다.
보통 다중라벨분류는 이진분류모델 여러 개를 병렬로 돌리는 형태로 구현됩니다.
이 사진의 경우,
(개 있음 vs 개 없음) + (고양이 있음 vs 고양이 없음) + (사람 있음 vs 사람 없음)
= 총 3개의 이진분류모델을 병렬로 붙여 사용하면 되겠습니다.
순서예측
순서예측(Sequence Prediction)이란, 어떤 데이터가 순서대로 주어졌을 때, 그 다음 순서에 무엇이 올 지를 예측하는 문제입니다.
과거 10일간의 주가가 주어졌을 때 11일째 되는 날의 주가를 예측하는 등의 task가 그 예시입니다.
이 외에도 유명한 예시로는, GPT처럼 '말하는 모델'이 있습니다.
언어모델은 문장의 앞부분이 주어지면, 그 뒤에 올 단어를 계속해서 이어 예측하는 방법으로 말을 이어나갑니다.
예를 들어,
- "오늘 날씨는" 이 주어지면, 그 뒤로 "비가"를 예측합니다.
- "오늘 날씨는 비가" 가 주어지면, 그 뒤로 "올"를 예측합니다.
- "오늘 날씨는 비가 올"이 주어지면, 그 뒤로 "예정입니다"를 예측합니다.
도움이 되었다면 하트 눌러주세요 :)
구독하시면 더 많은 데이터사이언스 정보와 대회풀이를 보실 수 있습니다!

'머신러닝 입문' 카테고리의 다른 글
[머신러닝 대회 입문] Label Encoding, One-Hot Encoding, Target Encoding - 문자열 Feature 다루기 (0) | 2025.02.16 |
---|---|
[머신러닝 대회 입문] 머신러닝 Workflow: 머신러닝이란? 머신러닝 과정, 데이터 분석하기 (1) (3) | 2025.01.04 |