본문 바로가기
AI/딥러닝

퍼셉트론(Perceptron)과 활성화 함수(Activation Function)란?

by 남오공 2022. 4. 27.
728x90

딥러닝의 시작이라고 할 수 있는 퍼셉트론에 대해 알아보자.

생물이 무엇을 인식할때 어떻게 진행되는가?라는 아이디어를 컴퓨터에 응용한 이론이 퍼셉트론이다

퍼셉트론을 관통하는 이미지는 아래와 같다.

 

X1,X2의 원들을 노드라고 칭한다.

퍼셉트론(Perceptron)이란?

  • 1957년에 프랑크 로젠블라트가 고안한 알고리즘으로 딥러닝(신경망)의 기본 단위이다.
  • 다수의 신호를 입력을 받아 하나의 신호로 출력한다
  • 위 그림과 같이 두 개의 노드(X1,X2)이 있을때 두 노드의 *가중치(w1,w2)만큼을 곱하여 그 조합의 합이 *임계값을 넘었을 경우 1을 출력하고 그렇지 않을 경우 0을 출력하는 것을 의미한다. 
더보기

* 가중치(weight): 입력데이터의 중요도

* 편향(bias): 노드를 어떻게 활성화 할지 여부를 조절하는 역할 혹은 영향

* 임계값(critical value): 함수의 미분계수가 0이거나 존재하지않는 점

퍼셉트론의 기본 구조

위 그림을 보면 크게 가중치-편향 연산활성화 함수로  두 부분으로 나누어 진다.

가중치-편향 연산 (=가중합)(Weighted Sum)

  • 위 그림처럼 퍼셉트론은 여러 개의 신호(input)를 입력받는데 입력 된 신호는 각 가중치(weight)와 곱해지고 그 결과를 합하게 되는데 그 결과 값인 가중합(Weighted Sum)이 퍼셉드론의 첫번째 단계이다. 
더보기

* 가중치(weight): 입력데이터의 중요도

* 편향(bias): 노드를 어떻게 활성화 할지 여부를 조절하는 역할 혹은 영향

활성화 함수 (Activation Function)

  • 신경망에서의 핵심이 되는 요소로써 입력 신호의 총합(=계산된 가중합)을 얼마만큼의 출력 신호로 변환할지에 관한 결정을 내리는 함수를 의미한다.
  • 활성화 함수가 신경망에서 핵심인 이유는 활성화 함수의 비선형성(non-linear)이 신경망의 쌓는 층의 존재 이유기 때문이다. 
  • 만약 활성화 함수없이 중첩된 층들은 결국 가중치와 편향들의 합으 조합으로 구성되어 지는데 이는 형태의 변화가 없으므로 여러층을 중첩하는 이점을 살리지 못하기에 활성화 함수의 역할이 필요하다.
  • 자주 사용되어지는 활성화 함수는 (계단,시그모이드,렐루,소프트맥스)이 있으며 아래에 함수에 관한 설명을 이어가겠다.

1.  계단 함수(Step funcion)

  • 입력값이 임계값(0)을 넘기면 1을, 그렇지 않다면 0을 출력하는 함수이다.
  • 하지만 계단 함수는 임계값 지점에서 미분이 불가능하고 나머지 지점에서는 미분값이 0이 나온다.
  • 그렇기에 계단 함수를 활성화 함수로 사용한다면 학습이 제대로 이루어지지 않는다.

계단함수 이미지

 

2. 시그모이드 함수(Sigmoid function)

  • 시그모이드는 임계값에서 미분이 불가능한 계단 함수를 해결하기 위해 사용되는 함수이다. 
  • 이진 분류를 할때 사용이 된다.
  • 단점 :시그모이드 함수를 중복하여 사용하면 기울기가 소실된다.

시그모이드 함수 이미지

3. 렐루(ReLU funtion) 함수

  • 시그모이드 함수의 기울기 소실 문제를 해결하기 위해서 등장하게 되엇다.
  • 입력 값이 양의 값이라면 그대로 그 값을 출력하고, 음의 값이 입력된다면 0을 출력한다. 
  • f(x)=max(0,x)식으로 나타낼 수 있다.

렐루 함수 이미지

  • 소프트맥스
    • 상당히 자주 쓰이는것 같으므로 따로 글을 작성하겠다.
       


 

댓글