본문 바로가기

제어이론/선형시스템 -> LTI System

(선형시스템) 1-1. 뭐하는 카테고리입니까? (What is Linear System?)

이론에 들어가기 전에 인공지능에 대해서 잠깐 생각해보자.

간단한 예로 chatGPT가 있을텐데, chatGPT의 역할을 아주아주아주 간단하게 생각해보자...

 

아주 간단하게, chatGPT는 input을 받아서 output을 뱉어주는 하나의 system으로 볼 수 있다.

이렇게 본다면, System이라는 것은 결국에 수학적으로는 함수(Function)이라고 생각할 수도 있을 것이다...

 

그런데, 이렇게 함수로 쳐다본다면, Well-Defined라는 개념이 생각날 것이다.

즉, 내가 chatGPT에 한국의 수도를 물어봤을 때의 답과, 친구가 chatGPT에 물어보았을 때의 답이 당연히 같아야 할 것이다.

---->>>같은 input에 다른 output이 나와버리면 안된다!

 

그러나, 인공지능의 경우 질문에 따라서 답이 항상 "딱 떨어지지 않는다"는 것도 알아두자.

예를 들어서, 내가 "이번주 로또 번호 알려줘"라고 물어봤는데, chatGPT가 ('잘 모르겠어요' 같은 애매한 답변을 해주는 것이 아니라, 일단 번호를 알려주기는 한다면) 1 2 3 4 5 6이라는 당첨 번호를 알려주었다고 하자...

그런데, 내가 다시 "이번주 로또 번호 알려줘"라고 물어본다면, 당연히 1 2 3 4 5 6이 나오지 않을 수도 있다.. (만일, chatGPT가 제대로 로또 메커니즘을 학습했다면.. -> 사실 그냥 랜덤으로 6개 숫자 알려주면 되는거니까)

 

이러한 모호성을 해결하기 위해선, 답을 확률로 알려주면 된다. (Answer: 각 case마다, 확률이 동일해요.)

사실, 이런 것을 계산해주는 것도 시스템이라고 할 수야 있겠지만, 도박의 경우는 사실 분석의 의미가 없으니, 그냥 무시하자....

 

하지만, 사진을 보여주고, 이게 개인지 고양이인지 알려달라고 하는 정도는 가능하다.

-> ex. 개일 확률이 60%입니다.... -> Answer: 개

즉, 답은 일종의 확률로 나온다고 해야 한다...

 

약간 내용이 산으로 가긴 했지만,

이런 것은 신뢰성을 가져야 하는 실제 기계(예를 들어서 항공기)에는 해당이 되지는 않을 것이다.

(10%의 확률로 추락할거에요.... -> Answer: 추락 안함 -> 이러면 문제가 심함....)

 

그러니까, 정리하자면 시스템이라는 것은 그냥 input 받아서, 일정한 규칙(Random은 아닌)에 따라 output을 뱉는 기능을 하는 어떤 것이라고 생각하면 된다.

만일, 확률을 뱉는다고 해도, 똑같은 사진을 주면, 똑같은 확률로 답이 나와야 한다.... (물론 시스템이 바뀌지 않는 가정 하에서)

 


시스템을 우리는 두 가지로 분류할 수 있다. ->

내가 (수학적으로) 분석할 수 없는 것(black box)

내가 (수학적으로) 분석할 수 있는 것(white box)

 

 

예를 들면, 기계학습같은 경우는 Black box라고 할 수 있다.

-> y=f(x)의 틀을 짜놓고, input에 맞게 output이 나오도록 f를 modify한다.

 

그러나, 이 카테고리에서 우리의 관심사는 White box이다.

즉, 우리가 관심있는 System은 수학적으로 분석이 가능해야 한다.

 

그리고, 이러한 System(White box)을 만들어 내는 것은 물리학의 영역이고(물리 법칙에 따라서 시스템을 수식으로 표현 혹은 근사)

우리의 관심사는 저 System의 특성(Characteristic)이다.

 


게다가 우리는 선형시스템만 다룰 것이다.

-> 선형대수학을 봐서 느낌을 알겠지만, 결국에 저 system은 행렬로 나온다!

-> 아니라면, 억지로 선형화(Linearization)을 시켜서라도 행렬로 바꾼다! (물론, 한계점은 있다.)

 

이러한 것들을 하면서, 시스템의 특성이 어떻게 변화하는지 분석하고, input에 따른 output을 어떻게 Control(제어)할 것인지 보는 것이 바로 우리의 목표라고 할 수있다!


또한, 위에서 Black box, White box로 시스템을 나누어보았는데, 사실 기준에 따라서 다른 방식으로도 시스템을 분류할 수 있다.

 

1. Input, Output의 개수

  • SISO(Single Input, Single Output)
  • MIMO(Multiple Input, Multiple Output) -> 주로 볼 내용!
  • SIMO(Single Input, Multiple Output)
  • MISO(Multiple Input, Single Output)

2. 연속성에 따라서

이 분류를 보기 전에 시스템에 대해서 다시 한번 살펴보면,

Input을 받아서 Output을 뱉어야 하므로, 시스템은 시간에 Dependent 할 수 밖에 없다. (Time Dependent!)

(즉, Input이 먼저 오고, Output이 나중에 나와야 한다.)

그런데,

예를 들어서 센서는 Sampling Rate에 따라서(간단히 말하면, 일정 시간마다) 값을 받아들인다. 즉, 모든 시간에 대해서 정확히 센서값을 지속적으로 알 수는 없다.

또한, Input도 정확한 값을 주기가 어려운 것이, 편의상 Digital 값(0~255)값을 주도록 설정이 되어 있는 경우가 많기 때문에(Analog 값 주려면, 꽤나 복잡하기도 하고, Analog 신호 만드는데 시간이 꽤 걸린다.) Digital Signal을 주는 경우가 많다.

이런 관점에서, 시스템을 구분할 수 있다.

  • CT(Continuous Time) -> Analog Signal -> Laplace(Fourier) Transform -> 주로 볼 내용!
  • DT(Discrete Time) -> Digital Signal -> z-Transform

(Transformation에 대한 이야기는 나중에!)

 

3. 시간에 따라서

  • TI(Time-Invariant): 시간이 지나도, 시스템 그대로 유지
  • TV(Time-Variant): 시간이 지나면, 시스템이 바뀜 (ex. 부식에 따른 값 변화 etc....)

특히, Linear Time Invariant System을 LTI System이라고 한다! -> 주로 볼 내용이다!

 

4. Input과 Output의 관계

  • Causal System: 현재의 Output은 과거의 Input, 혹은 현재의 Input에 Dependent -> 주로 볼 내용!
  • Noncausal System: 현재의 Output이 미래의 Input에 Dependent! (물리적으로 불가능! 하지만, 수식적으로는 얼마든지 표현할 수 있다는 것만 알아두자)

 

우리가 주로 볼 내용은 LTI 시스템이므로, 다음 시간엔, 이 LTI 시스템에 대해서 조금 더 알아보자.