일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 고체역학
- 논문작성
- 논문작성법
- 텝스
- ChatGPT
- MATLAB
- 우분투
- obsidian
- teps
- WOX
- Python
- 수식삽입
- Zotero
- 생산성
- Numerical Analysis
- 옵시디언
- IEEE
- JAX
- Linear algebra
- 인공지능
- Julia
- Dear abby
- LaTeX
- pytorch
- 수치해석
- Statics
- 텝스공부
- 딥러닝
- 에러기록
- matplotlib
- Today
- Total
목록분류 전체보기 (436)
뛰는 놈 위에 나는 공대생
다음 글에서 재현성을 위해 설정해야하는 것들은 다음과 같다. import random random_seed = 1 torch.manual_seed(random_seed) torch.cuda.manual_seed(random_seed) torch.cuda.manual_seed_all(random_seed) # if use multi-GPU torch.backends.cudnn.deterministic = True torch.backends.cudnn.benchmark = False np.random.seed(random_seed) random.seed(random_seed) 이것까지는 좋은데 주의해야할 점이 있다. 예를 들어 내가 어떤 random integer를 뽑는 상황이 온다고 하자. 그러면 seed..
데이터의 차원이 높아질 수록 개별 데이터를 확인하는 것이 어렵고 필요없는 데이터를 제거하는 것이 어려워진다. 이를 위한 다양한 방법들을 알아보기로 한다. 1. 이상치 제거 배열에서 이상치를 제거하는 함수는 MATLAB에서 R2018b 이후부터 rmoutliers로 제공하고 있다. 이상값 감지는 평균에서 3 표준편차를 초과해 떨어져있는 요소를 기준으로 한다. 기준은 평균, 중앙값 등 기준을 다양하게 잡을 수 있다. [B,TFrm,TFoutlier,L,U,C] = rmoutliers(kt_s_pred) ; # L : 하한 임계값, U : 상한 임계값, C : 중심값, TFoutlier : 이상값 표시자, TFrm : 제거된 데이터 2. 조건에 맞는 요소 출력 B = A(A>0.0) # A배열에서 0.0보다 ..
mobaXterm은 리눅스 서버와 다양한 방식으로 연결할 수 있도록 돕는 프로그램이다. (꼭 리눅스 서버와 연결하는 것은 아니지만 주로 SSH 연결을 통해 많이 사용한다. 그런데 GUI를 보면서 리눅스 서버를 사용하고 싶을 수 있다. 이전에는 Anydesk (원격접속 프로그램)를 통해서 사용했는데 무료계정이라면 여러 명이 동시에 GUI를 쓸 경우에 Anydesk를 쓰는 것이 불가능하기 때문에 다른 VNC 서버/클라이언트 프로그램을 찾아봐야 한다. 이전 글에서 TurboVNC를 설치하는 방법에 대해 다뤘었다. TurboViewer가 있으면 사용가능한데 굳이 Turbo Viewer 없이 mobaXterm으로도 접속 가능하다. 여기서는 TurboVNC를 통해 mobaXterm으로 접속하는 방법을 소개한다. (..
JAX 사용시 발생할 수 있는 문제점이다. JAX의 최신버전은 가장 최신의 CUDA, cuDNN 버전을 요구하기 때문에 다음과 같은 에러를 만나게 된다. E external/xla/xla/stream_executor/cuda/cuda_dnn.cc:433] Loaded runtime CuDNN library: 8.8.0 but source was compiled with: 8.9.1. CuDNN library needs to have matching major version and equal or higher minor version. If using a binary install, upgr CUDA12.1 버전에 cuDNN 8.9.1버전(현재 기준으로 가장 최신버전은 8.9.2인데 보통 요구하는 cuDN..
MLE에 대한 좋은 설명이 있는 자료 https://online.stat.psu.edu/stat415/lesson/1/1.2 1.2 - Maximum Likelihood Estimation | STAT 415 Enroll today at Penn State World Campus to earn an accredited degree or certificate in Statistics. online.stat.psu.edu MLE 심화 (MLE Regularity condition에 대한 설명) Lehmann, Erich L., and George Casella. Theory of point estimation. Springer Science & Business Media, 2006. https://barum..
아직 많이 논문을 읽어보지는 못했지만 최근 Neural network의 수렴성에 대한 연구가 이루어지는 것들이 있는 것 같아서 논문 목록을 미리 작성해놓는다. NN에서 마주치는 어려움 중 하나는 수렴성에 대한 문제이다. 최적화도 nonlinear programming에서 수렴이 어렵기 때문에 이를 convex화시켜서 해결하고자 하는 시도들이 많은데 인공지능 분야도 실제 상황에서 활용되기 위해서는 충분히 수렴이 가능한지에 대한 연구도 많이 필요할 것으로 보인다. Neural network의 convexity에 대한 연구 Milne, T. (2019). Piecewise strong convexity of neural networks. Advances in Neural Information Processin..
1. Inner products and cosines cosine의 물리적인 의미는 다음과 같이 이해할 수 있다. 위에서 벡터 b를 a에 대해 projection한 결과 (편의성을 위해 위의 벡터 표시는 생략) $p=\|b\| \cos\theta \dfrac{a}{\|a\|}=\dfrac{\|a\| \|b\|\cos\theta }{\|a\|^{2}}a=\dfrac{a^{\top}b}{a^{\top}a}a$ 첫번째 부등식은 그림을 보고 유도한 것이고 그 다음 등식은 내적과 cosine의 관계를 통해 유도된 것이다. 위를 통해 b를 a에 대해 projection한 결과는 $\dfrac{a^{\top}b}{a^{\top}a}$ 관계로 연결되어있음을 확인할 수 있다. 그러나 위의 결과는 2차원 평면에서 유도하는..
Neural ODE를 구현해놓은 코드는 torchdiffeq인데 학습이 너무 느리다는 생각이 들었다. 여러가지를 테스트해봐야 하는 입장에서 아무리 좋은 GPU를 써도 코드가 뒷받침되지 않으면 학습하는 데 시간이 오래 걸린다. 최근 JAX가 이런 측면에서 효과적이라는 것을 알아서 JAX 기반의 Neural ODE 코드를 찾아보았다. https://docs.kidger.site/diffrax/ Diffrax Diffrax in a nutshell Diffrax is a JAX-based library providing numerical differential equation solvers. Features include: ODE/SDE/CDE (ordinary/stochastic/controlled) sol..
아래 그림을 보면 u(그림 상에서는 y축에 해당함)가 15일 때 x가 -15인 형태로 3d plot을 그렸다. 그런데 내가 원하는 것은 u가 15일 때, x도 15인 형태로 그리고 싶을 수 있다. 즉, x축을 반전시키거나 y축을 반전시키고 싶을 수 있다. plot할 때 X,Y축 자체의 순서를 바꿔서 plot하는 것도 방법일 수 있지만 3d plot은 X,Y,Z가 모두 행렬로 되어있기 때문에 이를 신경써서 바꿔주는 게 쉽지 않다. 따라서 다음 방법을 쓴다. figure ; s = surf(X,U,g1_true); s.EdgeColor = 'none'; xlabel('x') ; ylabel('u') ; set(gca,'Ydir','reverse') % 축 반전 다음과 같이 한 축을 반전시킨 다음에 돌려가면서..
Stochastic process를 이해하기 위한 중요한 개념 중 하나는 brownian motion이다. 정확히는 Random walk (Wiener process)를 이해하고 보면 좋을 것 같은데 여기에서는 차치하고 설명한다. Brownian motion은 연속 시간 시스템일 때 다음과 같이 정의된다. $d\beta = w\; dt$ $w$는 zero mean white noise이다. 이 시스템은 초기값이 0이고 초기 분산이 0이다. $(\beta(0)=0, \operatorname{Var}(\beta)(0)=0)$ $w$가 zero mean white noise이므로 다음과 같은 성질을 만족한다. $\mathbb{E}[w(t+\tau)w(t)^{\top}]=Q_{c}(t)\delta(\tau)$ ..