본문 바로가기
AI/딥러닝

퍼셉트론(Perceptron)의 정의와 단층,다층 퍼셉트론

by 으잇짜 2023. 6. 11.
반응형

1. 개요

인공 신경망은 현대 머신 러닝 분야에서 가장 핫한 주제 중 하나입니다. 특히 딥 러닝은 최근에 인공 신경망을 더욱 복잡하게 쌓아 올린 방법으로, 다른 머신 러닝 기법들을 뛰어넘는 놀라운 성능을 보여주고 있습니다. 이에 따라 딥러닝과 전통적인 머신 러닝을 구분하고 이해하는 중요성이 강조되고 있습니다. 이를 위해서는 먼저 초기의 인공 신경망인 퍼셉트론에 대해 이해할 필요가 있습니다.

인간의 신경망에 비유한 인공신경망


2. 퍼셉트론

퍼셉트론은 1957년에 프랑크 로젠블라트(Frank Rosenblatt)에 의해 제안된 간단한 인공 신경망 모델입니다. 이 모델은 사람의 뇌의 동작 원리에서 영감을 받아 만들어졌습니다. 퍼셉트론은 입력과 가중치를 곱한 값을 모두 합한 후, 활성화 함수를 통과시켜 결과를 출력합니다. 이 결과는 다음 레이어로 전달되거나 최종 출력으로 사용됩니다.

프랑크 로젠블라트(Frank Rosenblatt)

간단한 이해를 위해 예를 들어보겠습니다. 만약 우리가 과일을 분류하는 문제를 퍼셉트론으로 해결하고 싶다고 가정해 봅시다. 입력으로는 과일의 크기와 무게를 사용하고, 이에 대한 가중치를 설정합니다. 가중치는 각 입력의 중요도를 나타냅니다. 이렇게 정해진 가중치와 입력의 곱을 모두 합산한 후, 활성화 함수를 통과시킵니다. 이를 통해 입력된 과일이 사과인지, 오렌지인지 등을 판단할 수 있습니다.

 

퍼셉트론은 초기의 인공 신경망이지만, 단층 퍼셉트론은 선형 분류 문제만 해결할 수 있었습니다. 하지만 다층 퍼셉트론을 사용하면 비선형 분류 문제를 해결할 수 있게 되었습니다. 다층 퍼셉트론은 여러 개의 퍼셉트론 층으로 이루어져 있으며, 각 층의 출력이 다음 층의 입력으로 전달됩니다. 이를 통해 복잡한 패턴을 학습하고 비선형적인 문제를 해결할 수 있습니다.

 

따라서 딥 러닝을 이해하기 위해서는 초기의 인공 신경망인 퍼셉트론에 대한 이해가 필수적입니다.


3. 단층 퍼셉트론

3.1. 단층 퍼셉트론의 개요 및 공식

x는 입력값, w는 가중치, y는 출력값을 의미합니다. 인공신경망 Input에 x가 들어오고 가중치 w를 곱해 더한 것이 임계값을 넘으면 1을 출력하고, 임계값을 넘지 않을 경우에는 0을 출력합니다. 아래 그림에서 왼쪽은 대략적인 인공신경망을 그림으로 도식화 한 그림이고, 오른쪽 그림은 해당 함수를 그래프로 표현한 계단함수입니다.

기본 퍼셉트론(편향대신 임계값으로 표현)과 계단함수(Step Function)

기본 신경망 공식에서 임계값인 세타 θ를 좌변으로 넘겨 편향b (bias)로 표현하면 아래와 같은 식이 됩니다.

이렇게 변환된 퍼셉트론을 단층 퍼셉트론 이라고 합니다.

3.2. 단층 퍼셉트론의 활용

단층 퍼셉트론을 활용하면 아래와 같으 AND, OR, NAND, NOR 게이트 구성이 가능합니다. 단층 퍼셉트론은 1차 식으로 구성되어 있으므로, 해당 직선을 통해 입력값인 x를 이분적으로 분류할 수 있습니다.

3.3. 단층 퍼셉트론의 한계

그렇다면, 단층 퍼셉트론의 한계에 대해서도 서술해보겠습니다. 위에 사용된 AND, OR, NAND, NOR 게이트 이외,

XOR(Exclusive OR)과 XNOR(Exclusive Nor OR)는 단층 퍼셉트론으로는 구현이 불가능합니다.

아래 그림을 보면, XOR과 XNOR의 결과 값인 y 를 구하기 위해서는 직선 한 개로는 구분이 불가능합니다.

이러한 문제를 해결하기 위해 다층 퍼셉트론을 사용합니다.

XOR과 XNOR은 단층 퍼셉트론으로는 구현이 불가


4. 다층 퍼센트론

다층 퍼셉트론(MLP)은 퍼셉트론 관점에서 층을 추가하여 만들어진 신경망 구조입니다.

 

일반적인 퍼셉트론은 입력층과 출력층만으로 이루어져 있지만, 다층 퍼셉트론은 중간에 은닉층(hidden layer)을 추가한 구조입니다. 은닉층은 입력층과 출력층 사이에 위치하며, 입력층에서 받은 신호를 가중치와 활성화 함수를 통해 변환한 뒤 출력층으로 전달합니다. 이러한 은닉층을 추가함으로써 다층 퍼셉트론은 단층 퍼셉트론보다 더 복잡한 문제를 해결할 수 있습니다.

 

상기 XOR 문제는 NAND와 AND,OR을 조합함으로써 문제를 해결할 수 있습니다.

게이트를 조합하여 XOR를 만드는 과정
은닉층을 추가한 다층 퍼셉트론의 예시

 

다층 퍼셉트론은 여러 개의 은닉층을 추가할 수 있으며, 은닉층의 개수와 각 은닉층의 뉴런 수는 사용자가 설정할 수 있습니다. 은닉층의 개수를 늘리고 뉴런의 수를 늘릴수록 다층 퍼셉트론은 더 복잡한 문제를 해결할 수 있습니다. 위에서 제시한 예시로 XOR 게이트를 구현한 다층 퍼셉트론은 은닉층을 한 개만 사용했습니다. 하지만 복잡한 문제를 해결하기 위해서는 은닉층을 더 추가하고 뉴런의 수를 늘릴 수 있습니다. 이를 통해 다층 퍼셉트론은 다양한 문제를 해결할 수 있는 강력한 모델이 됩니다.

 

이번 블로그에서는 간단한 단,다층 퍼셉트론에 대해 알아봤습니다. 다음 블로그에서는 실게 인공신경망에서 사용하는 비선형 함수, 활성화 함수에 대해 알아보겠습니다.

 

 


참고자료

https://ang-love-chang.tistory.com/26

https://wikidocs.net/24958

http://matrix.skku.ac.kr/math4ai-intro/W13/

https://blog.naver.com/pmw9440/221401111139

 

반응형

'AI > 딥러닝' 카테고리의 다른 글

인공신경망의 개념과 구조  (0) 2023.06.10

loading