일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Numerical Analysis
- LaTeX
- Linear algebra
- Statics
- ChatGPT
- 논문작성
- Dear abby
- WOX
- 텝스
- IEEE
- 옵시디언
- pytorch
- Zotero
- 텝스공부
- 생산성
- 수치해석
- 우분투
- matplotlib
- JAX
- 고체역학
- obsidian
- 인공지능
- MATLAB
- Julia
- 수식삽입
- 에러기록
- 논문작성법
- teps
- Python
- 딥러닝
- Today
- Total
목록분류 전체보기 (435)
뛰는 놈 위에 나는 공대생
최근 Journal of Guidance, Control, and Dynamics (이하 JGCD) editorial에 있는 세 개의 글을 보고 정리하는 글이다. 참고한 글에 대한 정보는 하단에 남기도록 하겠다. 특히나 Guidance와 control은 application을 보면 혼용해서 쓰기도 하고 모호한 부분이 있어서 이런 글들을 통해 알아보고 싶었다. JGCD의 훌륭한 에디터 님의 말에 내 의견도 숟가락을 얹어보도록 하겠다. 참고로 여기서는 항공우주 분야 저널이기 때문에 어플리케이션이나 분류 자체가 항공우주 분야에 맞춰져있다. 목차 1. What is guidance? 2. What is navigation? 3. What is control? 1. What is guidance? 항공우주공학에서..
이번에는 dynamics를 통해 제어기를 생각하는 방법에 대해 다룬다. 사실 제어기를 설계하는 것은 정답이 있는 게 아니라 어떻게 모델링해서 어느 부분을 제어할 것이냐에 따라 달라질 수 있다. 따라서 본인이 달성하고자 하는 성능 지표나 운용 목적, 센서의 유무 등을 따져보아야 한다. dynamics를 알아야 하므로 다음 글을 참고한다. 1. Outer loop - Inner loop 제어기에서는 내부 루프와 외부 루프로 제어기가 구성된다. 내부 루프는 가장 빠른 response를 기준으로 설정이 된다. 가장 기본적으로 위치, 속도, 자세각, 각속도가 측정 가능하다고 가정한다. (그래야 피드백을 할 수 있으니까) 위 그림과 같이 위치 커맨드가 주어질 때의 루프를 나타낸 것이다. 위치가 주어지면, 이를 위한..
chatGPT의 흥미로운 점은 어떤 프롬프트를 쓰느냐에 따라 결과가 달라질 수 있다는 점이다. 이런 측면에서 더 나은 프롬프트를 사고 파는 시장까지 생겼다고 하니, 세상에는 참 많은 아이디어가 돈이 된다 싶기도 했다. 실제 openAI에서는 몇 가지 유용한 강좌를 제공해준다. 그중 하나가 지금 이야기하고자 하는 ChatGPT Prompt Engineering for Developers라는 강의이다. chatGPT를 더 유용하게 사용하기 위해 어떻게 명령을 넣으면 좋을지에 대해 설명해준다.80퍼센트 정도 들었는데 충분히 chatGPT를 사용하는 법에 대해 익숙해지기 좋은 것 같다.나중에 시간이 나면 어떤 식으로 프롬프트를 하는지 정리해놓고 싶다. (크흠..) 괜히 이상한 유튜브에서 chatGPT 설명을 찾..
JAX가 버전에 따라 조금씩 달라지는 부분이 있어서 정리해놓는 글. 1) 배열 원소 업데이트 방식 # JAX 0.3 이전 input_data_test = index_update(input_data_test, index[i,:], input_data_tmp) # JAX 0.4 input_data_test = input_data_test.at[i,:].set(input_data_tmp) 2) optimizers 0.3버전에서는 optimizer가 기본적으로 제공이 되는데 이 방식이 0.4에서는 바뀐다.
문서를 보면 상단바(Header)를 만들고 싶을 수 있다. Heading을 만드는 방법은 여러 코드들을 보다보면 제각각이라서 다양한 방법을 소개하고자 한다. 1. fancyhdr package 사용하기 다음 링크에 가보면 overleaf에서 간단하게 header를 만드는 방법에 대해 설명했다. \documentclass[11pt]{article} \usepackage{fancyhdr} \usepackage[margin=1in]{geometry} \begin{document} \pagestyle{fancy} %... then configure it. \fancyhf{} % Set the header and footer for Even % pages but omit the zone (L, C or R) \f..
사실 물체의 dynamics 자체는 뉴턴 법칙으로 고정되어있기 때문에 익숙하다. 다만 이 dynamics에서 얼마만큼 더 '정밀하게' 모델링할 것인가는 엔지니어의 몫이다. 예를 들면 $\dot{P}=F$ $\dot{H}=M$ 다음과 같이 운동량의 변화율은 힘이고, 각운동량의 변화율은 모멘트 (즉, 힘과 모멘트로 운동량/각운동량을 변화시킬 수 있다)라는 사실은 변하지 않는다. 하지만 제어하는 사람 입장에서는 이 힘이 어떻게 발생하는지를 디테일하게 따져보게 된다. 일례를 들면, 지금 설명할 드론의 경우 공기로 인한 항력이 발생할 수 있다. 나는 이런 유체역학을 기초적인 부분 밖에 모르지만 모터가 돌면 주변의 발생하는 바람으로 인해 힘에 영향을 줄 수 있다. 하지만 측정이 불가능한 영역이라면 이를 무시하고 d..
Quasi Newton method를 이용해서 JAX에서 최적화를 시키고 싶었는데 JAX 자체가 Deep learning에 포커스가 있고 대부분 딥러닝이 Gradient descent method로 최적화를 하다보니 라이브러리를 찾게 되었다. 대부분 jaxopt라는 라이브러리를 추천했기 때문에 이걸로 수행해보았다. jaxopt에는 jaxopt.ScipyMinimize와 jaxopt.LBFGS가 있는데 다른 분들의 시도를 보니 ScipyMinimize가 더 성능이 괜찮은 것 같다. ScipyMinimize는 scipy에 있는 최적화를 사용한 것이고 LBFGS는 직접 만든 것 같은데 line search 방법 등이 다르다고 한다. import jax import jax.numpy as np from jax ..
맨날 Bayesian Neural Network (BNN)에 대해서 얘기를 듣다가 좋은 강의를 접하게 되어서 요약 정리하고 개별 내용을 보는 것이 어떨까 생각한다. 모든 자료들이 notation을 다르게 쓰다보니 따라가기 어려운 점이 있기도 하고.. 만약 BNN 관련한 라이브러리를 한 번쯤 보신 분들이라면 MCMC, Dropout, Stein Variational Gradient Descent, Variational Inference 등 알 수 없는 용어들을 봤을 것이다. 필자도 배우는 단계이기 때문에 공부하면서 이 글이 수정될 수도 있다. 다루고 싶은 내용은 1) Bayesian Neural Network의 이론 기반 2) BNN에 포함되는 알고리즘 3) BNN Implementation (JAX 라이..
티스토리 코드블럭에서 필요한 언어를 지정할 때 자꾸 까먹어서 저장하는 글 다음 링크에 들어가면 확인할 수 있다. highlight.js를 모든 언어용으로 사용하고 있으면 다음과 같이 Aliases에 있는 문자를 보고 HTML에 들어가서 코드 블럭의 class를 바꿔줘야 한다. 예를 들어 나는 LaTeX를 쓰고 싶은데 티스토리 코드 블럭에는 LaTeX 항목이 없어서 직접 입력해준다. Language Aliases Package 1C 1c 4D 4d highlightjs-4d ABAP sap-abap, abap highlight-sap-abap ABNF abnf Access logs accesslog Ada ada Apex apex highlightjs-apex Arduino (C++ w/Arduino li..
코센이라는 과학,공학 커뮤니티에서 홍보를 해서 듣게 된 세미나이다. 해외포닥을 중점적으로 다루는 세미나인데 세미나 이후에는 자료들도 웹사이트에 올라온다고 하니 나중에 참고해도 될 것이다. 다음주 것까지 듣고 더 추가할 생각이다. 1회 주제 : 펠로십 기회 활용: 전략적으로 접근하기 발표자 : 신승우 (University of California Santa Barbara ,UCSB) 1. 본인 분야에서 포닥하시는 사람들이 받은 fellowship 확인해서 지원하면 좋다. 주로 한국연구재단이 많은 것 같다. 2. 본인이 직접 과제를 가져오면 포닥을 지원할 때 유리하다. 최근에는 포닥 월급이 오르면서 채용하는 것을 꺼리고 있기 때문이다. 3. 각 펠로우쉽에 동일한 주제로 내면 불리한지는 알 수 없으나 연사 분..