뱁새유니버스

[딥러닝] #001. 딥러닝 기원 퍼셉트론(Perceptron) 알고리즘

by 뱁새유니버스

1. 개요

머신러닝과 딥러닝 기술이 우리 삶에서 자연스럽게 들어왔습니다. 일론 머스크가 휴머노이드 봇을 출시한다는 이야기도 하던데, 요즘 같은 시대엔 모든게 가능해보입니다. 미래 환경이 빠르게 바뀌어 가는 것에 양가적인 감정을 느낍니다. 신기술들을 접할 때마다 반갑고 설레고 즐겁지만 한편으로는 빠르게 변하는 세상 속에서 혹시 나만 뒤쳐지고 있는게 아닌가라는 알 수 없는 불안감도 엄습해옵니다. 그래서 머신러닝과 딥러닝을 공부해보려고 책을 펴들고, 공부를 하기 시작했습니다. IT전공자라고 해도 Tensorflow, 인공뉴런, 퍼셉트론, 다층 퍼셉트론, adaline 이라는 말들을 들으면 왜 이렇게 생소하고 멀게 느껴질까요?

 

딥러닝이란게 뭘까요? 깊게 배운다? 깊게 사고하는 방식? neural network?

간단하게 우리 사고 체계를 학습한다고 생각하면 됩니다.

세살배기 아이를 생각해봅시다. 아기는 고양이와 강아지를 어떻게 구분할까요? 아기는 고양이를 수차례보고, 여러 신호를 받아들입니다. 간단하게 눈(시각정보)으로만 생각해보았을 때, 고양이의 꼬리가 가늘고 유연하게 움직인다! 강아지는 살랑사랑거리네! 고양이는 만지려고 하면 도망치네! 강아지는 만지려고 하면 다가오네! 고양이와 강아지를 수십번, 수천번 보면서 아이는 고양이와 강아지 구분법을 학습합니다. 밖으로 산책을 갔을 때도 쟤는 고양이다! 쟤는 강아지다!라고 할 수 있는 것이 끊임없는 학습을 통한 결과물인 것이지요. 이게 딥러닝입니다!(?) 매우 간단하죠?...;;

 

저도 이해하기 쉽게, 여러분들도 이해하기 쉽게 차근차근 제가 이해한 만큼 찬찬히 블로그에 포스팅해보려고 합니다. 

 

이번 시간은 대망의 퍼셉트론 입니다.


2. 내용

퍼셉트론(Perceptron)이란 무엇일까?

 

퍼셉트론(Perceptron) 알고리즘은 1957년에 프랑크 로젠블라트라는 분이 고안한 알고리즘입니다. 

퍼셉트론은 Perception(인지) + -tron(기구, 장치 등을 나타내는 접미사)가 붙어 인지하는 장치? 정도로 이해하면 됩니다.

퍼셉트론 알고리즘과 위에서 설명한 세살배기 아이의 동물구분법은 동일합니다.

여러 개의 신호를 입력받아서 하나의 신호를 출력하는게 퍼셉트론 알고리즘 방식입니다. 이를 도식화하면 아래 그림과 같습니다.

가령 강아지를 판단하는데 있어 꼬리가 더 중요하다고 생각하면 가중치값(W1)이 높아지는 것이고, 몸통은 상대적으로 강아지와 고양이 모두 통통할 수도 있고, 날씬할 수도 있어서 판단히 어려우니 가중치(W2)가 낮게 될수도 있는 것입니다. 

이런 수많은 입력신호(몸통, 꼬리 등)를 받고 가중치를 곱해서 하나의 결과값(강아지!)을 갖는 것이 바로 퍼셉트론입니다! 참 쉽죠?

 

이를 또 수학적으로 표현하면 아래와 같습니다.

$$y=\begin{cases} 0, (w_1x_1 + w_2x_2 \le \theta) \\1, (w_1x_1 + w_2x_2 > \theta) \end{cases}$$

 

w는 가중치이고, x는 입력신호(꼬리, 몸통 등) 입니다. 가중치와 입력신호를 곱해 y(강아지)라는 값을 출력해내는 것이지요! 여기서 theta \( \theta \)라는 값이 있는데 이는 한계를 나타내는 임계값을 나타냅니다.

임계값을 넘을 때(음~ 이만하면 강아지군?) 1을 출력하고, 임계값을 넘지 않을 때 0을 출력한다는 뜻입니다.

이게 바로 딥러닝의 시초 퍼셉트론입니다!


3. 마치며

이번 시간은 딥러닝의 시초 퍼셉트론에 대해 알아보았습니다. 다음 시간에는 퍼셉트론을 활용한 간단한 논리 회로(AND, OR, NAND, XOR)게이트를 살펴보고 파이썬을 활용하여 퍼셉트론을 구현해보는 시간을 갖도록 하겠습니다.

 

질문이 있으시면 언제든 댓글 남겨주세요! 답변드리겠습니다.

이 글을 보는 모든 분들 오늘 하루가 행복하시길 바랍니다.

감사합니다.

반응형

블로그의 정보

가슴이 웅장해지는 모든것

뱁새유니버스

활동하기