Skip to main content
Summary

하나의 뉴런에서 하나의 층으로

앞 장에서 우리는 활성화 함수가 왜 필요한지 살펴보았습니다. 뉴런은 입력에 가중치를 곱하고 편향을 더해 하나의 값을 만듭니다. 그런데 그 값만 계속 직선처럼 전달하면 신경망은 복잡한 패턴을 잘 표현하지 못합니다. 그래서 활성화 함수가 등장했습니다. 활성화 함수는 뉴런의 계산 결과를 살짝 구부려 줍니다. 이 구부러짐 덕분에 신경망은 단순한 직선이 아니라 곡선적이고 복잡한 관계를 표현할 수 있게 됩니다.

이제 한 걸음 더 나아가 봅시다. 뉴런 하나는 작은 판단기입니다. 하지만 실제 문제는 하나의 작은 판단만으로 풀리지 않습니다. 손글씨 숫자 이미지를 보고 이것이 3인지 8인지 구분해야 한다고 생각해 봅시다. 픽셀 하나만 보면 아무것도 알 수 없습니다. 어두운 점 하나가 있다고 해서 숫자를 판단할 수는 없습니다. 여러 픽셀을 함께 보고, 선의 방향을 보고, 굽은 부분을 보고, 전체 모양을 봐야 합니다.

그래서 신경망은 뉴런을 하나만 두지 않습니다. 여러 뉴런을 나란히 놓아 하나의 층을 만들고, 다시 그 층들을 차례로 연결합니다. 이것이 바로 딥러닝에서 말하는 층을 쌓는다는 뜻입니다.

입력은 첫 번째 층으로 들어가고, 그 층의 출력은 다음 층의 입력이 됩니다. 다시 그 결과가 그다음 층으로 넘어갑니다. 데이터는 신경망 안을 지나면서 조금씩 다른 모습으로 바뀝니다. 처음에는 단순한 숫자 묶음이었지만, 층을 통과할수록 문제를 풀기 좋은 형태로 변해 갑니다.

간단히 쓰면 흐름은 이렇습니다.

입력 데이터 → 첫 번째 층 → 활성화 함수 → 두 번째 층 → 활성화 함수 → 마지막 층 → 예측

여기서 중요한 점은 각 층이 단순히 같은 계산을 반복하는 것이 아니라는 점입니다. 각 층은 앞 층이 만든 결과를 재료로 삼아 새로운 표현을 만듭니다. 마치 요리사가 원재료를 손질하고, 반죽하고, 굽고, 장식해서 전혀 다른 요리를 만들어 내는 과정과 비슷합니다.

층을 쌓는다는 것의 의미

입력층, 은닉층, 출력층

신경망의 층은 보통 입력층, 은닉층, 출력층으로 나눕니다. 이름은 단순하지만 역할은 분명히 다릅니다.

  • 입력층은 데이터를 신경망 안으로 들여보내는 문입니다.

  • 은닉층은 데이터를 문제 해결에 유용한 표현으로 바꾸는 작업실입니다.

  • 출력층은 최종 예측을 만들어 내는 창구입니다.

입력층은 원본 데이터를 받습니다. 이미지라면 픽셀 값이 들어오고, 표 데이터라면 나이, 가격, 온도, 거리 같은 숫자가 들어옵니다. 텍스트라면 단어 또는 토큰을 숫자로 바꾼 값이 들어올 수 있습니다. 입력층은 대개 데이터를 받아들이는 역할에 가깝습니다. 본격적인 변환은 그다음부터 시작됩니다.

은닉층은 이름 그대로 밖에서 직접 보이지 않는 층입니다. 사용자는 보통 입력과 출력만 봅니다. 고양이 사진을 넣었더니 고양이라는 예측이 나오는 식입니다. 하지만 그 사이에서 무슨 일이 벌어지는지는 바로 보이지 않습니다. 신경망은 은닉층 안에서 입력 데이터를 여러 방식으로 조합하고 변형합니다.

출력층은 마지막 판단을 담당합니다. 숫자 분류 문제라면 출력층은 0부터 9까지 각 숫자일 가능성을 내놓을 수 있습니다. 이메일 분류 문제라면 스팸일 확률과 정상 메일일 확률을 내놓을 수 있습니다. 집값 예측 문제라면 하나의 가격 값을 내놓을 수 있습니다.

즉 입력층은 문제를 받아들이고, 은닉층은 생각하고, 출력층은 대답합니다. 사람의 사고 과정에 비유하자면 눈으로 정보를 받아들이고, 머릿속에서 여러 단서를 조합한 뒤, 마지막에 답을 말하는 것과 비슷합니다.

층이 깊어질수록 표현은 달라진다

딥러닝에서 깊다는 말은 보통 은닉층이 여러 개 있다는 뜻입니다. 깊은 신경망은 입력에서 출력까지 가는 길이 깁니다. 그렇다고 단순히 계산을 많이 한다는 뜻만은 아닙니다. 더 중요한 의미는 데이터가 여러 단계의 표현 변환을 거친다는 데 있습니다.

이미지 분류를 예로 들어 보겠습니다. 신경망에 강아지 사진을 넣었다고 합시다. 처음 입력은 픽셀 값입니다. 픽셀 값은 그 자체로는 아주 낮은 수준의 정보입니다. 어떤 위치의 밝기가 얼마인지, 빨간색 성분이 얼마인지, 파란색 성분이 얼마인지 같은 숫자일 뿐입니다.

첫 번째 은닉층은 이런 픽셀들을 조합해 아주 단순한 특징을 감지할 수 있습니다. 예를 들어 밝은 부분과 어두운 부분의 경계, 짧은 선, 특정 방향의 변화 같은 것입니다. 두 번째 층은 이런 단순 특징들을 다시 조합합니다. 선들이 모여 모서리가 되고, 곡선이 되고, 작은 무늬가 됩니다. 더 깊은 층으로 가면 귀처럼 보이는 형태, 눈처럼 보이는 부분, 털의 질감 같은 더 의미 있는 특징이 만들어질 수 있습니다. 마지막에는 이런 단서들이 모여 강아지라는 판단으로 이어집니다.

텍스트도 비슷합니다. 처음에는 단어 또는 토큰이 숫자로 표현됩니다. 얕은 층에서는 단어의 기본적인 사용 패턴을 잡고, 더 깊은 층에서는 구문, 문맥, 의도 같은 더 추상적인 정보를 다룰 수 있습니다. 나중에 Transformer를 배울 때도 이 감각이 중요합니다. Transformer 역시 입력 문장을 한 번에 마법처럼 이해하는 것이 아니라, 여러 층을 지나며 표현을 계속 바꿉니다.

층이 깊어진다는 것은 입력이 점점 더 추상적인 형태로 변한다는 뜻입니다. 처음에는 날것의 데이터에 가깝고, 뒤로 갈수록 정답을 맞히는 데 도움이 되는 표현에 가까워집니다.

픽셀 → 선과 경계 → 부분 모양 → 물체의 일부 → 전체 대상

이 흐름이 바로 층을 쌓는 이유입니다. 하나의 층이 모든 것을 한 번에 이해하려고 하면 너무 어렵습니다. 대신 신경망은 쉬운 특징부터 차례로 만들고, 그 특징들을 조합해 더 어려운 특징을 만듭니다.

표현을 바꾼다는 말의 진짜 의미

신경망을 처음 배울 때 헷갈리는 말 중 하나가 표현입니다. 표현이라는 단어는 조금 추상적으로 들립니다. 하지만 실제로는 그렇게 신비로운 개념이 아닙니다.

표현은 데이터를 어떤 숫자들의 묶음으로 나타낸 것입니다. 예를 들어 어떤 집을 나타낼 때 면적, 방 개수, 역까지의 거리, 지어진 연도 같은 숫자를 사용할 수 있습니다. 이것도 하나의 표현입니다. 같은 집을 다른 방식으로 표현할 수도 있습니다. 생활 편의성 점수, 교통 점수, 노후도 점수처럼 바꿔 나타낼 수도 있습니다.

신경망의 각 층도 이와 비슷한 일을 합니다. 입력 데이터를 받아 새로운 숫자 묶음으로 바꿉니다. 첫 번째 층이 만든 숫자 묶음은 두 번째 층의 입력이 됩니다. 두 번째 층은 다시 그것을 다른 숫자 묶음으로 바꿉니다. 이 과정이 반복되면서 데이터는 점점 더 예측에 적합한 모양으로 정리됩니다.

여기서 중요한 점은 사람이 직접 좋은 표현을 설계하지 않아도 된다는 것입니다. 전통적인 머신러닝에서는 사람이 특징을 많이 만들어야 했습니다. 예를 들어 이미지에서 모서리 개수, 색상 분포, 특정 질감 등을 사람이 직접 정의해야 했습니다. 하지만 딥러닝은 많은 데이터를 보면서 어떤 표현이 유용한지 스스로 조정합니다.

물론 스스로라는 말이 완전한 자율성을 뜻하지는 않습니다. 신경망은 손실 함수가 알려 주는 틀린 정도를 기준으로 가중치를 조금씩 바꿉니다. 그러다 보니 정답을 잘 맞히는 방향의 표현은 강화되고, 도움이 되지 않는 표현은 약해집니다. 이 과정을 반복하면 은닉층은 점차 문제 해결에 유용한 중간 표현을 만들어 냅니다.

이것이 딥러닝의 핵심 매력입니다. 신경망은 단순히 정답을 외우는 기계가 아니라, 입력을 더 좋은 형태로 바꾸는 변환 기계입니다.

은닉층의 뉴런 수는 무엇을 바꿀까

층을 쌓는 것만큼 중요한 질문이 하나 더 있습니다. 각 층에 뉴런을 몇 개 넣어야 할까요?

은닉층의 뉴런 수는 그 층이 한 번에 만들어 낼 수 있는 특징의 개수와 관련이 있습니다. 뉴런 하나는 입력을 보고 특정한 방식으로 반응합니다. 뉴런이 많으면 같은 입력을 여러 관점에서 바라볼 수 있습니다. 어떤 뉴런은 전체 크기에 민감하게 반응하고, 어떤 뉴런은 특정 조합에 반응하고, 또 다른 뉴런은 반대되는 패턴에 반응할 수 있습니다.

비유해 보겠습니다. 한 명의 관찰자가 그림을 보면 놓치는 부분이 생길 수 있습니다. 하지만 여러 명의 관찰자가 각자 다른 관점으로 그림을 보면 더 많은 단서를 모을 수 있습니다. 어떤 사람은 색을 보고, 어떤 사람은 구도를 보고, 어떤 사람은 작은 디테일을 봅니다. 은닉층의 뉴런도 비슷합니다. 뉴런 수가 많아질수록 더 다양한 특징을 담을 공간이 생깁니다.

하지만 뉴런을 무조건 많이 넣는다고 항상 좋은 것은 아닙니다. 뉴런이 너무 적으면 모델이 문제를 표현할 힘이 부족할 수 있습니다. 이를 표현력이 부족하다고 말합니다. 반대로 뉴런이 너무 많으면 학습 데이터에 지나치게 맞춰져 새로운 데이터에서 성능이 떨어질 수 있습니다. 이것을 과적합이라고 부릅니다. 과적합은 뒤에서 자세히 다루겠지만, 지금은 모델이 연습 문제만 외우고 실제 시험에서는 약해지는 상황이라고 이해하면 됩니다.

따라서 은닉층의 뉴런 수는 모델의 표현력과 학습 안정성 사이의 균형입니다. 너무 좁으면 중요한 정보를 담지 못하고, 너무 넓으면 불필요한 것까지 외울 수 있습니다.

깊이와 너비는 서로 다른 힘이다

신경망을 설계할 때는 깊이와 너비를 함께 생각해야 합니다. 깊이는 층의 개수이고, 너비는 한 층에 들어 있는 뉴런의 개수입니다.

넓은 신경망은 한 단계에서 많은 특징을 동시에 볼 수 있습니다. 반면 깊은 신경망은 특징을 여러 단계에 걸쳐 조합할 수 있습니다. 둘 다 표현력을 높이는 방법이지만 작동 방식은 다릅니다.

넓은 신경망은 많은 도구가 한 줄로 놓인 작업대와 비슷합니다. 한 번에 여러 종류의 처리를 할 수 있습니다. 깊은 신경망은 여러 공정을 거치는 공장과 비슷합니다. 첫 공정에서 재료를 다듬고, 다음 공정에서 형태를 만들고, 그다음 공정에서 세부를 조정합니다. 복잡한 물건을 만들 때는 한 번의 작업보다 여러 단계의 작업이 더 자연스러울 때가 많습니다.

딥러닝이 특히 강력해진 이유는 이 깊이의 힘을 잘 활용했기 때문입니다. 단순 특징을 만들고, 그것을 조합해 중간 특징을 만들고, 다시 더 추상적인 특징을 만드는 구조는 이미지, 음성, 텍스트 같은 복잡한 데이터에 잘 맞습니다.

하지만 깊이와 너비는 공짜가 아닙니다. 층이 많고 뉴런이 많을수록 계산량이 늘어납니다. 학습해야 할 가중치도 늘어납니다. 많은 데이터와 시간이 필요해지고, 잘못 설계하면 오히려 학습이 불안정해질 수 있습니다.

깊은 모델이 강력하지만 어려운 이유

깊은 신경망은 강력합니다. 하지만 강력하다는 말은 다루기 쉽다는 뜻이 아닙니다. 오히려 깊어질수록 학습은 더 까다로워질 수 있습니다.

신경망은 예측하고, 틀린 정도를 손실로 계산하고, 각 가중치가 오차에 얼마나 영향을 주었는지 살펴본 뒤, 가중치를 조금씩 수정합니다. 이 과정에서 오차의 정보는 출력층에서 앞쪽 층으로 거꾸로 전달됩니다. 이것이 나중에 자세히 배울 역전파입니다.

문제는 층이 많아질수록 이 신호가 먼 길을 가야 한다는 데 있습니다. 출력층 가까이에 있는 가중치는 비교적 직접적으로 오차 정보를 받습니다. 하지만 입력층 가까이에 있는 가중치는 여러 층을 거쳐야 합니다. 그 과정에서 신호가 너무 작아지거나, 반대로 너무 커질 수 있습니다.

신호가 너무 작아지면 앞쪽 층의 가중치가 거의 바뀌지 않습니다. 모델이 배워야 하는데 첫 부분이 잠든 것처럼 움직이지 않는 셈입니다. 반대로 신호가 너무 커지면 가중치가 지나치게 흔들려 학습이 불안정해질 수 있습니다.

또 하나의 어려움은 선택지가 많아진다는 것입니다. 층이 깊고 뉴런이 많으면 모델이 만들 수 있는 표현의 종류가 많아집니다. 이것은 장점이지만 동시에 학습을 어렵게 만듭니다. 어떤 가중치를 어떻게 조정해야 좋은 결과가 나오는지 찾아야 할 공간이 훨씬 넓어지기 때문입니다.

그래서 실제 딥러닝에서는 여러 기술이 함께 사용됩니다. 적절한 활성화 함수, 좋은 초기 가중치, 학습률 조절, 정규화, 드롭아웃, 배치 정규화, 최적화 알고리즘 같은 도구들이 필요합니다. 지금은 이름만 들어도 괜찮습니다. 뒤에서 하나씩 차근차근 다룰 것입니다.

중요한 것은 이것입니다. 깊은 모델은 데이터를 더 풍부하게 표현할 수 있기 때문에 강력하지만, 그만큼 잘 학습시키기 위한 장치도 필요합니다.

작은 예로 보는 층의 변화

아주 단순한 예를 생각해 보겠습니다. 입력 데이터가 두 개의 숫자라고 합시다. 예를 들어 어떤 점의 위치를 나타내는 x값과 y값입니다. 우리는 이 점이 어떤 영역에 속하는지 분류하고 싶습니다.

첫 번째 층의 뉴런들은 각자 다른 선을 그어 입력 공간을 나눌 수 있습니다. 어떤 뉴런은 오른쪽에 있는 점에 반응하고, 어떤 뉴런은 위쪽에 있는 점에 반응하고, 어떤 뉴런은 대각선 방향에 있는 점에 반응할 수 있습니다. 활성화 함수는 이 반응을 비선형적으로 바꾸어 단순한 선형 구분 이상의 가능성을 만듭니다.

두 번째 층은 첫 번째 층의 반응들을 조합합니다. 오른쪽이면서 위쪽인 경우, 특정 대각선보다 위에 있으면서 다른 선보다 아래에 있는 경우처럼 더 복잡한 조건을 만들 수 있습니다. 세 번째 층은 다시 그것들을 조합해 더 구부러진 경계나 복잡한 영역을 표현할 수 있습니다.

즉 각 층은 입력 공간을 새롭게 접고, 나누고, 펼치는 역할을 합니다. 원래는 구분하기 어려웠던 데이터도 여러 층을 지나면 더 쉽게 구분되는 형태가 될 수 있습니다.

이 감각은 매우 중요합니다. 신경망은 단순히 데이터를 통과시키는 파이프가 아닙니다. 데이터를 바꾸는 장치입니다. 층을 지날 때마다 데이터는 새로운 좌표계로 옮겨 갑니다. 처음 좌표계에서는 뒤섞여 보이던 것들이, 마지막 좌표계에서는 깔끔하게 나뉠 수 있습니다.

층을 쌓는다는 것은 생각의 단계를 만드는 일

사람도 복잡한 문제를 한 번에 풀지 않습니다. 어려운 수학 문제를 보면 먼저 조건을 정리하고, 필요한 공식을 떠올리고, 중간 계산을 하고, 마지막 답을 구합니다. 글을 읽을 때도 글자 하나하나를 보고, 단어를 이해하고, 문장을 이해하고, 전체 의미를 파악합니다.

신경망의 층도 비슷한 역할을 합니다. 각 층은 하나의 생각 단계입니다. 앞 층이 만든 단서를 다음 층이 받아 더 큰 단서로 바꿉니다. 이 과정이 반복되면서 단순한 입력은 점점 더 의미 있는 표현으로 변합니다.

물론 신경망이 사람처럼 의식적으로 생각한다는 뜻은 아닙니다. 신경망 안에서 일어나는 일은 숫자 계산입니다. 하지만 그 숫자 계산이 여러 층을 거치며 점점 더 유용한 표현을 만든다는 점에서 생각의 단계라는 비유가 잘 어울립니다.

딥러닝에서 깊다는 말은 그래서 단순한 크기 자랑이 아닙니다. 깊다는 것은 여러 단계의 변환을 통해 복잡한 패턴을 표현한다는 뜻입니다. 낮은 수준의 특징에서 높은 수준의 표현으로 올라가는 사다리를 갖고 있다는 뜻입니다.

다음 장으로 가기 전에

이번 장에서 우리는 층을 쌓는다는 말의 의미를 살펴보았습니다. 입력층은 데이터를 받아들이고, 은닉층은 데이터를 변환하며, 출력층은 최종 예측을 만듭니다. 은닉층이 여러 개 쌓이면 입력은 낮은 수준의 정보에서 높은 수준의 표현으로 변합니다. 이것이 딥러닝이 복잡한 이미지, 음성, 텍스트 문제에서 강력한 이유입니다.

동시에 깊은 모델은 학습이 더 어렵습니다. 층이 많아질수록 오차 신호가 멀리 전달되어야 하고, 조정해야 할 가중치도 많아집니다. 그래서 딥러닝은 단순히 층을 많이 쌓는 기술이 아니라, 잘 쌓고 잘 학습시키는 기술입니다.

이제 자연스럽게 다음 질문이 생깁니다. 신경망이 층을 지나며 만들어 내는 그 표현은 도대체 무엇일까요? 그리고 왜 좋은 표현을 배우는 것이 딥러닝의 핵심일까요?

다음 장에서는 표현 학습이라는 개념을 더 깊이 살펴보겠습니다. 딥러닝이 단순한 예측 기계를 넘어, 데이터를 이해하기 좋은 형태로 바꾸는 기술이라는 사실이 조금 더 선명해질 것입니다.

책 목록

처음 만나는 딥러닝: 신경망에서 Transformer와 LLM까지

전체 목차 보기

이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.

틸노트는 사용자가 AI를 활용해 노트를 쉽게 작성하거나 편집할 수 있는 서비스입니다.

AI 스퀘어 단톡방에 함께해요

AI 활용과 틸노트 사용 팁을 나누는 오픈채팅방입니다. 입장 비밀번호는 tilnote입니다.

참여하기