전체 글353 진동 모드 해석 복소수는 실수부와 허수부를 갖는 수체계다. 실수부를 \(x\)축에, 허수부를 \(y\)축에 표시하면 복소수를 복소 평면상에 표시할 수 있다. 복소수는 보통 실수부와 허수부로 표현하지만 다음과 같이 크기와 위상각으로도 표현할 수 있다. \[ \begin{align} z &=x+jy \\ \\ &= r \cos \theta +j r \sin \theta \end{align} \] 여기서 \(r\)은 복소수의 크기, \(\theta\)는 위상각이며 각각 다음과 같이 계산할 수 있다. \[ r= \sqrt{x^2+y^2 }, \ \ \ \theta =\tan^{-1} \left( \frac{y}{x} \right) \] 오일러 공식(Euler formula)에 의하면 다음 식이 성립하므로, \[ e^{j \th.. 2021. 1. 26. 운동 모드 해석 고유값(eigenvalue)과 고유벡터(eigenvector)의 개념은 여러 분야에서 사용되고 있다. 운동 모드를 해석할 때도 사용되는데 이에 대해서 알아보자. 다음과 같이 상태변수의 미분 방정식으로 표현되는 운동 방정식이 있다고 하자. \[ \dot{\mathbf{x}}= A \mathbf{x} \tag{1} \] 여기서 \(\mathbf{x}(t)\)는 상태변수로서 성분이 \(n\)개인 벡터다. \(A\)는 성분이 모두 실수 값인 \(n \times n\) 행렬이다. 위 식은 \(n\)개의 스칼라 미분 방정식이 서로 연결된 연립 미분 방정식으로서 외부 입력이 작용하지 않는 다양한 선형 운동 방정식을 표현할 수 있는 범용 식이다. 식 (1)을 상태공간 방정식(state-space equation)이라고.. 2021. 1. 26. 급속탐색 랜덤트리 (RRT, rapidly-exploring random tree) 경로계획(path planning)은 자율자동차, 로봇, 무인 항공기, 우주탐사 등과 같은 많은 분야에서 필수적인 요구사항이다. 경로계획법에는 여러 가지 방법이 제안되어 있는데, 최근 가장 인기를 모으는 방법으로는 RRT(rapidly exploring random tree)가 있다. RRT는 샘플링 기반 경로계획법의 하나이다. 샘플링 기반 경로계획법은 형상공간을 격자(grid)로 분할하지 않고, 랜덤(random)하게 샘플점을 여러 개 생성하여 점점이(point-wise) 공간을 탐색하여 경로를 찾아내는 방법이다. 즉 형상공간(configuration space) 내에서 샘플점을 무작위로 충분한 수만큼 발생시키고 그 샘플점이, 혹은 두 개의 샘플점을 잇는 선이 장애물과 충돌하는 지 여부를 확인하여 자유.. 2021. 1. 21. [KKT 조건 - 2] KKT 조건과 적용 예제 등식과 부등식 제약조건이 있는 일반적인 최적화 문제에 대해서 \[ \begin{align} & p^\star = \min_{\mathbf{x}} f(\mathbf{x}) \\ \\ \mbox{subject to : } \ & g_i (\mathbf{x}) \le 0, \ \ \ i=1,...,m \\ \\ \ & h_j (\mathbf{x}) = 0, \ \ \ j=1,...,k \end{align} \] KKT 조건(Karush-Kuhn-Tucker conditions)은 다음과 같다. \[ \begin{align} & \mbox{1. stationarity: } \ \nabla_{\mathbf{x}} f(\mathbf{x} ) + \sum_{i=1}^m \mu_i \nabla_{\mathbf{x}} .. 2021. 1. 18. [KKT 조건 - 1] 등식과 부등식 제약조건이 있는 최적화 문제 제약조건이 없는 일반적인 최적화 문제는 다음과 같다. \[ p^\star= \min_{\mathbf{x}} f(\mathbf{x}) \] 여기서 \(\mathbf{x}\)는 최적화 변수이고, \(f(\mathbf{x})\)는 목적함수(objective function)이다. \(\mathbf{x}^\star\)가 로컬(local) 최소점이 되기 위한 필요조건(necessary condition)은 \(\mathbf{x}=\mathbf{x}^\star\)에서 \(f\)의 그래디언트(gradient)가 \(0\)이 되는 것이다. \[ \nabla_{\mathbf{x}} f(\mathbf{x}^\star )=0 \] 등식 제약조건이 있는 일반적인 최적화 문제는 다음과 같다. \[ \begin{align} &.. 2021. 1. 14. 오일러-라그랑지 방정식과 브라키스토크론 문제의 풀이 상단 지점 \((0,0)\)에 정지해 있던 물체가 경로 \(y(x)\)를 따라 마찰없이 중력의 영향으로만 미끄러져서 하단 지점 \((x_f,y_f)\)까지 도착하는데 걸리는 시간은 다음과 같이 계산된다. \[ t= \int_0^{x_f} \frac{ \sqrt{ 1+ \left( \frac{dy}{dx} \right)^2 } }{ \sqrt{2gy} } \ dx \] 여기서 시간 \(t\)를 최소로 만드는 경로 함수 \(y(x)\)를 계산하는 것이 브라키스토크론(Brachistochrone) 문제다. 시간 \(t\)는 함수 \(y(x)\)를 변수로 하는 functional이다. 이 값을 최소화하는 함수 \(y(x)\)를 찾는 문제이므로 변분법의 문제이다. 다음과 같은 functional \(F(y, y^.. 2021. 1. 13. 변분법과 오일러-라그랑지 방정식 오일러-라그랑지 방정식(Euler-Lagrange equation)은 어떤 함수와 그 도함수(derivative)의 함수인 functional의 값을 최대화 또는 최소화하는 함수를 유도하기 위한 미분 방정식이다. 수식으로 살펴보자. 다음과 같은 functional \(F(y, y^\prime)\)가 있다고 하자. \[ F(y, y^\prime)= \int_{x_0}^{x_f} h(y(x), y^\prime (x)) \ dx \] 여기서 \(y(x)\)는 \(x\)의 함수이고, \(y^\prime (x)= \frac{dy}{dx}\)는 \(y(x)\)의 도함수이며, 적분 구간의 양쪽 경계 \(y(x_0)\)와 \(y(x_f)\)는 고정된 값으로 가정한다. Functional \(F(y, y\prime)\).. 2021. 1. 12. 기본 궤도 미분 방정식을 풀기 위한 조건 기본 궤도 미분 방정식을 다음과 같이 유도한 바 있다. \[ \frac{ ^id^2 \vec{r} }{ dt^2 } + \frac{ \mu }{ r^3 } \vec{r} = 0 \tag{1} \] 여기서 \(\mu =GM\)은 중력 파라미터, \(\vec{r}\)은 관성 좌표계 \(\{i\}\)의 원점에서 질점 \(m\)까지의 위치 벡터, \(r\)은 위치 벡터의 크기, 즉 거리다. 위 식을 유도하는데 다음 3가지 가정을 전제로 했다. 먼저 질량 \(m\)은 질량 M에 비해서 무시할 수 있을 정도로 작다. 둘째, 질점 \(M\)은 말 그대로 질점이거나 또는 질점으로 간주할 수 있는 완전한 원구체이며 만유인력은 원구체의 중심을 향한다. 셋째, 질점 \(M\)과 \(m\)사이에 작용하는 힘은 만유인력 밖에 .. 2021. 1. 12. 더 단순화된 이체문제 이체문제의 운동 방정식을 다음과 같이 유도한 바 있다. \[ \frac{ ^id^2 \vec{r} }{dt^2 } + \frac{\mu}{r^3} \vec{r} = 0 \tag{1} \] 여기서 \(\mu=G(M+m)\)이다. 이 식은 질점 \(M\)에 대한 질점 \(m\)의 상대적인 운동을 표현한 식이다. 두 질점의 질량 중심점은 벡터 \(\vec{r}_c\)가 가리키는 점으로 다음 식으로 주어진다. \[ \vec{r}_c = \frac{ M\vec{r}_M +m\vec{r}_m }{ M+m } \tag{2} \] 이제 이체문제를 더 단순화시키고자 한다. 식 (1)에서 한 질점의 질량이 다른 질점의 질량보다도 압도적으로 크다고 가정한다. \[ M≫m \tag{3} \] 그러면 \(M+m \approx .. 2021. 1. 12. GradientTape로 간단한 CNN 학습하기 Sequential API와 Functional API 그리고 Model Subclassing API를 이용하여 CNN을 구현해 보았다. 이번에는 model.compile 로 모델을 컴파일하고 model.fit 로 학습하는 대신에 모델에 손실함수와 옵티마이저를 직접 엮어 넣고, tf.GradientTape 를 사용하여 CNN을 학습해 보도록 하겠다. 전과 똑같이 데이터셋은 Fashion_MNIST이고 CNN모델도 전과 똑같으며 Model Subclassing API로 구축한 것이다. model.compile 로 모델을 컴파일하는 부분은 다음과 같았다. model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accu.. 2021. 1. 11. Model Subclassing API로 간단한 CNN 구현해 보기 Sequential API와 Functional API에 이어서 이번에는 Model Subclassing API를 이용하여 CNN을 구현해 보자. Model Subclassing API는 자유도가 제일 높은 모델 구축 방법으로서 사용자 자신의 방법으로 신경망을 학습시킬 수도 있다. 딥러닝을 깊게 공부하려면 반드시 알아야 할 API다. MNIST 숫자 분류 대신에 Fashion_MNIST 데이터셋을 이용해 보기로 한다. MNIST는 손글씨였지만 Fashion_MNIST는 신발, 가방, 옷 등의 흑백 그림을 모아 놓은 데이터셋이다. 텐서플로2에서는 Fashion_MNIST 데이터셋도 쉽게 다운로드할 수 있다. fashion_mnist = tf.keras.datasets.fashion_mnist (x_trai.. 2021. 1. 11. Functional API로 간단한 CNN 구현해 보기 Functional API는 여러 개의 입력과 출력이 있는 모델을 포함하여 보다 유연한 모델을 구축할 때 사용하며 ResNet과 같이 순차적이지 않은 모델도 구축할 수 있다. 또한 Functional API에서는 모델 내부의 특정 레이어(layrer)에 접근하여 웨이트(weight)과 바이어스, 그리고 레이어의 입출력 텐서 등을 쉽게 추출할 수 있다. 만들고자 하는 CNN 모델은 Sequential API로 만든 것과 똑같다. Functional API에서는 첫번째 레이어가 tf.keras.layers.Input 이어야 한다. 맨 마지막에 tf.keras.Model 을 호출하여 모델의 입력 레이어와 출력 레이어를 인수로 넣어주면 모델이 완성된다. input_shape = (28,28,1) img_inpu.. 2021. 1. 11. 변분법 (calculus of variation) 최적화는 크게 정적 최적화(static optimization)와 동적 최적화(dynamic optimization)로 분류할 수 있다. 정적 최적화는 파라미터 최적화(parameter optimization)라고도 하며, 동적 최적화는 최적제어(optimal control) 문제라고 한다. 파라미터 최적화는 정적(static) 파라미터를 변수로 하는 어떤 함수(function)에서 최소값 또는 최대값을 산출하는 파라미터를 구하는 문제다. 반면에 동적 최적화는 '함수를 변수로 하는 함수' (함수의 함수로서 functional이라고 한다)에서 최소값 또는 최대값을 산출하는 함수를 구하는 문제다. 파라미터 최적화에 미분법이 필요하듯이 동적 최적화에는 변분법(calculus of variation)이 필요하다.. 2021. 1. 11. 기본 궤도 미분 방정식 전 우주에 물체가 딱 2개 밖에 없다고 가정한다. 이 2개의 물체도 질점(부피와 모양이 없이 질량만 가진 물체)이라고 가정한다. 질량이 있으므로 두 질점 사이에는 만유인력이 작용한다. 이런 조건에서 이 두 질점의 운동 방정식을 세워보려고 한다. 이와 같이 '만유인력 하에서의 두 질점의 운동에 관한 문제'를 이체문제(two-body problem)라고 한다. 그림과 같이 질량 \(M\)과 질량 \(m\)인 두 질점이 거리 \(r\)만큼 떨어져 있고, 두 질점 간에는 오직 만유인력만 작용한다고 가정한다. 그림에는 관성좌표계 \(\{i\}\)도 표시했다. 뉴턴의 제2법칙을 적용하려면 관성좌표계가 필요하기 때문이다. 그러면 만유인력의 법칙에 의하여 질점 \(M\)에는 질점 \(m\)방향으로 힘이 작용하므로 질점.. 2021. 1. 11. 이전 1 ··· 18 19 20 21 22 23 24 ··· 26 다음