Recent Posts
Recent Comments
Archives
반응형
250x250
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
Today
Yesterday

Total
04-27 00:00
관리 메뉴

Hey Tech

[Deep Learning] 퍼셉트론(Perceptron) 개념 이해 본문

AI & 빅데이터/머신러닝·딥러닝

[Deep Learning] 퍼셉트론(Perceptron) 개념 이해

Tony Park 2022. 3. 21. 23:47
728x90
반응형

본 포스팅에서는 인공신경망의 초기 형태이자 구성 요소인 퍼셉트론(Perceptron)의 개념에 대해 알아봅니다.

📚 목차

1. 퍼셉트론 개요
2. 생물학 뉴런의 역할과 동작과정
3. 퍼셉트론의 역할과 동작과정
4. 퍼셉트론의 종류
    4.1.  단층 퍼셉트론
    4.2.  다층 퍼셉트론

1. 퍼셉트론(Perceptron) 개요

퍼셉트론(Perceptron)은 인공 신경망(Aritificial Neural Network, ANN)의 구성 요소(unit)로서 다수의 값을 입력받아 하나의 값으로 출력하는 알고리즘입니다. Perceptron은 perception과 neuron의 합성어이며 인공 뉴런이라고도 부릅니다. 즉, 퍼셉트론은 생물학적인 신경계(Neual Network)의 기본 단위인 신경세포(=뉴런)의 동작 과정을 통계학적으로 모델링한 알고리즘입니다. 생물학 관점에서의 뉴런과 컴퓨터사이언스 관점에서 퍼셉트론의 역할과 동작 과정을 알아봅니다.

2. 생물학 뉴런의 역할과 동작 과정

생물학 관점에서 뉴런의 역할은 무엇이고 동작 과정은 어떻게 될까요?

역할

뉴런은 아래 그림 1과 같은 형태의 신경계를 구성하는 세포이며, 인접한 다른 뉴런과 다양한 신호(=자극)를 주고받으며 정보를 얻거나 저장하는 역할을 합니다.

동작 과정

뉴런은 수상돌기에서 인접한 다수의 뉴런 내 축삭돌기와 시냅스를 통해 신호를 입력받아 신경세포체에 저장합니다. 해당 뉴런이 저장한 신호의 크기가 특정 값(=임계값) 이상이 될 때만 신호가 축삭돌기를 통해 외부로 전달되기 때문에, 출력신호를 제어할 수 있습니다.

그림 1. 신경세포 도식화(그림 출처: https://c11.kr/xvj4)

3. 퍼셉트론의 역할과 동작 과정

이제 컴퓨터사이언스 관점에서 퍼셉트론의 역할과 동작 과정을 알아봅니다.

역할

퍼셉트론의 학습 절차를 알아보기 전에 퍼셉트론 개념에 대해 알아봅니다. 퍼셉트론은 이진 분류(Binary Classification) 모델을 학습하기 위한 지도학습(Supervised Learning) 기반의 알고리즘입니다. 이진분류란 예를 들어 인공지능(AI)에게 무작위로 동물 사진을 보여주었을 때 고양이 사진인지, 강아지 사진인지 분류하는 문제입니다. 여기서 고양이, 강아지와 같은 선택지를 클래스(Class)라고 부르고 선택지가 2개인 경우를 이진 분류라고 합니다. 수학적인 측면에서, 이진 분류는 아래 그림 2와 같이, 푸른색과 녹색 동그라미 2가지 클래스를 특정 기준 하에 구분하는 방법입니다. 그림 2에서는 두 클래스를 구분하는 기준은 붉은 직선이고, 이러한 기준(i.e., 여기선 직선)을 Decision Boundary라고 부릅니다.

그림 2. 이진 분류 문제

지도학습이란 데이터(=feature)와 정답(=label)을 모두 활용하여 학습하는 방식입니다. 예를 들어, 강아지와 고양이 사진을 분류하는 모델을 학습할 때 사진을 보여주며 동물 이름까지 함께 알려주는 경우를 말합니다.

동작 과정

퍼셉트론은 아래 그림 3과 같이 도식화했습니다. 퍼셉트론은 뉴런이 다른 뉴런으로부터 신호를 입력받듯 다수의 값 \(x\)을 입력받고, 입력된 값마다 가중치(\(weight\))를 곱합니다. 여기서 가중치는 생물학 뉴런에서 뉴런 간 시냅스를 통한 결합의 세기와 같은 역할이며

가중치가 클수록 입력값이 중요하다는 것을 의미합니다. 입력값으로써 \(x\) 외에도 편향(bias, \(b\))은 딥러닝 모델 최적화의 중요 변수 중 하나입니다. 일반적으로 입력값을 \(1\)로 고정하고 편향 \(b\)를 곱한 변수로 표현합니다. 입력값과 가중치의 곱, 편향은 퍼셉트론으로 전달됩니다. 퍼셉트론은 입력받은 값을 모두 합산하는데, 합산된 결괏값을 가중합이라 부릅니다.

그림 3. 퍼셉트론의 입출력 도식화

앞서 생물학적 뉴런은 신경세포체에 저장한 신호의 크기가 임계값(\(\theta\))보다 클 때 신호를 출력한다고 했습니다. 퍼셉트론에서도 가중합의 크기를 임계값(\(\theta\))과 비교하는 활성화 함수(Activation Function)를 거쳐 최종 출력값을 결정합니다. 활성화 함수에 대한 자세한 설명은 이곳을 참고해 주세요. 여기서 편향이 딥러닝 모델 최적화의 중요 변수 중 하나인 이유를 알 수 있습니다. 가중합의 크기는 편향의 크기로 조절할 수 있기 때문에, 편향이 퍼셉트론의 출력값 \(y\)를 결정짓는 중요 변수인 셈입니다.

그림 4. sign 함수(계단 함수 예시)

인공신경망과 다르게, 퍼셉트론은 활성화 함수로 계단 함수(Step Function)를 사용합니다(위 그림 4 참고). 여기서는 계단 함수의 일종인 \(sign\) 함수를 사용했습니다. 즉, 가중합이 임계값(\(\theta\))보다 클 경우 \(+1\)을 출력하고, 그렇지 않다면 \(-1\)을 출력합니다. 퍼셉트론의 학습방법과 절차에 대한 제세한 설명은 이곳을 참고해 주세요.

4.  퍼셉트론의 종류

퍼셉트론의 종류는 입력층(Input Layer)과 출력층(Output Layer) 사이에 은닉층(Hidden Layer)의 존재 여부에 따라 단층(Single-Layer) 퍼셉트론과 다층(Multi-Layer) 퍼셉트론으로 나뉩니다. 각각에 대해 알아봅니다.

4.1.  단층 퍼셉트론

 그림 3과 같이 은닉층 없이 입력층과 출력층만 있는 경우를 단층 퍼셉트론이라 부릅니다. 단층 퍼셉트론은 디지털 논리 회로 개념에서 AND, NAND, OR 게이트를 구현할 수 있지만, XOR 게이트는 구현하지 못한다는 한계가 있습니다.

그림 5. XOR 게이트

왜냐하면, 단층 퍼셉트론은 입력값에 따른 출력값을 구분짓는 직선을 1개밖에 그릴 수 없기 때문입니다. 자세히 설명드리자면, 2개의 입력값과 출력값을 \((x_1, x_2, y)\)와 같이 표현해 보겠습니다. XOR 게이트의 경우, 입력값이 서로 다를 때만 1의 출력값을 갖습니다. 따라서 XOR 게이트는 \((0, 0, 0), (0, 1, 1), (1, 0, 1), (1, 1, 0)\)로 표현할 수 있습니다. \(x_1\)과 \(x_2\)로 2차원 좌표평면이 있을 때, 하나의 직선으로 좌표별로 출력값 \(y\)을 구분지을 수 없다는 것을 알 수 있습니다. 이처럼 XOR 게이트와 같이 로직이 조금만 복잡해지면 이를 구현할 수 없다는 점이 단층 퍼셉트론의 한계입니다.

4.2.  다층 퍼셉트론

아래 그림 6과 같이 입력층과 출력층 사이에 1개 이상의 은닝층이 있는 경우를 다층 퍼셉트론(Multi-Layer Perceptron, MLP)이라 부릅니다. 다층 퍼셉트론은 단일 퍼셉트론이 XOR 게이트를 구현하지 못한다는 한계를 보완하기 위해 등장하였습니다. 다층 퍼셉트론은 AND, NAND, OR 게이트를 조합하여 XOR 게이트를 구현합니다. XOR 게이트는 은닉층 1개를 추가하여 구현할 수 있지만, 다층 퍼셉트론은 더욱 복잡한 문제를 해결하기 위해 일반적으로 2개 이상의 은닉층을 추가합니다. 이처럼 2개 이상의 은닉층을 가진 다층 퍼셉트론을 심층신경망(Deep Neural Network, DNN)이라 부릅니다. 우리가 흔히 아는 딥러닝(Deep Learning)은 이러한 심층신경망을 학습(Learning)하는 것을 의미하죠. 

그림 6. 다층 퍼셉트론 예시(출처: https://commons.wikimedia.org/wiki/File:Multilayer_Neural_Network.png)

📚참고할 만한 포스팅

1. [Deep Learning] 퍼셉트론(Perceptron) 개념 이해
2. [Deep Learning] 퍼셉트론(Perceptron) 학습방법 및 절차
3. [Deep Learning] 활성화 함수의 개념 및 종류: sign, tanh, sigmoid, softmax, ReLU
4. [Deep Learning] 손실함수(Loss Function) 개념
5. [Deep Learning] 평균제곱오차(MSE) 개념 및 특징
6. [Deep Learning] 평균절대오차(MAE) 개념 및 특징
7. [Deep Learning] 최적화 개념과 경사 하강법(Gradient Descent)
8. [Deep Learning] 최적화 기법: (1) Momentum
9. [Deep Learning] 최적화 기법: (2) AdaGrad
10. [Deep Learning] 최적화 기법: (3) RMSProp
11. [Deep Learning] 최적화 기법: (4) Adam


오늘은 인공신경망의 초기 형태이자 구성 요소인 퍼셉트론(Perceptron)의 개념에 대해 알아봤습니다.
다음 포스팅에서는 퍼셉트론의 학습방법과 절차에 대해 알아봅니다.
포스팅 내용에 오류가 있거나 보완할 점이 있다면 아래에 👇👇👇 댓글 남겨주시면 감사드리겠습니다 :)
그럼 오늘도 즐겁고 건강한 하루 보내시길 바랍니다.
고맙습니다😊

728x90
반응형
Comments