본문 바로가기
Deep Learning

[딥러닝] 퍼셉트론이란

by r4bb1t 2021. 1. 15.
반응형

 퍼셉트론은 원래 알고 있던 개념이었는데, 2017학년도 6월 평가원 모의고사 국어 과목 비문학 지문으로 나왔던 걸 기출문제로 풀어봤기 때문이었습니다. 한국 수능 비문학 최고! 아래에 해당 지문을 첨부했습니다.

 

인간의 신경 조직을 수학적으로 모델링하여 컴퓨터가 인간 처럼 기억·학습·판단할 수 있도록 구현한 것이 인공 신경망 기술이다. 신경 조직의 기본 단위는 뉴런인데, 인공 신경망 에서는 뉴런의 기능을 수학적으로 모델링한 퍼셉트론을 기본 단위로 사용한다.
 퍼셉트론은 입력값들을 받아들이는 여러 개의 입력 단자와 이 값을 처리하는 부분, 처리된 값을 내보내는 한 개의 출력 단자로 구성되어 있다. 퍼셉트론은 각각의 입력 단자에 할당된 가중치를 입력값에 곱한 값들을 모두 합하여 가중합을 구한 후, 고정된 임계치보다 가중합이 작으면 0, 그렇지 않으면 1과 같은 방식으로 출력값을 내보낸다.
 이러한 퍼셉트론은 출력값에 따라 두 가지로만 구분하여 입력값들을 판정할 수 있을 뿐이다. 이에 비해 복잡한 판정을 할 수 있는 인공 신경망은 다수의 퍼셉트론을 여러 계층으로 배열하여 한 계층에서 출력된 신호가 다음 계층에 있는 모든 퍼셉트론의 입력 단자에 입력값으로 입력되는 구조로 이루어진다. 이러한 인공 신경망에서 가장 처음에 입력값을 받아들이는 퍼셉트론들을 입력층, 가장 마지막에 있는 퍼셉트론들을 출력층 이라고 한다.
 어떤 사진 속 물체의 색깔과 형태로부터 그 물체가 사과인지 아닌지를 구별할 수 있도록 인공 신경망을 학습시키는 경우를 생각해 보자. 먼저 학습을 위한 입력값들 즉 학습 데이 터를 만들어야 한다. 학습 데이터를 만들기 위해서는 사과 사진을 준비하고 사진에 나타난 특징인 색깔과 형태를 수치화 해야 한다. 이 경우 색깔과 형태라는 두 범주를 수치화하여 하나의 학습 데이터로 묶은 다음, ‘정답’에 해당하는 값과 함께 학습 데이터를 인공 신경망에 제공한다. 이때 같은 범주에 속하는 입력값은 동일한 입력 단자를 통해 들어가도록 해야 한다. 그리고 사과 사진에 대한 학습 데이터를 만들 때에 정답 인 ‘사과이다’에 해당하는 값을 ‘1’로 설정하였다면 출력값 ‘0’은 ‘사과가 아니다’를 의미하게 된다.
 인공 신경망의 작동은 크게 학습 단계와 판정 단계로 나뉜다. 학습 단계는 학습 데이터를 입력층의 입력 단자에 넣어 주고 출력층의 출력값을 구한 후, 이 출력값과 정답에 해당하는 값의 차이가 줄어들도록 가중치를 갱신하는 과정이다. 어떤 학습 데이터가 주어지면 이때의 출력값을 구하고 학습 데이터와 함께 제공된 정답에 해당하는 값에서 출력값을 뺀 값 즉 오차 값을 구한다. 이 오차 값의 일부가 출력층의 출력 단자에서 입력층의 입력 단자 방향으로 되돌아가면서 각 계층의 퍼셉트론별로 출력 신호를 만드는 데 관여한 모든 가중치들에 더해지는 방식 으로 가중치들이 갱신된다. 이러한 과정을 다양한 학습 데이터에 대하여 반복하면 출력값들이 각각의 정답 값에 수렴하게 되고 판정 성능이 좋아진다. 오차 값이 0에 근접하게 되거나 가중치 의 갱신이 더 이상 이루어지지 않게 되면 학습 단계를 마치고 판정 단계로 전환한다. 이때 판정의 오류를 줄이기 위해서는 학습 단계에서 대상들의 변별적 특징이 잘 반영되어 있는 서로 다른 학습 데이터를 사용하는 것이 좋다.

 

요약하면, 퍼셉트론은 여러 개의 입력을 받아 하나의 출력값(0 또는 1)을 내보내는 함수같은 기초 구조입니다. 퍼셉트론에는 가중치라는 개념이 있는데, 이 가중치를 이용해 입력값에 여러가지 계산을 한 후 결과값이 특정 임계값(Θ) 이상이면 1을, 아니라면 0을 출력하는 것입니다. 이런 퍼셉트론을 여러 층으로 배치해서 복잡한 판단(예를 들어 지문에 나온 특정 이미지가 사과인지, 아닌지 판별하는 것 등)을 할 수 있는 프로그램을 만드는 것이 최종 목표라고 볼 수 있습니다. 기계 학습은 이 과정에서 정답과 결과의 오차를 비교해, 퍼셉트론들의 가중치를 수정하는 과정입니다.

 

한 층으로만 이루어진 퍼셉트론은 선형 분류밖에 하지 못하기 때문에 XOR 연산 등 복잡한 연산은 처리할 수 없지만, 다층 퍼셉트론을 이용하면 비선형적 문제도 처리할 수 있게 됩니다.

반응형

댓글