<뉴런을 사용한 논리 연산>
인공 뉴런 모델은 하나 이상의 이진(on/off) 입력과 이진 출력 하나를 가진다. 인공 뉴런은 단순히 입력이 일정 개수만큼 활성화되었을 때 출력을 내보낸다.
이 네트워크가 어떤 일을 하는지 알아보자.
<퍼셉트론>
퍼셉트론(perception)은 가장 간단한 인공 신경망 구조 중 하나로 퍼셉트론은 TLU(threshold logic unit) 또는 이따금 LTU(linear threshold unit)라고 불리는 조금 다른 형태의 인공 뉴런을 기반으로 한다. 입력과 출력이 (이진 on/off 값이 아닌) 어떤 숫자이고, 각각의 입력 연결은 가중치와 연관되어 있다. TLU는 입력의 가중치 합을 계산
한 뒤 계산된 합에 계단 함수(step function)을 적용하여 결과를 출력한다. 즉, h(x)=step(z), 여기에서 z=x^tw 이다.
퍼셉트론에서 가장 널리 사용되는 계단 함수는 헤비사이드 계단 함수이다. 이따금 부호 함수를 대신 사용하기도 한다.
TLU를 훈련한다는 것은 최적의 w0,w1,w2를 찾는다는 뜻이다.
퍼셉트론은 층이 하나뿐인 TLU로 구성된다. 각 TLU는 모든 입력에 연결되어 있다. 한 층에 있는 모든 뉴런이 이전 층의 모든 뉴런과 연결되어 있을 때 이를 완전 연결 층(fully connected layer) 또는 밀집 층(dense layer)라고 부른다. 퍼셉트론의 입력은 입력 뉴런(input neuron)이라 불리는 특별한 통과 뉴런에 주입된다. 이 뉴런은 어떤 입력이 주입되는 그냥 출력으로 통과시킨다. 입력층(input layer)는 모두 입력 뉴런으로 구성된다. 보통 거기에 편향 특성이 더해진다(xo=1). 전형적으로 이 편향 특성은 항상 1을 출력하는 특별한 종류의 뉴런인 편향 뉴런(bias neuron)으로 표현된다. 다음 그림은 입력 두 개와 출력 세 개로 구성된 퍼셉트론이다. 이 퍼셉트론은 샘플을 세 개의 다른 이진 클래스로 동시에 분류할 수 있으므로 다중 레이블 분류기(multilabel classifier)이다.
각 출력 뉴런의 결정 경계는 선형이므로 퍼셉트론도 (로지스틱 회귀 분류처럼) 복잡한 패턴을 학습하지 못한다. 하지만 로젠블라트는 훈련 샘플이 선형적으로 구분될 수 있다면 이 알고리즘이 정답에 수렴한다는 것을 증명했다. 이를 퍼셉트론 수렴 이론(perceptron convergence theorem)이라고 한다.
사이킷런은 하나의 TLU 네트워크를 구현한 Perceptron 클래스를 제공한다.
'Deep learning > 이론(hands on machine learning)' 카테고리의 다른 글
6. 케라스로 다층 퍼셉트론 구현(3) - 서브클래싱 API, 모델 저장과 복원, 콜백 (0) | 2021.06.02 |
---|---|
5. 케라스로 다층 퍼셉트론 구현(2) - 시퀀셜 API 회귀, 함수형 API (0) | 2021.06.02 |
4. 케라스로 다층 퍼셉트론 구현(1) - 시퀀셜 API 분류 (0) | 2021.05.30 |
3. 회귀, 분류를 위한 다층 퍼셉트론(MLP-Multi Layer Perceptron) (0) | 2021.05.30 |
2. 다층 퍼셉트론과 역전파 (0) | 2021.05.30 |