AI 기초 및 활용 6회: 머신러닝이란 — 규칙을 묻지 말고 사례를 보여줘라

AI 기초 및 활용 6회: 머신러닝이란 — 규칙을 묻지 말고 사례를 보여줘라

오늘의 질문 — 스팸을 거르는 규칙을 전부 적을 수 있을까요

메일함의 스팸 필터를 직접 만든다고 상상해봅시다. 규칙 기반으로요. 지난 회차에서 배운 대로 "만약-그러면"을 적어나가면 됩니다.

만약 제목에 "대출"이 있으면 스팸이다. 좋아요. 그런데 은행에서 온 진짜 대출 안내는요? 만약 "무료"가 있으면 스팸이다. 그럼 친구가 보낸 "이번 주 무료 전시회 갈래?"는요?

규칙을 고치고, 예외를 달고, 예외의 예외를 달다 보면 어느 순간 깨닫게 됩니다. 이 목록은 끝나지 않는다. 스팸 발송자는 매일 새 수법을 만들고, 그때마다 규칙을 사람이 따라 적어야 해요.

오늘의 질문은 이것입니다. 규칙을 사람이 적는 대신, 기계가 스스로 찾아내게 할 수는 없을까요?

이 발상의 전환이 오늘 시작하는 제2부 전체의 주제, 머신러닝입니다.

지난 회차 연결 — 병목의 벽 앞에서

5회차 끝에서 우리는 벽 하나를 만났습니다. 지식 획득 병목 — 전문가의 지식을 규칙으로 옮기는 일이 너무 느리고 비싸서, 전문가 시스템 산업 전체가 그 무게에 깔려 무너졌다는 이야기였어요.

병목의 핵심은 암묵지였습니다. 진짜 전문가일수록 "그냥 딱 보면 알아요"라고 답하죠. 말로 풀 수 없는 지식은 규칙으로 적을 수도 없습니다.

그런데 생각을 뒤집어보면 어떨까요. 의사가 판단 규칙은 설명 못 해도, 판단 사례는 무한히 보여줄 수 있습니다. "이 엑스레이는 폐렴, 저건 정상, 이것도 폐렴." 사례를 보여주는 건 아무 노력이 들지 않아요.

그렇다면 규칙을 묻지 말고, 사례를 잔뜩 보여준 다음 규칙을 기계가 직접 찾아내게 하자. 이게 머신러닝의 출발점입니다. 오늘은 이 발상이 정확히 무엇이고, 어떻게 작동하고, 어떤 대가를 치르는지 봅니다.

위아래 두 줄의 흐름도. 윗줄은 두 개의 입력이 상자로 들어가 오른쪽으로 답 하나가 나오는 전통적 프로그래밍의 방향이고, 아랫줄은 같은 구성인데 화살표 방향이 반대로 뒤집혀 있으며 출력 자리에 놓인 요소가 유난히 밝게 빛난다. 전통 프로그래밍은 규칙과 데이터를 넣어 답을 얻지만, 머신러닝은 데이터와 답을 넣어 규칙을 얻는다는 방향의 역전을 나타낸다.

정의 — 경험으로 성능이 좋아지는 프로그램

머신러닝의 표준 정의는 컴퓨터 과학자 톰 미첼이 정리했습니다. 원문은 딱딱하지만 풀어 쓰면 이렇습니다.

"어떤 일을 하는 프로그램이, 경험이 쌓일수록 그 일을 더 잘하게 된다면, 그 프로그램은 학습한다고 말한다."

세 가지 요소가 들어 있어요. (스팸 분류), 경험(스팸/정상으로 표시된 메일들), 성능(분류 정확도). 메일을 많이 볼수록 분류가 정확해지면, 이 프로그램은 학습하고 있는 겁니다.

주목할 점은 이 정의에 "지능"이나 "이해"라는 말이 없다는 거예요. 기계가 스팸의 본질을 깨달았는지는 묻지 않습니다. 측정 가능한 성능이 경험에 따라 오르는가. 이것만 묻습니다. 1회차에서 본 실용주의 — "지능이 무엇인지 대답하는 대신 행동으로 판정하자"던 튜링의 태도가 여기서도 이어져요.

화살표가 뒤집혔습니다

전통적인 프로그래밍과 머신러닝의 차이는 화살표 방향 하나로 요약됩니다.

전통 프로그래밍: 사람이 규칙을 짜고, 규칙에 데이터를 넣으면, 답이 나옵니다. 규칙과 데이터가 입력이고 답이 출력이에요.

머신러닝: 데이터와 답을 함께 넣으면, 규칙이 나옵니다. 스팸 메일 10만 통과 "이건 스팸/이건 정상"이라는 답을 넣으면, 스팸을 가르는 규칙이 출력으로 나와요.

이렇게 뽑아낸 규칙을 새 메일에 적용하면 그게 스팸 필터입니다. 규칙을 만드는 단계를 학습 또는 훈련이라고 부르고, 만들어진 규칙을 새 데이터에 쓰는 단계를 추론이라고 불러요.

5회차의 추론과 이름이 같지만 뜻이 조금 다릅니다. 논리의 추론은 규칙에서 결론을 유도하는 것이었고, 머신러닝의 추론은 학습된 모델에 새 입력을 넣어 출력을 얻는 것이에요. 같은 단어가 분야마다 다른 옷을 입는 사례이니 헷갈리지 않게 짚어둡니다.

모델 — 규칙의 새로운 이름

머신러닝이 뽑아낸 "규칙"은 5회차의 만약-그러면 규칙과는 생김새가 다릅니다. 사람이 읽을 수 있는 문장이 아니라, 수많은 숫자들의 뭉치예요. 이 뭉치를 모델이라고 부릅니다.

모델을 기계 장치로 상상해보세요. 입력이 들어오는 구멍이 있고, 출력이 나오는 구멍이 있고, 몸통에는 조절 다이얼이 잔뜩 달려 있습니다. 다이얼을 어떻게 맞추느냐에 따라 같은 입력에서 다른 출력이 나와요.

이 다이얼 하나하나를 파라미터라고 부릅니다. 작은 모델은 다이얼이 수십 개, 요즘 대형 언어 모델은 수천억 개예요.

학습이란 이 다이얼들을 맞추는 과정입니다. 사례를 하나 넣어보고, 출력이 정답과 얼마나 다른지 재고, 덜 틀리는 방향으로 다이얼을 조금씩 돌립니다. 이걸 수십만 번 반복하면 다이얼들이 정답을 잘 맞히는 위치에 자리를 잡아요. 어떻게 "덜 틀리는 방향"을 아는지는 13회차 경사하강법에서 제대로 다룹니다. 오늘은 다이얼 맞추기라는 그림만 가져가세요.

둥근 다이얼이 줄줄이 달린 커다란 조절판. 다이얼마다 바늘이 제각각 다른 방향을 가리키고 있고, 큰 화살표 하나가 다이얼 하나를 돌리는 중이며, 위쪽의 과녁 모양이 점점 정렬되어 간다. 학습이란 정답에 가까워지도록 수많은 다이얼(파라미터)을 조금씩 맞춰가는 과정임을 나타낸다.

특징 — 기계의 눈에 보이는 것

모델에 메일을 "그냥" 넣을 수는 없습니다. 기계가 다룰 수 있는 형태, 즉 숫자로 바꿔야 해요. 무엇을 숫자로 바꿀지 고르는 것이 특징 설계입니다.

스팸 필터라면 이런 것들이 특징이 될 수 있어요. 제목에 느낌표가 몇 개인가. "무료"라는 단어가 몇 번 나오는가. 보낸 주소가 주소록에 있는가. 새벽 시간에 발송됐는가.

특징을 무엇으로 잡느냐가 성패를 가릅니다. 좋은 특징을 주면 단순한 모델도 잘 맞히고, 나쁜 특징을 주면 아무리 큰 모델도 헤매요. 그래서 초기 머신러닝 시대에는 특징을 설계하는 사람의 솜씨가 곧 시스템의 성능이었습니다.

여기서 미리 걸어둘 복선 하나. 특징을 사람이 고른다면, 지식 획득 병목이 모양만 바꿔 돌아온 것 아닐까요? 규칙 대신 특징을 적고 있을 뿐이니까요. 실제로 그랬습니다. 이 두 번째 병목을 어떻게 뚫었는지가 제3부 딥러닝의 핵심 이야기예요. 12회차에서 만납니다.

훈련 데이터 — 기계의 교과서

모델이 배우는 사례들의 모음을 훈련 데이터라고 부릅니다. 입력과 정답이 짝으로 붙어 있어요. 메일 한 통과 "스팸"이라는 표시, 엑스레이 한 장과 "폐렴"이라는 표시.

이 정답 표시를 레이블이라고 합니다. 레이블을 붙이는 건 대부분 사람의 일이에요. 수만 장의 사진에 일일이 "고양이", "개"를 다는 작업이죠. 이 작업을 전문으로 하는 산업이 실제로 존재하고, 데이터 레이블링은 지금도 AI 산업의 보이지 않는 기반입니다.

여기서 머신러닝의 경제학이 보입니다. 전문가 시스템은 규칙 하나를 얻는 데 전문가와 지식 공학자의 며칠이 들었어요. 머신러닝은 사례 하나를 얻는 데 몇 초가 듭니다. 사례 하나의 가치는 규칙 하나보다 훨씬 작지만, 수십만 개를 모으면 이야기가 달라져요. 낱개로는 싸구려인 벽돌이 쌓이면 성이 되는 것과 같습니다.

세 개의 시험지 — 훈련, 검증, 테스트

이제 머신러닝 실무의 가장 중요한 규칙을 배웁니다. 데이터를 세 덩어리로 나누는 규칙이에요.

훈련 데이터 — 모델이 배우는 교과서입니다. 다이얼을 맞추는 데 씁니다. 전체의 대부분, 보통 70~80퍼센트를 차지해요.

검증 데이터 — 공부 중간중간 치르는 모의고사입니다. 훈련에는 쓰지 않고, 지금 얼마나 잘하는지 확인하고 학습 방법을 조정하는 데 씁니다.

테스트 데이터 — 마지막에 딱 한 번 치르는 수능입니다. 학습이 다 끝날 때까지 봉인해두고 절대 건드리지 않아요.

왜 이렇게까지 나눌까요? 다음 섹션이 그 답입니다. 이 구분이 머신러닝 전체에서 가장 실수가 잦은 지점이거든요.

카드 더미 세 개가 나란히 놓여 있다. 왼쪽 더미는 매우 높이 쌓여 있고(훈련 데이터), 가운데 더미는 작으며(검증 데이터), 오른쪽의 작은 더미는 잠금 걸쇠가 달린 밝은 상자 안에 봉인되어 있다(테스트 데이터). 테스트 데이터는 학습이 끝날 때까지 절대 열어보지 않아야 한다는 원칙을 나타낸다.

시험 문제를 미리 보면 안 되는 이유

학생이 수능 기출문제의 답을 통째로 외웠다고 합시다. 그 문제들로 시험을 보면 만점이 나오겠죠. 이 만점은 실력일까요?

아니라는 걸 우리는 압니다. 실력을 재려면 처음 보는 문제를 내야 해요. 모델도 똑같습니다. 훈련에 쓴 데이터로 성능을 재면, 모델이 정말 패턴을 배웠는지 그냥 답을 외웠는지 구분할 수 없어요.

그래서 테스트 데이터를 봉인합니다. 그런데 봉인이 은근슬쩍 깨지는 사고가 실무에서 정말 자주 일어나요. 이걸 데이터 누수라고 부릅니다.

예를 들어 이런 식이에요. 테스트 성적을 보고 "음, 별로네" 하며 모델을 고치고, 다시 테스트하고, 또 고치고. 이 순간 테스트 데이터는 사실상 검증 데이터가 되어버렸습니다. 사람이 테스트 정보를 훔쳐보며 모델을 맞춘 거니까요. 수능 감독관이 답을 슬쩍슬쩍 알려준 셈입니다. 그래서 검증용 모의고사를 따로 두는 거예요. 조정은 검증에서 다 끝내고, 테스트는 마지막에 단 한 번.

일반화 — 머신러닝의 진짜 목표

지금까지의 이야기를 한 단어로 모으면 일반화입니다. 훈련에서 본 사례가 아니라 처음 보는 사례를 잘 처리하는 능력이요.

머신러닝의 목표는 훈련 데이터를 잘 맞히는 게 아닙니다. 훈련 데이터는 이미 답을 알고 있잖아요. 목표는 내일 도착할, 아직 존재하지도 않는 메일을 잘 분류하는 겁니다.

사람의 공부와 정확히 같아요. 기출문제를 푸는 이유는 그 문제를 다시 만나려는 게 아니라, 문제 속의 원리를 뽑아 새 문제에 적용하려는 거죠.

그런데 모델은 종종 원리 대신 암기를 택합니다. 왜 그런지, 그게 어떤 모습으로 나타나는지 보겠습니다.

과적합 — 너무 열심히 외운 학생

모델의 다이얼이 아주 많으면, 훈련 데이터를 통째로 외워버릴 수 있습니다. 패턴을 찾는 것보다 외우는 게 더 쉬울 때가 있거든요.

점들이 흩어진 그래프에 선을 긋는 상황을 상상해보세요. 부드러운 곡선 하나로 점들의 경향을 지나가게 할 수도 있고, 미친 듯이 구불거리는 선으로 모든 점을 정확히 통과하게 할 수도 있습니다.

구불거리는 선은 훈련 점수 100점입니다. 하지만 새 점이 찍히면 엉뚱한 곳을 지나가요. 점들의 경향이 아니라 그 점들의 우연한 위치까지 외웠기 때문입니다. 이걸 과적합이라고 불러요. 훈련 데이터에 과하게 들어맞아 새 데이터에서 무너지는 상태.

반대도 있습니다. 다이얼이 너무 적거나 학습이 부족해서 훈련 데이터의 경향조차 못 잡는 상태, 과소적합이에요. 덜 외운 게 아니라 아예 공부를 안 한 학생이죠. 좋은 모델은 이 둘 사이 어딘가에 있습니다. 어떻게 그 지점을 찾는지는 10회차 「모델 평가」에서 본격적으로 다뤄요.

나란히 놓인 두 그래프. 왼쪽은 흩어진 점 하나하나를 전부 정확히 통과하려고 격렬하게 구불거리는 선이고, 오른쪽은 같은 점들의 경향을 따라 부드럽게 지나가는 매끄러운 곡선이며 이쪽이 더 밝게 그려져 있다. 모든 점을 외운 왼쪽이 과적합, 경향을 배운 오른쪽이 일반화를 나타낸다.

데이터의 힘 — 양이 방법을 이긴 순간들

머신러닝 역사에는 이상한 패턴이 반복됩니다. 더 영리한 방법보다 더 많은 데이터가 이기는 패턴이요.

2001년 마이크로소프트 연구진의 실험이 유명합니다. 문장 교정 문제에서 여러 알고리즘을 비교했는데, 데이터를 10배, 100배로 늘리자 꼴찌 알고리즘이 데이터를 더 받은 것만으로 1등 알고리즘을 앞질렀어요. "우리는 더 나은 알고리즘이 아니라 더 많은 데이터를 고민해야 하는 것 아닌가"라는 도발적인 결론이 나왔습니다.

구글 연구진은 2009년 이 현상을 "데이터의 비합리적인 효과"라고 불렀어요. 웹에서 긁어모은 지저분한 대량 데이터가, 전문가가 공들여 만든 소량의 깨끗한 데이터를 이기더라는 겁니다.

이 교훈이 어디까지 갔는지 우리는 이미 압니다. 3회차의 이미지넷 — 1,400만 장의 레이블 사진이 딥러닝 혁명의 도화선이 됐죠. 그리고 18회차에서 볼 대형 언어 모델은 사실상 인터넷 전체를 훈련 데이터로 씁니다. "데이터가 많을수록 좋다"는 관찰이 산업 전체의 방향이 된 거예요.

함정 1 — 쓰레기가 들어가면 쓰레기가 나온다

데이터가 힘이라면, 나쁜 데이터는 나쁜 힘입니다. 컴퓨터 과학의 오래된 격언이 머신러닝에서 더 무섭게 적용돼요. 쓰레기가 들어가면 쓰레기가 나온다.

레이블이 틀린 데이터를 생각해보세요. 정상 메일 1만 통에 실수로 "스팸" 표시가 붙어 있다면, 모델은 그 잘못을 성실하게 학습합니다. 모델은 데이터를 의심하지 않아요. 데이터가 곧 세계입니다.

중복도 문제입니다. 같은 사례가 수천 번 반복되면 모델은 그게 세상에서 그만큼 흔하다고 배워요. 오래된 데이터도 문제예요. 10년 전 스팸 수법을 배운 필터는 오늘의 스팸 앞에서 눈뜬장님입니다.

그래서 실무 머신러닝의 시간 대부분은 화려한 모델링이 아니라 데이터 청소에 들어갑니다. 현업 종사자들이 입을 모아 말하는 비율이 있어요. 일의 8할은 데이터를 모으고 다듬는 것이고, 모델을 만드는 건 나머지 2할이라고요.

위에서 깔때기로 쏟아져 들어가는 도형들 중 상당수가 금이 가거나 일그러져 있고, 깔때기 아래로 나오는 결과물도 똑같이 깨진 모양이며 그 옆에 경고를 뜻하는 마름모 윤곽이 떠 있다. 잘못된 데이터를 넣으면 모델도 잘못된 판단을 그대로 배운다는 '쓰레기가 들어가면 쓰레기가 나온다' 원칙을 나타낸다.

함정 2 — 데이터에 숨은 편향

더 교묘한 함정입니다. 데이터가 깨끗해 보여도, 세상의 일부만 담고 있으면 모델은 뒤틀린 세계관을 배워요.

머신러닝 판에 전해지는 유명한 일화가 있습니다. 늑대와 허스키를 구분하는 모델을 만들었더니 성적이 아주 좋았어요. 그런데 뜯어보니 모델이 보고 있던 건 동물이 아니라 배경의 눈(雪)이었습니다. 훈련 사진 속 늑대는 대부분 설원에 있었거든요. "눈이 있으면 늑대"라는 지름길을 배운 거죠. 눈밭의 허스키는 늑대가 되고, 실내의 늑대는 허스키가 됩니다.

모델은 시키는 대로 하지 않습니다. 데이터에 있는 대로 합니다. 우리가 의도한 패턴이 아니라 데이터에 실제로 존재하는 가장 쉬운 패턴을 찾아요. 그게 지름길이든 편견이든요.

이게 웃긴 일화로 끝나지 않는 이유가 있습니다. 채용 데이터로 학습한 모델은 과거 채용의 편향을 배우고, 대출 데이터로 학습한 모델은 과거 심사의 차별을 배워요. 실제로 벌어진 사고들이고, 28회차 「AI 윤리」에서 실명 사례로 다룹니다. 오늘은 원리만 기억해두세요. 편향은 모델이 만드는 게 아니라 데이터에서 물려받는 것입니다.

함정 3 — 세상은 변한다

마지막 함정은 시간입니다. 모델은 훈련 데이터가 찍힌 그 시점의 세상을 배워요. 그런데 세상은 계속 변합니다.

코로나 시기가 극적인 예였어요. 소비 패턴 예측 모델들이 하루아침에 무용지물이 됐습니다. 2019년의 세상을 배운 모델에게 2020년의 세상은 다른 행성이었으니까요.

이런 현상을 분포 이동이라고 부릅니다. 데이터의 분포, 그러니까 세상의 모습이 훈련 시점과 사용 시점 사이에 달라지는 것. 스팸 수법의 진화, 유행어의 변화, 물가의 변동 — 전부 분포 이동이에요.

그래서 모델은 한 번 만들고 끝이 아닙니다. 계속 새 데이터로 다시 학습시켜야 해요. 정원 가꾸기와 비슷합니다. 심어놓고 방치하면 시들어요. 21회차에서 볼 언어 모델의 "지식 컷오프" — 어느 시점 이후의 세상을 모르는 문제 — 도 뿌리가 같습니다.

왼쪽 훈련장 안에는 똑같은 동물 형상들이 전부 빗금 무늬의 눈 덮인 받침 위에 서 있고, 오른쪽 실제 세상에는 같은 형상이 무늬 없는 맨 받침 위에 서 있는데, 빛나는 돋보기가 동물이 아닌 받침의 무늬 쪽을 향해 있다. 모델이 동물 대신 배경의 눈을 보고 늑대를 구분했다는 일화처럼, 모델은 의도한 대상이 아니라 데이터 속 가장 쉬운 지름길 패턴을 배운다는 것을 나타낸다.

머신러닝의 세 갈래

지금까지는 정답 레이블이 붙은 데이터로 배우는 그림만 그렸습니다. 사실 머신러닝에는 세 갈래가 있고, 각각 배우는 방식이 달라요. 제2부의 남은 회차들이 이 지도 위에 놓입니다.

지도학습 — 문제와 정답을 함께 주고 배우게 합니다. 오늘 내내 이야기한 방식이에요. 선생님이 채점해주는 공부죠. 다음 7회차의 주제입니다.

비지도학습 — 정답 없이 데이터만 줍니다. 기계는 데이터 속에 숨은 구조를 스스로 찾아요. 손님들을 비슷한 무리로 묶거나, 뒤엉킨 데이터에서 큰 줄기를 찾아냅니다. 정답지 없이 스스로 유형을 정리하는 공부예요. 8회차에서 다룹니다.

강화학습 — 정답 대신 보상을 줍니다. 행동을 해보고, 잘되면 점수를 얻고, 그 경험으로 더 나은 행동을 배워요. 자전거 타기를 배우는 방식입니다. 넘어지고 균형 잡으며 몸으로 배우죠. 11회차의 주제이고, 알파고가 이 방식의 상징입니다.

중간의 9회차(확률)와 10회차(평가)는 세 갈래 전부를 떠받치는 공통 기초예요. 이렇게 제2부 여섯 회차의 지도가 그려집니다.

가운데 아래의 한 노드에서 위로 세 갈래 길이 뻗어 나간다. 왼쪽 길은 짝지어진 도형들(문제와 정답)로 끝나는 실선이고, 가운데 길은 정답 없이 흩어진 점 무리로 끝나는 파선이며, 오른쪽 길은 구불구불한 자취 끝에 별(보상)이 놓인 점선이다. 지도학습·비지도학습·강화학습이라는 머신러닝의 세 갈래가 각각 정답, 구조, 보상으로 배운다는 차이를 나타낸다.

그래서, 무엇을 잃었나 — 5회차 질문의 답

지난 회차 끝에 약속한 게 있죠. "규칙을 데이터에 맡기는 순간 소중한 것 하나를 잃는다"고요. 이제 답할 수 있습니다.

잃은 것은 설명 능력입니다.

5회차의 규칙 기반 시스템은 "왜요?"에 완벽하게 답했어요. "규칙 47을 적용했습니다"라고요. 추론 과정이 사람이 읽을 수 있는 규칙의 연쇄로 남아 있었으니까요.

머신러닝 모델의 판단 근거는 수십억 개 다이얼의 위치입니다. 다이얼 하나하나는 볼 수 있지만, 그게 왜 그 값인지, 어떤 다이얼이 이번 판단에 어떻게 기여했는지는 사람이 읽을 수 없어요. 성능을 얻고 투명성을 내준 거래였습니다.

그리고 5회차의 그 질문 — 병원 진단 시스템으로 "설명할 수 있지만 좁은 AI"와 "설명 못 하지만 넓은 AI" 중 무엇을 고르겠느냐던 질문이 바로 이 거래에 대한 질문이었어요. 현업의 답은 "둘 다"에 가깝습니다. 성능이 필요한 곳에 머신러닝을 쓰되, 설명이 법적으로 요구되는 지점에는 규칙과 사람 검토를 남겨두는 식이죠. 모델의 판단을 사후에 해석하려는 연구 분야(설명 가능한 AI)도 커졌지만, 완전한 답은 아직 없습니다. 이 긴장은 시리즈 끝까지 우리와 동행할 거예요.

실전 — 머신러닝이 이미 스며든 하루

이론을 다뤘으니 실전입니다. 오늘 배운 "데이터로 규칙을 뽑는" 방식이 여러분의 하루에 이미 얼마나 깔려 있는지 볼게요.

아침 — 스마트폰 얼굴 잠금 해제. 여러분 얼굴 사진 몇 장으로 "이 사람인가 아닌가"를 배운 모델입니다. 날씨 앱의 강수 예보도 과거 기상 데이터로 학습한 예측 모델이에요.

이동 — 지도 앱의 도착 예정 시간. 수백만 대의 이동 기록으로 "이 시간 이 길은 얼마나 막히는가"를 학습했습니다. 규칙으로 적었다면 도로마다 시간대마다 규칙이 필요했겠죠.

일과 중 — 메일함의 스팸 필터(오늘의 주인공), 문자 입력기의 다음 단어 추천, 외국어 번역, 사진 앱에서 "고양이"로 검색하면 고양이 사진이 나오는 것. 전부 레이블 데이터로 학습한 모델입니다.

저녁 — 동영상 앱과 음악 앱의 추천 목록. 시청 기록이라는 데이터에서 취향이라는 패턴을 뽑아낸 거예요(원리는 8회차에서). 카드사에서 온 "평소와 다른 결제가 감지되었습니다" 문자도 여러분의 소비 패턴을 학습한 이상 탐지 모델입니다.

공통점을 보세요. 전부 규칙으로 적기에는 경우의 수가 너무 많고, 사례는 산더미처럼 쌓이는 문제들입니다. 이게 머신러닝이 이기는 조건이에요.

언제 머신러닝을 쓰고, 언제 쓰지 말아야 하나

반대로 머신러닝이 어울리지 않는 곳도 분명합니다. 판단 기준을 정리해두면 평생 쓸모 있어요.

머신러닝이 유리한 조건 — 규칙을 명시적으로 적기 어렵다(얼굴 인식을 만약-그러면으로 적을 수 있나요?). 데이터가 충분히 있다. 상황이 계속 변해서 규칙을 사람이 따라 고치기 힘들다. 어느 정도의 오답을 감수할 수 있다.

규칙이 유리한 조건 — 규칙이 명확하고 유한하다(세금 계산, 관공서 서류 요건). 오답의 대가가 치명적이고 판단 근거를 설명할 의무가 있다. 데이터가 거의 없다. 5회차에서 본 금융·항공·법률의 규칙 엔진들이 살아남은 이유가 정확히 이거였죠.

실무의 흔한 실수는 "요즘은 다 AI니까"라며 규칙으로 충분한 문제에 머신러닝을 끌고 오는 겁니다. 달력 계산에 모델은 필요 없어요. 반대 실수는 얼굴 인식 같은 문제를 규칙으로 붙잡고 있는 거고요. 문제의 성격이 도구를 정합니다.

빛나는 저울. 왼쪽 접시에는 사슬 고리들이 훤히 들여다보이는 작은 투명 상자(설명 가능한 규칙)가, 오른쪽 접시에는 엉킨 실이 빽빽하게 들어찬 크고 불투명한 구체(성능 좋은 모델)가 놓여 있고 저울은 무거운 구체 쪽으로 기울어 있다. 머신러닝은 성능을 얻는 대신 판단 과정의 투명성을 내주는 거래였음을 나타낸다.

핵심 정리 — 세 줄

첫째, 머신러닝은 화살표를 뒤집었습니다. 규칙을 넣어 답을 얻는 대신, 데이터와 답을 넣어 규칙(모델)을 얻습니다. 이것이 전문가 시스템을 무너뜨린 지식 획득 병목의 돌파구였어요.

둘째, 목표는 암기가 아니라 일반화입니다. 그래서 데이터를 훈련·검증·테스트로 나누고 테스트는 봉인하며, 모든 점을 외우는 과적합을 경계합니다.

셋째, 모델은 데이터만큼만 좋습니다. 데이터의 양은 힘이지만, 오류·편향·시간의 변화가 그대로 모델에 새겨져요. 그리고 성능의 대가로 설명 능력을 내줬습니다 — 이 거래의 긴장은 앞으로 계속 만나게 됩니다.

가운데 상자에서 네 방향으로 뻗어나가는 개념 지도. 네 개의 무리가 각각 실선, 파선, 점선, 이중선의 서로 다른 테두리 무늬로 구분되어 있어 색을 보지 않아도 나눌 수 있다. 이 회차에서 다룬 학습의 정의, 데이터 삼분할, 데이터의 함정, 머신러닝의 세 갈래라는 네 묶음을 뜻한다.

용어 정리

머신러닝 — 명시적으로 규칙을 짜지 않고, 데이터 속 사례에서 규칙(모델)을 스스로 찾아내게 하는 방법. 경험이 쌓일수록 성능이 좋아지면 "학습한다"고 말합니다.

모델 — 학습의 결과물. 입력을 받아 출력을 내는, 수많은 파라미터로 이루어진 함수 장치입니다.

파라미터 — 모델 안의 조절 다이얼. 학습이란 이 값들을 정답에 가까워지도록 맞추는 과정입니다.

훈련(학습) — 훈련 데이터로 파라미터를 맞추는 단계.

추론 — 학습이 끝난 모델에 새 입력을 넣어 출력을 얻는 단계. 5회차 논리의 추론과는 다른 뜻입니다.

특징 — 입력에서 뽑아 모델에 주는 정보 조각. 무엇을 특징으로 삼느냐가 성능을 크게 좌우합니다.

레이블 — 훈련 사례에 붙은 정답 표시. "이 메일은 스팸", "이 사진은 고양이" 같은 것.

훈련 데이터 — 모델이 배우는 사례 모음. 교과서에 해당합니다.

검증 데이터 — 학습 중간에 성능을 확인하고 조정하는 데 쓰는 데이터. 모의고사에 해당합니다.

테스트 데이터 — 모든 조정이 끝난 뒤 딱 한 번 최종 성능을 재는 봉인된 데이터. 수능에 해당합니다.

데이터 누수 — 테스트 데이터의 정보가 어떤 경로로든 학습·조정 과정에 흘러 들어가 성적이 부풀려지는 사고.

일반화 — 훈련에서 보지 못한 새 데이터를 잘 처리하는 능력. 머신러닝의 진짜 목표입니다.

과적합 — 훈련 데이터의 우연한 세부까지 외워버려 새 데이터에서 성능이 무너지는 상태.

과소적합 — 모델이 단순하거나 학습이 부족해 훈련 데이터의 경향조차 잡지 못한 상태.

분포 이동 — 훈련 시점과 사용 시점 사이에 세상(데이터의 분포)이 달라져 모델 성능이 떨어지는 현상.

지도학습 — 문제와 정답을 함께 주고 배우게 하는 방식. 7회차의 주제.

비지도학습 — 정답 없이 데이터 속 숨은 구조를 스스로 찾게 하는 방식. 8회차의 주제.

강화학습 — 정답 대신 보상을 주고, 시행착오로 더 나은 행동을 배우게 하는 방식. 11회차의 주제.

설명 가능한 AI — 모델의 판단 근거를 사람이 이해할 수 있게 해석하려는 연구 분야. 머신러닝이 내준 설명 능력을 되찾으려는 시도입니다.

다음 회차 예고 — 그리고 생각해볼 질문

오늘 우리는 머신러닝의 뼈대를 세웠습니다. 화살표의 역전, 다이얼 맞추기, 세 개의 시험지, 데이터의 힘과 함정, 그리고 세 갈래의 지도까지요.

다음 7회차 「지도학습」에서는 세 갈래 중 첫 번째 길로 깊이 들어갑니다. 정답을 보고 배우는 학습이 실제로 어떤 원리로 답을 맞히는지, 대표 선수 두 명을 뜯어볼 거예요.

하나는 결정트리 — 스무고개처럼 질문을 던져가며 답을 좁히는 모델입니다. 놀랍게도 이 모델은 판단 과정을 사람이 읽을 수 있어요. 오늘 "머신러닝은 설명을 잃었다"고 했는데, 예외가 있는 셈이죠. 다른 하나는 k-최근접 이웃 — "너랑 가장 닮은 이웃들이 스팸이면 너도 스팸"이라는, 어이없을 만큼 단순한데 의외로 강한 모델입니다. 그리고 오늘 계속 미뤄둔 스팸 필터를 드디어 처음부터 끝까지 만들어봅니다.

생각해볼 질문

오늘 "모델은 데이터에 있는 대로 배운다"고 했습니다. 여기서 불편한 질문이 나와요. 과거의 채용 데이터로 채용 모델을 학습시키면, 모델은 과거의 차별까지 충실히 배웁니다. 그런데 그 과거 데이터야말로 "실제로 일어난 일"이기도 하죠.

모델에게 세상을 있는 그대로 배우게 해야 할까요, 아니면 세상이 마땅히 그래야 하는 모습을 배우게 해야 할까요? 후자라면, 그 "마땅한 모습"은 누가 정할까요?

댓글로 의견을 들려주세요. 28회차 「AI 윤리」에서 이 질문을 정면으로 다룹니다.


이 포스트는 SVIL 연구소 「AI 기초 및 활용」 30회 시리즈의 6회차입니다. 하버드 CS50 AI, MIT 6.S191 등 공개 교육과정의 구조를 참고해 2026년 7월 기준으로 작성했으며, 모든 내용은 이미지 없이 본문만으로 이해할 수 있도록 구성되어 있습니다. 모든 이미지에는 내용을 설명하는 대체텍스트가 포함되어 있습니다.