퍼셉트론

퍼셉트론(영어: Perceptron)은 인공신경망(artificial neural network)의 한 종류이다. 수많은 기계 학습 알고리즘이 퍼셉트론 개념에 기반한다.

역사[편집 | 원본 편집]

1957년 코넬 항공 연구소(Cornell Aeronautical Lab)의 프랑크 로젠블라트(Frank Rosenblatt)에 의해 고안되었다.

구조[편집 | 원본 편집]

실제 신경 세포의 동작과 유사하게, 여러 신호를 동시에 입력받아 각각 가중치(weight)를 곱해 더하고, 여기에 일정한 수인 편향(bias)을 더한 값을, 활성화 함수(activation function)에 통과시켜 출력하는 구조를 가지고 있다. 활성 함수는, 분류 문제의 경우 일정한 역치(threshold)를 넘으면 1, 아니면 0을 출력하는 함수가 한 예가 될 수 있다.

단층 퍼셉트론 구조의 한계[편집 | 원본 편집]

퍼셉트론은 어떤 [math]\displaystyle{ N }[/math]차원 공간을 둘로 나누는 초평면(2차원 공간의 경우 직선, 3차원 공간의 경우 평면 등)을 정의하는 것으로 볼 수 있다. 분류하고자 하는 데이터가 이러한 초평면을 기준으로 둘로 딱 나뉘는 경우에는 단층 퍼셉트론이 잘 작동하나, 그렇지 않은 경우에는 단층 퍼셉트론이 작동하지 않는다. 즉, 단층 퍼셉트론 구조만으로는 비선형적인 데이터를 분류할 수 없다. 대표적인 것이 XOR 문제인데, 단층 퍼셉트론만으로는 XOR 연산을 흉내낼 수 없다는 것이 일찍이 증명되었고, 이로 인해 각광받던 퍼셉트론은 순식간에 잊혀지고 만다.

이후 퍼셉트론을 여러 층으로 쌓으면 비선형적인 데이터를 분류할 수 있게 된다는 사실이 밝혀지면서 퍼셉트론이 빛을 보게 된다. 대부분의 기계 학습 모델은 다층 퍼셉트론(Multi-layer Perceptron; MLP)을 포함하고 있다. 퍼셉트론[1]의 적절한 가중치(weight)와 편향(bias)을 데이터를 이용해 찾아내는 것이 바로 "학습"이다.

각주

  1. 엄밀히는 합성곱(convolution) 레이어 등의 다른 학습 대상도 존재한다.