본문 바로가기

Python/딥러닝

퍼셉트론이란? 딥러닝의 시작점, 인공 뉴런의 기본 구조

728x90

딥러닝을 처음 접할 때 꼭 만나게 되는 개념 중 하나가 퍼셉트론입니다. 퍼셉트론은 인공 신경망의 가장 기본적인 형태로, 우리가 흔히 말하는 인공 뉴런이라고 볼 수 있습니다. 이번 글에서는 퍼셉트론이 어떤 구조로 이루어져 있으며, 어떻게 동작하는지를 차근차근 알아보겠습니다.

 

퍼셉트론의 기본 구조

퍼셉트론은 아래와 같은 핵심 요소들로 구성됩니다.

  • 입력값 (Input): 외부에서 들어오는 데이터
  • 가중치 (Weight): 각 입력값의 중요도를 나타냄
  • 합산기 (Summation): 입력값과 가중치를 곱한 값을 모두 더함
  • 활성화 함수 (Activation Function): 출력 여부를 결정하는 기준

입력값은 각각 가중치와 곱해지고, 그 결과가 모두 더해진 뒤, 특정 기준(임계값)을 넘으면 출력이 발생하는 구조입니다.

 

이진 분류 문제와 퍼셉트론

초기 퍼셉트론은 주로 두 가지 클래스를 구분하는 이진 분류(Binary Classification) 문제에 사용되었습니다.

예를 들어 아래와 같은 그림처럼 데이터를 직선으로 나누는 문제를 생각해볼 수 있습니다.

퍼셉트론은 입력값을 받아서 계산한 결과가 어떤 임계값 이상이면 1, 그렇지 않으면 0을 출력하게 됩니다. 이때 사용되는 것이 바로 계단 함수(Step Function)입니다.

 

계단 함수란?

계단 함수는 이름처럼 출력이 갑자기 '튀는' 특성을 가집니다.

이 함수는 입력값이 임계값을 넘는지 여부에 따라 0 또는 1을 출력합니다. 단순하지만 이진 분류에서 매우 유용한 구조입니다.

 

퍼셉트론 수식 이해하기

퍼셉트론의 계산은 아래와 같은 수식으로 나타낼 수 있습니다.

여기서:

  • x는 입력값
  • w는 가중치
  • b는 편향(bias)
  • y는 출력값입니다

편향은 임계값을 조절하는 역할을 하며, 출력값이 0이냐 1이냐를 결정하는 데 중요한 역할을 합니다.

 

단층 퍼셉트론: 입력층과 출력층

입력값을 받아들이는 부분을 입력층, 출력값을 전달하는 부분을 출력층이라고 합니다.

입력층은 외부에서 데이터를 받아오고, 출력층은 계산된 결과를 바탕으로 최종 판단을 내립니다.

출력층에 몇 개의 노드를 두느냐에 따라 퍼셉트론이 해결할 수 있는 문제의 범위가 달라집니다.

 

출력 노드 수는 문제 유형에 따라 달라진다

  • 이진 분류나 회귀 문제 → 출력 노드 1개
  • 다중 분류 문제 → 출력 노드 여러 개

문제가 복잡할수록 출력층의 구조도 함께 복잡해지는 경향이 있습니다.

 

단층 vs 다층 퍼셉트론

지금까지 본 퍼셉트론은 입력층과 출력층 두 층으로 구성된 단층 퍼셉트론(Single-layer Perceptron)입니다.

단층 퍼셉트론은 간단한 문제는 해결할 수 있지만, 복잡한 패턴이나 비선형 문제에는 한계가 있습니다. 그래서 실제 딥러닝에서는 은닉층(Hidden Layer)을 추가한 다층 퍼셉트론(Multi-layer Perceptron, MLP)이 주로 사용됩니다.

 

정리하며

퍼셉트론은 딥러닝의 근간이 되는 핵심 개념입니다. 단순하지만 강력한 이 구조는 지금 우리가 사용하는 복잡한 신경망 모델들의 출발점이 되었습니다. 퍼셉트론을 이해하는 것은 앞으로 더 깊은 딥러닝 학습을 위한 첫걸음이라고 할 수 있습니다.

728x90