컴퓨터공학/NN

신경망의 기본, 퍼셉트론(Perceptron)

airoot 2024. 8. 6. 14:12

퍼셉트론(Perceptron)은 인공 신경망의 가장 기본적인 단위로, 하나의 뉴런을 모형화한 것이다. 퍼셉트론은 1957년 Frank Rosenblatt에 의해 처음 제안되었으며, 이진 분류 문제를 해결하는 데 사용된다. 퍼셉트론의 기본 개념과 작동 원리는 다음과 같다.

퍼셉트론의 구조

  1. 입력층(Input Layer):
    • 여러 개의 입력 값 x1,x2,…,xn​으로 구성됩니다. 각 입력 값은 뉴런에 연결된다.
  2. 가중치(Weights):
    • 각 입력 값에는 가중치 w1,w2,…,wn가 부여됩니다. 가중치는 입력 값의 중요도를 나타내며 학습 과정에서 조정된다.
  3. 편향(Bias):
    • 뉴런의 출력 값을 조정하는 데 사용되는 추가적인 매개변수 b이다. 편향은 뉴런이 활성화될 기준을 설정하는 역할을 한다.
  4. 활성화 함수(Activation Function):
    • 뉴런의 총 입력 값을 기반으로 출력 값을 결정하는 함수이다. 퍼셉트론에서는 일반적으로 단위 계단 함수(Unit Step Function)가 사용된다.
     

 

퍼셉트론의 작동 원리

  1. 총 입력 값 계산:
    • 각 입력 값과 그에 해당하는 가중치를 곱한 후, 모든 곱셈 결과를 합산하고 편향 값을 더한다.
    • 총 입력 값 z는 다음과 같이 계산된다: z=∑i=1..n wixi+b
  2. 활성화 함수 적용:
    • 총 입력 값 zzz를 활성화 함수에 입력하여 출력 값을 결정한다. 퍼셉트론에서는 단위 계단 함수를 사용하여 출력이 0 또는 1이 되도록 한다
    • output={1 if z≥0, 0 if z<0}​

퍼셉트론의 학습 과정

퍼셉트론은 주어진 데이터를 기반으로 가중치와 편향을 조정하여 학습한다. 학습 과정은 다음과 같다:

  1. 초기화:
    • 가중치와 편향을 임의의 작은 값으로 초기화한다.
  2. 입력 데이터 반복:
    • 각 입력 데이터에 대해 다음 단계를 수행한다:
      • 총 입력 값을 계산하고, 활성화 함수를 통해 출력 값을 도출한다.
      • 출력 값과 실제 레이블(정답)을 비교하여 오류를 계산한다.
        error=실제 레이블−출력 값
      • 오류를 바탕으로 가중치와 편향을 업데이트한다. 학습률(learning rate) η를 사용하여 업데이트의 크기를 조절한다.
        wi=wi+η×error×xi
        b=b+η×error
  3. 반복:
    • 오류가 줄어들 때까지 또는 일정한 에포크(epoch)가 지나갈 때까지 위 과정을 반복한다.

퍼셉트론의 한계

퍼셉트론은 단순한 구조 덕분에 이진 분류 문제를 해결할 수 있지만, 선형적으로 구분되지 않는 문제(예: XOR 문제)를 해결할 수 없었다. 이러한 한계를 극복하기 위해 다층 퍼셉트론(MLP, Multi-Layer Perceptron)과 같은 복잡한 신경망 구조가 개발되었다. MLP는 여러 개의 퍼셉트론 층을 쌓아 복잡한 비선형 문제도 해결할 수 있다.

'컴퓨터공학 > NN' 카테고리의 다른 글

Forward-Forward Algorithm  (0) 2024.08.16
역전파(Backpropagation)  (0) 2024.08.15
CNN/RNN/Transformer 특징 장단점 비교하기  (0) 2024.08.10
다층 퍼셉트론(MLP, Multi-Layer Perceptron)  (0) 2024.08.06
NN(Neural Network)이란  (0) 2024.08.05