본문 바로가기

트렌드 한눈에 보기/학계 트렌드

예제와 함께 단숨에 이해하는 Lyapunov Stability [1/2]

0. 배경

"단숨에"라는 부사와 [1/2]라는 편명이 조화롭지 않다는 것은 알고 있다. 하지만, Lyapunov를 단숨에 이해하기는 불가능하다. 혹시 너무 직관적으로 이해하고 있다면, 제대로 이해하지 못했다는 증거일 테다. 하지만 한 번 이해하고 나면, 이름에서 오는 간지와 더불어 나 이제 완전한 공학도로 거듭났구나 하는 뽕맛도 느낄 수 있다. 게다가 웬걸, 한 번 이해하고 나면 아 이런 간단한 거구나! 하는 상쾌함도 다가온다. 이에 간단한 예제 (보행 상황에서 Lyapunov stability 확인) 와 함께 Lyapunov stability를 설명하는 글을 작성해봤다. 

 

리야푸노프 (왼쪽), 그의 지도교수 체비셰프 (오른쪽)

 

나처럼 이야기 좋아하는 사람들은 본격적인 리야푸노프 튜토리얼 자체보다는 그 개개인에 대한 역사를 좀 더 흥미로워한다. 사실 리야푸노프 앞에 선 모든 사람들이, 수식을 머리 싸매고 쳐다보는 것보다는, 리야푸노프가 1857년 생이며 그 해는 엘리베이터가 개발되고 2차 아편전쟁이 일어난 해임에도 불구하고, 변방의 작은 나라 조선에서는 "철종 재위" 이외에 아무런 뉴스조차 없는 해라는 사실에 개탄을 금치 못하며, 딴짓하기를 지속하지 않을까 싶다. 여튼 리야푸노프는 지도교수 체비셰프 (체비셰프 부등식이라는 이름은 다들 들어본 적이 있을 테다) 하에서 기똥찬 연구를 지속하며 수학, 물리학, 전기공학, 기계공학 너나할것 없이 사용되는 안정성 파악 방법을 개발하게 된다.

 

 리야푸노프가 안정성에 대해 연구하게 된 계기는, 천체의 움직임에 대해 흥미를 갖고 있었기 때문이다. 천체의 움직임에 흥미를 갖게 된 계기를 생각해보면, 상트페테르부르크 한 마을에서 수없이 빛나는 별들을 바라보며 하얀 입김을 내뿜는 어린 소년을 생각하게 되지만... 딴 생각은 이만 하기로 하자.

1. 접근

Lyapunov Stability의 장점은, 여러 변수를 동시에 투입할 필요 없이, 단일 변수만으로도 안정성 확인이 가능하다는 것이다. 막연히 나는 "아, 걷는 동작이 안정적인지 확인하려면 다리 각도도 봐야되고~ 수직방향 가속도도 봐야하겠구나~" 싶었더랬다. 근데 웬걸, 단순히 다리 각도 정보만 가지고 있더라도 "보행 상황에서 다리 각도의 안정성이 떨어집니다" 같은 말을 잘도 할 수 있는 것이다.

 

 

예를 들면 위와 같은 각도 데이터가 있다고 하자. 데이터 shape는 [150, 1]이다. 다리 사이 각도를 측정한 값이라서, 총 10걸음을 걸었다고 보면 된다 (11걸음?). 이런 각도  데이터로 Lyapunov Stability를 계산하는 절차는 아래와 같다.

 

1) State-space Reconstruction: 기존에 time-angle space에서 벗어나면, 시간의 흐름에 따른 시스템의 안정성을 파악할 수 있다.

2) Rosenstein Algorithm 적용: 새롭게 구성된 Space에서의 Lyapunov Stability를 간단히 계산할 수 있는 공식이다.

 

그렇다. 두 개만 지나면 된다!

 

1-1. State-space Reconstruction

State-space reconstruction에는 여러 방법이 있지만, 대표적으로는 MOD (method of delays), PCA (principal component analysis)가 있다. 이 중 간단한 MOD를 적용하고자 한다. MOD는 간단하지만 노이즈에 취약하고, PCA는 복잡하지만 노이즈에 강건하다. 최근에는 안주은 교수님 연구실에서 보다 간단한 방법으로 PCA를 적용하는 방법을 개발한 바 있다. (링크)

 

여기서, Y 가 새로 창조된 state-space이고, x가 각도 데이터라고 보면 된다. 두 가지 파라미터가 새로 쓰이는데, 하나는 n (embedding dimension), 하나는 T_d (Time delay)이다. Y의 크기는 [ F x n] 이 되는데, 여기서 F는 기존 x의 크기에서 n-1을 빼준 크기이다. 다시 말해, 예제처럼 [150 x 1]의 데이터를 활용할 때는 F가 (150 - (3 - 1)) = 148이 되는 것이다.

 

그렇게 Y를 새로 만들게 되면, 위 그림과 같은 그래프로 그려볼 수 있다. 물론, A 그림처럼 깔끔한 형상을 내기 위해서는 n을 3으로 만들어줘야 가능하고, n이 3이상이라면, 이렇게 직관적으로 그려주진 못할 것이다. 어쨌거나, 위 그림처럼 그리고 나면 Lyapunov Stability가 어떤 뜻인지 이해할 수 있다. 새롭게 만든 State space는 데이터의 경로(Trajectory)가 반복되게끔 그려지게되는데, 이때 그 Trajectory간 거리 (d)를 측정함으로써 Stability를 계산하는 것이다. d가 크냐 작냐를 기준으로 안정성을 파악한다고 보면 된다.

 

1-2. Rosenstein Algorithm

Rosenstein algorithm은 각 Trajectory간 거리를 안정성으로 계산하는 쉬운 방법이다. 물론, 생각보다 쉽지는 않다.

 

위 공식 (3)을 보면, d(t)를 다른 방법으로 표현한 것을 볼 수 있다. 이게 바로 Lyapunov stability를 의미한다. 만약 람다 값이 양수라면, d(t)는 시간에 따라 발산하는 값이 될 것이고, 음수라면 수렴하는 값이 된다. 다시 말해 양수면 불안정, 음수면 안정적이라는 뜻이다. Rosenstein algorithm은 (4) 식을 사용하여 람다의 최곳값을 근사해낸다. 공식은 좀 복잡하지만, 아래 그래프를 보면 좀 더 간단하다. 

 

 

시간의 흐름에 따라 ln(d) 값의 변화를 그래프로 그릴 수 있을 것이고, 그 때 최대 기울기 값이 lambda max가 되는 것이다. 실제 데이터에 적용해봐야 제대로 계산된 것이 맞는지 알 수 있겠지만, 일단 계산이 참 간소화된 것에 감탄할 수밖에 없다. Rosenstein이 알고리즘을 발표한 논문의 공동저자는 De Luca였는데, EMG로 유명한 델시스의 창업자이자 Boston Univ의 교수인 바로 그 사람이다. 여기서도 또 만나는구나 싶었다.

 

실제 데이터에 Lyapunov Stability를 계산해본 결과는 다음 글에서 시도해봐야겠다.


참고자료

[1] The influence of gait speed on local dynamic stability of walking - ScienceDirect

 

The influence of gait speed on local dynamic stability of walking

The focus of this study was to examine the role of walking velocity in stability during normal gait. Local dynamic stability was quantified through th…

www.sciencedirect.com

이 글의 저자인 Granata는 2007년 버지니아공대 총기난사의 희생자이다. 범인은 한국계 조승희였다.

[2] A practical method for calculating largest Lyapunov exponents from small data sets - ScienceDirect

 

A practical method for calculating largest Lyapunov exponents from small data sets

Detecting the presence of chaos in a dynamical system is an important problem that is solved by measuring the largest Lyapunov exponent. Lyapunov expo…

www.sciencedirect.com