인공신경망의 탄생
인간은 오랜 시간 동안 혼자서 사고하고 학습하는 ‘생각하는 기계’를 만들고자 했습니다. 이 과정에서 인간의 뇌 구조가 최고의 힌트가 되었고, 자연스럽게 “뇌를 본떠 문제를 푸는 기계”라는 아이디어가 등장했습니다. 바로 이런 발상에서 인공신경망(Artificial Neural Networks, ANNs)이라는 혁신적인 개념이 탄생합니다.

인간의 뇌는 수천억 개의 뉴런(neuron)이 서로 연결되어 방대한 네트워크를 이루고 있습니다.
- 수상돌기(dendrite): 여러 다른 뉴런에서 오는 신호(자극)를 받아들이는 ‘입력 통로’ 역할을 합니다. 각 신호는 수상돌기를 통해 뉴런의 중심부인 세포체로 전달됩니다.
- 시냅스(synapse): 두 뉴런 사이의 연결 부위로, 신호가 전달될 때 ‘강도(중요도)’를 조절하는 곳입니다. 신호의 세기가 강할수록 다음 뉴런에 미치는 영향이 커지고, 약한 신호는 무시되기도 합니다.
- 신경세포체(cell body, soma): 수상돌기를 통해 모인 여러 입력 신호를 모두 합산·처리하여 ‘최종적인 신호의 크기’(활성화 여부)를 결정하는 장치입니다.
- 축삭(axon)과 축삭말단(axon terminal): 세포체에서 결정된 신호(활성화될지 여부)가 빠르게 다음 뉴런으로 전달되는 통로입니다. 축삭말단을 통해 다음 뉴런의 수상돌기로 신호가 이동합니다.
실제 뉴런의 신호 흐름은 하나의 뉴런은 여러 수상돌기로 여러 입력 신호를 simultaneously 받은 후 받은 신호들은 신경세포체에서 종합적으로 합산·처리됩니다. 이 후 축삭 돌기를 따라 신호가 이동해 축삭 말단에서 다음 뉴런의 수상돌기(입력)로 전달됩니다.
인공뉴런의 수학적 모델
인공신경망에서는 이러한 실제 뉴런의 구조와 기능을 그대로 수학적으로 모방합니다.
- 입력값($ x_i $): 실제 뉴런에서 수상돌기를 통해 들어오는 자극 신호에 해당합니다.
- 가중치($ w_i $): 각 입력값에 곱해지는 수치로, 시냅스에서 가해지는 신호의 강도(각 신호가 뉴런 활성화에 미치는 상대적 영향)와 동일합니다.
- 조정값(편향, $ b $): 모든 입력 신호의 가중합에 더해지는 추가적인 값으로, 뉴런의 ‘기본 반응 수준’을 조절합니다.
- 활성화 함수($ f $): 신경세포체에서 받은 입력이 일정 기준(임계값)을 넘으면, 출력을 생성하거나 멈춥니다.

인공뉴런에서는 이 활성화 여부를 결정하는 함수를 통해 출력 신호를 수학적으로 산출합니다. 여기서 $ f $는 활성화 함수로, 입력의 총합이 특정 문턱값(예: 0)을 넘었을 때만 신호가 다음 뉴런으로 전달됩니다.
| 실제 뉴런 구조 | 인공 뉴런의 수학적 요소 | 대응 관계 |
| 수상돌기 | 입력값 ($ x_i $) | 각각의 입력 신호를 받아들이는 곳 |
| 시냅스 | 가중치 ($ w_i $) | 수상돌기마다 신호가 얼마나 중요한지(강도) 결정 |
| 신경세포체 | 가중합 ($ ∑x_i w_i $) + 편향($ b $) | 모든 입력 신호를 합산해, 신호의 총합과 기준치 판단 |
| 임계값/활성화 | 활성화 함수 ($ f $) | 합산된 결과가 특정 기준을 넘으면 신호 출력 |
| 축삭/축삭말단 | 출력값 ($ y $) | 다음 뉴런에게 신호 전달 |
왜 활성화 함수가 필요한가?
인공신경망(ANNs)의 뉴런은 모든 입력 신호에 가중치를 곱하고, 편향을 더해 가중합을 구한 뒤 바로 출력하는 것이 아니라, 반드시 “활성화 함수”를 거쳐 최종 출력 신호가 결정됩니다.
뉴런의 실제 원리를 반영: 실제 생물학적 뉴런도 여러 신호를 종합한 후, 그 합산된 신호가 ‘임계값’을 넘지 못하면 아무런 신호도 생성하지 않습니다. 임계값을 넘으면 활성화(신호 방출)되고, 넘지 못하면 비활성화(신호 없음)됩니다. 인공뉴런 또한 이 원리를 그대로 적용하며, 수학적으로 임계값을 판정하는 것이 바로 '활성화 함수'입니다.
비선형성 도입의 핵심 역할: 만약 활성화 함수가 없다면, 인공뉴런은 단순히 입력의 선형 결합만을 반영하게 되어, 선형 회귀와 다를 바가 없어집니다. 하지만 활성화 함수(특히 비선형 함수)를 도입하면, 신경망은 곡선적·복잡한 패턴까지 학습할 수 있는 강력한 비선형성을 갖게 됩니다. 즉, 실제 데이터의 다양한 구조, 군집, 논리적 결정(예: XOR 문제) 등도 효과적으로 처리할 수 있습니다. 신경망이 선형 모델(회귀모델)의 한계를 넘어서 유연하게, 복잡한 다양한 문제를 다룰 수 있게 된 결정적 이유가 바로 여러 종류의 활성화 함수입니다. 임계값, 구부러진 함수, 점진적으로 변하는 함수 등 여러 수학적 형태를 사용해, 신경망은 분류/예측 뿐만 아니라 패턴 인식, 특성 추출 등 폭넓은 기능을 갖추게 됩니다.
인공뉴런 설계 초기에는, 활성화 함수로 계단 함수(Step Function)를 사용합니다. 계단 함수는 아주 단순하여, 입력 값의 가중합이 특정 임계값을 넘으면 ‘1’, 넘지 않으면 ‘0’을 출력합니다. 이 활성화 함수는 이진 분류에 단순하게 적용됩니다. 임계값을 기준으로 “신호를 출력할지 말지”만 명확히 가르는 역할을 합니다.
** 이진 분류: 주어진 데이터가 두 개의 카테고리(예: 스팸/정상, 질병 유/무 등) 중 어디에 속하는지 예측하는 작업
인공 뉴런의 가장 기초적인 모델: 퍼셉트론
퍼셉트론(Perceptron)은 ‘perception’(지각)과 ‘neuron’(뉴런)의 합성어로, 실제 뇌의 뉴런 기능을 수학적으로 모델링한 인공 뉴런의 가장 단순하고 기초적인 형태입니다. 구조적으로, 퍼셉트론은 입력층과 출력층만 존재하는 단층 구조입니다. 즉, 중간에 추가적인 ‘은닉층’(hidden layer)은 없습니다.

각 입력값 $ x_i $에 대응되는 가중치 $ w_i $를 곱한 뒤 모두 더하고, 여기에 편향(bias, $ b $)을 더합니다. 이 합산 결과에 활성화 함수를 적용해, 최종 출력값(신호)을 산출합니다. 아래와 같은 수식으로 표현됩니다:
$$ output = f(\sum_{i=1}w_ix_i + b) $$
퍼셉트론에는 대표적으로 임계값 기준의 계단 함수가 활성화 함수로 활용됩니다.
퍼셉트론의 한계
단층 퍼셉트론은 입력과 출력 사이의 관계를 직선(또는 초평면) 하나로 나눌 수 있는 문제에만 적용됩니다. 예를 들어, 논리 AND, 논리 OR와 같은 간단한 논리 연산 문제는 모든 데이터 포인트를 직선을 기준으로 정확하게 두 그룹으로 나눌 수 있기 때문에 퍼셉트론으로 완벽히 해결 가능합니다. 즉, 선형 분리(Linear Separability)가 가능한 경우에만 동작합니다. 아래의 그림처럼 입력 점들이 직선(or 초평면) 하나로 깔끔하게 나뉘는 문제만 정확히 분류할 수 있습니다.
** 데이터가 각 클래스별로 겹치지 않고 구분되어 있어 하나의 직선이나 평면으로 두 클래스를 명확하게 분리할 수 있는 경우 선형 분리 가능하다고 합니다.

1950~60년대, 퍼셉트론은 인공뉴런을 이용하여 단순 논리 연산, 기본 분류 문제(AND, OR 등)에 성공적으로 적용되었습니다. 그러나 1969년, Minsky와 Papert의 저서 “Perceptrons”에서는 퍼셉트론이 해결하지 못하는 결정적 한계점이 증명되었습니다. 바로 XOR과 같이 선형적으로 분리되지 않는 비선형 논리 문제는 어떠한 직선(선형 경계)로도 데이터를 완벽히 구분할 수 없다는 점입니다. XOR 문제에서는, 입력값이 각각 0/1에서 1(참)일 때만 output이 1이고, 나머지는 0이므로, 점들을 직선 하나로 둘로 나눌 수 없습니다.
현실 세계의 데이터는 대부분 단순 직선(선형 경계)으로 나뉘지 않고, 곡선적/비선형적(논리적으로 복잡한) 구조를 보입니다. 퍼셉트론 하나만으로는 이런 복잡한 관계와 패턴을 학습하거나 표현할 수 없는 한계가 명확히 존재합니다. 이 한계를 극복하기 위해 제안된 해결책이 바로 "뉴런(퍼셉트론)을 여러 층으로 쌓으면 더 복잡한 구조와 패턴까지도 표현하고 학습할 수 있다"는 아이디어입니다.
다층 퍼셉트론
다층 퍼셉트론(Multi-Layer Perceptron, MLP)은 인공신경망의 핵심 구조로, 기본 퍼셉트론에 은닉층(Hidden Layer)을 하나 이상 추가한 형태입니다.
구조는 다음과 같습니다.
- 입력층(Input Layer): 외부 데이터가 네트워크로 들어오는 첫 단계
- 은닉층(Hidden Layer, 1개 이상): 신경망 내부에서 입력 데이터를 비선형적으로 변환·추상화하는 역할. 층이 여러 개일수록 더 복잡한 특징을 모델링 가능
- 출력층(Output Layer): 네트워크의 최종 결과를 내보냄

이제 입력 데이터는 여러 은닉층을 거치면서, 다수의 비선형 변환(활성화 함수 등)을 반복하여 점점 더 복잡한 특징과 구조를 학습할 수 있습니다. 이를 통해 단층 퍼셉트론으로는 불가능했던 XOR 문제 같은 복잡한 비선형 문제들까지도 이론적으로 해결할 수 있음이 수학적으로 증명되었습니다. 이와 관련된 중요한 이론이 바로 보편적 근사 정리(Universal Approximation Theorem)입니다. 이 정리에 따르면 충분한 수의 은닉층과 뉴런만 있다면, 임의의 연속 함수도 근사할 수 있다는 강력한 가능성을 말해줍니다.
** 보편적 근사 정리(Universal Approximation Theorem):
- 충분한 은닉층과 뉴런: 신경망의 구조가 커지고 복잡해질수록 더 다양한 함수를 잘 흉내 낼 수 있다는 의미입니다.
- 임의의 연속 함수: 예를 들어, 곡선, 꺾임 없는 그래프 등 우리가 수식이나 데이터로 표현 가능한 대부분의 함수입니다.
- 근사 가능: 완벽히 똑같이 만들진 못해도, 원하는 만큼 오차를 줄여서 거의 똑같이 흉내 낼 수 있다는 뜻입니다.
마치 레고 블록을 충분히 많이 쌓으면, 어떤 모양의 구조물도 만들 수 있는 것과 비슷합니다. 신경망의 뉴런(노드)이 레고 블록이고, 블록을 많이 사용하고 유연하게 조합하면 다양한(매우 복잡한) 함수를 만들 수 있습니다.
다층 퍼셉트론의 구조는 실제 생물학적 뇌의 정보처리 방식(여러 계층 차례로 정보를 추상화)과도 아주 유사합니다. 여러 개의 퍼셉트론을 '다층(은닉층 포함)'으로 연결하면, 비선형 결정 경계와 복잡한 데이터 구조도 효과적으로 모델링이 가능해집니다.
** 비선형적 결정경계: 머신러닝에서 두 클래스 이상의 데이터를 구분할 때, 경계가 직선이나 평면 같은 단순한 선형 형태가 아닌 곡선이나 복잡한 형태로 나타나는 경우
다층 퍼셉트론의 학습 알고리즘 부재
단층 퍼셉트론에서는, 단 하나의 출력으로 오차를 바로 계산해 각 입력 가중치를 “얼마나 조정해야 할지” 직접적으로 알 수 있었습니다. 즉, 출력에서 미분을 구해 곧바로 가중치를 업데이트하는 게 매우 쉬웠습니다.
하지만 다층 퍼셉트론에서는, 입력 → 은닉층(여러 층도 가능) → 출력에 이르는 복잡한 경로를 따라 신호가 흐릅니다. 가장 큰 문제는, 최종 출력에서 발생한 오차가 “중간 은닉층의 가중치에는 각각 얼마나 영향을 줄까?”를 수식적으로, 역으로 효율적으로 계산할 공식적 방법이 없었다는 점입니다. 이론적으로 “좋은 가중치 조합”이 존재한다는 건 알지만, 오차를 체계적으로 줄여나갈 방법이나, 각 파라미터가 오차에 미치는 영향을 “효율적이고 자동화된 방식”으로 계산하지 못했습니다.
결국, 사람이 가중치를 하나하나 바꿔보며 시도하거나, 완전 무작위로 맞춰보는 방법밖에 없었습니다.
문제의 규모가 조금만 커져도 가능성의 조합 수는 기하급수적으로 폭발하므로, 현실적인 학습은 사실상 불가능했습니다. 특히, 여러 층을 통과하여 네트워크에서는 은닉층이 깊어질수록, 그 가중치 변화가 최종 오차에 어떻게 반영되는지 효율적으로 미분/역추적하는 공식이 없던 것입니다. 실제로는 퍼셉트론 한계 극복 아이디어는 이론적으로는 잘 이해됐지만, 스스로(자동적으로) 최적화되는 학습법이 없어서 복잡한 문제엔 적용에 실패했습니다.
이런 한계를 극복한 것이 바로 역전파(Backpropagation) 알고리즘입니다. 역전파 알고리즘은 출력에서 발생한 오차가 네트워크 내 각 가중치에, 특히 깊은 은닉층까지도, 얼마만큼 반영되는지 “수식적으로, 자동으로, 효율적으로” 계산해주는 원리입니다.
역전파의 원리에 의해, 실제로는 사람이 복잡하게 손으로 계산하지 않아도, 컴퓨터가 수많은 가중치와 층의 구조 속에서 오차를 체계적으로 줄이도록 학습할 수 있게 되었습니다.
'인공지능 > Basic AI' 카테고리의 다른 글
| 인공지능(AI) 입문하기[4] - 역전파 알고리즘과 최적화 (3) | 2025.08.30 |
|---|---|
| 인공지능(AI) 입문하기[2] - 선형 회귀에서 시작하는 인공신경망 이해(1) (0) | 2025.07.18 |
| 인공지능(AI) 입문하기[1] - 머신러닝과 딥러닝 정의하기 (2) | 2025.07.18 |