검색결과 리스트
다층 퍼셉트론에 해당되는 글 1건
- 2014.10.24 다층 퍼셉트론 2
글
다층 퍼셉트론
다층 퍼셉트론이 퍼셉트론 모델의 한계를 어떻게 극복할까?
간단한 예제로 살펴 볼 수 있다.
[그림1] 다층 퍼셉트론 모델
하나의 퍼셉트론 은 네개의 샘플 중에서 세 개만 맞출 수 있다. 이 경우 75%의 인식률밖에 되지 않는다.
[그림 1]을 보면 두 개의 결정 직선을 이용해서 분류하는 모습을 볼 수 있다.
d1의 +영역과 d2의 +영역이 겹친 곳은 w1로 분류하고, 나머지 영역은 w2로 분류한다.
첫번째 단계에서 두 개의 퍼셉트론 d1과 d2를 이용하여 특징 벡터를 새로운 공간으로 매핑한 후,
새로운 공간에서 하나의 퍼셉트론 d3을 이용해서 최종 분류한다.
분류 결과는 [그림 2]와 같다.
[그림 2] 다층 퍼셉트론 분류 결과
[그림 2]의 결과를 보면 같은 형태의 x1과 x4는 -1로 분류되었고, x2과 x3은 1로 분류됨을 확인할 수 있다.
[그림 3] 다층 퍼셉트론 구조
[그림 3]을 보면 다층 퍼셉트론 구조를 볼 수 있다. 다층 퍼셉트론은 기본 퍼셉트론이 갖는 입력층, 출력층
이외에 은닉층을 갖는다. 은닉층은 값을 전달하는 기능만 한다. 신경망의 출력은 출력 벡터 o라고 하면
입력 x를 받아 o를 출력하는 함수로 간주 할 수 있다.
수식으로 표현하면,
이다.
다층 퍼셉트론은 활성함수 τ()를 위해 퍼셉트론이 사용했던 계단 함수 대신 시그모이드라는 비선형
함수를 사용한다.
[그림 4] 시그모이드 함수
다층 퍼셉트론 학습
지금까지는 신경망이 어떤 방식으로 동작하는지에 대한 정리를 하였다. 이제 신경망을 어떻게 어떤 방식으로
만드는지에 관해 알아보자. 다층 퍼셉트론(MLP)의 정의는 다음과 같다.
다층 퍼셉트론(Multi-Layer Perceptron)은 훈련집합 X = {(x1,t1), (x2,t2), ..., (xn,tn)}이 주어졌을 때,
이들을 분류하는 다층 퍼셉트론(즉, Θ ={u,v})을 찾는것이다.
(xi,ti)에서 xi는 특징벡터이며, ti는 목적벡터(target vector)로서 xi∈wj이면 ti=(-1,...1, ..., -1)이다.
j번째 요소만 1을 갖고 나머지 요소는 -1을 갖는다.
현재 설정되어 있는 Θ ={u,v}의 품질을 측정할 수 있는 함수를 정의해야 한다.
하지만 현재 품질 측정 함수는 정의되지 않았다. 따라서 특정함수를 정의해야 한다.
다시말하면, 학습 하는 과정은 품질 측정함수를 정의하는 과정이다.
[그림 5]를 보면 여러층의 퍼셉트론 모델에서 입력값을 Θ(.)를 거쳐 출력값을 얻는다.
기대한 값과 다르면 Θ(.)를 수정하며 학습한다. 따라서 Θ(.)함수는 다른 의미에서는 오류 검출 함수이다.
[그림 5] 다층 퍼셉트론의 입력값, 출력값, 기대값
학습이란 E(Θ)를 최소로 하는 Θ의 값는 찾는과정이다.
오류를 계속 줄여나가는 쪽으로 매개변수 Θ를 수정해 나가야 한다.
이 작업은 내리막 경사법(gradient descent)라고 한다.
위 식은 내리막 경사법을 나타낸 것이다. 미분으로 오류가 줄어드는 방향을 알아내 Θ에 마이너스 해주면
오류를 줄이는 방향으로 갱신한 것이 된다. ρ는 학습률 로써, 갱신하는 양을 조절해 준다.
1 2 3 4 5 6 7 8 9 10 11 12 | // 다층 퍼셉트론(MLP) 학습 알고리즘 // 입력 : 훈련 집합 X = {(x1,t1),(x2,t2), ..., (xn,tn)}, 학습률 ρ // 출력 : 가중치 u, v u와 v를 초기화한다. repeat { for(X의 샘플 각각에 대해) { [식1]과 [식2]를 계산한다. ∂E/∂V 와 ∂E/∂u를 계산한다. [식3]과 [식4]로 새로운 u와 v를 계산한다. } }until(stop-condition); |
다층 퍼셉트론(MLP) 학습 알고리즘에서 9행이 사용할 규칙 (∂E/∂V 와 ∂E/∂u를 계산)
이것을 일반 델타 규칙(generalized delta rule)이라고 부른다.
이제 학습이 완료된 다층 퍼셉트론을 이용해 새로운 모델을 인식시켜보자.
3~12행을 통해 전방계산으로 얻은 벡터 o = (o1, o2, ... , om)을 조사하여 가장 큰 값을 갖는 요소에 해당하는
부류를 분류 결과로 출력한다. 신경망 학습은 전방계산과 오류 역전파 과정을 반복하므로 시간이 오래 걸리지만
인식은 전방계산을 한번만 실행하면 되므로 빠르게 작동한다.
참조 : 컴퓨터비전, 패턴인식(오일석)
'패턴인식 & 기계학습' 카테고리의 다른 글
신경망 이론 (0) | 2014.11.04 |
---|---|
Boltzmann machine(볼츠만 머신) (0) | 2014.11.04 |
결정 트리 분기 (0) | 2014.10.25 |
신경망, 퍼셉트론 (0) | 2014.10.24 |
기계학습 기초(학습) (0) | 2014.10.24 |