기계학습2 : 딥러닝 동작에 대한 당신이 몰랐던 3가지 진실
우리는 종종 인공지능(AI)과 딥러닝을 이야기할 때, 복잡하고 신비로운 '인공 두뇌'나 누구도 속을 들여다볼 수 없는 '블랙박스'를 떠올린다. 마치 마법처럼 데이터를 이해하고 미래를 예측하는 기계의 이미지는 경이롭지만, 동시에 그 작동 원리에 대해 막연한 거리감을 느끼게 한다.
하지만 이 글을 통해 그 블랙박스의 뚜껑을 열어보면, 그 안에는 사실 매우 우아하고 직관적인 원리들이 숨어있음을 발견하게 될 것이다. 딥러닝의 핵심을 관통하는 가장 놀랍고 통찰력 있는 3가지 아이디어를 소개한다.
이 글을 다 읽고 나면, 당신은 더 이상 딥러닝을 마법이 아닌, 강력하고 이해 가능한 도구로 바라보게 될 것이다.
1. 신경망은 '생각'하는 것이 아니라, 데이터를 '기하학적으로 변형'시킨다
딥러닝의 첫 번째 놀라운 진실은 신경망이 인간처럼 논리적 추론이나 '생각'을 하는 것이 아니라는 점이다. 신경망의 모든 연산은 본질적으로 입력 데이터를 기하학적 공간 안에서 끊임없이 변형시키는 작업에 가깝다.
그렇다면 데이터에 '기하학적 변환'을 적용한다는 것은 대체 무슨 의미일까? 딥러닝에서 사용되는 모든 데이터는 숫자로 이루어진 '텐서(tensor)'라는 다차원 배열로 표현된다. 그리고 신경망이 수행하는 연산은 이 텐서 좌표계에 대한 기하학적 조작으로 해석할 수 있다.
- 텐서 덧셈 (+): 데이터 포인트를 특정 방향으로 그대로 이동(translation)시킨다. 객체의 모양은 변하지 않고 위치만 바뀐다.
- 텐서 곱셈 (점곱): 데이터를 특정 축을 중심으로 회전(rotation)시키거나, 특정 방향으로 크기를 변경(scaling)한다.
핵심은 '어파인 변환'과 '비선형성'
신경망의 가장 기본적인 구성 요소인 Dense 층은 이러한 회전, 크기 변경(선형 변환)과 이동을 결합한 어파인 변환(affine transform)을 수행한다. 쉽게 말해, 데이터를 고무찰흙처럼 주무르며 원하는 모양으로 바꾸는 과정이다. $y = W \cdot x + b$라는 단순한 수식이 바로 이 변환을 나타낸다.
이 기하학적 관점은 매우 중요하다. 딥러닝을 '생각하는 기계'가 아닌 '고차원 데이터의 복잡한 구조(매니폴드)를 다루는 기하학적 도구'로 이해할 때, 우리는 그 작동 원리를 훨씬 명확하게 파악할 수 있다.
주의할 점이 있다. 단순히 선형 변환만 쌓아서는 복잡한 문제를 해결할 수 없다. 여러 선형 변환을 겹쳐봤자 결국 하나의 선형 변환에 불과하기 때문이다. 여기에 '활성화 함수(Activation Function)' - (음수만 0으로 만드는 Relu 같은거)라는 비선형 변환이 더해지면서 딥러닝은 비로소 데이터를 자유자재로 비틀고 꺾을 수 있는 강력한 표현력을 갖추게 된다.
2. 딥러닝의 목표는 '구겨진 종이 공'을 능숙하게 펼치는 것이다
딥러닝의 본질을 가장 잘 설명하는 비유는 바로 '구겨진 종이 공' 이야기다.
빨간색 종이와 파란색 종이가 겹쳐진 채 심하게 구겨져 작은 공 모양이 되었다고 상상해 보자. 여기서 이 종이 공은 우리의 '입력 데이터'이고, 빨간색과 파란색은 우리가 분류하고자 하는 '데이터 클래스'다. 현재 상태에서는 꼬깃꼬깃 뭉쳐 있어 어떤 부분이 빨간색이고 파란색인지 구분하기가 매우 어렵다.
그렇다면 신경망은 이 뒤죽박죽 얽힌 종이 공을 가지고 무엇을 할까? 놀랍게도, 사람이 손으로 하듯 한 겹씩 조심스럽게 펼쳐내는 역할을 한다. 신경망의 목표는 이 구겨진 종이 공을 펴서, 빨간색과 파란색이 깔끔하게 분리되는 평평한 상태로 만드는 '변환'을 찾아내는 것이다.
이 비유는 딥러닝의 작동 방식을 정확하게 묘사한다.
- 각 층(Layer)의 역할: 종이 공을 약간 풀어주는 하나의 간단한 변환 단계다. 복잡한 문제를 한 번에 해결하는 것이 아니라, 아주 단순한 변환을 적용하여 데이터를 조금 더 풀기 쉬운 형태로 만듭니다.
- 깊은 학습(Deep Learning): 이러한 단순한 변환 단계를 여러 겹으로 깊게 쌓음으로써, 아무리 복잡하게 얽히고설킨 데이터라도 점진적으로 풀어낼 수 있는 능력을 갖게 된다.
결국 딥러닝이 하는 일은 고차원 공간에서 복잡하게 꼬여 있는 데이터의 매니폴드(manifold)를 깔끔하게 펼쳐진 형태로 만드는 과정이다.
3. 학습의 엔진은 '경사 하강법'이라는 단순한 반복이다
신경망이 종이 공을 펼쳐야 한다는 건 알았다. 그렇다면 어떻게 '올바르게' 펼치는 방법을 스스로 배울까? 엄청난 지능이 필요할 것 같지만, 그 핵심 엔진은 '경사 하강법(gradient descent)'이라는 놀랍도록 간단한 반복 과정이다.
수백만 개의 변수가 얽힌 신경망에서 수학 방정식을 풀듯 한 번에 정답을 계산하는 것은 불가능하다. 그래서 딥러닝은 훨씬 더 현명하고 점진적인 접근법을 택한다.
딥러닝의 '학습'은 다음 4단계 루프를 수없이 반복하는 것이다.
- 예측 (Forward Pass): 모델이 현재 상태의 가중치(파라미터)를 사용해 입력 데이터에 대한 예측값을 내놓는다.
- 손실 계산 (Loss Computation): 예측이 실제 정답과 얼마나 다른지 '손실(loss)'이라는 점수로 계산한다. 점수가 높을수록 많이 틀렸다는 뜻이다.
- 기울기 계산 (Backward Pass): 손실을 줄이려면 가중치를 어느 방향으로 조절해야 할지 '기울기(gradient)'를 계산한다. 이는 손실이 가장 가파르게 증가하는 방향을 알려준다.
- 가중치 업데이트 (Update): 계산된 기울기의 반대 방향으로 가중치를 아주 조금씩 업데이트한다. 손실이 줄어드는 방향으로 한 걸음 나아가는 것이다.
이 과정은 마치 짙은 안개로 한 치 앞도 보이지 않는 산 정상에서, 오직 발밑의 경사만을 느끼며 가장 가파른 내리막길로 한 걸음씩 하산하는 것과 같다. 이 과정을 수만 번, 수백만 번 반복하면서 모델은 점차 손실이 가장 낮은 지점, 즉 가장 정확한 예측을 하는 최적의 상태를 찾아간다.
결론: 기계가 아닌, 우아한 도구로서의 딥러닝
우리는 이제 딥러닝이라는 블랙박스 안에서 세 가지 진실을 확인했다. 딥러닝은 알 수 없는 미지의 존재가 아니라, 다음과 같은 원리로 작동하는 우아한 수학적 도구다.
- 데이터를 기하학적으로 변형시켜 더 의미 있는 표현을 찾는다.
- 마치 구겨진 종이 공을 펼치듯 복잡하게 얽힌 데이터를 점진적으로 분해한다.
- 경사 하강법이라는 단순한 최적화 과정을 반복하여 스스로 학습한다.
본질을 이해하고 나면, 우리는 더 이상 AI를 막연히 두려워하거나 맹신할 필요가 없다. 대신 그것을 명확하게 이해하고 올바르게 활용할 수 있는 강력한 파트너로 바라볼 수 있다.
마지막으로 스스로에게 질문을 던져보자.
"신경망의 본질이 이토록 우아한 기하학과 단순한 최적화 과정에 있다면, 앞으로 우리는 이 도구를 사용해 세상의 어떤 복잡한 문제들을 '펼쳐' 나갈 수 있을까?"