본문 바로가기

【1】Deep Learning 시작하기/딥러닝이 알고 싶다!

딥러닝의 뿌리를 찾아서, 퍼셉트론은 누구인가?

  인공지능 연구진들은 ‘사람을 대신해서 문제를 해결하는 기계’를 만들기 위해 사람의 뇌 구조를 분석하고 이를 컴퓨터세계로 가져옴으로써 인공신경망을 만들 수 있을 것이라고 생각했다. 1957년 블랜트(Frank Rosenblatt)가 제안한 인공 뉴런인 퍼셉트론은 신경망(딥러닝)으로 나아가는데 중요한 아이디어가 되었다.

 

이번장에서는 딥러닝의 핵심이 되는 인공신경망의 구성원인 인공뉴런 즉, 퍼셉트론의 동작원리를 간단히 소개하겠다. 먼저 퍼셉트론의 동작을 이해하기 위해 생물학적 신경망을 보도록 하자.

 

사람의 뇌는 뉴런이라고 불리는 신경세포로 구성되어 있다. 뉴런은 다수의 입력이 합산되어 하나의 통로로 출력이 되는데 합산된 값이 일정 값 이상이면 다음 뉴런으로 신호를 전달하고, 그 이하면 아무것도 하지 않는다.

 

 

 

 

뉴런을 본 따서 만든 인공 뉴런 즉, 퍼셉트론도 이와 비슷하다. 

2개의 신호가 입력으로 들어온 퍼셉트론의 예시를 통해 퍼셉트론의 동작을 알아보자.

 

 

그림에서 색이 칠해진 영역은 뉴런 혹은 노드라고 부르며 x1 , x2 는 입력신호, y 는 출력신호, w1 , w2는 가중치(weight)를 뜻한다. 가중치의 크기가 클수록 해당 신호는 중요한 신호라고 볼 수 있다. 입력 값(x)과 가중치(w)의 곱을 모두 더한 다음 바이어스(b)를 더한 값인 가중합의 결과를 두고 0또는 1로 출력하는 방식이다.

 

이때 가중합의 값을 판단하는 함수를 활성화 함수(activation function)이라고 한다. 활성화 함수는 이름처럼 입력으로 들어온 신호들의 총합이 활성화를 일으키는지 판단하는 역할을 한다. 퍼셉트론은 활성화 함수로 계단함수(step function)를 사용한다.

 

계단 함수는 0을 경계로 입력 값이 작은 경우에는 0을, 큰 경우에는 1을 출력한다. 그래프에서 보듯 계단 모양을 하고 있어 ‘계단’ 함수라고 부른다.

 

 

그렇다면 퍼셉트론의 층의 개수는 몇개일까? 입력층과 출력층이 있으므로 층이 두개가 아닌가 생각할 수 있지만 가중치를 갖는 층의 개수만 세기 때문에 층을 하나로 본다. 그래서 퍼셉트론을 ‘단층 퍼셉트론’이라고 부르기도 한다.

 

※ 입력층을 제외하고 층을 세는 텐서플로(TensorFlow)와는 달리 사이킷런(Scikit-learn)은 입력층을 포함해서 층을 센다. 이로써 코드 구현 시 차이가 있음에 주의 하자.

 

인간의 뇌가 뉴런으로 이루어지고 뉴런의 동작 들로 인해 사람이 생각을 할 수 있는 것처럼 인공 신경망 또한 인공 뉴런인 퍼셉트론으로 구성되었다고 해도 무방하다. 즉, 퍼셉트론은 신경망의 기본 단위가 된다. 그렇다면 퍼셉트론을 활용해서 어떠한 문제를 풀 수 있을까? 다음 글에서 살펴보도록 하겠다.

 

 

 


작성자 홍다혜 ghdek11@gmail.com / 이원재 wonway333@gmail.com

Copyright 2020, Ardino All rights reserved