본문 바로가기

AI/Deep Learning

Multi-Layer Perceptron, MLP

728x90

1. Perceptron

  • 딥러닝에서는 여러 개의 입력을 받아 한 개의 출력을 내는 퍼셉트론 사용
  • 이전 층의 정보를 사용해 새로운 층의 정보 생성
  • 이때 입력 값에 weight 를 주며, bias를 통해 underfitting 또는 overfitting 을 방지
  • 이전의 층에서 예측된 값은 activate function을 통해 값이 변환됨

 


 

2. Multi-Layer Perceptron, MLP

  • 퍼셉트론으로 이루어진 층 여러 개를 순차적으로 붙여놓은 형태가 다층 퍼셉트론(MLP)
  • 즉 여러 개의 퍼셉트론 뉴런을 여러 층으로 쌓은 다층신경망 구조
  • MLP는 정방향 인공신경망 (역전파 하지 않음)
  • MLP의 구조는 입력층, 은닉층, 출력층의 전방향 신경망

 

  • 위 MLP는 입력 4개, 은닉층의 유닛 5개, 출력 3개를 가지고 있음
  • 위 MLP는 2개의 층(layer)를 가지고 있다고 할 수 있음
    • 입력층은 어떤 연산도 하지 않기 때문에 제외

 

  • 위 수식은 weight와 bias로 나타낸 다중 클래스 분류
  • h, o 수시으로 인해, 다층 퍼센트론 처럼 판단되지만 사실 아래 사진 처럼 하나의 식으로 만들어 질 수 있으므로 단일층 퍼셉트론에 해당

 

  •  위 수식이 다층 퍼셉트론을 나타낸 것
  • h  수식이 도출되기 위해선, weight 와 bias를 통해 나온 값에 비선형 함수를 변환시켜주어야 함
  • 여기서 말하는 비선형 함수가 활성화 함수를 의미

 


 

3. Activation function

  • 비선형성을 추가하기 위해 사용
    • 위에서 언급했듯이, 선형 함수들간의 결합은 결국 단일층 퍼셉트론
    • 따라서 비선형 함수를 사용하여야 다층 퍼셉트론이 가능
  • 신경망을 통과해 나온 결과값을 변환하는 함수
  • 각 함수 종류에 따라 변환되는 값이 다름

 


 

References

 


 

사실 각각의 함수에 대해 자세히 다루고 싶지만,

하고자 하는 프로젝트를 진행할 기간을 고려하면

필요성이 높은 일은 아니라고 판단

따라서 나중에 시간이 되면 자세히 다룰 예정

지금은 간단한 개념을 기반으로 이해만