신경망 안에서 실제로 움직이는 숫자들
앞 장에서 우리는 신경망을 입력을 받아 예측을 만들고, 틀린 만큼 자신을 고치는 시스템으로 바라보았습니다. 그렇다면 이제 자연스러운 질문이 생깁니다. 신경망은 도대체 무엇을 고치는 걸까요?
정답은 생각보다 단순합니다. 신경망이 학습하면서 고치는 것은 대부분 숫자입니다. 더 정확히 말하면 가중치와 편향이라는 숫자를 조금씩 바꿉니다. 이 숫자들이 바뀌면 같은 입력을 넣어도 다른 예측이 나옵니다. 그래서 딥러닝의 학습은 거창하게 들리지만, 안쪽에서 벌어지는 일은 결국 다음과 같습니다.
입력에 어떤 숫자를 곱하고, 더하고, 결과를 보고, 그 숫자들을 다시 조정한다.
이 작은 계산을 담당하는 단위가 바로 뉴런입니다. 딥러닝에서 말하는 뉴런은 실제 뇌세포를 완벽하게 흉내 낸 존재가 아닙니다. 오히려 아주 작은 계산기라고 생각하는 편이 좋습니다. 여러 입력을 받아 하나의 점수를 만들고, 그 점수를 다음 단계로 넘깁니다.

뉴런은 입력을 받아 점수를 만든다
가장 단순한 뉴런 하나를 상상해 봅시다. 이 뉴런은 두 개의 입력을 받습니다. 예를 들어 어떤 이메일이 스팸인지 판단한다고 해 보겠습니다.
첫 번째 입력 x1은 이메일 안에 무료라는 표현이 얼마나 많이 등장하는지 나타냅니다. 두 번째 입력 x2는 링크가 몇 개 들어 있는지 나타냅니다. 물론 실제 스팸 분류기는 훨씬 많은 정보를 보지만, 지금은 뉴런의 계산을 이해하기 위해 두 가지만 사용하겠습니다.
뉴런은 각 입력을 그대로 더하지 않습니다. 입력마다 중요도가 다를 수 있기 때문입니다. 무료라는 단어가 한 번 등장하는 것과 수상한 링크가 여러 개 들어 있는 것은 같은 의미가 아닐 수 있습니다. 그래서 뉴런은 입력마다 다른 숫자를 곱합니다. 이 숫자가 가중치입니다.
계산은 보통 이렇게 표현합니다.
z = w1 × x1 + w2 × x2 + b
여기서 x1, x2는 입력입니다. w1, w2는 각 입력에 붙은 가중치입니다. b는 편향입니다. 그리고 z는 뉴런이 만든 점수입니다.
이 식은 딥러닝에서 매우 자주 등장합니다. 처음 보면 수학처럼 보이지만, 의미는 단순합니다.
입력마다 중요도를 곱한 뒤 모두 더하고, 마지막에 기준점을 하나 더한다.
이 한 문장만 기억해도 뉴런의 절반은 이해한 것입니다.
가중치는 입력의 목소리 크기다
가중치는 입력이 예측에 얼마나 강하게 영향을 미치는지를 정합니다. 마치 회의실에서 각 입력이 의견을 내는데, 가중치는 그 의견의 목소리 크기를 조절하는 스피커와 같습니다.
가중치가 크면 그 입력은 결과에 큰 영향을 줍니다. 가중치가 작으면 영향이 약합니다. 가중치가 0에 가까우면 뉴런은 그 입력을 거의 무시합니다. 가중치가 음수라면 조금 더 흥미로운 일이 생깁니다. 그 입력은 점수를 올리는 대신 낮추는 방향으로 작용합니다.
예를 들어 스팸 분류 뉴런이 다음과 같은 계산을 한다고 해 봅시다.
z = 2 × x1 + 3 × x2 - 4.5
여기서 무료라는 표현의 가중치는 2이고, 링크 개수의 가중치는 3입니다. 이 뉴런은 링크 개수를 더 강한 단서로 보고 있습니다. 링크가 하나 늘어날 때 점수는 3만큼 올라가지만, 무료라는 표현이 하나 늘어날 때는 2만큼 올라가기 때문입니다.
이제 두 이메일을 비교해 보겠습니다.
| 이메일 | 무료 표현 수 x1 | 링크 수 x2 | 점수 z | 판단 |
|---|---|---|---|---|
| A | 0 | 1 | 2×0 + 3×1 - 4.5 = -1.5 | 스팸 아님 |
| B | 2 | 1 | 2×2 + 3×1 - 4.5 = 2.5 | 스팸 |
여기서는 점수 z가 0보다 크면 스팸이라고 판단한다고 정해 보았습니다. 이메일 A는 링크가 하나 있지만 무료 표현이 없어서 점수가 0을 넘지 못합니다. 반면 이메일 B는 무료 표현이 두 번 등장하고 링크도 하나 있어서 점수가 0을 넘습니다.
중요한 것은 이 판단이 사람이 직접 만든 규칙처럼 보이지만, 딥러닝에서는 이런 가중치를 데이터로부터 배운다는 점입니다. 처음에는 가중치가 엉망일 수 있습니다. 하지만 예측이 틀릴 때마다 조금씩 조정됩니다. 어떤 입력이 정답을 맞히는 데 도움이 되면 그 방향으로 힘이 커지고, 방해가 되면 힘이 약해집니다.
편향은 기준점을 옮긴다
이제 식의 마지막에 붙어 있던 b를 살펴봅시다. 편향은 입력에 곱해지는 값이 아닙니다. 입력이 무엇이든 상관없이 마지막에 더해지는 숫자입니다.
처음에는 이 편향이 왜 필요한지 잘 와닿지 않을 수 있습니다. 입력에 가중치를 곱해서 더하면 충분해 보이기 때문입니다. 하지만 편향이 없으면 뉴런은 꽤 답답한 계산기가 됩니다. 기준점을 자유롭게 옮기기 어렵기 때문입니다.
간단한 예를 들어 보겠습니다. 공부 시간이 많을수록 시험에 합격할 가능성이 높다고 해 봅시다. 뉴런 하나가 공부 시간 x만 보고 합격 여부를 판단합니다.
z = 0.8 × x - 4
그리고 z가 0보다 크면 합격이라고 판단합니다. 이때 합격 기준은 언제일까요?
0.8 × x - 4 > 0
이 식을 만족하려면 x가 5보다 커야 합니다. 즉 이 뉴런은 공부 시간이 5시간을 넘으면 합격 쪽으로 판단합니다. 여기서 -4가 바로 편향입니다. 편향은 뉴런의 기준점을 0시간이 아니라 5시간 근처로 옮겨 놓았습니다.
만약 편향이 없다면 식은 이렇게 됩니다.
z = 0.8 × x
이 경우 공부 시간이 조금이라도 양수이면 점수는 0보다 커집니다. 10분만 공부해도 합격이라고 말할 수 있는 이상한 뉴런이 됩니다. 편향은 이런 문제를 막아 줍니다. 뉴런이 단순히 입력의 크기만 보는 것이 아니라, 어느 정도 기준을 넘어야 반응하도록 만들어 줍니다.
편향은 뉴런의 성격을 바꿉니다. 편향이 크고 양수이면 뉴런은 쉽게 켜지는 쪽으로 움직입니다. 반대로 편향이 작고 음수이면 뉴런은 더 엄격해집니다. 같은 입력이 들어와도 편향에 따라 판단이 달라지는 이유가 여기에 있습니다.
결정 경계라는 보이지 않는 선
분류 문제에서 뉴런은 종종 어느 쪽에 속하는지 나누는 기준을 만듭니다. 이 기준을 결정 경계라고 부릅니다. 이름은 어렵지만, 뜻은 간단합니다. 한쪽은 스팸, 다른 쪽은 스팸 아님으로 나누는 선입니다.
입력이 두 개일 때 뉴런의 계산은 다음과 같습니다.
z = w1 × x1 + w2 × x2 + b
여기서 z가 0보다 크면 한쪽 클래스, 0보다 작으면 다른 클래스라고 정할 수 있습니다. 그렇다면 두 판단이 갈리는 지점은 z = 0인 곳입니다.
w1 × x1 + w2 × x2 + b = 0
이 식은 두 입력으로 이루어진 평면에서 하나의 선을 만듭니다. 뉴런 하나는 이 선을 기준으로 데이터를 둘로 나눕니다. 가중치는 이 선의 기울기와 방향에 영향을 주고, 편향은 이 선의 위치를 옮깁니다.
이 장면을 지도에 비유해 보겠습니다. 가중치는 국경선이 어느 방향으로 그어질지를 정합니다. 편향은 그 국경선을 왼쪽이나 오른쪽, 위쪽이나 아래쪽으로 밀어냅니다. 결국 뉴런 하나는 데이터 공간 위에 선 하나를 긋고, 그 선을 기준으로 판단합니다.
물론 현실의 데이터는 이렇게 단순히 선 하나로 나뉘지 않는 경우가 많습니다. 고양이와 강아지 사진, 긍정 리뷰와 부정 리뷰, 자연스러운 문장과 어색한 문장을 선 하나로 나누기는 어렵습니다. 그래서 신경망은 뉴런을 여러 개 두고, 층을 쌓고, 중간중간 활성화 함수를 넣습니다. 하지만 출발점은 여전히 이 작은 계산입니다.
가중치가 바뀌면 예측도 바뀐다
뉴런이 학습한다는 말은 결국 가중치와 편향이 바뀐다는 뜻입니다. 같은 입력을 넣었는데도 가중치가 달라지면 점수가 달라지고, 점수가 달라지면 예측도 달라집니다.
다시 스팸 예시로 돌아가 보겠습니다.
z = 2 × x1 + 3 × x2 - 4.5
어떤 이메일의 입력이 x1 = 1, x2 = 1이라고 합시다. 점수는 다음과 같습니다.
z = 2×1 + 3×1 - 4.5 = 0.5
이 뉴런은 이 이메일을 스팸이라고 판단합니다. 그런데 학습을 해 보니 링크 하나만으로는 스팸이라고 보기 어렵다는 사실을 알게 되었다고 해 봅시다. 그러면 링크에 해당하는 가중치 w2가 3에서 1로 줄어들 수 있습니다.
z = 2×1 + 1×1 - 4.5 = -1.5
이제 같은 이메일이 스팸 아님으로 바뀝니다. 입력은 그대로인데 판단이 달라졌습니다. 바뀐 것은 가중치뿐입니다.
반대로 어떤 단서가 매우 중요하다는 사실을 학습하면 해당 가중치는 커질 수 있습니다. 만약 무료라는 표현이 스팸 판단에 훨씬 중요한 단서라면 w1이 2에서 4로 커질 수 있습니다.
z = 4×1 + 1×1 - 4.5 = 0.5
다시 점수가 양수가 되어 스팸 쪽으로 판단이 바뀝니다. 이렇게 가중치는 입력의 영향력을 키우거나 줄이면서 예측을 바꿉니다.
딥러닝 모델이 똑똑해진다는 말은 모델 안 어딘가에 지식 문장이 저장된다는 뜻이 아닙니다. 수많은 가중치와 편향이 조금씩 조정되어, 어떤 입력에는 강하게 반응하고 어떤 입력에는 덜 반응하도록 바뀐다는 뜻입니다.
뉴런 하나로 분류 기준 만들기
이제 뉴런 하나가 간단한 분류기를 만드는 과정을 한 번에 따라가 보겠습니다. 우리는 이메일이 스팸인지 아닌지 맞히고 싶습니다. 입력은 두 개입니다. 하나는 무료라는 표현의 개수, 다른 하나는 링크의 개수입니다.
처음에는 뉴런이 아무것도 모른다고 생각해 봅시다. 가중치와 편향이 적당히 정해져 있지만, 아직 좋은 값은 아닙니다.
z = 0.5 × x1 + 0.5 × x2 - 1
이 뉴런은 무료 표현과 링크를 거의 같은 중요도로 봅니다. 그런데 실제 데이터를 보니 링크 개수가 많을수록 스팸일 가능성이 훨씬 높고, 무료라는 표현도 어느 정도 도움이 된다고 합시다. 학습이 진행되면서 뉴런은 다음과 같은 방향으로 바뀔 수 있습니다.
z = 1.2 × x1 + 2.8 × x2 - 3.5
이제 링크의 영향이 더 커졌고, 편향은 더 엄격한 쪽으로 이동했습니다. 링크가 하나 있다고 바로 스팸이라고 판단하지는 않지만, 링크가 여러 개 있거나 무료 표현까지 함께 등장하면 스팸 점수가 빠르게 올라갑니다.
이 과정에서 뉴런이 하는 일은 신비롭지 않습니다. 데이터 속에서 어떤 입력이 예측에 중요한지 찾아 가중치를 조정하고, 판단 기준이 너무 느슨하거나 엄격하면 편향을 조정합니다.
다음은 이 뉴런을 아주 단순한 코드로 표현한 예입니다.
def neuron(x1, x2):
z = 1.2 * x1 + 2.8 * x2 - 3.5
if z > 0:
return 1
return 0이 코드는 딥러닝의 전부는 아니지만, 뉴런 하나의 핵심은 담고 있습니다. 입력을 받고, 가중치를 곱하고, 편향을 더하고, 기준을 넘는지 확인합니다.
나중에 PyTorch를 사용하면 이런 계산을 직접 하나하나 쓰지 않아도 됩니다. 하지만 내부에서 벌어지는 기본 원리는 크게 다르지 않습니다. PyTorch가 대신 계산해 줄 뿐, 모델은 여전히 가중치와 편향을 이용해 점수를 만들고 예측을 내립니다.
신경망은 뉴런을 많이 모아 만든 계산 지도다
뉴런 하나는 단순한 선 하나를 긋는 계산기입니다. 하지만 뉴런이 여러 개 모이면 이야기가 달라집니다. 각 뉴런은 서로 다른 방향의 기준을 만들 수 있습니다. 어떤 뉴런은 링크 수에 민감하게 반응하고, 어떤 뉴런은 특정 단어 조합에 반응하고, 또 다른 뉴런은 문장의 길이나 반복되는 표현에 반응할 수 있습니다.
이렇게 여러 뉴런이 각자 작은 기준을 만들고, 다음 층의 뉴런이 그 결과를 다시 조합하면 더 복잡한 패턴을 잡아낼 수 있습니다. 하나의 선으로 나누기 어려웠던 데이터도 여러 기준을 거치며 점점 더 잘 구분됩니다.
여기서 중요한 사실이 있습니다. 신경망이 커진다고 해서 원리가 완전히 달라지는 것은 아닙니다. 수백만 개, 수십억 개의 파라미터를 가진 거대한 모델도 기본적으로는 입력에 가중치를 곱하고, 편향을 더하고, 그 결과를 다음 계산으로 넘기는 일을 반복합니다.
LLM도 예외가 아닙니다. 물론 LLM에는 임베딩, Attention, Transformer 블록 같은 더 정교한 구조가 들어갑니다. 하지만 그 내부에도 가중치가 있고, 그 가중치는 학습을 통해 조정됩니다. 우리가 지금 배우는 뉴런, 가중치, 편향은 훗날 Transformer를 이해하기 위한 가장 작은 벽돌입니다.
오늘의 핵심 정리
뉴런은 딥러닝의 가장 작은 계산 단위입니다. 뉴런은 입력을 받아 각 입력에 가중치를 곱하고, 그 값들을 모두 더한 뒤, 편향을 더해 하나의 점수를 만듭니다.
가중치는 입력의 영향력을 정합니다. 큰 가중치는 입력의 목소리를 키우고, 작은 가중치는 목소리를 줄입니다. 음수 가중치는 입력이 점수를 낮추는 방향으로 작용하게 합니다.
편향은 판단 기준을 옮깁니다. 같은 입력이라도 편향이 달라지면 뉴런이 더 쉽게 반응할 수도 있고, 더 엄격하게 반응할 수도 있습니다. 분류 문제에서 편향은 결정 경계를 이동시키는 중요한 역할을 합니다.
결국 신경망이 학습한다는 것은 이 가중치와 편향을 데이터에 맞게 조금씩 바꾸는 일입니다. 모델이 예측하고, 틀린 정도를 확인하고, 어느 숫자를 어떻게 바꾸면 나아질지 계산한 뒤, 다시 예측합니다.
다음 장에서는 뉴런이 만든 점수를 그대로 넘기지 않고 한 번 더 변형하는 장치를 만나게 됩니다. 바로 활성화 함수입니다. 활성화 함수가 들어오면 신경망은 단순한 선형 계산을 넘어 더 복잡한 패턴을 표현할 수 있게 됩니다.
이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.