MoonNote

반응형

지금부터 딥러닝을 살펴보기 위해서는 퍼셉트론(Perceptron)을 먼저 알아야합니다.

 

퍼셉트론이란, 일종의 학습 기계로서 1957년 프랑크 로젠블라트(Frank Rosenblatt)가 제안한 것이며 뇌의 학습 기능을 모델화한 것을 말합니다. 퍼셉트론이라는 단어를 살펴보면 'Perception+Neuron'의 조합이라는 것을 알 수 있는데 각각의 의미를 살펴보면 다음과 같습니다.

 

∘ Perception : 지각 능력, 무언가를 인지하는 능력

 Neuron : 신경 세포, 인공신경망을 구성하는 가장 작은 요소

 

따라서 뉴런이 어떤 입력 정보를 받았을 때 다양한 정보를 받아들이고 저장하는 뉴런의 기능을 모방한 인공 신경망이 퍼셉트론입니다. 딥러닝의 근원이라고도 할 수 있는 알고리즘이며 다음과 같은 원리로 표현할 수 있습니다.

단층 퍼셉트론(Single-layer Perceptron)

1) Inputs : 머신 러닝에서 말하는 특성(feature) 정보를 말함

2) Weights : 가중치는 각각의 입력에 대해 중요도를 부여하는 것

3) Activation Function :  Weighted Sum 값이 특정 임계치를 넘어가면 1, 그렇지 않으면 0(또는 -1)을 출력하는 함수를 말함

 

Weighted Sum 값은 각각의 특성(feature) 값 X₁~Xn에 가중치 W₁~Wn을 곱한 값을 모두 더하여 하나의 값으로 만드는데, 이 값을 순입력 함수(net input 함수)라고 부른다. 수학적으로 표현해보면 다음과 같이 표현됩니다.

뉴런의 입력 신호

 

뉴런의 입력 신호가 임계치보다 크면 반응하고 작으면 반응하지 않는다고 보는 것인데 위의 식을 이용해서 '반응 조건'을 나타내면 다음과 같이 표현됩니다.

따라서, 퍼셉트론은 각각의 입력 특성(feature)에 대해 입력 신호 유무(x=0, x=1)와 출력 신호의 유무(y=0, y=1)를 수학적으로 표현한 것이라 할 수 있다. θ, W₁, W₂를 어떻게 설정하느냐에 다양하게 논리 회로를 구성할 수 있으며 대표적으로 AND, NAND, OR, XOR 게이트를 예시를 통해 살펴보도록 하겠습니다.

 

다음 그림과 같은 4개의 데이터 셋이 있다고 가정해보겠습니다.

본 예시에서는 θ = 1.5, W₁ = 1, W₂ = 1로 설정하고 활성화 함수(Activation Function)에 대한 내용은 복잡하므로 일단 생략하였습니다.

그럼 이제 퍼셉트론을 통한 각각의 논리 회로로 나누어보도록 하겠습니다.

 

예 :  AND GATE,
      (0,0) 데이터의 경우 X₁ = 0, X₂ = 0, W₁ = 1, W₂ = 1을 가지고 net 값을 구하면

      net =  X₁W₁ + X₂W₂ = 0*1 + 0*1 = 0

      Activation Function을 적용하여 Threshold와 비교하여야지만 이 부분은 생략하기로 하였으므로,

      f(net) = net = 0 이라고 보고 θ = 1.5와 비교하면,

      f(net)은 임계치(Threshold) 1.5보다 작으므로 0을 출력하게 됨

 

해당 예시처럼 각각의 데이터들을 계산해보면 논리 회로에서의 y는 다음과 같이 계산됩니다.

 

1. AND GATE

2. NAND GATE

3. OR GATE

4. XOR GATE

 

이처럼 퍼셉트론은 직선으로 영역을 구분짓게 되는데, XOR은 직선으로 영역을 나눌 수 없게 되죠.

이러한 문제를 해결하기위해서 다층 퍼셉트론(Multi-layer Perceptrons)을 이용한 연산이 생기게 되었고,

퍼셉트론을 여러겹 묶어놓은 것이 곧 신경망이라고 할 수 있습니다.

 

신경망(Neural Network)

 

 

 

 

 

※ 이 글이 도움이 되었다면 "🤍공감" 버튼을 클릭해주세요. 클릭 한번이 글 쓰는데 큰 힘이 됩니다.

공유하기

facebook twitter kakaoTalk kakaostory naver band