본문 바로가기

전체 글217

[Discrete-Time] LQR과 피드백 제어 다음과 같은 선형 시스템에 대해서 \[ \mathbf{x}_{t+1}=F_t \mathbf{x}_t+G_t \mathbf{u}_t \] 성능지수가 다음과 같이 2차함수로 주어지는 \[ J_t = \frac{1}{2} \mathbf{x}_N^T S_N \mathbf{x}_N + \frac{1}{2} \sum_{t=i}^{N-1} \left( \mathbf{x}_t^T Q_t \mathbf{x}_t + \mathbf{u}_t^T R_t \mathbf{u}_t \right) \] LQR 문제의 해는 다음과 같다 (https://pasus.tistory.com/38). \[ \begin{align} & \mathbf{x}_{t+1}=F_t \mathbf{x}_t+G_t \mathbf{u}_t \tag{1-1} .. 2020. 10. 31.
[Discrete-Time] LQR 문제 비선형 시스템에 대해서 매우 일반적인 성능지수를 적용한 최적제어 문제에 대한 해를 유도해 보았다 (https://pasus.tistory.com/35). 그러나 이러한 셋팅으로는 명시적인 제어법칙(control law)을 유도해 내기가 어렵다. LQR은 선형 시스템에 대해서 2차 함수로 주어진 성능지수를 이용한 최적제어 문제에서 도출되었으며 명시적인 제어법칙을 가지고 있는 제어기이다. LQR은 linear quadratic regulator의 약자로서 시스템이 선형(linear)이며 성능지수가 2차함수(quadratic)라는 의미이다. regulator는 시스템의 상태를 0 (또는 set point로 불리는 고정된 목표 상태변수)으로 만드는 제어기를 뜻한다. LQR은 PID 제어기와 함께 실제 응용 문제.. 2020. 10. 31.
강화학습의 한계 강화학습이 비약적으로 발전하고 있지만, 로봇이나 드론 등 실제 물리 시스템의 제어에 적용하기에는 아직 극복해야 할 많은 문제를 가지고 있다. 첫 번째 문제점은 강화학습이 기본 동역학 모델을 알지 못하더라도 환경과의 상호작용을 통해 얻은 데이터만을 가지고 직접 정책을 유도할 수 있다지만, 단순한 작업을 배우는 데에도 너무 많은 시도(try)와 데이터가 필요하다는 점이다. 즉, 샘플 효율성이 매우 떨어진다는 뜻이다. 예를 들어 단순한 강화학습 예제 중의 하나인 진자(pendulum)의 정책을 학습하려면 수 십 또는 수 천회의 정책 실행이 필요하다. 게임이나 컴퓨터 시뮬레이션은 괜찮을지 몰라도, 로봇이나 드론 등 실제 물리 시스템에 대해서는 데이터를 얻기 위해서는 필요한 시간과 비용 등이 터무니없이 클 수 있.. 2020. 10. 28.
조건부 확률 사건 \( B \)가 발생한 조건에서 사건 \( A \)가 발생할 확률을 사건 \( A \)의 조건부 확률(conditional probability)이라고 하고, 다음과 같이 정의한다. \[ P\{ A| B \} = \frac{P \{A, B \} } {P \{ B \}} \] 다음 그림에서 보듯이 조건부 확률은 사건 \( A \)이기도 하면서 동시에 사건 \( B \)이기도 한 사건(곱사건이라고 한다)이 발생할 확률과 사건 B만 발생할 확률의 비로 주어진다. 즉, \[ \frac{ 노란색 \ 영역 \ 확률} { (노란색 \ + \ 녹색) \ 영역 \ 확률 } \] 이다. 이와 같은 조건부 확률 정의는 상식에 부합한다. 예를 들어 보자. 주사위 놀이에서 홀수가 나올 사건을 \( A \), \( 4 \).. 2020. 10. 27.
[Discrete-Time] 최적제어 문제 다음과 같이 이산시간(discrete-time) 차분 방정식(difference equation)으로 표현된 비선형 시스템이 있다. \[ \mathbf{x}_{t+1} = \mathbf{f}_t (\mathbf{x}_t, \mathbf{u}_t) \] 여기서 아래 첨자 \( t \)는 시간스텝을 나타낸다. 일반적으로 시스템을 시변(time-varying)으로 간주하기 때문에 함수 \( \mathbf{f}_t \)에 아래 첨자로 시간 표시를 한다. 시불변 시스템일 경우에는 생략하면 된다. 상태변수는 \( \mathbf{x}_t \in R^n \), 제어변수는 \( \mathbf{u}_t \in R^m \)이다. 최적제어 문제는 시스템이 어떤 스칼라 성능지수(performance index)를 최소화하도록 .. 2020. 10. 27.
놈 (norm) norm을 한글로 표기할 때 ‘놈’이라고 하기도 하고 ‘노름’이라고 하기도 하는데, 둘 다 좋은 뜻은 아니지만 ‘놈’이 조금 나은 것 같다. 사람에게도 이놈, 저놈, 그놈이 있듯이 norm에도 여러 놈이 있다. 😊 벡터 \( \mathbf{x} \in R^n \) 의 놈은 다음 4가지 성질을 만족하면서 벡터에서 실수 값을 연결하는 함수로 정의하고, \( \| \mathbf{x} \| \)로 표기한다. 1. \( \| \mathbf{x} \| \)은 음수가 아닌 실수값이다. 즉, \( \| \mathbf{x} \| \ge 0 \) 2. \( \mathbf{x}=0 \) 일 때만 \( \| \mathbf{x} \| =0 \) 이다. 3. 스칼라 \( \alpha \)에 대해서 \( \|\alpha \math.. 2020. 10. 24.
내적 (Inner Product) 두 개의 벡터 사이의 덧셈은 각각의 구성 성분을 더하는 것으로 정의한다. 그렇다면 곱셈 연산은 어떻게 정의할까. 곱셈 연산으로 두 가지 방식이 있다. 바로 dot product와 cross product 연산이다. 두 벡터 \( \mathbf{a}= \begin{bmatrix} a_1 & a_2 & \cdots & a_n \end{bmatrix}^T \)와 \( \mathbf{b}= \begin{bmatrix} b_1 & b_2 & \cdots & b_n \end{bmatrix}^T \)가 있을 때, 두 벡터의 dot product 또는 내적(inner product)은 다음과 같이 정의한다. \[ \mathbf{a} \cdot \mathbf{b} = a_1 b_1 + a_2 b_2 + \cdots + .. 2020. 10. 21.
함수의 최소화 또는 최대화의 조건 다음과 같이 제약조건이 없는 일반적인 최적화 문제가 있다. \[ \min_{\mathbf{x}} f(\mathbf{x}) \ \ \ \ 또는 \ \ \ \ \max_{\mathbf{x}} f(\mathbf{x}) \] 여기서 \( \mathbf{x} \in R^n \)은 최적화 변수이고, \( f(\mathbf{x}) \)은 목적함수(objective function)이다. 이 목적함수를 최소화 또는 최대화하기 위한 조건은 무엇일까. \( \mathbf{x} \)의 독립적 변화에 의해 유도된 함수 \( f(\mathbf{x}) \)의 변화량을 계산해 보자. \( \mathbf{x} \)의 변화량을 \( \Delta \mathbf{x} \)라고 하면, 함수의 증분(increment) \( \Delta f .. 2020. 10. 20.
유사 역행렬 (Pseudo Inverse Matrix) 역행렬은 full rank인 \( n \times n \) 정방 행렬(square matrix)에서만 정의된다. 정방 행렬이 아닌 다른 모양의 행렬에서는 역행렬 대신에 유사 역행렬(pseudo inverse matrix)을 정의할 수 있다. 어떤 \( m \times n \) 실수 행렬 \( A \)에 대해서 다음과 같이 4가지 조건을 만족하는 행렬 \( A^+ \)를 무어-펜로즈(Moore-Penrose) 유사 역행렬이라고 한다. 1. \( A A^+ A = A \) 2. \( A^+ A A^+ = A^+ \) 3. \( (A A^+)^T = A A^+ \) 4. \( (A^+ A)^T = A^+ A \) 특이값 분해(svd)를 이용하면 무어-펜로즈 유사 역행렬을 쉽게 계산할 수 있다. 특이값 분해란 .. 2020. 10. 19.
라그랑지 곱수법의 증명 라그랑지 곱수(Lagrange multiplier)법을 증명해 보자. 먼저 기하학적 직관을 이용해서 증명해 본다. 다음과 같이 변수가 \( \mathbf{x} \in R^2 \)이고 등식 제약조건이 한 개 있는 최적화 문제를 살펴보자. \[ \begin{align} & p^* = \min_{x_1, x_2} f( x_1, x_2 ) \\ \\ subject \ to \ \ \ & h (x_1, x_2) = 0 \end{align} \] 등식 제약조건은 평면상의 곡선의 식을 나타낸다. 먼저 목적함수와 등식 제약조건 식을 \( x_1,x_2 \)을 축으로 하는 평면에 그려보자. 검은색 선은 \( f(x_1,x_2 )=c \)의 등고선을 나타낸다. 등고선이란 동일한 함수 값 \(c\)를 산출하는 변수 \( x.. 2020. 10. 1.