인공지능/이론 정리

신경망과 퍼셉트론, 그리고 활성화 함수

고등어찌짐 2022. 1. 3. 21:00
  • 신경망
    신경망은 입력층, 은닉층, 출력층으로 이루어짐
    입력 신호를 받아서 은닉층에서 연산하고, 이를 출력하는 구조


  • 활성화 함수
    활성화 함수란 입력층, 은닉층을 통해 계산된 값을 출력값으로 만들어내는 함수
    특정 기준이나 함수를 가지고 출력물을 어떻게 뱉어낼지 정의한다. 

    • 계단 함수
      앞에서 공부한 퍼셉트론에서 사용되었던 활성화 함수 
      특정 임계값을 넘느냐, 넘지 않느냐에 따라 0, 1의 출력값을 뱉어낸다. 

    • 시그모이드 함수 
      계단 함수와는 다르게 exp 연산을 함께 사용하여, 0, 1 의 값이 아닌 연산 후의 실수 값을 뱉어낸다. 

    • 렐루 함수
      입력값이 0 보다 작으면 0을, 그렇지 않으면 입력값 그 자체를 돌려주는 함수이다. 


  • 퍼셉트론과 신경망의 차이?
    퍼셉트론과 신경망의 차이는 활성화 함수이다.
    퍼셉트론은 계단함수와 같은 간단한 선형 형태의 활성화 함수를 사용하는 반면, 
    신경망은 시그모이드, 렐루와 같은 비선형 활성 함수를 사용한다. 


  • 선형함수와 비선형함수
    선형함수는 y = ax + b 와 같이 하나의 직선만으로 표현 가능한 함수를 말한다. 
    비선형함수는 하나의 직선만으로는 수식을 표현할 수 없는 함수이다. 


  • 선형함수의 문제점
    선형함수의 문제점은 아무리 층층이 선형함수를 쌓아도, 하나의 선형함수로 압축해 표현가능하다는 것이다. 
    3개 층으로 쌓은 y = a * a * a * x 와 1개 층의 y = a^3 * x 는 의미가 같다. 
    따라서 신경망의 은닉층에 선형함수를 쌓아 사용할 수 없고, 비선형 함수를 사용해야 의미가 있다. 


  • 넘파이 배열 연산에서, * 와 dot 연산의 차이  
    * 연산은 단순 곱을, dot 연산은 행렬 곱을 의미한다. 

 

 

# 참조
밑바닥부터 시작하는 딥러닝