*{머신러닝 분야와 딥러닝 분야에서는 고등(대학) 수학 지식이 어느 정도 있어야 원리 이해와 구현을 할 수 있습니다}*
단순 퍼셉트론이란?
(뇌신경세포의 전기적인 행동에서 힌트를 얻어 단순하게 만든 모델)
그림을 보면 입력의 영역과 출력의 영역이 있는 구성입니다
신경망에서 최소 단위의 구성이라고 생각하면 됩니다
입력을 Xi(X0, X1, X2, X3...... )로 하고
입력이 흐르기 쉬운 정도를 wi(w1, w2, w3...)로 합시다
wi는 xi의 가중치입니다
xi에 wi로 가중치를 곱하면 입력이 들어온 값이 총합이 일정한 임계값 b(임계값은 귀무가설 하 검정 통계량의 분포에서 귀무가설을 기각해야 하는 값의 집합을 정의하는 점)을/를 넘은 경우에는 입력이 활성화(입력이 시작)하면 output(u)를 얻습니다
임계값 b는 편향이라고 말합니다
수식은 다음과 같습니다
u = w1X1 + w2X2 +.... + wnXn - b = N | i =1 wiXi - b
살짝 복잡해 보이지만 이해하면 되게 쉬을 겁니다
u = w0X0 + w1X1 + w2X2 +... + wnXn = n | i = 0 wiXi
항상 1이 되는 0개째의 입력을 생각해서 편향 -b를 w0의 가중치로 치환하기 때문에
위에 수식은 일반성을 훼손하지 않고 이렇게 나타낼 수 있습니다
출력은 아래와 같이 u를 어떤 함수 f 에다가 넣으면 최종 출력 z가 정해집니다
z = f(u)
단순 퍼셉트론은 함수 f는 u의 값이 0 또는 +1 일 때, 음수일 때에는 0을 출력합니다.
z = 1 = (u >=0) OR 0 = (u < 0)
이것을 계단함수라고도 부릅니다
입력이 활성화를 결정한다는 점에 말해서 활성화 함수라고도 불립니다
그리고 이 활성화 함수는 위에 z 최종 출력 값이 0 또는 1 2가지만 있는 것이 아니라 비선형적인 다양한 함수가 제안되어있습니다
단순 퍼셉트론이 할 수 있는 것은?
이 딥러닝 모델이 하는 일이 먼지는 알아야 하겠죠?
u = w1X1 + w2X2 +.... wnXn - b = N | i =1 wiXi - b
이 식으로 설명해보겠습니다
N = 2라고 정하여 2차 원일 때라고 생각하겠습니다
u = w1X1 + w2X2 - b
그리고 u(최종 출력 값)을 0이라고 가정하겠습니다
그러면 밑에 처럼 나타낼 수 있습니다
w1X1 + w2X2 - b = 0 | w0X0 + w1X1 + w2X2 = 0 ( b = -w0 , x0 = 1일 때)
위 식을 그림으로 나타내면 평면상에서 직선(평면을 분리하는 직선)으로 나타낼 수 있습니다
점 x는 초록색점과 보라색 점으로 나타내는 서로 다른 클래스에 속하고 직선으로 2개의 클래스로 나눌 수 있게
분포할 때 x는 선형 분리가 가능하다고 말할 수 있게 됩니다
또한
분리를 나타내는 직선을 결정하는 매개변수의 가중치인 w와 편향 b 가 반드시 존재하므로
유한 번의 횟수를 반복으로 매개변수를 결정할 수 있습니다
일반적으로는 차원이 많아지게 돼도 이 이론은 성립하고 그럴 때는 초평면이 존재합니다
이것을 퍼셉트론의 수렴 정리(Perceptron Convergence Theorm)라고 합니다
단순 퍼셉트론은 선형 분리가 가능하고 점을 전제로 분리 초평면을 찾아내므로 이항 분류 문제(단순 퍼셉트론이 할 수 있는 일)를 해결할 수 있습니다
단순 퍼셉트론과 논리 연산의 관계를 알아보겠습니다
논리합(tOR) ,논리곱(tAND) ,베타적논리합(tXOR)
검은색 원이 참이고 흰색 원이 거짓입니다
(a)와(b)를 보면 알 수 있듯이 OR, AND는 평면을 나눈는 직선이 존재합니다
그러므로 이 상태에서는 선형분리가 가능합니다
하지만 (c) XOR은 평면을 나누는직선이 존재하지않습니다
그러므로 선형분리가 가능하지않습니다
그래서 단순 퍼셉트론에서 논리연산을 이용하여 해결할수없습니다
결론은 단순 퍼셉트론은 일반적으로 선형분리가 가능이 되지않으면 단순 퍼셉트론으로는 해결할수없습니다
다음에는 단순퍼셉트론의 학습과 과정과 코드로 실습하겠습니다
'재밌게 인공지능을 공부해보자!' 카테고리의 다른 글
YOLO_OBJECT_DETECTION 객체 검출 [IoU 개념] (0) | 2022.07.09 |
---|---|
딥러닝모델 단순 퍼셉트론 2 ( 학습과정과 코드구현) C,C++ (0) | 2022.03.05 |