https://wondangcom.tistory.com/2943
이 학생의 활동중에 진로활동 중 독서논문탐구(NAND,OR,AND 다중 퍼셉트론으로 XOR값 출력/행렬) 활동 내역이 있어서 이 학생은 어떤 활동을 했을까 추측을 해 보았습니다.
먼저 모두의 딥러닝 책(길벗출판사)의 7장에 보면 퍼셉트론에 대해 자세하게 설명이 되어 있는데요~
이 책을 읽고 독서 논문 탐구 보고서를 작성했다고 가정해 보았습니다.
제목: 다중 퍼셉트론을 이용한 XOR 문제 해결 - NAND, OR, AND 게이트의 역할

I. 서론
딥러닝의 발전은 인공신경망의 기초 개념인 퍼셉트론에서 시작되었습니다. 퍼셉트론은 입력 신호를 받아 가중치를 조정하여 출력을 생성하는 알고리즘으로, 이는 인간의 뇌의 작동 원리를 모방한 것입니다. 본 보고서에서는 퍼셉트론의 개념, 논리 게이트의 구현, 그리고 다층 퍼셉트론의 등장과 XOR 문제 해결에 대해 탐구하겠습니다.
II. 퍼셉트론 개념
1. 퍼셉트론이란
퍼셉트론은 맥컬럭-월터 피츠의 논문에서 제안된 '켜고 끄는 기능이 있는 신경'을 기반으로 합니다.
1957년, 프랑크 로젠블랫은 이 개념을 실제 장치로 구현하여 퍼셉트론을 선보였습니다.
퍼셉트론은 다수의 입력 값을 받아 하나의 출력을 생성하며, 이 과정에서 입력 값에 가중치를 부여하여 학습할 수 있는 능력을 갖추고 있습니다.

2. 아달라인이란
퍼셉트론의 한계를 극복하기 위해 1960년에 아달라인(Adaptive Linear Neuron)이 개발되었습니다.
아달라인은 경사 하강법을 도입하여 최적의 경계선을 그릴 수 있도록 하였으며, 이는 이후 머신 러닝의 중요한 알고리즘으로 발전하게 됩니다.

III. 논리 게이트의 구현
1. NAND 게이트
NAND 게이트는 두 개의 입력이 모두 1일 때만 0을 출력하고, 나머지 경우에는 1을 출력하는 논리 게이트입니다. 퍼셉트론을 사용하여 NAND 게이트를 구현하기 위해서는 다음과 같은 가중치와 임계값을 설정합니다:
- 입력: x1, x2
- 가중치: w1 = -2, w2 = -2
- 임계값: −3
퍼셉트론의 출력은 다음과 같이 계산됩니다:
2. OR 게이트
OR 게이트는 두 개의 입력 중 하나라도 1이면 1을 출력하는 논리 게이트입니다. OR 게이트를 구현하기 위해 다음과 같은 가중치와 임계값을 설정합니다:
- 입력: x1, x2
- 가중치: w1 = 1, w2 = 1
- 임계값: 0.5
출력은 다음과 같이 계산됩니다:
3. AND 게이트
AND 게이트는 두 개의 입력이 모두 1일 때만 1을 출력하는 논리 게이트입니다. AND 게이트를 구현하기 위해 다음과 같은 가중치와 임계값을 설정합니다:
- 입력: x1, x2
- 가중치: w1 = 1, w2 = 1
- 임계값: 1.5
출력은 다음과 같이 계산됩니다:
IV. 퍼셉트론의 과제

- 사각형 종이에 검은색 점 두개와 흰색 점 두개가 놓여 있음
- 이 네 점 사이에 직선을 하나 긋는다고 하자.
- 이때 직선의 한쪽 편에는 검은색 점만 있고 다른 한쪽에는 흰색 점만 있게끔 선을 그을 수 있을까?
- 퍼셉트론이나 아달린은 모두 2차원 평면상에 직선을 긋는 것만 가능함으로 아무리 그어도 해결되지 않는 상황이 있다는 것을 알 수 있다.
V. 다층 퍼셉트론의 등장
- 앞에서 종이 위에 놓인 검은색 두 점과 흰색 두 점을 하나의 선으로 구별 할 수 없다는 것을 살펴 보았음
- 이 문제는 2차원 평면에서만 해결하려는 고정 관념을 깨면 해결이 가능함

- 즉 종이를 휘어 선 두개를 동시에 긋는 방법
- 이것을 XOR 문제에 적용하면 퍼셉트론 두 개를 한번에 계산 하면 된다는 결론에 이름
- 이를 위해 퍼셉트론 두 개를 각각 처리하는 은닉층(hidden layer)을 만듦
VI. 다층 퍼셉트론의 설계

- 입력층과 출력층 사이에 숨어 있는 은닉층을 만든다.
- x1과 x2는 입력 값으로 각 값에 가중치 w11,w12,w21,w22를 각각 곱하고 바이어스 b1,b2를 더해 은닉층으로 전송
- 이 값들이 모이는 은닉층 n1,n2 는 다음과 같이 계산됨

- 이 두 식의 결괏값이 출력층에 전달되며 출력 값은 다음과 같이 계산됨

VII. XOR 문제의 해결
- 앞에서 우리는 어떤 가중치와 바이어스가 필요한지 알아 보았음
- 이를 만족하는 가중치와 바이어스 조합은 무수히 많음
- 변수의 값을 다음과 같이 정하고 XOR 문제를 해결하는 과정을 살펴 보자.



우리가 원하는 값이 나오는 것을 확인 할 수 있다.
VIII. 코딩으로 XOR 문제 해결하기
다층 퍼셉트론을 사용하여 XOR 문제를 해결하는 코드는 다음과 같다:
import numpy as np
def sigmoid(x):
return 1 / (1 + np.exp(-x))
def predict(X, weights):
return sigmoid(np.dot(X, weights))
# XOR 데이터
X = np.array([[0, 0], [0, 1], [1, 0], [1, 1]])
y = np.array([[0], [1], [1], [0]])
# 가중치 초기화
weights = np.random.rand(2, 2)
# 학습 과정 (단순 예시)
for epoch in range(10000):
output = predict(X, weights)
error = y - output
weights += np.dot(X.T, error * output * (1 - output))
# 예측
print(predict(X, weights))
IX. 결론
본 탐구 보고서에서는 퍼셉트론과 다층 퍼셉트론의 개념, 그리고 이들이 어떻게 NAND, OR, AND 게이트를 구현하는지에 대해 살펴보았습니다. 퍼셉트론은 인공지능의 기초를 형성하는 중요한 모델로, 단순한 논리 게이트를 구현하는 데 성공했지만, XOR 문제와 같은 비선형 문제를 해결하는 데는 한계가 있음을 확인했습니다. 이러한 한계는 인공지능 연구의 암흑기를 초래하기도 했습니다.
다층 퍼셉트론의 등장은 이러한 한계를 극복하는 중요한 전환점이었습니다. 은닉층을 추가함으로써 비선형 문제를 해결할 수 있는 가능성을 열었고, 이는 인공지능의 발전에 큰 기여를 하였습니다. 특히, XOR 문제를 해결하기 위해 두 개의 퍼셉트론을 조합하여 사용하는 방식은 인공지능의 복잡한 패턴 인식 능력을 향상시키는 데 중요한 역할을 했습니다.
이러한 연구 결과는 단순히 이론적인 의미를 넘어서, 실제로 다양한 분야에서 인공지능 기술이 활용될 수 있는 기반을 마련했습니다. 앞으로의 탐구 방향으로는 다층 퍼셉트론의 다양한 응용 사례를 연구하고, 이를 통해 더 복잡한 문제를 해결할 수 있는 방법을 모색하는 것이 중요할 것입니다. 또한, 퍼셉트론과 다층 퍼셉트론의 발전 과정을 통해 인공지능의 미래를 더욱 밝게 할 수 있는 가능성을 탐구해 나가야 할 것입니다.
결론적으로, 퍼셉트론과 다층 퍼셉트론의 연구는 인공지능의 기초를 다지는 중요한 과정이며, 앞으로의 연구와 발전이 기대됩니다. 이러한 탐구를 통해 우리는 인공지능의 원리를 이해하고, 이를 바탕으로 더 나은 기술적 해결책을 제시할 수 있을 것입니다.
================
이런 형식으로 먼저 주제를 선정하고, 모두의 딥러닝 이란 책을 통해 자료를 조사하고 자료 분석 및 정리하여 보고서를 작성 할 수 있을것 같네요.
학생부가 더욱 중요해 지는 만큼 수행 보고서의 역할이 더욱 커질것 같네요.
진로가 컴퓨터 관련된 학과라면 코딩 융합 수행보고서는 더욱 두드러질것 같은데요~
이제는 코딩이 선택이 아닌 필수이기에 미리 준비해서 학생부의 경쟁력을 높여 나가시길 바랍니다.^^
'소프트웨어중심대학' 카테고리의 다른 글
2026학년도 대학입학전형시행계획 (4) | 2025.03.05 |
---|---|
[학생부 종합전형]ChatGPT 트랜스포머 모델 탐구 예시 (4) | 2025.03.04 |
2026학년도 수도권 주요35개대학 수능탐구 가산점 현황 (1) | 2025.02.24 |
[학생부 종합전형] 학생부 사례로 살펴보는 프로젝트 예시 (5) | 2025.02.21 |
[학생부 종합전형] 학생부 사례로 살펴보는 학생부 종합전형 1 (5) | 2025.02.18 |