article thumbnail image
Published 2022. 1. 14. 16:28

📌 이 글은 권철민 님의 딥러닝 CNN 완벽가이드를 바탕으로 작성한 포스팅입니다.


목차

  1. 퍼셉트론 개요
  2. 퍼셉트론의 학습 : 예측값과 실제값의 차이가 최소가 되는 weight값을 찾는 과정
  3. 퍼셉트론의 학습 예시
  4. 퍼셉트론의 학습 메커니즘

퍼셉트론 개요

퍼셉트론이란 것은 가장 단순한 형태의 신경망이다. 우리 몸에 가지고 있는 신경계를 본떠서 만들었다.

자극을 받아서 신경계를 따라 호르몬을 분비하는 것과 똑같은 원리이다.

입력이 들어오면 그에 맞는 출력을 낸다.

 

 

오른쪽 그림의 신경계를 예를 들어 설명하자면

자극(입력 피쳐들)과 자극의 중첩(가중치가 곱해진 값)이

미엘린 수초들(activation function)을 통과해서

역치(일정 임계치 값)를 넘어가면 1로 나오고,

역치(임계점) 아래라면 0으로 출력이 된다.

 

여기서 미엘린 수초들(activation function)의 형태는 시그모이드 함수이다.

x값이 아무리 커져도 1에 수렴하게 되고 아무리 작아져도 0으로 수렴하게 된다.


Weighted Sum

 

퍼셉트론의 입력 값인 x1, x2, .... ,xn은 상수로 들어온다.

이 값에다가 어떤 값(w, weight)을 곱해준다.

 

퍼셉트론이 가지고 있는 기본적인 식인 F에 Weighted Sum(가중치 값이 더해진 피처값의 합)을 적용해준다.

F(Activation 함수)를 적용하거나 시그모이드 함수를 적용을 한다.

이 함수가 적용이 된 다음, 출력을 하면 선형회귀를 구현할 수 있다.


퍼셉트론의 학습

예측 값과 실제 값의 차이가 최소가 되는 w 값을 찾는 과정이 퍼셉트론이 학습하는 과정이다.

차이를 최소가 되게 하기 위해서 w 값을 변경하면서 반복한다.

그런데 어떻게 변경할까?

 

바로 경사 하강법!


퍼셉트론 학습 예시

아래 표를 근거로 퍼셉트론을 학습하여 집값을 예측하고 싶다. 어떻게 예측할까?

위에서 본 것과 똑같다. 각 조건마다 중요하게 생각하는 부분이 다를 것이다.

그에 맞게끔 조건을 붙여주면 된다. 즉 가중치를 주는 것이다.

 

여러 데이터를 학습하면서 가중치를 변경할 수 있다.

이때 가중치는 어떻게 변경한다고?

바로 Gradient descent를 이용한다!

 


퍼셉트론 학습 메커니즘

 

계속적으로 예측값과 실제값의 차이를 줄여 나갈 수 있는 방향으로 가중치를 업데이트 한다.

 

각각의 피처인 방 개수(x1) 근처 학교 거리(x2) 근처 지하철 거리(x3)를 w와 곱하면서,

예측 값과 실제 값의 차이를 줄이는 방향성으로 w를 계속 변경한다.

 

아.. w를 변경해야 하는건 알겠다구.. 

그럼 도대체 그 변경해야하는 방향성을 어떻게 찾아야 하는데? 어떤 방식으로 가중치를 변경하는데...?

 

다음 글을 보자.

 

 

 

'🖼 Computer Vision > CNN' 카테고리의 다른 글

CNN - 보스턴 주택가격 Perceptron 기반 학습  (0) 2022.01.14
CNN - Gradient Descent  (0) 2022.01.14
CNN - Regression, RSS, MSE  (0) 2022.01.14
Tensor 에 대한 이해  (0) 2021.06.09
cs231n 4강 - Backpropagation  (0) 2021.04.12
복사했습니다!