본문 바로가기

분류 전체보기326

리야프노프 안정성 (Lyapunov stability) 개념 수학에서 자율 미분방정식(autonomous differential equation) 또는 자율 시스템은 명시적으로 독립변수의 함수가 아닌 미분방정식 또는 시스템을 말한다. 독립변수가 시간이라면 시불변(time-invariant) 시스템이라고도 한다. 독립변수가 시간인 비선형 비자율 미분방정식은 \(\dot{\mathbf{x}}=\mathbf{f}(\mathbf{x}, t)\) 로, 자율 시스템 또는 시불변 시스템은 \(\dot{\mathbf{x}}=\mathbf{f}(\mathbf{x})\) 로 표기한다. 어떤 시불변 시스템 \(\dot{\mathbf{x}}=\mathbf{f}(\mathbf{x})\) 의 한 평형상태(equilibrium state)를 \(\mathbf{x}_e\) 라고 하자. 평형상.. 2022. 9. 27.
Mac M1 Pro 에 Tensorflow, Gym, Mujoco 설치하기 Mac M1 Pro에 Tensorflow 를 설치하면서 애를 먹은터라 다음을 위하여 기록해 놓는다. 1. Anaconda 설치하기 (M1을 지원하기 시작함) 2. 가상환경 (이름을 tf 로 함) 만들기 conda create -n tf anaconda 3. 가상환경으로 이동 후, 텐서플로 설치 전에 pip 부터 업그레이드 pip install --upgrade pip 4. 가상환경에서 텐서플로 설치 conda install -c apple tensorflow-deps pip install tensorflow-macos pip install tensorflow-metal 4. 에러 나오면 numpy, scipy 업그레이드 (이 부분이 중요) pip install numpy –-upgrade pip inst.. 2022. 9. 19.
[Continuous-Time] LTI 시스템과 인과 시스템 LTI시스템의 출력은 다음과 같이 입력과 임펄스 반응의 컨볼루션으로 주어진다. \[ y(t)= \int_{-\infty}^{\infty} u(\tau) h(t-\tau) \ d\tau \] 여기서 \(h(t-\tau)\) 는 시간 \(\tau\) 에서 시스템에 임펄스를 입력으로 가했을 때 시간 \(t\) 에서의 출력이다. 그런데 여기서 \( t \lt \tau\) 일 때 \(h(t-\tau)\) 의 값이 \(0\) 이 아니라면 조금 이상한 일이 벌어진다. 임펄스를 입력으로 가하기 이전에 그 결과인 임펄스 반응이 시간적으로 먼저 나오는 것으로 해석되기 때문이다. 이것은 인과 법칙에 위배된다. 원인이 앞서고 결과가 뒤따르는게 순리적으로 맞기 때문이다. 원인이 결과에 앞서는 시스템을 인과(causal) 시스템.. 2022. 9. 13.
[Continuous-Time] LTI 시스템과 컨볼루션 입력과 출력의 관계식으로 표현하는 방법을 시스템의 외부적 표현 방법이라고도 하는데 다음과 같이 연산자(operator)를 이용하여 입출력 관계식을 함수로 나타낸다. \[ \mathbf{y}(t)= \mathcal{F} \{ \mathbf{u}(t), t\} \] 여기서 \(t\) 는 시간, \(\mathbf{u}(t)\) 는 입력, \(\mathbf{y}(t)\) 는 출력이다. 시불변 시스템의 경우 입력을 가한 싯점에 관계없이 출력이 동일해야 하므로 입출력 관계식은 다음과 같이 된다. \[ \mathbf{y}(t)= \mathcal{F} \{ \mathbf{u}(t) \} \] 한편 시불변이면서 동시에 선형인 경우에는 중첩의 원리가 적용되므로 시스템은 다음과 같은 특성을 가져야 한다. \[ \begin{.. 2022. 9. 13.
[Continuous-Time] LTI 시스템 선형 시스템에 이어서 이번에는 시불변(time-invariant) 시스템이 무엇인지 알아보자. 시불변 시스템은 초기값 \(\mathbf{x}(0 )\) 을 시간 \(\tau\) 만큼 늦추고 입력 \(\mathbf{u}(t)\) 도 \(\tau\) 만큼 늦춰서 똑같은 형태로 시스템에 인가했을 때, 출력 \( \mathbf{y}(t)\) 도 \(\tau\) 만큼 늦춰진 채 똑같은 형태로 나오는 시스템이다. 즉 시스템의 초기값과 입력의 시점 따라 시스템의 출력이 바뀌지 않는 시스템을 말한다. 예를 들어서 '어제' A라는 초기값과 패턴을 갖는 신호를 시스템에 입력으로 주었더니 B라는 출력 신호가 나왔다고 했을 때, '오늘' 동일한 A라는 초기값과 입력 신호를 시스템에 가했더니 어제와 동일한 B라는 출력 신호가 .. 2022. 9. 13.
[LSTM] TF2에서 단방향 LSTM 모델 구현 - 2 tf.keras.layers.LSTM 의 속성 return_sequences를 True 로 설정하면 각 시퀀스별 은닉 상태(hidden state)를 모두 출력하게 된다. 다음 그림은 시퀀스 길이가 4 \((t-3, t-2, t-1, t)\), 은닉 상태변수의 차원이 \(\mathbf{h}_t \in \mathbb{R}^3\), 입력 변수의 차원이 \(\mathbf{x}_t \in \mathbb{R}^8\) 인 LSTM 모델을 나타낸 것이다. 이 모델의 특징은 각 시퀀스에서 은닉 상태가 모두 출력된다는 것이다. 이를 코드로 구현하면 다음과 같다. input = tf.keras.layers.Input(shape=(4, 8)) # (seq length, input dimension) lstm = tf.ker.. 2022. 7. 23.
[LSTM] TF2에서 단방향 LSTM 모델 구현 - 1 LSTM(Long Short-Term Memory)은 자연어 처리, 시계열 및 기타 시퀀스 모델링 작업에 사용되는 RNN 신경망의 한 종류이다. 여기서는 단방향(unidirection) LSTM모델을 Tensorflow2로 어떻게 구현할 수 있는지 그 방법에 대해서 알아보고자 한다. 실제로 코드를 작성하기 전에 먼저 LSTM의 구조와 내부 작동에 대해서 이해하는 것이 순서이겠지만, 이에 대해서는 다음에 포스팅하기로 하고 일단 LSTM 모델을 Tensorflow2 코드로 구현하는 것에 집중하도록 하겠다. LSTM의 모든 기능은 그림에서 녹색 메모로 표시된 메모리셀(memory cell)이라는 곳에서 수행된다. 메모리셀은 3개의 입력과 2개의 출력이 있다. 입력으로는 은닉 상태(hidden state) \(.. 2022. 7. 21.
[GP-4] 베이지안 최적화 (Bayesian Optimization) 어떤 미지의 함수의 최대값을 구하는 문제를 생각해 보자. 이 함수는 블랙박스 함수라서 그 수학적 표현을 알지 못할 뿐만 아니라 그 미분 또한 당연히 모른다. 다만 특정 포인트 \( \mathbf{x}\) 에서 함수값을 물어보면 답은 내줄 수 있다고 가정한다. 베이지안 최적화(BO, Bayesian optimization)는 이와 같은 조건하에서 함수의 최대값을 계산하기 위한 방법이다. 즉, 어떤 최적화 목적함수에 대한 수학적 표현식은 없지만 샘플링된 값을 얻을 수 있는 상황에 적용할 수 있는 최적화 방법인 것이다. 베이지안 최적화 방법에서는 샘플링된 학습 데이터를 사용하여 미지의 목적함수에 대한 가우시안 프로세스(GP) 모델을 구축하고, 목적함수의 불확실성을 최소화하거나 함수의 예측값을 최대화할 수 있을.. 2022. 7. 9.
[GP-3] GP 커널 학습 GP 회귀 (Gaussian process regression) 문제를 정리하면 다음과 같다. 어떤 미지의 함수 \(f(\mathbf{x})\) 를 다음과 같이 가우시안 프로세스로 모델링한다고 하자. \[ \begin{align} & y=f(\mathbf{x})+\epsilon \tag{1} \\ \\ & \ \ \ \ \ \epsilon \sim \mathcal{N} (0, \sigma_n^2 ) \\ \\ & \ \ \ \ \ f(\mathbf{x}) \sim \mathcal{GP} (\mu(\mathbf{x}), k(\mathbf{x}, \mathbf{x}' )) \end{align} \] 여기서 \(y\) 는 측정값, \(\mathbf{x}\) 는 입력으로서 가우시안 프로세스의 인덱스이고, \(\.. 2022. 7. 5.
[GP-2] GP 회귀 (GP Regression) 가우시안 프로세스 \(f(\mathbf{x})\) 의 관측값에는 노이즈가 포함되어 있다고 가정하는 것이 보다 실제적이다. 노이즈를 평균이 \(0\) 이고 분산이 \(\sigma_n^2\) 인 가우시안으로 모델링한다면 GP(Gaussian process) 측정 모델은 다음과 같다. \[ \begin{align} & y=f(\mathbf{x})+ \epsilon \tag{1} \\ \\ & \ \ \ \ \ \epsilon \sim \mathcal{N} (0, \sigma_n^2 ), \\ \\ & \ \ \ \ \ f(\mathbf{x}) \sim \mathcal{GP}( \mu(\mathbf{x}), k(\mathbf{x}, \mathbf{x}' ) ) \end{align} \] 노이즈가 가우시안 프로세.. 2022. 6. 30.