선형 2차 시스템의 최적제어에 대해서 다룬다,

앞선 글의 Optimal Control을 먼저 학습해두기 바란다.


1.시작하기에 앞서


LQ Optimal Control은 선형시스템의 상태 피드백 제어의 게인을 구하기 위한 방법이다.

선형시스템을 대상으로 하기 때문에 비선형 시스템이 대상일 경우 선형화를 해야겠다.


Motivation

1. MIMO(Multi Input Multi Output)시스템의 pole placement(특성 방정식의 근을 찾는 것) 상태 피드백 제어는 상태입력의 크기를 고려하지 않기 때문에 상태의 갯수가 커질수록 계산이 간단하지 않다.


ex)


2차 시스템에서 Gain K의 미지수는 4개인데 비해 주어지는 방정식은 2개이다. 이를 풀기 위해서는 여러가지 제한사항이 필요하다.


2. 강인제어와는 달리 최적제어의 목표는 시스템이 목표값에 최소의 Cost(에너지)로 최대한 빠르게 수렴하는 것이다.



시스템의 목표값이 정해지면 이에 접근하기 위해 입력 u가 필요해 진다. 최적제어는 이 목표값에 도달하는 Cost와 시간을 최소화 하는데 목적을 두고있다.


2.LQ 시스템

아래와 같은 시스템에 있어서




평가함수(목적함수)는 다음과 같다.(이전 글의 3.최적제어 시스템의 설계 참조)


tf는 최종시간이다.

목적함수 J의 첫째항은 최종시간 tf에서 목표값 x와 상태값 간의 오차(error)에 대한 penalty 이며 적분항에서 첫째항은 순시적인 에러, 둘째항은 순시적인 제어입력의 규모와 관계되어 있다. 아직은 이해하기 어려우니 S, Q, R이 각각 그런의미라는 것만 기억해 두자.

최적제어문제는 상태(x와 관계된)에러와 제어(u와 관계)에러의 최적의 절충된 값을 찾는것이 요점이다. 따라서 Q와 R의 절대적인 값보다는 이 두 값의 비율이 더욱 중요시 된다.


여기서 S와 Q 는 nxn의 symmetric psd(positive semi-definite) 행렬이며, R은 mxm pd(positive definite)행렬이다.


3.LQ Problem의 Solution

평가함수 J를 최소화 하는 최적제어는 아래와 같다,


H는 Ricatti equation의 해 이며는 Gain이다.

tf는 최종시간이다.


실효 최저코스트는 아래의 식으로 주어진다.


눈여겨 볼것이 있는데 H(tf)가 S로 수렴한다는 사실과 위의 J의 optimal식이 J의 식의 제일 첫항과 관계있다는 것이다.


4. Stationary LQ(Infinite time Hprizon LQ)

 위의 최적제어는 선형상태 피드백제어이지만 피드백 Gain이 시간의 함수임을 알 수 있다. 이것은 시스템의 거동이이 유한한 시간으로 한정되어 있기 때문이다.(duration : tf-t0)

 이 시변 피드백 게인은 Ricatti Equation의 해인 H(t)에 의존하고 있다. 시스템의 H(t)가 유한시간의 Ricatti equation으로 주어지기 때문에 우리는 H(t)을 최종시간(tf)에 역방향을 향한 적분식으로 구할 수 있다.


Ricatti equation는 x와 u에 의존하지 않기 때문에 제어기에 적용되기 전에 off-line 으로 연산될 수 있다.


ex)





Stationary LQ(Infinite time Horizon LQ)

실용적인 관점에서 보아, 우리는 시변인 gain보다는 시불변인 constant한 gain이 더 필요하다.


아래의 세 조건을 보자.

1. 제어대상이 제어가능하다

2. 최종시간 tf가 무한이다. 즉, tf=infinite

3. A, Q를 이루는 L()이 관측가능하다.


위의 세 조건이 만족할 때 아래와 같은 목표함수를 최소화 하는 최적제어를 구할 수 있다.

앞선 예시의 H(t)를 보면 

tf가 infinite라고 하면 tf근처의 시간을 제외한 모든 시간에서 H(t)가 constant함을 알 수 있다.


그리고 constant한 영역에서의 Ricatti equation은 아래와 같다.


목적함수의 식은 아래와 같았다.

이때, closed loop system의 는 점근적으로 안정하다.


x(tf)는 tf가 infinite가 됨에따라 0으로 수렴하게 된다. 결국 적분항만이 남게되어

가 된다.


Linear Quadratic Integral Control(LQI)


(위에서 e만 눈여겨 보면 됨, v->r)


r이 목표값이며 e는 출력값 y와 목표값 r간의 오차임을 숙지하며 r이 시간이 지남에 따라 y에 수렴함을 잊지말자.

[그래프는 나중에 삽입]


PSD, PD


'제어특론' 카테고리의 다른 글

예제  (0) 2014.11.03
Linear Quadratic(LQ) Optimal Control [이산시스템]  (0) 2014.11.03
Optimal Control(1)  (0) 2014.10.05
Design of state observers(2)  (0) 2014.10.05
Design of state observers(1)  (0) 2014.10.05

항상 그렇지만 방법론적으로 접근한다. 진정 자신의 것으로 하기 위해서는 이론과 원리, 그 의미를 이해하고 있어야함을 잊지말자. 이번장은 특히, 한참 잡아야할 내용을 수업 한시간으로 끝내버렸으니 이론적으로 파악이 되어있지 않다.


--------------------------------------------------------------------------

앞서 확률가우시안 글을 보고왔다는 전제하에 진행한다.


위는 RBF(Radial Basis Function)network 의 도식이다.

Radial : 방사상의.

즉, 방사형 구조를 기본으로 하는 네트워크이다. 1개의 은닉층에는 앞서 배워야 하는 확률가우시안이 적용되어 있다.

RBF는 다음과 같은 특징을 가진다.


1. 은닉층이 1개이다.

2. 유클리디안 거리를 사용한다.

3. 역전파 알고리즘을 사용한다.

4. 안정성 판별이 가능하다.




RBF 네트워크의 은닉층의 값은 아래의 식으로 정해진다.




이 값은 가우시안 확률분포의 확률함수에서 지수함수 부분이다.

이것이 어떤 의미를 갖는지는 통계관련해서 따로 공부하도록 하자(본인도 잘 기억나지 않는다.)

지수함수에 의한 


출력층의 값은 아래와 같다.




여기서 c는 가중치, Φ가 비선형함수로 위의 은닉층의 값이고 b가 bias이다.


훈련과정

훈련과정에서 역전파 알고리즘을 적용하고 있다.



출력과정에서 가중치 c와 bias b는 다음층에 대해서 1:1대응이다. 무슨의미냐 하면




가중치 C와 bias는 시냅스이다.

Cjk 는 j와 k의 조합에 의해 모두 다 독립된 값을 지닌다. 값은 같을수도 있지만 공유하는것 없는 독립객체인 것이다. b또한 마찬가지이다. j와는 관계없지만 k에 대해서 1:1관계를 지닌다.


이에반해 중간값 u와 표준편차 σ는 뉴런Φ안에 있다. 즉, 하나의 뉴런이 다음층의 모든 뉴런으로 공통되게 영향을 미친다.

이 차이는 역전파 알고리즘의 훈련과정에서 가중치 갱신에 차이를 만든다.


그럼 각 요소에 따른 학습식을 살펴보자





 

 

 



 



 

정규분포의 지수함수식에 의해 ∑가 들어간 결과가 나온다.


다음은 RBF와 MLP를 비교한 그래프이다. XOR에 대한 수렴속도를 측정한 것으로 압도적인 수렴속도를 보여준다.

단지 MLP와는 다르게 RBF는 Error가 증가하는 경우도 보이는데, 예상으로는 MLP는 가중치 w와 bias가 그저 줄어들도록 훈련하는데 반해 RBF의 경우 중간값 u와 표준편차 σ를 업데이트 하는 과정에서 Error가 증가하는 경우도 있는것으로 보인다.


아래는 RBF의 Class classification이다.



MLP와 RBF의 비교


 

MLP 

RBF 

Number of Hiddenlayer 

1 or more 

Nonlinear function 

Sigmoid 

Gaussian 

Data Comparison 

Vector product 

Euclidian distance 

 Mathematical analysis

Bad 

Good 

Output 

Linear or Sigmoid 

Linear 

Learning time 

Slow 

Fast 


'지능제어' 카테고리의 다른 글

RBF  (0) 2014.12.07
RBFN 링크  (0) 2014.12.04
확률가우시안  (0) 2014.10.27
역전파 알고리즘(BackPropagation)  (0) 2014.10.27
다층신경망[개념]  (0) 2014.10.26

확률과 통계를 잘하시는분은 넘어가셔도 좋습니다.

실제 예시를 들어서 간단하게만 다루고자 합니다.


주사위를 예로 들어 보자. 하나의 주사위를 던지는 실험에서 샘플공간은 아래와 같다.

Sample space

각 이벤트의 확률은 1/6이다.


두개의 주사위를 던졌을 때의 샘플공간은 아래와 같다.


확률(Probability)

하나의 주사위를 던졌을 때 짝수가 나오는 경우(Event)는 아래와 같다.

확률 P(E)=0.5 이다.


두개의 주사위를 던졌을 때, 그 합이 10인 경우는 아래와 같다.

확률 P(V)=3/36=1/12 이다.


어떤 이벤트 A에 대하여 그 이벤트가 일어날 확률은

P(A) 로 표현할 수 있다.

0<=P(A)<=1

(0은 일어나지 않음, 1은 항상 일어남)


교집합 확률(the joint probability)

1.

짝수 이벤트A와 홀수 이벤트 B


두 집합의 교집합


교집합의 확률


2.

'주사위1을 던졌을 때 5가 나올' 확률

이벤트 : 주사위 1을 던졌을 때 5가 나온다.


'주사위 2를 던졌을 때 5가 나올' 확률


두 주사위 모두 5가 나올 확률


3.독립된 두 이벤트의 교집합의 확률



합집합(Union)


서로 독립된(independent), 배타인(exclusive) 두 집합간의 합집합

서로 의존(dependent)인 두 집합간의 합집합


주사위 1또는 주사위 2에서 숫자 5가 나올 확률


두 주사위의 합이 10이 될 확률


조건부 확률(Conditional Probability)

P(B)≠0 일 때, 이벤트 B가 일어났을 때 이벤트 A가 일어날 확률 P(A|B)


ex1)

상자 안에 흰공 2개, 검은공 2개가 들어있고 이 안에서 한개의 공을 뽑을 때

P(W)=1/2

P(W1)=1/4

P(B)=1/2

P(B1)=1/4


P(W1|W)=(1/4)/(1/2)=1/2

P(B1|W)=0/(1/2)=0


ex2)

상자 안에 흰공 2개, 검은공 2개가 들어있고 차례로 1개씩 총 2개의 공을 꺼낼 때

처음에 흰공을 뽑았을 때, 다음에 흰공을 뽑을 확률은?


W1을 뽑은 후 W2를 뽑을 확률과 W2를 뽑고 W1을 뽑을 확률



Bayes' rule

두 사건 A와 B에 대해서 다음 식이 성립하며


두 사건이 서로 독립일때 아래 식이 성립한다.


이산 확률변수

샘플공간Ω에서 확률변수 X는 각각의 유일한 변수값에 대응한다.

예를들어 주사위 실험에서, 확률변수 X는 아래와 같은 이산값들을 가진다.


확률밀도함수는 확률변수 X에 대하여 아래와 같이 정의된다.


기대값

.확률변수 X에 대한 기대값은 아래와 같이 정의된다.



주의할 것은 평균과는 개념이 약간 다르다는 것이다.

주사위를 12번 던졌을 때 평균값은 12을 던져봐야 알 수 있다. 그러나 각 주사위의 숫자가 나올 확률은 1/6이기 때문에 12번을 던졌을 때 그 값의 평균이 21/6이 될것임을 기대할 수 있다. 이는 각각의 변수값에 확률을 곱한 값이다.


분산과 표준편차

확률변수 X에 대한 분산은 표준편차σ 의 제곱이며 아래식과 같다.


연속확률변수

앞선 이산확률변수와는 다르게 함수적으로 표현될 수 있는 연속된확률변수로 아래와 같은 식으로 표현된다.


Y=f(X)



연속된 값으로 이루어진 x에 대한 기대값은 모든 x에 대한 x와 확률p의 곱의 적분으로 표현될 수 있을 것이다.

확률변수 x에 대한 확률p의 분포그래프 이다.여기서 중요한것은 저 그래프의 넓이가 확률의 총 합으로 그 값이 1이라는 것이다.


표준편차는 아래 과정을 통해서 간략하게 계산할 수 있다.



probability density function:PDF, 확률밀도함수

앞서 설명한 확률분포는 아래와 같이 균일분포로 표현할 수 있으며


다음과 같은 정규분포로 표현할 수 있다.



정규분포 및 표준정규분포와 관련된 심층적인 개별학습이 필요하다.


'지능제어' 카테고리의 다른 글

RBFN 링크  (0) 2014.12.04
RBF(Radial Basis Function) 신경망  (1) 2014.10.27
역전파 알고리즘(BackPropagation)  (0) 2014.10.27
다층신경망[개념]  (0) 2014.10.26
퍼셉트론[개념]  (0) 2014.10.26

수업에서 배운 내용으로 인공지능개론(한빛미디어)와 차이가 있다.

LMS알고리즘 역시 수업에서 배운 내용이었으므로 미리 읽어봄이 좋겠다.

또한 어느정도 공부를 한 사람을 전제로 하기 때문에 모르는 단어가 나올경우 찾아보길 바란다.


수업자료 pdf를 첨부한다.

지능(5)_역전파.pdf


퍼셉트론을 다룰 때, 그 한계에 대해서 언급하였으며 MLP는 xor같은 비선형적인 문제를 해결할 수 있다.

아래는 역전파 알고리즘을 적용시킨 다층신경망(MultiLayerPerceptron)이다

신경망 : 입력층, 1층의 은닉층, 출력층으로 이루어진 1-1-1 MLP 

학습방법 : 역전파 알고리즘(Back Propagation)


중요한 컨셉은 아래와 같다.



역전파 신경망의 학습 알고리즘은 두 단계로 이루어진다.

첫째로 훈련 입력 패턴을 신경망의 입력층에 전달하고 신경망은 출력층에서 출력 패턴이 생성될 때까지 층에서 층으로 입력 패턴을 전파한다.(이 전파과정에서 활성화 함수, 가중치 등이 적용된다.)

출력 패턴이 목표 패턴과 다를 경우 그 오차를 계산하고 출력층에서 입력층까지 신경망을 따라 거꾸로 전파한다. 이 오차의 전파과정에서 가중치가 수정된다.


제일 위의 1-1-1 MLP모델을 예로 설명해 보자. 각 층의 유닛(Unit)에 대해 i,j,k의 number를 사용하기로 한다.

입력층의 각 뉴런의 값을 X11,X12...X1i로 표현한다.

은닉층의 뉴런의 값은 가중치와 bias를 반영하여 아래와 같이 표현된다.


위에서 언급하는 각 은닉층의 각 뉴런을 S21...S2j로 표현하고 이 뉴런에 활성화 함수를 적용시킨 값이 Yj(Xj)이다.

이는 출력층에서도 똑같이 적용되어 출력층의 각 뉴런의 값은 아래와 같다.


활성화 함수를 f()로 표현했을 때 각 뉴런의 출력은 아래와 같다.


역전파 알고리즘에서 가중치 갱신의 방법은 다양하게 존재한다. 여기에서 소개하는 방법은 오차 기울기(error gradient)를 다루는 Gradient descent 알고리즘이다. 개념적인 부분은 스스로 찾아보기 바란다.


Gradient descent알고리즘에서 가중치 정정 규칙은 아래와 같다.

왜 E를 위와같은 식으로 했는지는 아래의 과정을 거쳐나가면 알게된다. 우선 ek를 제곱한 이유는 오차가 +,- 어느 방향으로 확장해 나가는가와 상관없이 오차폭 자체를 줄여나가는 것이 목적이기 때문이다.


가중치의 개념을 제대로 이해하고 있다면 위의 식이 별 문제는 아닐것이다. 굳이 나의 짧은 지식으로 설명하자면, i층의 뉴런으로 부터 j층의 뉴런으로 값을 전파하면서, j의 각 뉴런에 따라 i의 각 뉴런이 미치는 영향의 정도가 다를 것이다. 학습이 반복되는 과정에서 오차를 줄여나가는데 영향력이 큰 가중치관계 wij의 값은 그 절대값의 크기가 커질것이고 그렇지 않은 wij는 0에 수렴하게 될 것이다. 아래 그림을 참고하자



입력층(input)과 hidden1층간의 관계의 가중치 wij에서

오차 e를 줄이는데 기여가 큰 가중치 관계는 빨간선으로, 기여가 작은 가중치 관계는 파란선으로 표시하였다. 빨간선의 가중치는 그 절대값이 클것이며 파란선의 가중치는 절대값이 0에 가까울 것이다.

가중치의 델타값의 E와 W간의 편미분이 이 기여도를 의미한다.


chain-rule을 적용하여 가중치 및 bias의 학습은 결과적으로 아래와 같다.


활성화 함수 및 가중치의 chain rule 적용 예시는 첨부된 pdf파일을 참고하길 바란다.


'지능제어' 카테고리의 다른 글

RBF(Radial Basis Function) 신경망  (1) 2014.10.27
확률가우시안  (0) 2014.10.27
다층신경망[개념]  (0) 2014.10.26
퍼셉트론[개념]  (0) 2014.10.26
LMS(Linear Mean Square) Algorithm  (0) 2014.10.26

다층신경망(Multi layer neural Network)은 하나 혹은 그 이상의 '은닉층'이 있는 feedforward neural network이다.

이는 하나의 입력층과 출력층, 그리고 하나 이상의 은닉층으로 이루어져 있다.



출력층은 은닉층의 출력신호(자극 패턴)을 받아들이고 전체 신경망의 출력 패턴을 정한다.

은닉층의 뉴런은 신호의 특성을 파악한다. 가중치를 통해 입력패턴에 숨겨져 있는 특성을 알 수 있다. 출력층은 이 특성을 사용하여 출력패턴을 결정하는 것이다.


하나의 은닉층으로 모든 연속함수를 표현할 수 있으며 두 개의 은닉층으로 불연속 함수의 표현이 가능하다. 즉, 그저 연속함수를 표현할 것이면 하나의 은닉층이면 충분하다는 것이다.


은닉층의 연산부담

-은닉층 하나를 추가할 때마다 계산 부담은 지수적으로 늘어난다. 따라서 실제 응용 사례에서는 보통 3개 층 정도만 사용한다.


다층 신경망의 학습

다양한 학습 알고리즘이 존재하지만 가장 인기있고 잘 알려진 방법은 '역전파 방식'이다.


다층신경망과 퍼셉트론의 차이

-다층 신경망의 학습은 퍼셉트론과 유사한데, 입력패턴에 대한 훈련 집합을 신경망에 제시하면 신경망은 출력 패턴과 목표 출력 간의 오차가 줄어들도록 가중치를 조정해간다.

-퍼셉트론은 입력 하나당 가중치와 출력이 각각 하나뿐이지만 다층 신경망에서는 가중치가 여럿이며 각각의 가중치는 두 개 이상의 출력에 영향을 미친다.

'지능제어' 카테고리의 다른 글

확률가우시안  (0) 2014.10.27
역전파 알고리즘(BackPropagation)  (0) 2014.10.27
퍼셉트론[개념]  (0) 2014.10.26
LMS(Linear Mean Square) Algorithm  (0) 2014.10.26
신경회로망 간단개요  (0) 2014.10.26

LMS에서 간단히 언급만 되었던 퍼셉트론을 다루겠다.[인공지능 개론(한빛 미디어) 참조)



퍼셉트론은 신경망의 가장 간단한 형태로 위의 단층 퍼셉트론은 아래와 같은 식으로 표현할 수 있다.

○퍼셉트론의 목적

-입력의 분류(임계값을 넘는가 아닌가)

퍼셉트론을 이용하여 외부자극 x1,x2,...,xn을 두 개의 클래스 A1과 A2로 분류한다.

기본적인 퍼셉트론은 초평명(hyperplane)으로 n차원 공간을 두 개의 결정 영역으로 나눈다.

즉, 아래 식을 선형 분리함수로 정의할 수 있다.



아래의 그림을 보자

오른쪽 그림을 보면 초평명이 무엇을 의미하는지 직관적으로 알 수 있다. 왼쪽의 그림에서는 두 클래스를 나누는 선이 초평면이 된다. 초평면에 대한 식도 함께 게재되어 있다.


단층퍼셉트론의 분류 작업의 학습순서는 아래와 같다.

1.

목표값과 입력에 대한 출력값의 오차


2.

퍼셉트론의 학습 규칙(perceptron learning rule)


4.초기화

초기 가중치 w1~wn과 임계값 θ를 [-0.5,0.5]구간의 임의의 값으로 설정


5.활성화

입력에 대한 출력을 적용한 퍼셉트론의 활성화 함수


5.가중치 학습

매 반복마다의 가중치 갱신 rule


○퍼셉트론의 한계

에폭(epoch)을 반복한 학습 및 연산을 하여 AND, OR에 대한 수렴된 가중치를 구할 수 있다. 그러나 Exclusive-OR(XOR)연산자는 단층 퍼셉트론으로 학습할 수 없다. 단층 퍼셉트론은 어디까지나 선형 분리(linearly separable)만 가능하다. And, Or은 선형분리 이지만 비선형분리인 XOR은 학습할 수 없는 것이다.



'지능제어' 카테고리의 다른 글

역전파 알고리즘(BackPropagation)  (0) 2014.10.27
다층신경망[개념]  (0) 2014.10.26
LMS(Linear Mean Square) Algorithm  (0) 2014.10.26
신경회로망 간단개요  (0) 2014.10.26
인공신경망(1)  (0) 2014.10.06




1.Alpha-LMS algorithm의 에러정정 규칙

-현재 입력패턴에 대한 네트워크 출력의 에러를 수정한다.

-Alpha-LMS algorithm : Alpha-Linear mean square


k step에서 x1~xn까지의 입력이 들어오고 각 입력에 대하여 Wik의 가중치가 적용된다. 이들의 합에 대하여 계단함수를 통과하기 전에 목표값인 desiredY(Yd)와의 차이로 k step에서의 오차값 ε을 구한다.


 

dk는 k스탭에서의 목표값 Yd이고 sk는 k스탭에서의 각 가중치 Wik와 입력 Xik의 곱의 합이다. 따라서 해당 스탭에서의 오차 εk를 좌측식과 같이 나타낼 수 있다.


가중보정치△Wk는 좌측 맨 아래의 식과 같다.여기서 Alpha는 학습률을 뜻한다.이 학습률이 높을수록 결과도출에 걸리는 반복수는 줄어들겠지만 수렴하지 못하고 발산하는 경우도 있기 때문에 적절한 학습률의 선정이 필요하다.


가중보정치식을 보면 학습률과 오차ε는 공통이지만 각 입력에 대하여 

만큼 차등적용하고 있음을 알 수 있다.



2.Perceptron rule



 

 앞선 LMS와 다른것은

1.가중치보정식

2.가중치 보정식에 들어가는 sk가 yk가 되었다.

이 yk는 sk가 계단함수를 통과하면서 산출된다.


3. u-LMS Algorithm/ gradient descent algorithm

steepest descent algorithm이라고도 불리우는 이것은 함수 최적화 방법 중 하나이다. 미분의 개념을 최적화 문제에 적용한 방법중 하나로 함수의 local minimum을 찾는 방법중 하나이다.


네이버 백과사전을 찾아보면 아래와 같이 설명해준다.

gradient descent : 기울기 하강

현재의 위치에서 기울기(또는 근사 기울기)에 비례하여 단계적으로 함수의 최소 또는 최대값에 접근하는 점근적인 언덕 오르기(hill climbing)알고리즘


다른 블로그의 설명을 빌려보자

울창한 밀림에서 산 정상으로 가려면 어떻게 해야할까? 현재 위치에서 가장 경사가 가파른 방향으로 산을 오르다 보면 도달하게 되어있다. 반대로 깊은 골짜기로 가려면 가장 가파른 내리막 방향으로 내려가면 될것이다.

이처럼 어떤 함수의 극대점을 찾기 위해 현재 위치에서의 gradient 방향으로 이동해 가능 방법을 의미한다.




local minimum, local maximum을 찾아가는 알고리즘이며 에러가 최소가 되는 값을 찾아 가지만 최적을 해를 찾는다고는 보장할 수 없다.


u-LMS adaptation/ 기울기 적응

u-LMS 알고리즘은 미분의 개념과 통계의 기대값을 사용하므로, Alpha와는 다르게 오차제곱인 e^2가 0으로 수렴하는 것에 대한 모델식을 세워 해결해 나갈 수 있다.




우리는 이 오차제곱이 0으로 수렴하기를 기대하며 통계적으로 표현하면 아래와 같이 된다.


여기서 dk는 목표값으로 미리 알고있는 값이며 Xk역시 시간에 따른 함수의 형태를 나타낼 때 그 기대값을 추정할 수 있다. 우리가 모르며 알아내야 하는 값은 W가 되겠지.

오차제곱의 기대값을 J라고 하자.

u-LMS에서 가중치 W에 따른 기울기의 극소값을 찾아야 한다.

미소시간의 오차제곱의 기대값 J는 0인것이 이상적이고 그때의 가중치를 W*라 하자. 그때의 W*식은 위와 같다.


예시)






결과 가중치 W*를 적용시킨 그래프와 목표값의 그래프가 일치함을 알 수 있다.


'지능제어' 카테고리의 다른 글

역전파 알고리즘(BackPropagation)  (0) 2014.10.27
다층신경망[개념]  (0) 2014.10.26
퍼셉트론[개념]  (0) 2014.10.26
신경회로망 간단개요  (0) 2014.10.26
인공신경망(1)  (0) 2014.10.06

생각해보자



목표출력 Yd(Y-desire)가 있다. 입력 Xi를 넣고 목표출력 Yd를 출력하기를 바라지만 그러기 위한 중간층의 연산이 어떻게 이루어져야 하는지 모른다. 출력을 위한 입력에 따른 중간연산을 어떻게 구할 수 있을까?


우리는 어떤 목표가 있고 이를 위한 정답을 모를 때, 실험과 오차를 반복해나가며 정답을 찾아나갈 수 있다. 이와 비슷하게 입력과 목표출력이 정해졌을 때 이를 위한 중간연산을 설정하고 이에 대한 Try&Error를 반복해나가며 가중치 W를 수정해나가 정답에 가까운 W를 찾아나간다.





'지능제어' 카테고리의 다른 글

역전파 알고리즘(BackPropagation)  (0) 2014.10.27
다층신경망[개념]  (0) 2014.10.26
퍼셉트론[개념]  (0) 2014.10.26
LMS(Linear Mean Square) Algorithm  (0) 2014.10.26
인공신경망(1)  (0) 2014.10.06

원래는 차근차근 나가고 싶지만... 수업의 진도에 맞춰서 중간부터 시작하게 되었다.

몇 파트는 한빛 아카데미의 인공지능개론으로 진행하고

몇 파트는 수업 자료로 진행한다.


기계학습이란?

컴퓨터가 경험, 예, 유추를 통해 학습할 수 있게 하는 적응 메커니즘과 관련이 있다.

기계 학습 메커니즘은 적응형 시스템의 기초를 형성한다.


기계학습의 접근법

인공 신경망(artificial neural network)

유전 알고리즘(genetic algorithm)


신경망의 적응성

잘못된 답->뉴런들 사이의 연결이 약화

올바른 답->연결이 강화


ANN(Artificial Neural Network)

학습능력이 있다.

성능개선에 경험을 사용한다.

표본이 주어지면 일반화가 가능하다.



인공신경망의 기본구조


동그란 부분을 뉴런이라고 보고 각 화살표(링크)마다 가중치가 주어진다.

링크마다 그와 연관된 수치적인 가중치가 있다. 가중치는 ANN에서 장기기억을 위한 수단으로 각 뉴런의 중요도를 표현한다.

신경망에서는 싸이클을 반복하면서 이 가중치를 조정하여 학습한다.


위와 같이 입력층, 중간층, 출력층으로 계층구조를 이루고 있으며 이에 들어오는 입력과 가중치를 통해 활성화수준(activation level)을 계산할 수 있다.





Bipolar와 Binary

Binary : {0,1}

Bipolar : {-1,1}

'지능제어' 카테고리의 다른 글

역전파 알고리즘(BackPropagation)  (0) 2014.10.27
다층신경망[개념]  (0) 2014.10.26
퍼셉트론[개념]  (0) 2014.10.26
LMS(Linear Mean Square) Algorithm  (0) 2014.10.26
신경회로망 간단개요  (0) 2014.10.26

들어가기 전에 다음 사이트를 참조할 수 있음을 알린다.

http://www.cyworld.com/jung40l/13661169


최적제어에 대해서 다룬다. 총 4파트로 나누어 설명하겠으며 이번 파트는 뒤의 세 파트와는 다른 자료(일본 도서)를 참고했으므로 사용하는 언어가 다를 수 있다.


1.정정행렬(正定行列)

nXn 대칭행렬이며 다음과 같은 특징을 가진다.


임의의 0이아닌 벡터 x∈R (x≠[0,...,0]T)에 대해, 2차형식함수 xTQx가 xTQx>0의 관계를 만족하는 대칭행렬 Q∈R(nXn)을 정정행렬이라 한다. 또한 정정행렬은 대칭행렬만으로 정의됨에 주의한다.


풀어서 설명하면

(1)Q는 대칭행렬이다.

(2)Q는 실수행렬이다.

(3)xTQx는 실수행렬이다.

(4)xTQx는 0보다 크다.


위 모든 조건을 만족하는 행렬 Q이다.

아래 예제를 다뤄보자. 문제를 풀기전에 앞으로 행렬을 다음과 같이 표기하기도 할것임을 밝혀둔다.

Q=[1 0; 0 1]

1행 : 1 0

2행 : 0 1


예제1)다음 행렬의 정정성(正定性)을 확인하시오.

Q=[1 0; 0 1]


 xTQx = x1^2+x2^2 > 0

x1과 x2가 동시에 0이 아닌 한 xTQx는 항상 0보다 크다. 따라서 정정행렬이다.


예제2)다음행렬의 정정성을 확인하시오.

Q=[1 1;1 1]


xTQx = x1^2 + 2x1x2 + x2^2 = (x1+x2)^2 >=0

위의 경우 예를들어 x1= -1, x2=1의 경우 0일 수 있기 때문에 정정행렬이 아니다.


예제3)다음행렬의 정정성을 확인하시오.

Q=[1 2; 2 1]


xTQx = x1^2 + 4x1x2+ x2^2 = (x1+2x2)^2 - 3x2^2

따라서 정정행렬이 아니다.

------------------------------------------

차수가 낮은 행렬은 그 정정성을 확인하기 쉽지만 차수가 높아질수록 이를 판별하기 어려워진다. 이를 위한 판별법이 실베스터 판별법이다. 이 방법은 대칭행렬의 주좌소행렬의 행렬식의 부호를 통해 정정성을 판별한다.


실베스터 판별법

3차 행렬의 경우 3개의 주좌소행렬은 아래와 같다.

위 주좌소행렬의 행렬식을 통해 대칭행렬의 정정성을 판별할 수 있다.


예제)다음 대칭행렬의 정정성을 알아보시오

Q = [2 -1 0;-1 1 0; 0 0 1]


1차 주좌소행렬 : Q(1) = [2]

2차 주좌소행렬 : Q(1,2) = [2, -1;-1 1]

3차 주좌소행렬 : Q(1,2,3) = Q


det(Q(1)) = 2

det(Q(1,2)) = 1

det(Q(1,2,3)) = det(Q) = 1


따라서 Q는 정정행렬이다.

------------------------------------------

2. Ricatti equation


우리가 제어기를 설계할 때, 대상 시스템 방정식은 아래와 같다.


위 시스템행렬 A와 입력벡터 B를 포함한 Ricatti 방정식은 아래와 같다.

증명은 후에 다루도록 하겠다.


행렬 Q는 설계자가 정하는 정정행렬이며 정수 R 역시 설계자가 정하는 양의 정수이다.

행렬 H는 Ricatti방정식을 만족하는 해 이다. Ricatti 방정식의 해 H는 다음과 같다.

:시스템식이 가제어인 경우, 임의의 정정행렬 Q와 힘의의 양의 정수 R에 대해, Ricatti 방정식은 실수로 이루어진 정정행렬의 해를 가진다. 일반적으로 Ricatti방정식은 복수의 해 H를 가지지만, 해가 실수로 이루어진 정정행렬은 단 하나이다.


다시 정리하자면

(1)시스템식이 가제어일 때

(2)H는 정정행렬이다. 따라서

(3)H는 P.D(Positive Definite: 위의 정정행렬의 조건을 만족)이다.


아래 예제를 다뤄보자.


예제)가제어인 아래의 시스템의 Ricatti 방정식의 해를 구하시오

풀이)


h는 실수해만을 가지기 때문에 h2=1이다.


정정성을 조사하면 h3=√3일 때 h가 정정성을 가짐을 알 수 있다.


Q와 R에 있어서 중요한것은 그 값이 아니라 Q와 R의 비라는 것을, 이해하고 있지 않더라고 기억해두기 바란다.

--------------------------------

3.최적제어 시스템의 설계

가제어인 시스템

에 있어서 평가함수(목적함수)는 다음과 같다.


 이 목적함수를 최소로 하는 제어기를 설계하면 목적하는 사항에 대한 Cost를 최소로 하는 제어기를 설계할 수 있다.

대강 설명하자면 위 함수에서 Q와 관계된 첫째항은 상태의 에너지를 가리키며 R와 관련된 둘째항은 입력의 에너지를 가리킨다. 이를 적분한것이 목적함수이다.


상태와 입력에 대한 가중치 Q,R은 설계자가 정할 수 있다. 이 두 가중치를 어떻게 설계하느냐에 따라 그 제어기의 성능이 정해진다 할 수 있겠다.


위 시스템에 대해 목적함수를 최소화하는 제어기는 Ricatti방정식의 실정정행렬의 해 를 사용해

위와같이 구할 수 있다. 이 제어기를 이용해 제어를 할 때, 목적함수식이 최소가 되며

가 된다. 이는 아래의 블록선도로 표현할 수 있다.


목적함수의 가중치 설정법


J의 수식 중 xTQx를 아래와 같이 풀 수 있다.


아래의 질량-댐퍼 시스템과 그 목적함수를 보자.

r은 입력에 대한 가중치이며 본래 목적함수

와 비교하여

를 구할 수 있다. 이에대한 Ricatti 방정식과 제어기는

이다.


여기서 문제는 목적함수 내의 q11, q22, R의 값에 따른 제어기에 의한 시스템의 응답이다.


나중에 그래프로 더 자세하게 다루겠지만 한가지 요소가 상승하면 그 요소에 대한 수렴속도가 빨라지고, 최대치가 낮아지며 나머지 요소에 대한 수렴속도가 낮아지고, 최대치가 높아진다. 따라서 이러한 값들의 비율이 중요하다.


즉, Q와 R의 값 그 자체보다 그 비율이 중요하다는 것이다. 이는 시행착오가 필요한 문제이기도 하다.

--------------------------------

실전, 최적제어를 이용한 가속도제어


아래의 댐퍼시스템의 가속도를 제어하고자 한다.

눈치가 빠르신 분이라면 알겠지만 평범하게 보면 J에 가속도 요소가 들어갈 수 없다. 왜냐하면 xTQx의 x에는 변위와 속도요소까지만 있기 때문이다. 가속도 제어를 위해서는


그러나 (2)식으로는 u(t)의 제곱항이 존재할 수 없기 때문에 목적함수로 나타낼 수 없다.

따라서 입력항 u(t)를 다음과 같이 적분기를 사용하여 생성하도록 한다.



이에 의해 확대된 시스템은 위와 같으며, 새로운 상태벡터 z(t)와 일련의 A,b,c는


가 된다. 목적함수 J는


이에 대한 정정행렬 Q는

정정성 판별을 통해 Q가 정정성을 가지기 위해서는 q11, q22, qa가 양수여야 함을 알 수 있다.


Ricatti 방정식을 통해 해 H와 제어기를 설계할 수 있다.

+ Recent posts