다층 퍼셉트론 (Multi-layer Perceptron)

 

퍼셉트론은 사람 뇌의 단일 뉴런이 작동하는 방법을 흉내내기 위해 환원 접근법 (reductionist approach) 이용한다. 방법은 초기 가중치를 임의의 값으로 정의하고 예측값의 활성 함수 리턴값과 실제 결과값의 활성 함수 리턴값이 동일하게 나올 때까지 가중치의 값을 계속 수정하는 방법이다.

 

단층 퍼셉트론의 경우 AND, NAND, OR 논리회로를 계산할 있지만 XOR 게이트 연산을 없다. XOR 게이트는 베타적 논리합 이라 불리는 회로이다. 뜻은 한쪽이 1 때만 1 출력한다

퍼셉트론 이론은 선형 분류이다. 직선을 이용한 분류는 가능하지만 XOR 게이트와 같은 경우 곡선으로 나눌 있기 때문에 비선형 분류이다.

 

이러한 제약사항을 보완하기 위해 나온것이 다층 퍼셉트론 (Multi-layer Perceptron, MLP)이다. 단층 퍼셉트론과 다층 퍼셉트론의 차이점은 단층 퍼셉트론은 입력층과 출력층만 존재하지만, 다층 퍼셉트론은 중간에 층을 추가하였다. 이렇게 입력과 출력 사이에 추가된 층을 은닉층(hidden layer)이라 한다. XOR 게이트는 기존의 AND, NAND, OR 게이트를 조합하여 만들 있기 때문에 퍼셉트론에서 층을 계속 추가하면서 만들 있다. 이렇게 층을 여러겹으로 쌓아가면 선형 분류만으로 풀지 못했던 문제를 비선형적으로 있게 된다.

 

 

다층 퍼셉트론은 은닉층이 1 이상인 퍼셉트론을 의미한다. 은닉층이 2개일수도 있고 수십, 수백개 일수도 있다. 아래 그림과 같이 은닉층이 2 이상인 신경망을 심층 신경망 (Deep Neural Network, DNN)이라고 한다.  학습을 시키는 신경망이 심층 신경망일경우 심층 신경망을 학습시칸다고 하여 딥러밍(Deep Learning)이라고 한다.

 

 

 

[참고자료]

·       https://en.wikipedia.org/wiki/Multilayer_perceptron

·       https://wikidocs.net/24958

 

2020-03-12/ Sungwook Kang / http://sungwookkang.com

 

 

인공지능,  Artificial Intelligence, 머신러닝, Machine Learning, 딥러닝, Deep Learning,신경망, 뉴럴 네트워크,퍼셉트론, Perceptron, 다층 퍼셉트론, Multi-layer perceptron

단층 퍼셉트론 (Single-layer Perceptron)

 

퍼셉트론 (Perceptron) 1957 코넬 항공 연구소에 근무하던 프랑크 로젠블라트(Frank Rosenblatt) MCP 뉴런 모델을 기초로 퍼셉트론이라는 알고리즘을 고안하였다. 퍼셉트론은 하나의 MCP 뉴런이 출력신호를 발생할지 안할지 결정하기 위해 MCP 뉴런으로 들어오는 입력값에 곱해지는 가중치 값을 자동적으로 학습하도록 모델이며 입력 벡터를 부류(class) 구분하는 선형 분류기 이다. 퍼셉트론은 신경망(딥러닝) 기원이 알고리즘이다.

 

퍼셉트론은 다수의 신호를 입력 받아 하나의 신호를 출력한다. 여기서 말하는 신호는 전류처럼 흐름이 있는것을 뜻하며, 흐름의 상태 정보를 앞으로 전달한다. 아래 그림은 x1, x2라는 입력 신호에 w1, w2라는 가중치를 부여하여 y라는 신호를 출력한다.

 

 

 

입력 신호가 뉴런에 보내질 때는 각각 고유한 가중치가 곱해진다. 뉴런에서 보내온 신호의 총합이 정해진 한계를 넘어설 때만 1 출력하게 된다. 이를 뉴런이 활성화 한다라고 표현 있다. 한계를  임계값이라고 한다. 임계값은 보통 θ(세타) 표현된다. 퍼셉트론은 복수의 입력 신호 각각에 고유한 가중치를 부여하게 된다. 가중치는 신호가 결과에 주는 영향력을 조절하는 요소로 작용된다. , 가중치가 클수록 해당 신호가 그만큼 중요하다는 뜻이다.

 

 

그림에서 x 입력 벡터 값을 나타내며, w 가중치를 나타낸다. 바이어스 입력값은 x0, 바이어스 기울기는  w0 표기했으며 f 활성홤수를 나타낸다.

 

·       임계치(threshold): 어떠한 값이 활성화되기 위한 최소값

·       가중치(weight): 선형 경계의 방향성 또는 형태를 나타내는

·       바이어스(bias): 선형 경계의 절편을 나타내는 값으로써, 직선의 경우는 y절편으로 표시

·       net: 입력값과 가중치의 곱을 모두 합한

·       활성홤수(activation function): 뉴런에서 계산된 net값이 임계치보다 크면 1 출력하고, 임계치보다 작은 경우에는 0 출력하는 함수

·       뉴런(neuron): 인공신경망을 구성하는 가장 작은 요소로써, net값에 따라 활성(1) 비활성(0) 출력

 

아래 그림은 많은 훈련 데이터가 추가됨에 따라 선형 경계를 업데이트하는 퍼셉트론을 보여주는 다이어그램이다.

 

 

퍼셉트론으로는 AND, NAND, OR 게이트의 논리회로를 표현할 있다.

[AND 게이트]

AND 게이트는 입력이 둘이고 출력이 하나인 대표적인 퍼셉트론 예시이다.  입력값이 모두 1일때 1 출력한다.

 

예를들어 (w1, w2, θ) 값을 (0.5, 0.5, 0.8)이라고 가정하였을때 계산이다.

·       (0*0.5) + (0*0.5) = 0.0         <  0.8        -> 0

·       (0*0.5) + (1*0.5) = 0.5        <  0.8        -> 0

·       (0*0.5) + (0*0.5) = 0.5        <  0.8        -> 0

·       (1*0.5) + (1*0.5) = 1.0         >  0.8        -> 1

 

[NAND 게이트]

AND게이트에 NOT 연산을 한것으로, AND 게이트 결과값의 반대이다.

 

 

[OR 게이트]

입력 신호중 하나 이상이 1이면 1 출력된다.

 

[단층 퍼셉트론의 한계]

단층 퍼셉트론은 AND, NAND, OR 논리회로를 계산할 있지만 XOR 게이트 연산을 없다. XOR 게이트는 베타적 논리합 이라 불리는 회로이다. 뜻은 한쪽이 1 때만 1 출력한다.

퍼셉트론 이론은 선형 분류이다. 직선을 이용한 분류는 가능하지만 XOR 게이트와 같은 경우 곡선으로 나눌 있기 때문에 비선형 분류이다. 이러한 제약사항을 보완하기 위해 나온것이 다중 (Multi-layer Perceptron)이다.

 

 

 

[참고자료]

·       https://en.wikipedia.org/wiki/Perceptron

·       https://untitledtblog.tistory.com/27

·       https://eehoeskrap.tistory.com/137

·       https://excelsior-cjh.tistory.com/169

 

 

2020-03-11/ Sungwook Kang / http://sungwookkang.com

 

 

인공지능,  Artificial Intelligence, 머신러닝, Machine Learning, 딥러닝, Deep Learning, AI, 신경망, 뉴럴 네트워크, 강화학습, 지도학습, 자율학습, Supervised Learning, Unsupervised Learning, Reinforcement Learning, 퍼셉트론, Perceptron, 단층 퍼셉트론, Single-layer perceptron

+ Recent posts