Skip to main content
Summary

신경망과 Transformer를 이해하는 가장 쉬운 길.

딥러닝을 처음 만날 때 많은 사람은 비슷한 느낌을 받습니다. 어디선가 들어본 단어는 많습니다. 신경망, 가중치, 손실 함수, 경사하강법, 역전파, GPU, CNN, RNN, Attention, Transformer, LLM. 그런데 이 단어들이 머릿속에서 하나의 길로 이어지지 않습니다. 마치 부품은 잔뜩 있는데 조립 설명서가 없는 상자를 받은 기분입니다.

이 책은 그 조립 설명서가 되기 위해 쓰였습니다. 목표는 단순히 딥러닝 용어를 외우는 것이 아닙니다. 모델이 예측하고, 틀리고, 그 틀린 정도를 계산하고, 어느 부분을 얼마나 고쳐야 하는지 찾아 다시 예측하는 과정을 손으로 만지듯 이해하는 것입니다. 이 감각이 생기면 신경망은 더 이상 검은 상자가 아닙니다. 그리고 그 위에 세워진 Transformer와 LLM도 갑자기 낯선 괴물이 아니라, 여러 기본 원리가 정교하게 조립된 구조물로 보이기 시작합니다.

프롤로그: 왜 머신러닝은 딥러닝으로 확장되었나

컴퓨터에게 규칙을 알려주던 시대

전통적인 프로그래밍은 사람이 규칙을 쓰는 방식입니다. 예를 들어 온도가 30도보다 높으면 "덥다"라고 표시하고, 비밀번호가 맞으면 로그인시키고, 장바구니 금액이 일정 금액을 넘으면 무료 배송을 적용합니다. 이런 문제는 규칙이 비교적 분명합니다. 사람이 조건을 생각해낼 수 있고, 그 조건을 코드로 옮기면 됩니다.

하지만 세상에는 규칙으로 쓰기 어려운 문제가 훨씬 많습니다. 고양이 사진을 보고 고양이라고 판단하는 일은 사람에게는 쉽지만, 이를 코드로 직접 쓰려고 하면 금방 막힙니다. "귀가 뾰족하면 고양이"라고 할 수 있을까요? 접힌 귀를 가진 고양이도 있습니다. "수염이 있으면 고양이"라고 하면 개나 호랑이도 걸립니다. "눈이 두 개면 고양이"라는 규칙은 더 말이 안 됩니다. 사진 속 고양이는 옆모습일 수도 있고, 어두운 곳에 있을 수도 있고, 털 색도 제각각입니다.

음성 인식도 마찬가지입니다. 같은 "안녕하세요"라도 사람마다 목소리가 다르고, 말하는 속도가 다르고, 주변 소음도 다릅니다. 텍스트 역시 복잡합니다. "이 영화 미쳤다"라는 문장은 상황에 따라 극찬일 수도 있고 혹평일 수도 있습니다. 사람이 보기에는 문맥으로 이해하지만, 컴퓨터에게는 그 문맥을 규칙으로 전부 적어주는 일이 거의 불가능에 가깝습니다.

이 지점에서 중요한 질문이 등장합니다. 사람이 규칙을 직접 쓰기 어렵다면, 컴퓨터가 데이터에서 규칙을 찾아내게 할 수는 없을까?

머신러닝은 규칙 대신 예시에서 배운다

머신러닝은 이 질문에서 출발합니다. 전통적인 프로그래밍이 "규칙과 입력을 넣으면 출력이 나온다"에 가깝다면, 머신러닝은 "입력과 정답 예시를 많이 보여주면 규칙 비슷한 것을 스스로 찾아낸다"에 가깝습니다.

예를 들어 스팸 메일 분류기를 만든다고 해봅시다. 사람이 모든 스팸 규칙을 직접 쓰는 대신, 스팸 메일과 정상 메일 예시를 많이 모읍니다. 그러면 모델은 어떤 단어가 자주 등장하는지, 어떤 표현이 의심스러운지, 제목과 본문에 어떤 패턴이 있는지 통계적으로 배웁니다. 이후 새로운 메일이 들어오면 "이 메일은 스팸일 가능성이 높다"라고 예측합니다.

이 방식은 강력했습니다. 규칙을 전부 손으로 쓰지 않아도 되었기 때문입니다. 데이터가 많아질수록 모델은 사람이 일일이 적기 어려운 패턴을 포착할 수 있었습니다. 그래서 머신러닝은 검색, 추천, 광고, 금융 사기 탐지, 의료 데이터 분석 같은 분야에서 빠르게 쓰이기 시작했습니다.

하지만 전통적인 머신러닝에도 큰 숙제가 있었습니다. 바로 특징을 사람이 설계해야 한다는 점입니다.

여기서 특징이란 모델이 판단에 사용하는 단서입니다. 집값을 예측한다면 면적, 방 개수, 역과의 거리, 건축 연도 같은 값이 특징이 됩니다. 스팸 메일을 분류한다면 특정 단어의 등장 횟수, 링크 개수, 발신자 정보 등이 특징이 될 수 있습니다. 문제는 이미지, 음성, 텍스트처럼 복잡한 데이터에서는 좋은 특징을 사람이 직접 고르기가 매우 어렵다는 데 있습니다.

사진 한 장은 수많은 픽셀로 이루어져 있습니다. 그 픽셀 숫자들을 그대로 보면 컴퓨터에게는 밝기 값의 거대한 표일 뿐입니다. 어디가 눈이고, 어디가 귀이고, 어디가 배경인지 처음부터 알지 못합니다. 음성도 공기의 떨림을 숫자로 바꾼 긴 신호입니다. 텍스트도 단어의 나열이지만, 단어의 의미와 문맥은 표면보다 훨씬 깊은 곳에 있습니다.

전통적인 머신러닝에서는 사람이 먼저 데이터를 관찰하고, 모델이 잘 배울 수 있도록 특징을 가공해야 했습니다. 이를 특징 공학이라고 부릅니다. 특징 공학은 매우 중요하고 여전히 쓸모가 있지만, 복잡한 데이터에서는 한계가 분명했습니다. 결국 사람은 이런 고민을 하게 됩니다. 특징까지도 모델이 스스로 배울 수는 없을까?

딥러닝은 특징을 데이터에서 배운다

딥러닝의 핵심은 여기에 있습니다. 딥러닝은 사람이 특징을 하나하나 설계하는 대신, 신경망이 데이터로부터 유용한 표현을 스스로 학습하게 합니다. 표현이란 데이터를 모델이 이해하기 좋은 형태로 바꾼 결과입니다.

이미지 모델을 생각해봅시다. 처음에는 단순한 밝기 차이나 선의 방향 같은 낮은 수준의 패턴을 배울 수 있습니다. 층이 깊어지면 모서리, 질감, 눈, 코, 바퀴, 날개 같은 더 의미 있는 조합을 배웁니다. 더 깊은 층에서는 "고양이답다", "자동차답다", "새답다" 같은 판단에 가까운 표현이 만들어집니다. 물론 모델이 사람처럼 말로 설명하며 배우는 것은 아니지만, 숫자들의 조합 속에 그런 구분 능력이 생깁니다.

이 점이 중요합니다. 딥러닝에서 층을 쌓는다는 것은 단순히 계산을 많이 한다는 뜻이 아닙니다. 원시 데이터에서 시작해 점점 더 추상적인 표현을 만들어간다는 뜻입니다. 픽셀에서 선으로, 선에서 형태로, 형태에서 대상으로 올라가는 과정입니다. 텍스트라면 문자나 토큰에서 시작해 단어의 쓰임, 문장 안의 관계, 문맥 속 의미로 나아갑니다.

그래서 딥러닝은 특히 이미지, 음성, 텍스트에서 강력해졌습니다. 이 세 종류의 데이터는 사람이 규칙을 쓰기 어렵고, 좋은 특징을 직접 설계하기도 어렵습니다. 대신 데이터가 풍부하고, 패턴이 여러 층으로 숨어 있습니다. 신경망은 이런 숨어 있는 패턴을 여러 단계로 압축하고 변환하면서 학습합니다.

딥러닝이 마법처럼 작동한다는 뜻은 아닙니다. 딥러닝 모델도 결국 숫자를 계산합니다. 입력을 받고, 가중치를 곱하고, 편향을 더하고, 활성화 함수를 지나 다음 층으로 보냅니다. 마지막에는 예측을 만들고, 그 예측이 얼마나 틀렸는지 손실로 계산합니다. 그리고 그 손실을 줄이는 방향으로 가중치를 조금씩 바꿉니다. 이 단순한 반복이 충분한 데이터, 충분한 계산 자원, 잘 설계된 구조와 만나면서 놀라운 결과를 냅니다.

딥러닝의 학습은 '틀리고 고치는' 과정이다

이 책 전체를 관통하는 가장 중요한 문장은 이것입니다. 모델은 틀리면서 배웁니다.

처음부터 똑똑한 모델은 없습니다. 처음 신경망의 가중치는 대체로 무작위에 가깝습니다. 그래서 처음 예측은 엉성합니다. 손글씨 숫자 7을 보고 2라고 할 수도 있고, 고양이 사진을 보고 자동차라고 할 수도 있습니다. 여기까지는 괜찮습니다. 중요한 것은 그다음입니다.

모델은 자신의 예측이 정답과 얼마나 다른지 계산합니다. 이 값을 손실이라고 부릅니다. 손실은 모델이 얼마나 못하고 있는지를 나타내는 점수입니다. 손실이 크면 많이 틀렸다는 뜻이고, 손실이 작으면 정답에 가까워졌다는 뜻입니다.

그다음 모델은 질문합니다. "어느 가중치가 이 오차에 얼마나 영향을 줬을까?" 이 질문에 답하는 과정이 역전파입니다. 역전파는 결과 쪽에서 출발해 앞쪽 층으로 거슬러 올라가며, 각 가중치를 어느 방향으로 얼마나 고쳐야 손실이 줄어드는지 계산합니다. 그리고 경사하강법 같은 최적화 방법이 그 정보를 이용해 가중치를 조금씩 수정합니다.

흐름은 단순합니다.

  • 모델이 예측한다.

  • 틀린 정도를 손실로 계산한다.

  • 어느 가중치가 오차에 얼마나 영향을 줬는지 살핀다.

  • 가중치를 조금씩 수정한다.

  • 이 과정을 반복한다.

딥러닝을 어렵게 느끼는 이유는 이 과정에 수식과 코드가 붙기 때문입니다. 하지만 뼈대는 위와 같습니다. 예측하고, 틀리고, 원인을 추적하고, 고치고, 다시 예측합니다. 이 감각을 놓치지 않으면 앞으로 만날 모든 개념이 훨씬 쉬워집니다.

왜 지금 Transformer와 LLM까지 이어져야 하는가

요즘 많은 사람이 인공지능을 LLM으로 처음 만납니다. 질문을 입력하면 모델이 답하고, 글을 요약하고, 코드를 작성하고, 대화를 이어갑니다. 겉으로 보면 마치 언어를 이해하는 존재처럼 보입니다. 그래서 LLM을 배우려는 사람은 흔히 토큰화, 프롬프트, 파인튜닝 같은 주제부터 접합니다.

물론 그것들도 중요합니다. 하지만 LLM을 제대로 이해하려면 그 아래층을 보아야 합니다. LLM은 갑자기 하늘에서 떨어진 기술이 아닙니다. 신경망, 임베딩, 손실 함수, 역전파, 최적화, Attention, Transformer가 긴 시간 쌓여 만들어진 결과입니다.

토큰화는 문장을 모델이 다룰 수 있는 조각으로 나누는 일입니다. 하지만 토큰을 숫자로 바꾼 뒤, 그 숫자가 어떻게 의미를 담는 벡터가 되는지 이해하려면 임베딩을 알아야 합니다. 임베딩이 왜 비슷한 의미를 가까운 공간에 놓을 수 있는지 이해하려면 표현 학습의 감각이 필요합니다. Transformer가 문장 속 단어들이 서로를 참고하며 문맥을 만드는 방식을 이해하려면 Attention을 알아야 합니다. Attention이 학습될 수 있다는 사실을 받아들이려면 역전파와 최적화가 필요합니다.

결국 LLM은 딥러닝 위에 세워져 있습니다. 거대한 모델 크기와 방대한 데이터가 눈에 띄지만, 내부에서 계속 반복되는 기본 원리는 이 책 초반에 배울 내용과 연결되어 있습니다. 예측하고, 손실을 계산하고, 가중치를 고치고, 더 나은 표현을 학습합니다.

이 책이 머신러닝과 LLM 사이의 연결권을 자처하는 이유가 여기에 있습니다. 우리는 곧바로 거대한 언어 모델의 표면으로 뛰어들지 않을 것입니다. 먼저 작은 신경망을 이해하고, 직접 만들어보고, 학습이 실제로 어떻게 진행되는지 살펴볼 것입니다. 그런 다음 이미지와 텍스트 모델을 지나 임베딩과 Attention으로 넘어갑니다. 마지막에는 Transformer 블록의 기본 구조를 보며 LLM의 뼈대를 확인할 것입니다.

이 책에서 걷게 될 길

첫 번째 여정은 신경망의 기본 구조입니다. 뉴런, 가중치, 편향, 활성화 함수, 층을 쌓는다는 것의 의미를 차근차근 살펴봅니다. 여기서는 신경망을 거대한 공식 덩어리로 보지 않고, 입력을 조금씩 변환해 더 쓸모 있는 표현을 만드는 장치로 바라볼 것입니다.

두 번째 여정은 학습의 원리입니다. 손실 함수, 경사하강법, 미분, 역전파, 학습률, 배치, 에폭, 최적화 알고리즘을 배웁니다. 이 부분이 이 책의 심장입니다. 특히 역전파는 끝까지 직관을 놓치지 않고 설명할 것입니다. 역전파를 이해하면 딥러닝의 많은 개념이 하나로 연결됩니다.

세 번째 여정은 PyTorch입니다. 텐서를 이해하고, 자동 미분을 사용하고, 데이터셋과 데이터로더를 다루며, 직접 학습 루프를 만듭니다. 라이브러리가 모든 것을 대신해주는 것처럼 보여도, 그 안에서 무슨 일이 일어나는지 알고 쓰는 것과 모르고 쓰는 것은 완전히 다릅니다.

네 번째 여정은 모델 만들기입니다. MLP로 숫자를 분류하고, CNN으로 이미지를 다루고, RNN으로 순서 데이터를 이해하고, 텍스트 분류 모델과 임베딩 레이어를 살펴봅니다. 여기서 우리는 데이터의 종류에 따라 모델 구조가 왜 달라지는지 경험하게 됩니다.

다섯 번째 여정은 좋은 모델을 만드는 방법입니다. 과적합, 정규화, 드롭아웃, 배치 정규화, 하이퍼파라미터 튜닝, GPU, 모델 디버깅을 다룹니다. 모델을 만든다는 것은 코드를 실행하는 것으로 끝나지 않습니다. 잘 배우고 있는지, 엉뚱한 것을 외우고 있지는 않은지, 어디서 문제가 생겼는지 살피는 과정이 필요합니다.

마지막 여정은 Transformer로 가는 길입니다. RNN의 한계를 살펴보고, Attention이 왜 등장했는지 이해한 뒤, Self-Attention과 Transformer 블록을 배웁니다. 그리고 LLM이 딥러닝 위에 어떻게 세워지는지 큰 그림을 정리합니다.

작은 신경망에서 거대한 언어 모델까지

딥러닝은 처음 보면 너무 커 보입니다. 특히 LLM은 더욱 그렇습니다. 수많은 파라미터, 거대한 데이터셋, 복잡한 학습 과정, 막대한 계산 자원이 등장합니다. 이런 세계를 처음부터 전부 이해하려 하면 압도당하기 쉽습니다.

하지만 작은 신경망 하나를 직접 만들어보면 상황이 달라집니다. 입력 숫자가 들어오고, 가중치와 곱해지고, 예측이 나오고, 손실이 계산되고, 기울기가 거꾸로 흘러가고, 가중치가 수정됩니다. 이 흐름을 한 번 손에 익히면 모델이 커져도 기본 골격은 보입니다. MLP도, CNN도, RNN도, Transformer도 각자의 방식으로 데이터를 표현하고 예측하며 손실을 줄입니다.

물론 Transformer에는 특별한 아이디어가 있습니다. 특히 Attention은 문장 안의 어떤 부분을 더 중요하게 볼지 계산하는 강력한 방법입니다. "나는 사과를 먹었다. 그것은 달콤했다"라는 문장에서 "그것"이 무엇을 가리키는지 알려면 앞의 단어들과 관계를 맺어야 합니다. Attention은 이런 관계를 숫자로 계산하는 장치입니다. 하지만 그 Attention의 가중치 역시 학습됩니다. 다시 말해 Transformer도 예측하고, 틀리고, 고치는 딥러닝의 큰 흐름 안에 있습니다.

그래서 우리는 서두르지 않을 것입니다. 기초를 건너뛰고 LLM으로 달려가면 용어는 많이 알게 되지만 구조는 흐릿하게 남습니다. 반대로 신경망과 학습 원리를 먼저 이해하면 LLM을 볼 때 "아, 이것도 결국 표현을 만들고, 손실을 줄이고, 문맥을 계산하는 신경망이구나"라는 감각이 생깁니다.

딥러닝을 배운다는 것

딥러닝을 배운다는 것은 단지 최신 기술을 따라잡는 일이 아닙니다. 데이터를 보는 방식을 바꾸는 일입니다. 예전에는 사람이 규칙을 만들고 컴퓨터가 그대로 실행했습니다. 머신러닝은 데이터에서 패턴을 찾기 시작했습니다. 딥러닝은 더 나아가, 어떤 특징을 봐야 하는지조차 데이터에서 배우게 했습니다.

이 변화는 작지 않습니다. 이미지에서 물체를 알아보고, 음성에서 말을 인식하고, 텍스트에서 의미를 파악하는 문제는 모두 "어떤 표현을 만들 것인가"의 문제입니다. 딥러닝은 이 표현을 학습하는 강력한 방법을 제공합니다. 그리고 LLM은 그 표현 학습이 언어라는 거대한 세계에서 얼마나 멀리 갈 수 있는지 보여주는 사례입니다.

이 책의 시작점은 작습니다. 뉴런 하나, 가중치 하나, 손실 값 하나에서 출발합니다. 하지만 그 작은 조각들이 모이면 신경망이 되고, 신경망이 깊어지면 표현을 배우며, 표현이 정교해지면 이미지와 텍스트를 다룰 수 있습니다. 그리고 마침내 우리는 Attention과 Transformer를 통해 LLM의 내부 구조를 바라보게 됩니다.

이제 첫 번째 질문으로 들어가 봅시다. 신경망은 무엇일까요? 컴퓨터가 데이터를 통해 배운다는 말은 정확히 무엇을 뜻할까요? 다음 장에서는 딥러닝의 가장 기본 단위인 신경망을 아주 천천히 펼쳐보겠습니다.

책 목록

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

전체 목차 보기

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

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

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

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

참여하기