저번 포스팅에서 아래와 같은 용어를 들어봤을 것이다.
합성곱 신경망(CNN, Convolutional Neural Network)
순환 신경망(RNN, Recurrent Neural Network)
이러한 신경망들이 하나의 딥러닝 모델이 되는것인데 신경망은 어떻게 이루어져있나 살펴보자.
신경망의 구조
신경망은 입력층(Input Layer), 은닉층(Hidden Layer), 출력층(Output Layer) 으로 구성된다.
입력층 (Input Layer)
- 데이터가 처음 들어오는 층.
- 각각의 뉴런(퍼셉트론)이 하나의 입력 데이터를 받음.
- 예를 들어, 손글씨 숫자 인식(28×28 픽셀)이라면 784개의 입력 뉴런이 필요하다.
은닉층 (Hidden Layer)
- 입력층과 출력층 사이에서 복잡한 패턴을 학습하는 층.
- 단순 퍼셉트론과 달리, 은닉층이 추가되면 비선형 문제(XOR 문제 등)도 해결 가능.
- 활성화 함수로 ReLU, Sigmoid, Tanh 같은 비선형 함수가 사용됨.
출력층 (Output Layer)
- 최종 결과를 출력하는 층.
- 이진 분류라면 1개의 뉴런(출력 0 또는 1),
다중 분류라면 클래스 개수만큼 뉴런이 필요함.
이런식으로 여러 레이어가 쌓인것을 신경망 NN ( Neural Network) 이라고 부른다.
여기서 퍼셉트론이라는 용어가 나오는데 '뉴런' 이라는 말은 알거라 생각한다
위와 같이 하나의 뉴런모델을 만드는것이 퍼셉트론이며 이러한 퍼셉트론들이 모여서 층 을 이루고 층들이 모여서 신경망이 되는것이다.
퍼셉트론이란?
퍼셉트론(Perceptron)은 가장 기본적인 형태의 인공 신경망(Artificial Neural Network) 모델로,
여러 입력 값을 받아 가중치를 적용하고, 활성화 함수를 통해 결과를 출력하는 이진 분류 모델이다.
하나의 뉴런을 모델링 한것이다. 라고이해하면 편하다.
퍼셉트론의 구조
- 입력(Input)
- 가중치(Weight)
- 바이어스(Bias)
- 가중합(Weighted Sum)
- 활성화 함수(Activation Function)
- 출력(Output)
퍼셉트론의 학습 과정
퍼셉트론은 지도 학습(Supervised Learning) 방식으로 학습하며, 다음 과정을 거쳐 가중치를 조정한다
- 초기 가중치를 랜덤으로 설정.
- 입력 데이터를 받아 예측 값을 계산.
- 실제 값과 예측 값의 차이를 계산(오차)
- 위 과정을 반복하면서 가중치를 점진적으로 조정해 정확도를 높임.
퍼셉트론의 한계 (XOR 문제)
- 선형 분리 문제만 해결 가능
- 퍼셉트론은 직선(또는 초평면)으로 분리가 가능한 문제만 풀 수 있다.
- XOR 문제 같은 비선형 문제는 해결할 수 없다
- XOR 문제는 두 입력 값이 다를 때만 1을 출력하는 문제로, 단일 퍼셉트론으로는 해결할 수 없다
- 단순한 계단 함수 사용
- 퍼셉트론의 활성화 함수로 쓰이는 계단 함수는 미분이 불가능해서, 더 복잡한 학습이 어렵다.
➡ 이 한계를 극복하기 위해 다층 퍼셉트론(MLP, Multi-Layer Perceptron)과 이 나오게 되었다.
MLP에서는 비선형 활성화 함수(예: ReLU, Sigmoid)를 사용해서 XOR 문제 같은 복잡한 패턴도 학습할 수 있게 되었다.
퍼셉트론과 다층 퍼셉트론(MLP)
- 단층 퍼셉트론 (Single-layer Perceptron)
→ 입력층과 출력층만 존재 (XOR 같은 비선형 문제 해결 불가 ) - 다층 퍼셉트론 (MLP, Multi-Layer Perceptron)
→ 은닉층이 추가되어 복잡한 패턴을 학습할 수 있음
MLP가 바로 인공신경망(ANN, Artificial Neural Network)의 기본 형태 이다.
정리
- 하나의 뉴런을 모델링한 퍼셉트론이 탄생했고
- XOR문제를 해결하지못해 다층퍼셉트론(MLP) 로 발전했으며
- 이러한 퍼셉트론들이 모여서 레이어를 이루고
- 이 레이어들이 모여서 하나의 신경망을 이룬다
이제 신경망의 기본 원리는 알았으니
다음포스팅에선 신경망의 동작원리와 각 동작에서 필요한 개념들을 다뤄보고자 한다.
'AI > DL' 카테고리의 다른 글
[DL] 어텐션 (Attention) (0) | 2025.02.16 |
---|---|
[DL] 신경망 (ANN, DNN, RNN, CNN) (0) | 2025.02.12 |
[DL] 신경망의 동작원리 (0) | 2025.02.06 |
[DL] 딥러닝이란? (0) | 2025.01.09 |