전체 글43 최적제어 3강 - Dicrete Linear Regulator Problem (수식유도 및 결론) 2024. 10. 1. Linear Quadratic Regulator 제어 [RL] The Linear Quadratic Regulatordynamic를 모르는 상태에서의 optimal control을 이해하고, 강화학습을 전개하는 입장에서 관점을 제공해주는 엄청 심플한 baseline이 있을까? 일단 매우 일반화가 된 예에서 시작해보자. 일반적으로 알talkingaboutme.tistory.com LQR 제어는 Linear 시스템에 대해서 2차함수로 주어진 목적함수를 이용한 최적제어 문제에서 도출되었으며, 명시적인 제어법칙을 가지고 있는 제어기임. 시스템이 Linear 즉 선형이며, 목적함수는 2차함수(Quadratic)인 것이 LQR 제어기이며, Reulator는 시스템의 상태를 0으로 만드는 제어기를 뜻한다. LQR은 PID 제어가와 함께 실제 플랜트 등에서 많이 사용되는.. 2024. 9. 17. 최적제어 3강 - 벨만의 원리와 Dynamic Programming 최적성의 원리는 a+b가 최적이라면, b보다 나은 b'은 없다는 것을 전제로 함 최적의 경로란 앞서 구한 stage까지가 최적의 해라면, 다음 stage에서 최적의 경로를 구할 때 앞서 구한 최적의 해까지는 건드리지 않는 것이 Bellman's principle이고 이게 바로 dynamic 프로그래밍 stage 형태로 만들어서 변수를 두고, Starting 포인트에서 일정 Stage까지 경로를 구했으면, 다음 Stage에서는 이전 Stage에서 다음 Stage 사이까지만 고려하고 Starting 포인트 부터 고려하지 않는것이 핵심 위 예를 봤을때, Bellman의 원리를 이용하면 계산량이 줄어듦 functional이란 벡터를 어떠한 연산을 통해서 scalar로 만들어내는 작업을 말함 여기서는 g(x.. 2024. 9. 14. 최적제어 1강~2강 - Introduction & 적용예시 state euqaion의 기본은 F = ma이고, x dot은 어떤 state가 현재의 상태와 시간에 따라 변화하는 것을 말하는데, u라는 control 인풋을 넣어서 제어할 수 있도록 하는게 다니아믹 시스템 즉 다이나믹시스템은 현재의 상태와 제어인풋에 따라 변화하는 시스템. x dot = f(x,u,t) 시스템을 분류하면 크게 네가지 (1) nonlinear, time-varying은 그 함수 자체도 시간에 따라 변화할 때임 → time-varying이면 의미있는 변화 얻기 힘듦(2) nonlinear, time-invariant 함수가 시간에 따라 변화지는 않음 → 의미있는 변화를 얻을 수 있음(3) Linear, time-varying가 선형이면서 time-varying인 경우 → x'(t).. 2024. 9. 14. 최적제어와 MPPI 최적제어는 노이즈가 없다는 가정 하에서 아래와 같이 두 가지 방식으로 해결 가능1) Pontryagin minimum principle (PMP) 상미분 방정식2) Hamilton Jacobi Bellman (HJB) 방정식PMP는 Wiener 노이즈가 존재한다는 가정하에 확률미분방정식으로 정형화 가능, 그러나 경계조건 문제 존재ㅏ.HJB는 수치해석적으로 문제를 풀 수 있으나, 차원의 저주 문제를 해결해야 함MPPI는 Path Integral 방법을 활용하기 때문에, GPU를 이용해 병렬적으로 계산 가능--------1. Path integral control- 편미분 방정식인 HJB은 exponential transform과 feynman-Kac 식을 이용해 Path integral 형태로 변환 가능동.. 2024. 9. 12. MPPI 제어를 이해하기 위한 배경지식 Affine Transformation : 선형곱에 bias를 추가하는 Wx+b 변환 방식 HJB(Hamilton-Jacobi-Belman theory) 마르코프 체인 (Markob Chain) : 시간이 지남에 따라 현재 상태가 다른 상태로 변화는 과정을 확률로 표현 몬테카를로 시뮬레이션 : 난수를 이용해 복잡한 문제를 근사적으로 해결하는 방법 : 전체적인 절차는 (1) 랜덤 입력값의 확률 분포 선정, (2) 모델에 입력값 투입, (3) 계산 결과를 해석하여 원하는 값 도출 : 예를들어 랜덤 입력을 넣어서 최적해 추정, 원 넓이 추정 등 : 입력값의 범위와 분포, 랜덤 샘플의 개수 등을 잘 설정하는 것이 중요 Importance Sampling : 샘플링의 효율을 높이기 위해 관심(importance).. 2024. 8. 27. Linear vs Affine Transformation 선형변환과 아핀변환에 대한 고찰 (Linear & Affine Transformation) | Hooni's Playground아핀변환을 정리하는 차원에서 글을 써본다. 선형변환 (Linear Transformation) 고등학교에서부터 배우는 내용이다. 선형변환은 스칼라 a와 벡터 u, v에 대해 두 벡터 공간(U, V) 사이에서 다음 조건을 만hooni-playground.com 머신러닝에서 자주 볼 수 있는 affine 변환. y = Wx +k 선형변환은 f(a+b) = f(a) + f(b) 를 만족하마 Affine 변환은 f(a+b) = f(a) + f(b)를 만족하지 못함 Affine 변환에서,f(a) = Wa + kf(b) = Wb + kf(a) + f(b) = W(a+b) + 2k반면 f(a.. 2024. 8. 26. KL Divergence란 KL 다이버전스는 Kullback-Leibler Divergence의 약자로, 두 확률 분포 간의 차이를 측정하는 비대칭적 수치이다. 머신러닝, 확률이론, 통계학, 정보이론 등에서 활용되는 개념이고, P 확률 분포화 Q 확률 분포가 얼마나 다른지를 보는 개념 여기서 정보이론 (Information Theory)이란 정보를 저장, 전송, 처리, 압축 하는 학문분야를 말하는데 여기서 정보량과 Entropy 개념이 나온다. 발생할 확률이 낮으면 정보량이 많다고 볼 수 있고, 이를 정량화 한 것이 정보량. (왜냐하면 어더한 사건이 발생할 확률이 낮으면 그 사건이 제공하는 정보량은 크다고 보기 때문 / ex 범죄자의 성씨 정보를 얻었는데 김씨가 아닌 권씨면 더욱 범죄자가 좁혀짐) I(xj) = - log a p(.. 2024. 8. 23. 클래스를 사용하는 이유 Python MATLAB 사용시 과거에는 함수를 기반으로 코드를 돌렸는데, 최근에는 클래스를 만들어서 활용하는 경우가 많아지고 있음. 그 이유는 Class는 재활용이 가능해서 코드가 굉장히 간결해지기 때문. Python을 예로 들면, Class vehiclemodel: def __init__(self, property1, property2) self.property1 = property1 ... 이런식으로 init에서 속성을 정의하고 self에 모두 집어넣음 def my_method(self, test): self.test += test 그리고 메서드를 이런식으로 쓰면, self에 들어있는 속성은 다 쓰면서 새로들어오는 입력 test와 계산을 하는 방식 실제로 쓸 때에는 vehicle = vehiclem.. 2024. 8. 21. 이전 1 2 3 4 5 다음