나만봄 - MLP(Multi-Layer Perceptron)

esc247·2023년 3월 7일
0

AI

목록 보기
7/22
post-thumbnail

퍼셉트론.
지금은 잘 사용하지 않지만
알고는 있어야 하니까 정리해본다.

이번에도 본격적으로 시작하기 전 ChatGPT에게 질문했다.
몇 번 해보니 장황하게 말하는 경우가 많아
핵심만 전달해 달라고 요청했다.

요약하면,

  1. 최소 3개 이상의 layer로 구성 - input, hidden, output.

  2. 지도 학습.

  3. 입력과 출력 사이의 복잡한 비선형 관계를 학습.

  4. 예측 결과와 실제 결과 사이의 오차를 최소화 하기 위해
    BackPropagation 사용.


Multi-Layer Perceptron.
말 그대로 여러 층이 있는 퍼셉트론이다.
하나하나 개념을 분해하며 알아가 보자.

질문 1. Perceptron은 무엇인가?

  • 다수의 신호를 입력으로 받아 하나의 신호를 출력하는 알고리즘이다. 인공 뉴런 혹은 단순 퍼셉트론으로 불린다.

  • 입력치에 가중치(Weight)를 곱한 값과 편향(Bias)을 합하여 임계값과 비교후 결과를 출력한다.

  • 한계: XOR(배타적 논리합) 구현 할 수 없다 -> 직선 하나로 나눈 영역만 표현 가능.

질문 2. Perceptron으로 비선형 영역을 표현하려면 어떻게 할까?

  • Perceptron을 여러 층을 쌓아, 즉 Multi-Layer로 구현할 수 있다.


->여러 gate로 XOR gate 구현한 예시

  • 층이 깊을수록 목적함수를 근사하는데 필요한 뉴런(노드)의 숫자가 훨씬 빨리 줄어들어 효율적 학습 가능.
  • 이 떄, 노드의 모습.
    • input에 weight(우리가 구하려는 값)를 곱하고 bias를 더한 후 activation function을 거쳐 output 출력.

질문 3. 활성 함수(Activation Function)는 무엇인가?

  • 입력 신호의 총합을 출력신호로 변환하는 함수.
  • nonlienar
  • activation function을 사용하지 않으면 선형 모델과 다를 바가 없다.
  • 잠재벡터(Latent Vector)의 각 노드에 개별적으로 적용하여 새로운 잠재벡터를 만든다.
  • 함수 예시

질문 4. Backpropgation은 무엇인가?

  • 실제값과 예측값의 차이인 오차값을 다시 뒤로 전파해가며 각 노드가 가지고 있는 변수들(weight)을 갱신하는 알고리즘

( 너무 길어져서 자세한 건 다음 포스팅으로!)


참고 자료

profile
막상 하면 모르니까 일단 하자.

0개의 댓글