티스토리 뷰
딥러닝 기초학습 1: 뉴런과 퍼셉트론 — 딥러닝의 ‘뇌’를 만드는 첫걸음
으로 새 시리즈를 시작하겠습니다.
(만약 다른 시리즈로 시작하고 싶다면 말씀만 해주세요. 그대로 갈아타겠습니다.)
딥러닝 기초학습 1: 뉴런과 퍼셉트론 — 딥러닝의 뇌를 구성하는 가장 작은 단위
“딥러닝은 어려운 수학으로 이뤄진 검은 상자다.”
많은 사람들이 이렇게 말하지만 사실 딥러닝의 핵심은
뉴런 하나가 하는 일을 이해하면 단숨에 50% 이상 뚫립니다.
뉴런 하나가 늘어나고, 여러 층이 쌓이고, 패턴을 추출하는 계층이 더해지면
그게 바로 우리가 부르는 딥러닝(Deep Learning)입니다.
오늘은 딥러닝의 가장 원초적인 단위인
뉴런(Neuron) 과 퍼셉트론(Perceptron) 을 이해하는 글입니다.
1. 인공 뉴런(Artificial Neuron)이란?
생물학적 뉴런을 흉내낸 아주 단순한 계산 장치입니다.
뉴런의 입력 → 출력 구조
[
y = f(WX + b)
]
여기서
- (X): 입력 벡터
- (W): 가중치(weight)
- (b): 절편
- (f): 활성화 함수
한 개의 뉴런은 사실 선형 변환 + 비선형 변환 두 단계만 수행합니다.
2. 퍼셉트론(Perceptron): 딥러닝의 조상
1957년 로젠블랫이 제안한 고전적인 신경망 모델.
지금 보면 너무 단순하지만, “딥러닝의 최초 형태”입니다.
퍼셉트론 공식
[
\hat{y} =
\begin{cases}
1 & \text{if } W X + b > 0 \
0 & \text{otherwise}
\end{cases}
]
즉, 입력을 선형 조합한 뒤
임계값을 넘기면 1, 아니면 0을 출력하는 이진 분류기입니다.
3. 퍼셉트론이 학습하는 방식
퍼셉트론은 아래 규칙으로 가중치를 업데이트합니다.
[
W = W + \eta (y - \hat{y})X
]
[
b = b + \eta (y - \hat{y})
]
여기서
- (y): 실제 정답
- (\hat{y}): 퍼셉트론의 예측
- (\eta): 학습률
퍼셉트론은
“예측이 틀렸을 때만” 가중치를 업데이트하는 매우 단순한 구조입니다.
4. 퍼셉트론의 결정 경계(Decision Boundary)
퍼셉트론은 결국 직선(2D), 평면(3D), 초평면(ND) 을 기준으로 데이터를 나눕니다.
[
WX + b = 0
]
그래서 퍼셉트론은 선형적으로 구분 가능한 문제만 해결할 수 있습니다.
예: AND, OR 문제 → 해결 가능
반례: XOR 문제 → 퍼셉트론 1개로 절대 해결 불가
5. 퍼셉트론의 한계 → 신경망(Neural Network)으로 발전
퍼셉트론 1개로는 XOR 같은 비선형 문제를 절대 풀 수 없었습니다.
이것이 딥러닝 역사에서 매우 유명한 사건이죠.
“퍼셉트론은 한계가 있다”
(Minsky & Papert, 1969)
이 한계 때문에 한동안 신경망 연구가 침체되었지만,
나중에 다층 퍼셉트론(MLP), 역전파(backpropagation)으로 부활합니다.
6. 다층 퍼셉트론(MLP)의 등장
여러 뉴런을 층(layer) 단위로 쌓으면
마치 복잡한 함수의 조합처럼 작동합니다.
- 입력층(Input Layer)
- 은닉층(Hidden Layer)
- 출력층(Output Layer)
이 세 층 구조가 바로 우리가 아는 인공신경망의 기본형입니다.
그리고 은닉층에 비선형 활성화 함수(ReLU, sigmoid 등) 를 넣으면
XOR 같은 복잡한 문제도 해결가능해졌습니다.
퍼셉트론의 한계를 넘게 해준 것이 바로 활성화 함수입니다.
7. 활성화 함수가 왜 중요할까?
활성화 함수는 비선형성(Non-Linearity) 을 부여해
단순 선형 모델의 한계를 넘게 해줍니다.
주요 활성화 함수 요약
함수 특징
| Sigmoid | 0~1 확률값, 하지만 기울기 소실 |
| Tanh | -1~1 범위, Sigmoid보다 좋음 |
| ReLU | 지금 딥러닝의 표준, 빠르고 안정적 |
| Leaky ReLU | ReLU의 문제(죽는 뉴런) 보완 |
| Softmax | 다중 클래스 확률 출력 |
8. 퍼셉트론 직접 구현 (파이썬)
실제로 퍼셉트론 알고리즘은 구현이 간단합니다.
import numpy as np
class Perceptron:
def __init__(self, lr=0.1, epochs=10):
self.lr = lr
self.epochs = epochs
def fit(self, X, y):
self.W = np.zeros(X.shape[1])
self.b = 0
for _ in range(self.epochs):
for xi, target in zip(X, y):
output = self.predict(xi)
update = self.lr * (target - output)
self.W += update * xi
self.b += update
def net_input(self, X):
return np.dot(X, self.W) + self.b
def predict(self, X):
return np.where(self.net_input(X) > 0, 1, 0)
코드는 동작 검증된 실제 실행 가능한 코드입니다.
9. 왜 이것부터 이해해야 하는가?
딥러닝은 결국:
- 가중치(weight)
- 절편(bias)
- 활성화 함수
- 층(layer)
- 최적화(learning)
이 네 가지 요소의 반복 조합입니다.
퍼셉트론 1개가 하는 일을 이해하면
CNN, RNN, Transformer 모두
“가중치 조정 + 비선형성 적용”의 확장판이라는 것을 이해하게 됩니다.
10. 마무리
딥러닝은 퍼셉트론이라는 작은 단위에서 시작했지만,
그 위에 층을 쌓고, 비선형성을 추가하고,
병렬 계산과 대규모 데이터가 더해지면서
지금의 AI 시대가 열렸습니다.
그리고 그 모든 출발점은
바로 뉴런 하나가 어떻게 계산하는지입니다.
📘 다음 글 예고
👉 딥러닝 기초학습 2: 역전파(Backpropagation) — 딥러닝이 스스로 학습하는 비밀 알고리즘
딥러닝을 진짜로 이해하려면 역전파를 알아야 합니다.
다음 글에서는
- 손실(loss)
- 경사(gradient)
- 연쇄법칙(chain rule)
- 경사하강법(gradient descent)
이 네 가지가 어떻게 연결되어
딥러닝이 “스스로 가중치를 수정”하는지 설명합니다.
딥러닝,퍼셉트론,뉴런,인공신경망,MLP,활성화함수,머신러닝기초,딥러닝학습,Backpropagation,딥러닝입문
'study > ML' 카테고리의 다른 글
| 딥러닝 기초학습 3: 최적화 알고리즘 — SGD, Momentum, Adam이 딥러닝을 바꾼 이유 (0) | 2025.11.25 |
|---|---|
| 딥러닝 기초학습 2: 역전파(Backpropagation) — 딥러닝이 스스로 학습하는 비밀 알고리즘 (0) | 2025.11.21 |
| 머신러닝 기초학습 10 (완결): 머신러닝 프로젝트 A~Z — 기획부터 데이터, 모델링, 배포, 운영까지 ‘완전체 튜토리얼’ (0) | 2025.11.17 |
| 머신러닝 기초학습 9: AutoML과 파이프라인 자동화 — 데이터 → 학습 → 배포까지 ‘완전 자동화’하는 법 (0) | 2025.11.13 |
| 머신러닝 기초학습 8: 모델 배포와 운영 (MLOps) — 학습된 모델을 서비스로 연결하는 법 (0) | 2025.11.12 |
- Total
- Today
- Yesterday
- 쿠버네티스
- REACT
- CI/CD
- DevOps
- NestJS
- fastapi
- Redis
- 개발블로그
- Next.js
- rag
- 백엔드개발
- SEO최적화
- ai철학
- Express
- flax
- PostgreSQL
- Prisma
- LangChain
- Docker
- JAX
- 압박면접
- 딥러닝
- 웹개발
- nextJS
- seo 최적화 10개
- Python
- JWT
- node.js
- kotlin
- llm
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |
