딥러닝은 종종 마법처럼 보인다. 사진을 보면 고양이를 알아맞히고, 음성을 들으면 문장으로 바꾸고, 긴 문맥을 읽고 답변까지 만든다. 그래서 처음 접하는 사람은 이렇게 생각하기 쉽다. "이건 완전히 새로운 세계 아닌가?" 그런데 한 꺼풀만 벗겨 보면, 신경망은 앞에서 배운 머신러닝의 연장선 위에 있다. 입력을 받고, 예측을 만들고, 틀린 정도를 계산하고, 조금씩 고쳐 나간다. 달라지는 것은 구조의 크기와 표현력이다.
이 장에서는 딥러닝을 복잡한 공식이 아니라 하나의 설계 방식으로 이해해 보자. 퍼셉트론이라는 작은 판단기에서 출발해 여러 층을 가진 신경망으로 확장되는 과정, 활성화 함수가 왜 중요한지, 역전파가 무엇을 하는지, 그리고 딥러닝이 정말 빛나는 순간과 오히려 과한 선택이 되는 순간까지 차근차근 살펴볼 것이다.

선형 모델에서 신경망으로 이어지는 길
앞에서 선형 회귀와 로지스틱 회귀를 배웠다면, 사실 신경망의 입구에 이미 들어와 있었던 셈이다. 두 모델 모두 입력값마다 중요도를 다르게 두고, 그것들을 합쳐 예측을 만든다. 어떤 특성이 더 중요하면 더 큰 가중치를 주고, 덜 중요하면 작은 가중치를 준다. 신경망도 이 기본 생각은 같다.
차이는 한 번에 바로 답을 내느냐, 아니면 중간 단계를 여러 겹 거치며 답을 만들어 내느냐에 있다. 선형 모델은 입력을 받아 곧바로 결과를 만든다. 반면 신경망은 입력을 여러 층으로 통과시키면서 점점 더 추상적인 표현으로 바꾼 뒤 최종 예측을 만든다. 쉽게 말하면, 선형 모델이 "입력에서 바로 답으로" 가는 구조라면, 신경망은 "입력에서 특징을 여러 번 가공한 뒤 답으로" 가는 구조다.
이 차이가 중요해지는 이유는 현실 문제가 대개 그렇게 단순하지 않기 때문이다. 집값처럼 비교적 규칙이 직선에 가깝게 설명되는 문제도 있지만, 이미지, 음성, 문장처럼 패턴이 겹겹이 숨어 있는 데이터는 중간 단계의 표현 학습이 훨씬 중요하다. 신경망은 바로 그 중간 표현을 스스로 만들어 내는 데 강하다.
퍼셉트론: 가장 작은 판단기
신경망을 이해하는 가장 좋은 출발점은 퍼셉트론이다. 퍼셉트론은 아주 단순한 계산 장치다. 여러 입력을 받고, 각 입력에 가중치를 곱해 더한 다음, 어떤 기준을 넘으면 한쪽으로 판단하고 넘지 못하면 다른 쪽으로 판단한다.
예를 들어 이메일이 스팸인지 아닌지를 판단한다고 해 보자. "광고성 단어가 많이 들어 있다", "링크가 많다", "보낸 사람이 낯설다" 같은 입력이 들어온다. 퍼셉트론은 이 신호들을 똑같이 보지 않는다. 어떤 신호는 강하게, 어떤 신호는 약하게 반영한다. 그리고 최종 점수가 일정 기준을 넘으면 스팸이라고 판단한다.
이 구조는 놀랄 만큼 익숙하다. 사실 이것은 매우 단순한 분류기의 모습이다. 입력이 있고, 가중치가 있고, 결과가 있다. 머신러닝 초심자 입장에서는 "신경망"이라는 이름이 거창하게 들리지만, 첫 단위는 생각보다 소박하다. 작은 판단기 하나가 있을 뿐이다.
문제는 퍼셉트론 하나로는 세상을 충분히 설명하기 어렵다는 점이다. 퍼셉트론 하나는 하나의 직선, 혹은 평면 같은 단순한 경계로만 데이터를 나눌 수 있다. 그런데 현실 데이터는 그보다 훨씬 더 구불구불하다. 그래서 등장한 생각이 바로 "작은 판단기를 여러 개 연결해 보자"였다.
층이 쌓이면 무엇이 달라지는가
신경망은 퍼셉트론을 여러 개 모아 층으로 쌓은 구조다. 보통 입력층, 은닉층, 출력층으로 설명한다. 입력층은 데이터를 받아들이는 곳이고, 출력층은 최종 예측을 내놓는 곳이다. 그 사이에 있는 은닉층은 입력을 바로 정답으로 연결하지 않고, 중간 표현으로 바꾸는 역할을 한다.
은닉층이라는 이름은 약간 신비롭게 들리지만, 사실 하는 일은 단순하다. 앞 단계에서 받은 정보를 다시 조합해 새로운 특징을 만든다. 그리고 그 새로운 특징을 다음 층으로 넘긴다. 이 과정이 반복되면 처음에는 매우 원초적이던 입력이 점점 더 문제 해결에 적합한 표현으로 바뀐다.
이미지 분류를 떠올려 보자. 첫 번째 층은 밝기 변화나 가장자리 같은 아주 단순한 패턴에 반응할 수 있다. 그다음 층은 그런 가장자리들을 조합해 모서리나 질감을 포착할 수 있다. 더 깊은 층에서는 귀 모양, 눈 주변의 형태, 얼굴의 배치처럼 더 복잡한 특징이 만들어질 수 있다. 마지막에는 "이 이미지는 고양이다" 같은 예측으로 이어진다.
중요한 점은 사람이 일일이 "귀 모양 특징", "수염 특징", "눈 모양 특징"을 손으로 정의하지 않아도 된다는 것이다. 전통적인 머신러닝에서는 좋은 성능을 위해 사람이 특성을 잘 만들어 주는 일이 매우 중요했다. 반면 신경망은 충분한 데이터와 적절한 학습 과정을 통해 그런 중간 특징을 스스로 찾아낸다. 딥러닝의 강력함은 여기서 나온다.
층이 많아진다는 것은 단순히 계산을 많이 한다는 뜻이 아니다. 표현을 더 여러 단계로 나누어 학습한다는 뜻이다. 그래서 "깊다"는 말은 숫자 자랑이 아니라, 문제를 여러 수준의 표현으로 분해해 처리할 수 있다는 의미에 가깝다.
활성화 함수: 선을 꺾어 주는 장치
그런데 여기서 중요한 질문이 하나 생긴다. 층을 여러 개 쌓기만 하면 정말 복잡한 문제를 풀 수 있을까? 의외로 그렇지 않다. 만약 각 층이 단순한 선형 변환만 반복한다면, 아무리 많이 쌓아도 전체적으로는 결국 하나의 큰 선형 변환과 크게 다르지 않다. 겉으로는 깊어 보여도 실제 표현력은 생각보다 제한적이다.
이때 필요한 것이 활성화 함수다. 활성화 함수는 각 층의 출력을 살짝 비틀고 꺾어 주는 장치다. 이 장치가 들어가야 모델이 비선형 관계를 표현할 수 있다. 비선형이라는 말이 어렵게 들릴 수 있지만, 쉽게 말하면 "직선 하나로는 설명할 수 없는 복잡한 패턴"을 다룰 수 있게 된다는 뜻이다.
예를 들어 고객 이탈을 예측한다고 해 보자. 사용 시간은 길지만 최근 불만 접수가 급증한 고객, 결제 금액은 낮지만 방문 빈도는 매우 높은 고객, 특정 이벤트 이후 행동이 갑자기 달라진 고객은 단순한 직선 경계로 나누기 어렵다. 여러 조건이 겹치면서 결과가 달라진다. 활성화 함수는 이런 복합적인 관계를 표현할 수 있게 도와준다.
비유하면 이렇다. 선형 모델은 종이 위에 자를 대고 한 번에 선을 긋는 방식이다. 반면 활성화 함수가 들어간 신경망은 종이를 여러 번 접고 펼치며 경계를 만든다. 그래서 더 복잡한 모양으로 데이터를 구분할 수 있다.
실무에서는 ReLU 같은 활성화 함수가 널리 쓰인다. 이름은 낯설지만 직관은 간단하다. 너무 작은 신호는 잘라내고, 의미 있는 신호는 통과시키는 방식이다. 덕분에 학습이 비교적 안정적이고 계산도 효율적이다. 중요한 것은 특정 함수의 이름을 외우는 것이 아니라, 활성화 함수가 신경망에 "표현력의 굴곡"을 추가한다는 사실을 이해하는 것이다.
은닉층은 무엇을 배우는가
신경망을 처음 배울 때 가장 헷갈리는 대목 중 하나는 은닉층이 정확히 무엇을 배우는지다. 정답부터 말하면, 은닉층은 사람이 보기엔 애매하지만 모델에게는 유용한 중간 표현을 학습한다.
예를 들어 리뷰 감성 분석을 한다고 해 보자. 입력은 단어들이고 출력은 긍정 또는 부정이다. 그런데 모델은 중간에서 단순히 단어를 세는 것 이상을 배울 수 있다. 어떤 은닉 노드는 "강한 칭찬 표현"에 반응할 수 있고, 다른 노드는 "반전 표현"에 민감할 수 있다. 또 다른 노드는 "배송은 나쁘지만 제품은 좋다"처럼 섞인 감정을 구분하는 단서에 반응할 수 있다. 사람은 그것을 명시적으로 설계하지 않았지만, 모델은 예측에 도움이 되는 방향으로 그런 표현을 스스로 만들어 낸다.
이미지에서도 비슷하다. 처음에는 선, 점, 방향처럼 단순한 시각 신호를 보고, 다음 단계에서는 모양, 질감, 배치 같은 더 큰 구조를 파악한다. 즉 은닉층은 "정답을 바로 말하지는 않지만, 정답에 가까워지기 위해 필요한 관찰 방식"을 배운다.
이 개념을 이해하면 신경망이 단지 크기만 큰 블랙박스가 아니라는 점도 보이기 시작한다. 내부가 완전히 투명하다고 말할 수는 없지만, 최소한 어떤 종류의 계산이 쌓이는지는 이해할 수 있다. 입력을 조금씩 더 유용한 표현으로 바꾸어 가는 과정, 그것이 은닉층의 본질이다.
역전파: 누가 얼마나 잘못했는지 거슬러 올라가는 과정
신경망이 예측을 만드는 과정은 앞쪽으로 흐른다. 입력이 들어와 층을 지나고, 마지막에 예측이 나온다. 그런데 학습은 여기서 끝나지 않는다. 예측이 틀렸다면, 이제 모델은 내부의 수많은 가중치를 어떻게 고쳐야 할지 알아야 한다. 이때 사용하는 핵심 아이디어가 역전파다.
역전파를 아주 직관적으로 말하면, "최종 오차의 책임을 뒤쪽에서 앞쪽으로 나누어 묻는 과정"이다.
어떤 학생이 팀 프로젝트 발표를 망쳤다고 생각해 보자. 결과만 보고 "팀 전체가 잘못했다"라고 말하면 다음 발표에서 무엇을 고쳐야 할지 알 수 없다. 발표 자료가 문제였는지, 발표 순서가 꼬였는지, 핵심 메시지가 약했는지, 질의응답이 불안했는지를 따져 봐야 한다. 그래야 각 부분을 얼마나 고쳐야 할지 판단할 수 있다.
신경망도 비슷하다. 최종 예측이 틀렸을 때, 출력층만 탓해서는 충분하지 않다. 그 오차가 그 이전 층의 어떤 연결 때문이었는지, 더 앞단의 어떤 가중치가 잘못된 방향으로 영향을 주었는지 거슬러 올라가며 계산해야 한다. 역전파는 바로 그 책임 분배를 체계적으로 수행한다.
이 과정을 통해 각 가중치는 질문을 받는다. "너를 조금 키우거나 줄이면 최종 오차가 얼마나 달라지지?" 오차에 큰 영향을 준 가중치는 더 많이 수정하고, 영향이 작은 가중치는 덜 수정한다. 그리고 이런 미세한 조정을 수없이 반복하면서 모델은 점점 더 나은 예측을 하게 된다.
여기서 중요한 것은 역전파를 수학 공식으로 외우는 것이 아니다. 핵심은 신경망이 무작정 값을 흔들어 보는 것이 아니라, 오차가 어디서 얼마나 생겼는지를 계산해 효율적으로 수정한다는 점이다. 그래서 층이 많아도 학습이 가능해진다.
학습은 정답 암기가 아니라 조정의 반복이다
신경망은 한 번에 똑똑해지지 않는다. 처음에는 가중치가 거의 무작위이기 때문에 엉뚱한 답을 많이 낸다. 하지만 데이터를 보고, 예측하고, 틀린 정도를 계산하고, 역전파로 가중치를 수정하는 과정을 반복하면서 점차 패턴을 익힌다.
이 과정을 보면 신경망은 어떤 의미에서 거대한 조정 기계다. 정답을 외우는 것이 아니라, 수많은 연결의 세기를 조금씩 바꾸면서 입력과 출력 사이의 관계를 맞춰 간다. 그래서 학습률, 배치 크기, 에폭 같은 훈련 설정이 중요해진다. 한 번에 너무 크게 고치면 불안정해지고, 너무 작게 고치면 진도가 느리다. 너무 적게 데이터를 보고 멈추면 충분히 배우지 못하고, 너무 오래 학습하면 훈련 데이터에 과하게 맞춰질 수 있다.
이 지점에서 앞 장의 과적합과 일반화 이야기가 그대로 연결된다. 딥러닝이라고 해서 과적합에서 자유로운 것은 아니다. 오히려 표현력이 강한 만큼 데이터가 부족하거나 관리가 부실하면 더 쉽게 훈련 데이터에 과하게 적응할 수 있다. 모델이 커질수록 성능이 늘어날 가능성도 커지지만, 동시에 통제의 중요성도 커진다.
딥러닝이 강한 이유
그렇다면 왜 많은 현대 시스템이 신경망, 특히 딥러닝을 중심에 두고 있을까. 이유는 명확하다. 신경망은 복잡한 원시 데이터를 직접 다루면서도 유용한 표현을 스스로 학습하는 데 매우 강하기 때문이다.
특히 다음과 같은 상황에서 딥러닝의 장점이 크게 드러난다.
이미지, 음성, 텍스트처럼 패턴이 매우 복잡하고 사람이 특성을 일일이 설계하기 어려운 경우
데이터 양이 많고, 학습을 위한 계산 자원을 어느 정도 확보할 수 있는 경우
단순한 규칙 하나보다 여러 수준의 표현을 학습해야 성능이 올라가는 경우
예를 들어 이미지 분류에서는 픽셀 하나하나를 사람이 해석 가능한 규칙으로 바꾸는 것이 거의 불가능하다. 텍스트도 마찬가지다. 문맥, 단어 순서, 표현의 뉘앙스, 숨은 의도까지 고려해야 한다. 이런 문제는 특성을 사람이 손으로 만드는 것보다 모델이 스스로 표현을 학습하게 하는 쪽이 훨씬 유리하다.
또한 딥러닝은 사전학습과 전이학습의 힘도 크다. 대규모 데이터로 미리 학습된 모델을 가져와 내 문제에 맞게 조정하면, 처음부터 모든 것을 새로 배우지 않아도 된다. 이것이 최근 몇 년간 딥러닝이 더 강력하게 느껴지는 이유 중 하나다. 좋은 출발점이 이미 준비되어 있기 때문이다.
딥러닝이 항상 정답은 아닌 이유
하지만 여기서 한 가지 균형 감각이 필요하다. 딥러닝은 강력하지만, 모든 문제에 자동으로 최선은 아니다. 때로는 지나치게 비싼 선택이고, 때로는 불필요하게 복잡한 선택이다.
첫째, 데이터가 적으면 신경망의 장점이 충분히 살아나지 않을 수 있다. 신경망은 많은 표현을 학습할 수 있지만, 그만큼 배울 재료도 필요하다. 표 형식 데이터가 적고 특성이 비교적 명확한 문제에서는 그라디언트 부스팅이나 랜덤 포레스트 같은 모델이 더 빠르고 안정적으로 좋은 성능을 내는 경우가 많다.
둘째, 계산 비용이 크다. 학습 시간도 길고, 운영 시 추론 비용도 무시하기 어렵다. 서비스에 넣었을 때 지연 시간이 중요한지, GPU 같은 자원이 필요한지, 요청량이 많을 때 비용이 감당 가능한지를 따져야 한다. 노트북에서 멋지게 돌아가는 모델이 운영 환경에서는 부담이 될 수 있다.
셋째, 해석 가능성이 중요할 때는 더 신중해야 한다. 신용 심사, 의료 판단 보조, 공공 서비스처럼 "왜 이런 예측이 나왔는가"가 중요한 영역에서는 단순히 정확도만 보고 모델을 고르기 어렵다. 설명 가능성, 감사 가능성, 책임 소재까지 고려해야 한다.
넷째, 문제 자체가 복잡한 표현 학습을 요구하지 않을 수도 있다. 예를 들어 고객의 나이, 가입 기간, 최근 결제 여부, 사용 빈도처럼 구조화된 표 데이터 몇 개로 충분히 설명되는 문제라면, 깊은 신경망이 반드시 유리하지 않다. 이런 경우에는 더 단순한 모델이 더 잘 작동하고, 운영도 쉬울 수 있다.
좋은 실무자는 최신 모델을 무조건 선택하는 사람이 아니라, 문제의 구조에 맞는 모델을 고르는 사람이다. 딥러닝을 안다는 것은 "늘 딥러닝을 쓴다"는 뜻이 아니라, "언제 써야 하고 언제 안 써야 하는지 판단할 수 있다"는 뜻에 가깝다.
신경망을 보는 실전 감각
초심자에게 신경망은 종종 두 가지 극단으로 보인다. 하나는 모든 것을 해결하는 만능 도구이고, 다른 하나는 너무 복잡해서 손댈 수 없는 블랙박스다. 둘 다 정확하지 않다.
신경망은 결국 몇 가지 질문으로 바라보면 훨씬 현실적으로 이해할 수 있다. 입력은 무엇인가? 중간 표현은 어떤 방향으로 더 유용해지는가? 출력은 무엇을 예측하는가? 오차는 어떻게 계산하는가? 그 오차가 내부 연결을 어떻게 수정하게 만드는가? 이 흐름을 붙잡으면 모델의 종류가 달라져도 큰 틀은 흔들리지 않는다.
예를 들어 이미지 모델이든, 텍스트 모델이든, 시계열 모델이든 본질은 비슷하다. 입력을 받고, 여러 층을 지나며 더 유용한 표현으로 바꾸고, 최종 예측을 만들고, 틀린 만큼 거꾸로 수정한다. 구조의 디테일은 달라도 학습의 철학은 같다. 그래서 신경망의 기본 구조를 이해하면 현대 머신러닝의 많은 모델을 하나의 공통된 틀 안에서 볼 수 있게 된다.
이 관점은 앞으로 더 중요해진다. 다음 장에서 다룰 이미지, 텍스트, 시계열 데이터는 겉으로는 서로 전혀 달라 보이지만, 신경망이라는 공통 언어 위에서 연결된다. 데이터의 형태가 달라질 뿐, 표현을 학습하고 예측으로 이어지는 흐름은 계속된다.
이 장의 핵심 정리
신경망은 완전히 새로운 마법이 아니라, 선형 모델의 아이디어를 더 깊고 유연하게 확장한 구조다. 퍼셉트론은 가장 작은 판단기이고, 이것들이 여러 층으로 쌓이면서 복잡한 패턴을 표현할 수 있게 된다. 활성화 함수는 단순한 직선 관계를 넘어서는 굴곡을 만들어 주고, 역전파는 최종 오차의 책임을 각 가중치에 나누어 학습을 가능하게 만든다.
딥러닝이 강한 이유는 중간 표현을 스스로 학습한다는 데 있다. 그래서 이미지, 텍스트, 음성처럼 사람이 특성을 직접 설계하기 어려운 문제에서 큰 힘을 발휘한다. 하지만 데이터가 적거나, 계산 비용이 부담되거나, 해석 가능성이 더 중요한 상황에서는 다른 모델이 더 적합할 수 있다.
결국 중요한 것은 이름이 아니라 구조를 보는 눈이다. 신경망을 이해한다는 것은 층, 표현, 오차, 수정의 흐름을 이해한다는 뜻이다. 이 흐름을 손에 넣으면, 딥러닝은 더 이상 막연한 유행어가 아니라 현대 머신러닝을 읽는 기본 문법이 된다.
이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.
