다층 퍼셉트론 (Multi-Layer Perceptron)
다층퍼셉트론은 입력층과 출력층 사이에 하나 이상의 중간층이 존재하는 신경망이다. 퍼셉트론 2개를 사용한 XOR 문제의 해결했다.
퍼셉트론 2개를 병렬로 결합하면, 원래 공간 𝐱=(𝑥1 , 𝑥2 )^T를 새로운 특징 공간 𝐳=(𝑧1 , 𝑧2 )^T로 변환한다. 그리고 새로운 특징 공간 𝐳에서는 선형 분리 가능하다.
퍼셉트론 1개를 순차 결합하고, 새로운 특징 공간 𝐳에서 선형 분리를 수행하는 퍼셉트론 ③을 순차 결합하면, (b)의 다층 퍼셉트론이 된다. 따라서, XOR 문제는 입력층과 출력층 사이에 은닉층을 두면 쉽게 풀 수 있다.
뉴런의 동작 모델화
뉴런을 여러 계층 (layer)에 걸쳐 위치시킨다. 각각의 뉴런은 직전 계층과 직후 계층에 있는 모든 뉴런들과 상호 연결한다. 인공 뉴런은 노드(node)와 같다고 볼 수 있다. 각 노드는 직전 계층과 직후 계층에 존재하는 다른 모든 노드와 연결되어 있다.
노드 간 연결의 강도 조정
하나의 노드 내에서 입력 값들의 합을 조정해야 한다. 예를 들어, 시그모이드 함수의 형태를 조정한다. 가중치 (weight)는 낮은 가중치는 신호를 약화, 높은 가중치는 신호를 강화한다.
다층 퍼셉트론의 학습 알고리즘
Minsky와 Papert는 다층 퍼셉트론을 학습시키는 알고리즘을 찾기가 매우 어려울 것이라고 예언하였지만 그렇지 않았다. 1980년대 중반 에 Rumelhart와 Hinton 등은 다층 퍼셉트론을 위한 학습 알고리즘을 재발견하게 된다.
학습은 연결 노드의 가중치를 업데이트 하는 과정이고 오차는 예측 값과 실제 값 (정답)과의 차이를 말한다. 여러 개의 노드가 결과 값과 오차에 영향을 주는 경우 가중치를 업데이트한다. 이진 숫자 (binary digit) 오차 분배는 연결된 노드에 대해 오차를 균일하게 나누어 분배하거나 더 큰 가중치를 가지는 연결에 더 큰 오차를 분배한다.
'AI-driven Methodology > ANN' 카테고리의 다른 글
[ANN] 심층 신경망 (Deep Neural Network) (0) | 2022.10.11 |
---|---|
[ANN] 다층 퍼셉트론 (Multi-Layer Perceptron) (2) (0) | 2022.10.11 |
[ANN] RNN many to many (0) | 2022.01.05 |
[ANN] RNN many to one (0) | 2022.01.05 |
[ANN] RNN basics (Vanilla) (0) | 2022.01.05 |