2.10 MCP 뉴런의 논리 연산 구현: AND, OR, NOT 게이트

1. MCP 뉴런에 의한 논리 게이트 구현의 원리

맥컬록-피츠(MCP) 뉴런은 이진 입력에 대한 가중합(Weighted Sum)이 문턱값(Threshold)을 초과할 때 1을 출력하고, 그렇지 않으면 0을 출력하는 이진 임계값 단위이다. 이 단순한 구조로 기본 논리 연산 AND, OR, NOT을 모두 구현할 수 있으며, 이를 통해 임의의 불 함수(Boolean Function)를 계산할 수 있다.

일반적 가중합 형식을 사용하면, MCP 뉴런의 출력은 다음과 같다:

y = \begin{cases} 1 & \text{if } \displaystyle\sum_{i=1}^{n} w_i x_i \geq \theta \\ 0 & \text{otherwise} \end{cases}

여기서 w_i는 입력 x_i에 대한 가중치, \theta는 문턱값이다. 흥분성 시냅스는 양의 가중치(w_i > 0)로, 억제성 시냅스는 음의 가중치(w_i < 0)로 표현된다.

AND 게이트의 구현

설계

두 입력 x_1, x_2 \in \{0, 1\}에 대해 AND 연산 y = x_1 \wedge x_2를 구현한다.

가중치: w_1 = 1, w_2 = 1, 문턱값: \theta = 2

동작 검증

x_1x_2w_1 x_1 + w_2 x_2\geq \theta = 2?yx_1 \wedge x_2
000아니오00
011아니오00
101아니오00
11211

모든 입력 조합에서 MCP 뉴런의 출력이 AND 연산의 결과와 일치한다.

n-입력 AND

n개의 입력에 대한 AND 연산은 모든 가중치를 1로, 문턱값을 n으로 설정하면 구현된다:

y = \begin{cases} 1 & \text{if } \displaystyle\sum_{i=1}^{n} x_i \geq n \\ 0 & \text{otherwise} \end{cases}

이는 n개의 입력이 모두 1일 때에만 가중합이 n에 도달하므로, n-입력 AND와 동치이다.

2. OR 게이트의 구현

2.1 설계

y = x_1 \vee x_2를 구현한다.

가중치: w_1 = 1, w_2 = 1, 문턱값: \theta = 1

2.2 동작 검증

x_1x_2w_1 x_1 + w_2 x_2\geq \theta = 1?yx_1 \vee x_2
000아니오00
01111
10111
11211

2.3 n-입력 OR

n개의 입력에 대한 OR 연산은 모든 가중치를 1로, 문턱값을 1로 설정하면 구현된다. 하나 이상의 입력이 1이면 가중합이 1 이상이 된다.

3. NOT 게이트의 구현

3.1 설계

y = \neg x_1을 구현한다.

가중치: w_1 = -1, 문턱값: \theta = 0

y = \begin{cases} 1 & \text{if } -x_1 \geq 0 \\ 0 & \text{otherwise} \end{cases}

동작 검증

x_1-x_1\geq \theta = 0?y\neg x_1
0011
1-1아니오00

대안적으로, 편향(Bias) 입력을 사용하여 가중치 w_1 = -1, 편향 b = 1, 문턱값 \theta = 1로 설정할 수도 있다:

y = \begin{cases} 1 & \text{if } -x_1 + 1 \geq 1 \\ 0 & \text{otherwise} \end{cases} = \begin{cases} 1 & \text{if } x_1 = 0 \\ 0 & \text{if } x_1 = 1 \end{cases}

4. 복합 논리 연산의 구현

4.1 NAND 게이트

가중치: w_1 = -1, w_2 = -1, 문턱값: \theta = -1

y = \begin{cases} 1 & \text{if } -x_1 - x_2 \geq -1 \\ 0 & \text{otherwise} \end{cases}

x_1x_2-x_1 - x_2\geq -1?y
0001
01-11
10-11
11-2아니오0

XOR 문제: 단일 MCP 뉴런의 한계

배타적 논리합(XOR) y = x_1 \oplus x_2는 단일 MCP 뉴런으로 구현할 수 없다. XOR의 진리표는:

x_1x_2x_1 \oplus x_2
000
011
101
110

단일 MCP 뉴런은 입력 공간 \{0,1\}^2에서 선형 결정 경계(Linear Decision Boundary) w_1 x_1 + w_2 x_2 = \theta에 의해 두 클래스를 분리하는데, XOR의 두 클래스 \{(0,1), (1,0)\}\{(0,0), (1,1)\}은 선형으로 분리 불가능(Linearly Inseparable)하다.

이 한계를 극복하려면 다층(Multi-Layer) 네트워크가 필요하다. XOR은 두 개의 MCP 뉴런으로 구성된 은닉층과 하나의 출력 뉴런을 조합하여 구현할 수 있다:

x_1 \oplus x_2 = (x_1 \vee x_2) \wedge \neg(x_1 \wedge x_2)

이 분해에서 OR 게이트와 NAND 게이트가 은닉층을 구성하고, AND 게이트가 출력층을 구성한다.

5. 기능적 완전성과 범용 계산

AND, OR, NOT이 기능적으로 완전하고, MCP 뉴런이 이 세 연산을 모두 구현할 수 있으므로, MCP 뉴런 네트워크는 임의의 불 함수를 계산할 수 있다. 더 나아가, 맥컬록과 피츠는 피드백 연결(Feedback Connection)을 포함하는 MCP 네트워크가 튜링 기계와 동등한 계산 능력을 갖는다는 것을 보였다.

이 결과는 단순한 이진 임계값 단위의 네트워크가 원리적으로 임의의 계산을 수행할 수 있음을 의미하며, 이는 신경 네트워크에 의한 범용 계산의 가능성을 최초로 수학적으로 입증한 것이다. MCP 뉴런의 논리 연산 구현은 추상적 논리학과 물리적 신경 체계, 그리고 인공적 계산 장치를 연결하는 개념적 다리의 역할을 수행하였다.