brunch

You can make anything
by writing

C.S.Lewis

by 코딩하는 수학쌤 Sep 23. 2021

35. 인공 신경망과 딥러닝의 등장-1 퍼셉트론.

[4악장 - Cadenza] 머신러닝의 알고리즘과 수학

1) 인공 신경망의 도입과 퍼셉트론의 개발

 인공신경망이 개발되기 전이었던 1940년대에는 인공두뇌를 만들기 위한 여러 학자들의 연구가 진행되고 있었습니다. 논리를 다루는 수학과 철학, 전기 신호를 제어하는 공학, 의사결정을 다루는 다양한 학문의 학자들이 함께 어떻게 하면 인공두뇌를 만들지 논의를 하고 있었습니다.


 학자들은 뇌를 구성하는 뉴런이라는 신경계가 신호를 전달하는 원리를 주목했습니다. 뉴런은 받은 자극의 합이 특정값(임계값이라고 합니다)을 넘으면 자극을 전달하고 그렇지 않으면 자극을 전달하지 않는 특성이 있습니다. 이렇게 신호 전달 여부가 마치 컴퓨터 회로에서 스위치를 켜고 끄는 것과 비슷하다고 볼 수 있죠.


 이를 바탕으로 인간의 뇌의 신경 전달 방식을 잘 연구하면 전기적인 신호를 활용해서 인공두뇌를 만들 수 있을 것이라고 판단했습니다. 실제로 1942년 미국의 일리노이 의대의 정신과 부교수였던 워렌 맥컬록(McCullock)과 피츠는 전기 스위치처럼 켰다 껐다 하는 기능을 가진 인공 신경들을 그물망 형태로 연결하면 기초적인 뇌의 기능을 구현할 수 있다는 것을 이론적으로 증명하였습니다.


 맥클록의 연구는 인공신경망 이론은 코넬대학의 심리학자였던 프랑크 로젠블럿(Rosenblatt)에 큰 영향을 주었습니다. 로젠블럿은 다양한 변수들에 각각 특정한 숫자들을 곱한 값들의 합이 특정한 값 이상이면 1, 그렇지 않을 때는 –1의 값을 돌려주는 인공신경망을 실제로 디자인하였습니다. 이론적으로 가능하다는 것과 실제로 구현한 것은 차이가 있죠! 


 퍼셉트론이 대단히 복잡한 모습을 하고 있는 것은 아닙니다. 먼저 퍼셉트론에 사용하는 데이터에는 입력값과 결과를 알려주는 레이블이 정해져 있습니다. 예를 들면 위의 그림에서 변수들의 값이 12, 8, 3이고 여기에 가중치를 임의로 0.6와 0.4, 0.1을 줍니다. 그 곱들의 합에 편향값 10을 빼주면 다음의 결과를 얻습니다.

12x0.6  +8x0.4 + 3x0.1 - 10 = 0.7 


 계산 결과인 0.7이라는 값이 0보다 크므로 참을 의미하는 1을 돌려줍니다. (만약 값이 양수가 아닐 때는 거짓을 의미하는 0을 돌려줍니다.) 이러한 퍼셉트론의 결과가 데이터의 레이블과 같으면 그대로 가중치가 유지가 되고, 그렇지 않을 경우 가중치를 조절해주게 됩니다. 각 데이터마다 이와 같은 과정을 반복하면서 가중치와 편향값을 적절히 찾아가는 과정이 퍼셉트론의 학습 과정입니다. 


 로젠블럿은 퍼셉트론의 개발이 전자 컴퓨터에 엄청난 영향을 줄 것이라고 예측했습니다. 1958년 미 해군이 연 기자회견에서 로젠블럿은 멀지 않은 미래에  퍼셉트론이 걷고, 말하고, 보고, 듣고, 쓰고, 자가 생식이 가능하고 말했습니다. 심지어 본인의 존재까지 자각하는 전자컴퓨터의 배아 줄기세포가 될 것이라고 언급했습니다. (뉴욕 타임스) 




2) 퍼셉트론의 한계

 인공지능이 한창 연구되던 초창기에는 퍼셉트론을 통해 간단한 논리 구조의 구현이 가능했습니다. 예를 들어 위의 예시는 당시 논리 회로를 구성하던 and와 or에 대한 게이트(입력값에 따라 0,1을 돌려주는 스위치)의 예시입니다. and는 모두가 참인 1이 입력이 될 때만 1을 돌려주고, 나머지 경우에는 0을 돌려줍니다. or 게이트는 모두가 0인 경우에만 0을 돌려주고 나머지는 1을 돌려줍니다. 이러한 논리 구조를 구현한 퍼셉트론의 예시가 p1, p2입니다. 이러한 논리의 구조를 퍼셉트론을 통해 하나씩 구현할 수 있을 것이라고 기대했습니다.


 퍼셉트론의 식은 1차식의 꼴입니다. 따라서 각 입력값을 좌표로 나타내고 퍼셉트론 p₁(x, y)=0을 만족하는 (x, y) 값들을 좌표로 나타내면 직선의 꼴로 나타납니다. 따라서 마치 결과가 0과 1인 데이터를 직선을 그어 나누는 형태로 표현할 수가 있습니다.

 그러나 문제들 중에서는 직선 하나를 그어 나누지 못하는 경우가 얼마든지 존재합니다. 대표적인 예가 XOR 논리 게이트입니다. XOR은 입력값들이 서로 같을 경우 0을 주고, 서로 다른 값일 경우에 1을 주는 논리 회로입니다. 위의 그림과 같이 어떠한 직선을 그어도 입력값들을 구분하는 것은 불가능하죠. 인공지능의 아버지라고 불리는 민스키(Minsky)는 로젠 블럿과 퍼셉트론에 관하여 로젠 블럿과 많은 설전을 벌였습니다. 그러던 중 1969년에 민스키는 페퍼트(Papert)와 함께 쓴 ‘퍼셉트론’에서 퍼셉트론의 수학적 한계를 증명해냈습니다. 


 민스키의 발표를 통해 퍼셉트론은 직선, 혹은 평면과 같은 형태로 수학적 모델링이 가능한 문제에만 적용 가능하다는 한계가 분명해졌습니다. 아 한계는 우리가 일상에서 다루는 많은 문제에 적용이 불가능하다는 것을 의미했습니다. 결국 퍼셉트론으로 구현한 인공신경망의 한계를 깨달은 정부와 기업들은 인공지능 연구에 투자를 철회하기 시작했습니다. 이 때문에 인공신경망은 연구할 가치가 없는 거품에 불과하다는 분위기가 만들어졌습니다.

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari