AI 개발 공부 공간

AI, 머신러닝, 딥러닝, Python & PyTorch, 실전 프로젝트

딥러닝/딥러닝: 기초 개념

퍼셉트론

qordnswnd123 2025. 1. 13. 10:14

1. 퍼셉트론 입문

퍼셉트론은 인공 신경망 모델 중 가장 기본적인 형태로, 1957년 프랑크 로젠블라트(Frank Rosenblatt)에 의해 개발되었습니다.

이 모델은 생물학적 뉴런의 작동 원리에서 영감을 받아 설계되었으며, 신경계의 정보 처리 방식을 모방하여 인공적으로 구현한 것입니다.


2. 생물학적 뉴런 vs 퍼셉트론

1) 우리 몸속의 작은 신호 전달자, 뉴런

우리 몸은 수많은 뉴런으로 이루어져 있습니다.

이 작은 뉴런들은 우리가 생각하고, 느끼고, 움직일 수 있게 해줍니다.

뉴런은 크게 네 부분으로 구성되어 있는데요.

  1. 수상돌기: 뉴런에서 다른 뉴런으로부터 신호를 받는 부분입니다. 여러 개의 가지를 가지고 있어 다른 뉴런의 축삭 끝에서 신호를 받습니다.
  2. 세포체: 뉴런들 사이의 다리 역할을 해요. 신호가 다른 뉴런으로 잘 전달될 수 있게 전기 신호의 세기를 조절해 줍니다. 
  3. 시냅스: 수상돌기를 통해 받은 신호들을 합쳐줍니다.
  4. 축삭: 합쳐진 이 신호를 전달할까, 말까?를 결정합니다. 세포체의 전위가 일정 이상이 되면 이후 뉴런으로 전기 신호를 전달합니다. 

2) 컴퓨터 속 작은 신호 전달자, 퍼셉트론

이제, 우리 몸속 뉴런을 모방해서 만든 컴퓨터 속의 작은 신호 전달자, 퍼셉트론에 대해 알아보겠습니다. 이 친근한 친구는 뉴런과 비슷한 역할을 합니다.

  1. 입력값(x1, x2): 이것은 마치 뉴런의 수상돌기처럼 외부에서 오는 데이터를 받습니다. 
  2. 가중치(w1, w2): 각 신호가 얼마나 중요한지를 나타냅니다. 신호를 강화할지 합치, 약하게 할지 결정해줍니다. 시냅스처럼 신호를 조절하는 역할입니다.
  3. 가중합: 받은 데이터와 가중치를 모두 합 합니다. 이 과정은 마치 세포체에서 신호들을 모아 결정을 내리는 과정과 비슷합니다.
  4. 출력값(y): 이것이 최종적으로 어떤 결정을 내릴지를 나타냅니다. 이 결정이 다음 단계로 전달됩니다. 마치 축삭이 신호를 내보내는 것처럼 말입니다.

간단히 말해서, 퍼셉트론은 우리 뉴런이 하는 일을 컴퓨터에서도 하게 할 수 있게 해줍니다.

퍼셉트론은 입력값을 받아 결정을 내리고, 그 결정을 다음 단계로 전달하는 역할을 랍니다.


3. 퍼셉트론의 작동 원리

퍼셉트론은 인공 신경망의 가장 기본적인 구성 요소로, 우리 뇌의 뉴런이 전기 신호를 처리하는 방식에서 영감을 받았습니다.

다양한 입력 신호를 받아 각 신호에 가중치(중요도) 를 할당한 다음 이러한 가중치 입력의 합계를 계산합니다.

총계가 특정 임계값을 초과하면 퍼셉트론은 1 (활성화)를 출력합니다. 그렇지 않은 경우 0 (비활성화)를 출력합니다.

퍼셉트론은 의사결정자 역할을 하며 이 프로세스를 사용하여 데이터를 분류합니다.

 

 

퍼셉트론은 마치 뇌의 신경세포처럼 작동하는 컴퓨터 프로그램의 기본 단위입니다.

우리가 결정을 내릴 때 여러 가지 정보를 고려하듯이, 퍼셉트론도 여러 입력 정보(우리가 '신호'라고 부를 수 있는 것)를 받아서 그 정보를 바탕으로 어떤 결정을 내립니다.

각각의 입력 정보는 중요도에 따라 다른 가중치를 가집니다.

가중치는 그 입력이 결정에 얼마나 영향을 미치는지를 나타내는 숫자입니다.

중요한 정보일수록 더 큰 가중치를 받습니다.


4. 퍼셉트론의 학습 과정과 그 예시

이메일 정렬을 예로 들어보겠습니다.

퍼셉트론은 발신자 신뢰 점수 및 특정 키워드 빈도와 같은 입력 신호를 고려할 수 있습니다.

이메일이 스팸인지 아닌지 여부를 판단할 때 관련성에 따라 각각의 가중치가 다르게 적용됩니다.

퍼셉트론 학습 과정에서는, 올바른 결정(스팸 메일을 스팸으로 분류, 스팸이 아닌 메일을 정상으로 분류)을 내리기 위해 가중치들이 계속해서 조정됩니다.

위 이미지에 나타난 그래프들은 퍼셉트론이 어떻게 학습하면서 결정 경계를 조정하는지를 단계별로 보여줍니다.

결정 경계는 데이터를 분류하는 선으로, 어떤 이메일이 스팸인지 판단하는지 결정하는 기준선과 같습니다.

  1. 첫 번째 그래프는 학습을 시작할 때의 모습을 보여줍니다. 여기서는 가중치가 임의로 설정되어 결정 경계가 스팸 메일을 정확하게 분류하지 못합니다.
  2. 두 번째 그래프는 퍼셉트론이 조금 학습을 한 후를 보여줍니다. 이 시점에서 결정 경계는 스팸 메일과 스팸이 아닌 메일들을 더 효과적으로 분리하기 시작합니다.
  3. 세 번째 그래프는 광범위한 훈련 후의 퍼셉트론을 보여줍니다. 이제 "스팸" 이메일과 "스팸이 아닌" 이메일을 구별하는 방법을 효과적으로 학습했습니다.

그래프에서 결정 경계가 어떻게 이동하는지 관찰하세요. 선 각도와 변하는 가중치를 조정하는 퍼셉트론의 학습 과정을 볼 수 있습니다.

이 선형 분류 방법은 모든 데이터가 올바르게 분류될 수 있을 때 적적으로 작동합니다.

궁극적으로 퍼셉트론은 데이터를 패턴별로 발견하고 이를 사용하여 새로운 데이터를 예측하거나 결정을 내리는 기계 학습 모델의 구성 요소 역할을 합니다.

우리 뇌가 세상을 해석하고 상황을 작용하는 것처럼 퍼셉트론은 복잡한 데이터 세트 내에서 중요한 패턴을 분석하고 식별합니다.


5. 가중치와 편향

1) 가중치(Weight)

가중치는 퍼셉트론이나 인공신경망에서 입력 신호가 출력에 미치는 영향력을 조절하는 매개변수입니다.

각 입력 신호에 가중치를 곱해 신호의 중요성이나 영향을 나타냅니다.

가중치가 높을수록 출력 값에 더 큰 영향을 미칩니다.

가중치 조정은 퍼셉트론 학습 과정의 핵심이며, 이러한 가중치는 훈련을 통해 최적화됩니다.

 

2) 편향(Bias)

퍼셉트론에서는 결정을 내리는 기준점으로 임계값(θ, 세타)을 사용합니다.

이 임계값은 입력 신호의 가중합이 이 값을 넘었을 때만 퍼셉트론이 '1'을 출력하도록 하는 역할을 합니다.

즉, 0은 퍼셉트론이 비활성화되어 신호를 전달하는 '문턱'과 같은 것입니다.

 

위 식에서 임계값(θ, 세타)를 -b로 치환하여 편향 b를 사용합니다.

여기서 편향은 결정 임계값을 조정하는 역할을 하며, 가중합에 직접 더해져서 사용됩니다.

 

 

여기서 b는 편향을 나타냅니다.

편향은 퍼셉트론의 출력이 1이 되기 위한 기준을 어떻게 설정할지 조정하는 매개변수입니다.

실제 모델에서 편향은 가중치들과 함께 조절되어야 하는 중요한 파라미터입니다.

 

 

퍼셉트론의 편향은 모델이 얼마나 쉽게 활성화(즉, 어떤 결정을 내릴지)될 것인지를 결정합니다.

편향이 없고 가중치만 있는 경우 모든 입력이 0이어야 출력도 0이 됩니다.

그러나 편향을 추가하면 신호가 없는 경우에도 특정 출력(결정)을 내릴 수 있습니다.

이러한 방식으로 편향은 퍼셉트론의 결정 경계를 조정하며, 이는 모델이 특정 결정을 얼마나 쉽게 내리는지 결정하는 데 중요한 역할을 합니다.

따라서 편향은 단순히 모델의 경향을 조정하는 것이 아니라, 모델이 특정 데이터에 어떻게 반응하는지를 결정하는 중요한 요소입니다.

 

결론적으로, 가중치는 각 입력 신호의 중요도를 조정하는 반면, 편향은 모델이 어느 정도 확신을 갖고 결정을 내릴 수 있도록 해줍니다.

모델을 훈련할 때 가중치와 편향을 조정하는 것은 적절한 출력을 얻기 위해 데이터의 신호를 올바르게 해석하는 데 필요한 조건을 찾는 과정이며, 가중치와 편향은 지속적으로 조정되어야 합니다.

이 과정을 통해 모델은 훈련 데이터로부터 발견된 패턴을 일반화하여 새로운 데이터에 대한 적절한 예측을 할 수 있습니다.

모델 성능을 최적화하고 과적합 또는 과소적합 같은 문제를 해결하려면 가중치와 편향을 적절히 조정하는 것이 중요합니다.


6. 단층 퍼셉트론과 다층 퍼셉트론

6.1 퍼셉트론의 종류

퍼셉트론은 단층 단일층 퍼셉트론과 다층 퍼셉트론으로 분류할 수 있습니다.

지금까지 위에서 살펴본 구조는 가장 간단한 형태인 단층 퍼셉트론에 해당합니다.

단층 퍼셉트론은 입력층 input layer과 출력층 output layer의 두 층으로 구성되어 있으며, 이 두 층만을 이용해 데이터를 처리하고 결과를 출력합니다.

입력층은 외부에서 받은 데이터를 신경망 내부로 전달하는 역할을 하고, 출력층은 입력 데이터에 대해 수행된 계산의 결과를 외부로 전달합니다.

6.2. 단층 퍼셉트론의 한계

단층 퍼셉트론은 선형 분리가 가능한 문제에 대해서만 효과적으로 작동합니다.

즉, 데이터가 선형으로 분리될 수 있는 경우에만 클래스를 정확하게 구분할 수 있습니다.

데이터를 하나의 선으로 나누어 한쪽은 1 정상 메일, 다른 한쪽은 0 스팸 메일으로 분류할 수 있습니다.

그러나 아래 이미지처럼 선형 분리가 불가능한 경우 단층 퍼셉트론은 적합한 해결책을 찾을 수 없습니다.

이미지에서 볼 수 있듯이, 정상 메일과 스팸 메일을 단순히 선 하나로 분리하는 것은 불가능합니다.

이는 단층 퍼셉트론이 가진 가장 큰 한계 중 하나입니다.

6.3 다층 퍼셉트론, 단층 퍼셉트론의 한계 극복

단층 퍼셉트론의 한계를 극복하기 위해 다층 퍼셉트론 Multi-layer Perceptron, MLP이 제안되었습니다.

MLP는 여러 개의 층 layer을 갖는 모델로, 이를 통해 복잡한 패턴을 인식하고, 비선형 문제를 해결할 수 있는 능력을 가지게 됩니다.

여러 층의 뉴런들이 서로 연결되어 있어 입력 데이터를 보다 복잡한 방식으로 처리하고, 다양한 분류 및 예측 문제에 대한 적절한 해법을 제공합니다.

다층 퍼셉트론 MLP은 하나 이상의 은닉층을 포함합니다.

은닉층은 입력층과 출력층 사이에 위치하며, 입력 데이터를 가공하여 더 복잡한 패턴을 탐색할 수 있게 도와줍니다.

은닉층의 존재로 인해 다층 퍼셉트론은 단층 퍼셉트론으로는 해결할 수 없는 비선형 문제를 해결할 수 있습니다.

이러한 다층 구조 덕분에 MLP는 데이터 내의 복잡한 구조와 패턴을 학습할 수 있으며, 입력과 출력 사이의 상관관계 및 일반화를 잘 수행합니다.

또한, 다층 퍼셉트론은 뉴런의 개수와 각 층의 뉴런 수를 자유롭게 설정할 수 있어, 문제의 복잡성에 맞게 네트워크를 설계할 수 있습니다.

단층 퍼셉트론과 다층 퍼셉트론의 차이는 은닉층의 존재 여부로, 이는 두 모델의 복잡한 문제를 해결하는 능력에 큰 차이를 만듭니다.

은닉층을 통한 다층 퍼셉트론은 단층 퍼셉트론의 단점을 극복하면서 복잡한 문제를 분석하고, 심층 학습이나 딥 러닝의 기반이 됩니다.

 

 

단층 퍼셉트론의 이러한 한계는 인공신경망 연구에 있어 중요한 전환점이 되었고, 딥러닝의 발전으로 이어졌습니다.

현대의 딥러닝 모델들은 여러 층과 복잡한 구조를 통해 이미지 인식, 음성 인식, 자연어 처리 등 다양한 고차원의 문제를 해결하고 있습니다.

다층 퍼셉트론은 여러 개의 은닉 레이어를 포함함으로써 복잡한 패턴을 인식하고, 단층 퍼셉트론이 해결할 수 없는 비선형 문제를 해결할 수 있는 능력을 갖습니다.

'딥러닝 > 딥러닝: 기초 개념' 카테고리의 다른 글

경사하강법과 학습률  (0) 2025.01.14
손실 함수의 미분  (0) 2025.01.14
오차 역전파법과 손실함수  (0) 2025.01.14
활성화 함수  (1) 2025.01.13
딥러닝 입문  (0) 2025.01.13