본문 바로가기

데이터 다루기/신경망

[신경망] 1. 퍼셉트론

728x90
반응형

안녕하세요. 오늘부터 신경망 (Neural network)를 포스팅해보려고 합니다.

최근에 4차 산업혁명에 의해 데이터 분석이 인기가 많아지고, 알파고의 영향으로 AI에 대한 관심이 많아졌는데요.

AI중 딥러닝과 신경망은 원래 같은 개념이지만, 기존에 있던 신경망 이론을 더 획기적으로 다가오게 만들기 위해서 딥러닝이라는 단어를 만들었다고 합니다.

이번 포스팅에서는 신경망의 가장 기초가 되는 퍼셉트론이라는 개념에 대해서 알아보도록 하겠습니다.

https://www.slideshare.net/jbhuang/lecture-29-convolutional-neural-networks-computer-vision-spring2015

 

퍼셉트론은 우리의 뇌에서 뉴런이 전기 신호 전달함으로써, 정보를 전달하는것을 본따서 만들었습니다. 퍼셉트론은 간단히 말해서, 다수의 입력 변수를 받아서 하나의 출력 변수로 반환합니다.

예를 들어서, 퍼셉트론에 입력변수가 들어오면 가중치와의 가중합을 구해서 정해진 임계값을 넘으면, 1을 반환하는 형식입니다.

단일 퍼셉트론의 예로 AND, OR연산자에 대한 분류가 있습니다.

AND와 OR연산자를 표로 나타내면 다음과 같습니다.

AND

OR

X1

X2

Y

X1

X2

Y

0

0

0

0

0

0

0

1

0

0

1

1

1

0

0

1

0

1

1

1

1

1

1

1

그리고 단일 퍼셉트론의 한계로는 XOR 의 예가 있습니다. XOR은 같을 경우 0을 반환하며, 다를 경우 1을 반환합니다.

XOR

X1

X2

Y

0

0

0

0

1

1

1

0

1

1

1

0

http://ecee.colorado.edu/~ecen4831/lectures/NNet3.html

 

위 그림처럼 OR 과 AND 는 직선 하나로 분류가 되지만, XOR 은 직선 하나로는 분류가 불가능합니다.

따라서 XOR을 분류하기 위해서 두 가지 방법이 제안되었습니다.

첫번째 방법은 Point의 개수를 줄이는 것입니다.

y1=x1+x2; y2=(x1x2)c 으로 치환하면 XOR 표가 다음과 같습니다.

XOR

y1

y2

Y

0

1

0

1

1

1

1

1

1

1

0

0

이 때 2번째 행과 3번째 행은 중복이 되서 점의 개수가 하나 줄어들게 됩니다.

따라서 AND 연산자와 같은 방식으로 분류가 되게됩니다.

두 번째, 방법은 차원을 늘리는 것인데 이 방법은 다층 퍼셉트론을 생성함으로써 해결할 수 있습니다.

https://commons.wikimedia.org/wiki/File:Perceptron_XOR.jpg

위처럼 차원을 늘리면 평면으로 분류가 가능해집니다.

반응형