수학 개념 지도
데이터와 학습(Data and learning)

퍼셉트론(Perceptron)

입력에 가중치⁠(weight)⁠를 곱해 더하고 문턱⁠(threshold)⁠을 넘으면 1을 내는 인공 뉴런. 틀릴 때마다 가중치를 고치는 규칙으로, 직선으로 가를 수 있는 데이터는 반드시 가르게 된다.

y^=step⁡(w⃗⋅x⃗+b),w⃗←w⃗+η y x⃗,    b←b+η y\hat y = \operatorname{step}(\vec w\cdot\vec x + b), \qquad \vec w \leftarrow \vec w + \eta\, y\, \vec x,\;\; b \leftarrow b + \eta\, y
먼저 보면 좋은 개념내적벡터

퍼셉트론은 가장 단순한 인공 뉴런입니다. 입력 x1,x2x_1, x_2에 가중치 w1,w2w_1, w_2를 곱해 더하고 편향 b를 더한 값이 0보다 크면 1(노랑), 아니면 0(파랑)을 냅니다. 곱해서 더하는 부분은 내적⁠(dot product)⁠ w⃗⋅x⃗\vec w\cdot\vec x이므로, 답이 바뀌는 경계 w⃗⋅x⃗+b=0\vec w\cdot\vec x + b = 0은 벡터⁠(vector)⁠ w⃗\vec w에 수직인 직선입니다. 청록 화살표 w를 끌고 편향 b = 를 바꿔 보세요. 배경 색이 퍼셉트론의 답이고, 분홍 테두리가 틀린 점(지금 개)입니다.

점들: · 새 점들

흰검은 선이 경계 w·x + b = 0, 흰검은 고리가 방금 고친 점, 분홍 점선 화살표가 그 한 번의 고침 ηyx입니다.

학습 규칙은 한 줄입니다. 틀린 점 하나를 찾아(노랑이면 y = +1, 파랑이면 y = −1)

w⃗←w⃗+η y x⃗,b←b+η y\vec w \leftarrow \vec w + \eta\, y\, \vec x, \qquad b \leftarrow b + \eta\, y

로 고칩니다. 학습률⁠(learning rate)⁠은 η = 입니다. 노랑 점을 파랑으로 잘못 봤다면 w에 그 점을 조금 더하니 w가 그 점 쪽으로 돌아가고, 그 점의 w⃗⋅x⃗\vec w\cdot\vec x가 커져 답이 노랑 쪽으로 움직입니다. 맞힌 점은 건드리지 않습니다. 지금까지 번 고쳤습니다. 그림 위의 ▶를 누르면 틀린 점을 차례로 찾아 고치다가, 틀린 점이 없으면 스스로 멈춥니다.

이 단순한 규칙에는 끝이 보장됩니다. 두 무리를 가르는 직선이 하나라도 있으면(선형 분리 가능⁠, linearly separable⁠), 이 규칙은 유한 번만 고치고 멈춥니다. 다만 멈춘 곳의 직선은 가르는 여러 직선 가운데 하나일 뿐, 두 무리 한가운데를 지나는 가장 좋은 직선이라는 보장은 없습니다. 1962년 미국의 수학자 앨버트 노비코프가 증명한 정리에 따르면, w = 0에서 출발했을 때 모든 점이 원점에서 거리 R 안에 있고 두 무리 사이에 폭 2γ의 빈 띠가 있으면 고치는 횟수는 (R/γ)2(R/\gamma)^2을 넘지 않습니다(편향은 입력에 1을 하나 덧붙여 가중치로 셉니다). 한 번 고칠 때마다 w와 '정답 방향' 사이의 내적은 적어도 γ씩 커지는데 w의 길이는 고친 횟수의 제곱근에 비례하는 만큼(R√k)까지만 자라므로, 둘 사이 각의 코사인(코사인 유사도⁠, cosine similarity⁠)이 1을 넘지 않으려면 고치는 횟수에 한계가 있어야 합니다.

점들을 'XOR처럼 놓인 점들'로 바꾸면 사정이 다릅니다. 노랑은 왼쪽 위와 오른쪽 아래, 파랑은 오른쪽 위와 왼쪽 아래에 있어 어떤 직선도 둘을 가르지 못합니다. 퍼셉트론은 끝없이 고치기만 하므로 그림은 60번 고친 뒤 멈춥니다. 배타적 논리합(XOR)은 불 대수⁠(Boolean algebra)⁠의 기본 연산인데도 뉴런 하나로는 계산할 수 없습니다(AND와 OR은 됩니다). MIT의 마빈 민스키와 수학자 시모어 페이퍼트가 1969년 책 『퍼셉트론』에서 이런 한계를 엄밀하게 따진 뒤 신경망⁠(neural network)⁠ 연구가 한동안 움츠러들었다고 흔히 말합니다. 해법은 퍼셉트론을 층으로 쌓은 신경망이었습니다.

퍼셉트론은 1958년 코넬 항공 연구소의 프랭크 로젠블랫이 발표했습니다. 규칙을 사람이 적어 넣지 않고 예로부터 기계가 스스로 고쳐 나가게 한, 기계 학습⁠(machine learning)⁠의 첫 모형 가운데 하나입니다. 그 바탕은 1943년 신경생리학자 맥컬러와 젊은 논리학자 피츠가 뉴런을 켜짐과 꺼짐만 있는 단위로 본 모형입니다. 이런 단위들을 이은 망은 가능한 상태의 수가 유한한 기계이므로, 이 모형은 상태가 유한한 기계를 다루는 유한 오토마톤⁠(finite automaton)⁠ 이론의 출발점 가운데 하나이기도 합니다.

이어지는 곳. 틀린 만큼만 고치는 이 규칙은 손실 max⁡(0,−y(w⃗⋅x⃗+b))\max(0, -y(\vec w\cdot\vec x + b))에 대한 경사 하강법⁠(gradient descent)⁠을 점 하나씩 적용한 것으로 볼 수 있습니다. 0에서 1로 뚝 끊어 오르는 계단 함수⁠(function)⁠를 매끄러운 S자 곡선인 시그모이드⁠(sigmoid)⁠ 1/(1+e−s)1/(1+e^{-s})로 바꾸면, 출력을 '노랑일 확률⁠(probability)⁠'로 읽는 로지스틱 회귀⁠(logistic regression)⁠가 됩니다. 매끄러우니 미분⁠(differentiation)⁠할 수 있고, 그래서 역전파⁠(backpropagation)⁠로 학습하는 신경망의 부품이 됩니다. 두 무리 사이의 빈 띠를 가장 넓히는 직선을 고르면, 1990년대에 널리 쓰인 분류 방법인 서포트 벡터 머신⁠(support vector machine)⁠이 됩니다. 비슷한 시기에 스탠퍼드의 버나드 위드로와 그의 학생 테드 호프는 틀렸는지 여부 대신 오차의 제곱을 줄이는 아달라인(1960)을 내놓았는데, 이것은 최소제곱 회귀⁠(least-squares regression)⁠를 점 하나씩 푸는 셈입니다. 예를 모두 기억해 두는 최근접 이웃 분류⁠(k-nearest neighbors classification)⁠와 달리, 퍼셉트론은 수 세 개(w₁, w₂, b)만 남기고 예를 버립니다.

이 개념이 나오는 큰 생각쌍대성선형화: 휘어진 것을 곧게 보기

이 개념이 나오는 긴 글

거리와 유사도 까마귀와 택시 까마귀는 곧장 날고 택시는 블록을 돌아간다. '얼마나 먼가'에는 답이 하나가 아니고, 어떤 거리를 고르느냐가 통계와 기계 학습의 답을 바꾼다. 신경망과 기계 학습 배우는 기계 예를 보여 주면 규칙을 스스로 찾는 기계. 1958년의 퍼셉트론에서 오늘의 심층 신경망까지, 그 밑바닥에는 미분과 연쇄법칙이 있다.

이 개념 위에 세워진 것

이 개념을 언급하는 페이지

이 페이지가 가리키는 개념