현장에서 설비 세팅값을 처음부터 완벽하게 잡는 엔지니어는 없다. 목표값과 실측값 사이의 오차를 확인하고, 그 오차만큼 파라미터를 조금씩 조정한다. 한 번에 맞추는 게 아니라, 조정하고 측정하고 다시 조정하는 반복으로 오차를 줄여간다.
신경망 학습도 정확히 이 방식이다. 지난 편에서 AI 연산의 전부가 벡터의 내적이라고 했다. 이번 편에서는 그 내적들이 신경망 안에서 어떻게 학습되는지를 다룬다. 신경망 학습의 핵심은 세 가지다. 정답과의 오차를 줄이는 경사 하강법, 단어를 숫자로 바꾸는 임베딩, 그리고 아무도 그 의미를 모른다는 블랙박스의 정체다.
신경망 학습이란 무엇인가
신경망 학습이란 입력과 정답을 비교해 그 오차를 점점 줄여가도록 가중치를 조정하는 과정이다. 신경망은 입력층(Input), 여러 개의 은닉층(Hidden), 출력층(Output)으로 이루어진다. 각 노드 사이를 잇는 연결선마다 가중치 벡터가 붙어 있고, 학습이란 이 가중치들을 정답에 가깝게 맞춰가는 작업이다.
여기서 정답에 해당하는 것을 그라운드 트루스(Ground Truth)라고 부른다. 실제 세계에서 참인 값, 곧 레이블(Label) 값이다. “이 이미지는 고양이야”라고 사람이 명명(labeling)해 알려주면, 신경망은 그 정답에 가까워지도록 스스로를 조정한다. 이렇게 정답을 함께 주는 방식을 지도학습, 정답 없이 패턴을 스스로 찾는 방식을 비지도학습이라 한다.
흥미로운 점은 이 레이블링이 의외로 사람의 수작업이라는 것이다. 사진을 모아 “고양이”라고 일일이 표시하는 전문 회사도 있다. 그래서 잘못되거나 편향된 데이터를 넣으면 AI도 그대로 편향(bias)된다. 신경망 학습에서 데이터 품질과 윤리가 중요한 이유가 여기에 있다.
노드와 가중치, 그리고 블랙박스
신경망 학습에서 노드 개수와 레이어 개수는 AI 설계자가 정한다. 모델마다 이 구조가 다르게 디자인되어 있다. 그런데 여기서 핵심적인 사실 하나가 등장한다. 각 노드와 가중치가 무슨 의미인지는 AI도 사람도 모른다는 것이다.
왜 그럴까. AI는 수많은 데이터에서 패턴과 규칙을 스스로 찾아내는데, 그 의미가 여러 노드에 뒤섞여(distributed) 들어가기 때문이다. “자동차의 바퀴”가 특정 노드 하나에 깔끔하게 저장되는 게 아니라, 여러 노드에 분산되어 섞인다. 그래서 AI에게 “왜 그렇게 판단했냐”고 물어도 답하지 못한다. 이것이 블랙박스의 근원이며, 설명 불가능성(explainability) 문제의 출발점이다.
| 항목 | 누가 정하나 | 의미를 아는가 |
|---|---|---|
| 노드 개수 | AI 설계자 | 구조는 알지만 |
| 레이어 개수 | AI 설계자 | 각 층 역할은 대략만 |
| 가중치 값 | 학습으로 결정 | 아무도 모름 |
| 노드의 의미 | 학습으로 결정 | 아무도 모름 |
경사 하강법, 오차를 따라 내려가는 법
신경망의 목표는 단 하나다. 예측값과 정답의 오차(Loss)를 0에 가깝게 줄이는 것이다. 오차가 0이라는 말은 그라운드 트루스와 정확히 같아졌다는 뜻이다. 이 오차를 줄이는 방법이 경사 하강법(Gradient Descent)이다.
원리는 단순하다. 가중치를 조금 바꿨을 때 오차가 얼마나 변하는지, 그 기울기를 계산해 오차가 줄어드는 방향으로 한 걸음씩 내려간다. 현장 엔지니어가 설비 파라미터를 조금 조정했을 때 오차가 줄었다면 그 방향을 유지하고, 늘었다면 반대로 돌리는 것과 같다.
여기서 학습률(learning rate)이라는 손잡이가 중요하다. 한 번에 얼마나 크게 이동할지를 정하는 값이다. 학습률이 너무 크면 최저점을 지나쳐 좌우로 튕기느라 답을 못 찾고, 너무 작으면 학습이 한없이 느려진다. 적절한 학습률을 잡는 것이 경사 하강법의 관건이다.
임베딩, 단어를 숫자로 바꾸다
이제 신경망 학습이 언어를 다루는 핵심, 임베딩(Embedding)이 나온다. 임베딩이란 단어를 숫자 벡터로 바꾸는 것이다. 핵심은 비슷한 의미의 단어가 벡터 공간에서 가까운 위치, 같은 방향에 놓인다는 점이다.
유명한 예가 있다. “왕”에서 “남자”라는 요소를 빼고 “여자”를 더하면 “여왕”에 가까워진다. 단어의 의미가 방향과 거리로 표현되기 때문에 가능한 일이다. 한 단어를 표현하는 숫자의 개수를 임베딩 차원이라 부른다. 초기 모델은 768차원이었다가 12,288차원으로 늘어났다. 한 단어를 1만 개가 넘는 숫자로 표현하는데, 그 각각의 숫자가 정확히 무슨 의미인지는 역시 아무도 모른다.
AI의 머릿속을 그려보면 이렇다. 5만에서 20만 개에 이르는 단어 사전(vocabulary)이 있고, 각 단어마다 임베딩 벡터와 함께 인덱스, 등장 빈도, 품사 같은 정보가 구조화되어 저장된다. 이 사전을 기반으로 AI는 단어 사이의 거리와 방향을 계산한다.
문맥을 학습하는 어텐션의 예고
여기까지가 신경망 학습의 기초다. 그런데 단어 하나를 숫자로 바꾸는 것만으로는 부족하다. “사과를 먹었다”의 사과와 “사과 신제품을 샀다”의 사과는 다르다. 같은 단어라도 문맥에 따라 의미가 달라진다. 이 문맥을 학습하는 메커니즘이 바로 어텐션(Attention)이다.
어텐션의 가중치 안에는 세 가지가 숨어 있다. 쿼리(Query), 키(Key), 밸류(Value), 줄여서 QKV다. 이 QKV가 어떻게 문맥을 만들어내는지가 이 시리즈의 심장이며, 다음 편에서 본격적으로 다룬다. 지금은 신경망 학습이 경사 하강법으로 오차를 줄이고, 임베딩으로 단어를 숫자로 바꾸며, 그 과정의 의미는 블랙박스 안에 있다는 것까지만 잡아두면 충분하다.
핵심 요약
이번 편의 핵심은 세 가지다. 첫째, 신경망 학습은 그라운드 트루스(정답, 레이블)와의 오차를 줄이는 과정이며, 노드와 가중치의 의미는 블랙박스 안에 있어 아무도 모른다. 둘째, 경사 하강법은 가중치를 조금씩 바꿔 오차가 줄어드는 방향으로 내려가는 방법이고, 학습률이 그 보폭을 정한다. 셋째, 임베딩은 단어를 숫자 벡터로 바꿔 비슷한 의미를 가까운 위치에 배치하는 작업이다.
다음 편에서는 드디어 어텐션과 QKV를 다룬다. AI가 문맥을 이해하는 것처럼 보이는 진짜 비밀이 펼쳐진다.
함께 읽으면 좋은 글
AI가 왜 가끔 엉뚱한 답을 하는지, 블랙박스의 한계가 궁금하다면 이 글이 좋은 연결점이다.
데이터 설계가 학습 결과를 좌우하는 이유가 궁금하다면 함께 읽어볼 만하다.
경사 하강법의 수학적 정의를 더 알아보고 싶다면 위키백과 경사 하강법 문서에서 살펴볼 수 있다.







