목록전체 글 (87)
숟가락 그만 얹어
주말에 부동산 관련 책을 보니 내가 하고 있는 일처리와 부동산 전문가들의 의사결정 방식이 거의 흡사해 보였다. 부린이인 나는 먼저 호갱노노를 참고로 가격에 영향을 미치는 요인들을 내 나름 정리해보려고 했다. 부동산 가격을 결정하는 요인 세대수, 건축년도, 면적, 지역 평균, 대중교통 도보, 용적률, 건폐율, 전세가율, 회사, 학군, 편의시설 이외에도 나에게만 해당되는 요소 (LG사이언스파크와 가까우면 좋다, 제한된 예산 내, 결혼을 한다면?, 느낌적인 느낌)가 있을 것이다. 사람에 따라 시장 상황에 따라 변수 간의 중요도는 유동적으로 변하거나 한 요소가 다른 요소를 압도해버릴 수도 있을 것 같다. 지금 나에게 필요한 정보는 무엇일까? 미래는 개인이나 집단의 의지로 데이터는 과거 경험의 축적이므로 분석을 ..
1. Jupyter Lab - 데이터 EDA, visualization, prototyping, documentation 및 코드 공유는 Jupyter - main은 .ipynb, module은 .py로 작성했을 때 가장 깔끔하다고 생각함 - 분산 처리가 필요한 경우에는 Jupyter를 사용할 수 없는 경우가 있음 - 요새 많은 extension을 지원하고는 있지만 web browser라 그런지 버벅거리는 경우가 있음 - VSCode에서 Jupyter를 사용하면 위 현상이 없을 수도? 2. VSCode - 내 local PC에서 remote server의 Docker container로 연결함 - PEP8 coding convention을 위해 autoformatter로 Black 사용 중 (line_l..
설명 가능한 AI는 설명 가능한가? 기술 철학을 연구하시는 한동대 손화철 교수님께서 던지신 질문이다. 먼저 교수님과의 최초의 만남을 떠올려보자면 11년도 신입생 OT 중 학관 1층 어떤 강의실이었을 것이다. 교수님께서는 2학년 선배들의 말을 믿지 말라, 3학년 선배들의 말을 믿지 말라, 4학년 선배들의 말을 믿지 말라고 하셨고 나는 6년 동안 정말 하고 싶은 대로 했다. 그리고 학점은 엉망이 되었다. 물론 내 인생에서 가장 즐거운 시절이었을 것이다. 두 번째 만남은 16년도 고전강독이라는 강의에서 플라톤의 국가를 함께 읽었었다. 매주 수업 전날에 힘들게 읽어갔던 기억만 남아있고 무슨 내용이었는지는 잘 모르겠다. 나도 내가 공부한 분야에 한해서는 어느 정도 전문가라는 자부심이 있었는데, 위 질문에서 내가 ..

PCA를 제대로 알고 쓰는 사람이 몇 명이나 될까? (반성합니다ㅜ) PCA는 데이터를 차원이 축소된 공간으로 투영하되 이때 투영된 데이터의 variance가 maximize되도록 하는 projection unit vector u를 찾는 과정이다. 중요한 포인트는 not 데이터의 variance, but 투영된 데이터의 variance이다. 왼쪽 그림은 좋은 unit vector에 투영된 경우인데, 1차원 공간에서도 데이터 간의 distance 또는 variance가 원래 2차원 공간에서와 비슷하게 유지되는 것을 확인할 수 있다. 오른쪽 그림은 차원 축소로 인해 데이터의 표현력이 떨어져 차이가 잘 보이지 않는다. 투영된 데이터의 variance를 maximize하는 식은 다음과 같다. x(i)는 (1 x ..

Generative model인 VAE에 GradCAM을 적용한 논문이다. dy/dx를 계산하는 것이 아니라 dz/dx를 계산하고 이를 feature activation map과 곱해준다. 재미있는 점은 모든 z(i)에 대해서 dz(i)/dx를 계산해주기 때문에 disentangle이 잘 되어있으면 각 latent의 semantic에 해당하는 attention map을 얻을 수도 있을 것 같다. 논문에서는 주로 anomaly detection으로 문제를 설정해놓고 anomaly localization 성능을 비교하였는데, 논문의 주장과는 달리 [2]에 따르면 SOTA 성능 reproduce가 안되었다고 한다. References [1] W. Liu et al., Towards Visually Explai..
크게 time-based representation과 voltage-based representation으로 나눌 수 있겠다. Time-based Representation 시간에 따른 전압, 전류, 온도, 용량의 특성을 이용하여 task를 수행한다. 충방전 raw data를 그대로 활용하기가 쉽지 않은 게 배터리마다 완전 충전 혹은 방전되는 시점이 다르다. 데이터의 length를 맞추기 위해 padding을 고려해볼 수 있겠지만 적절한 padding을 선택하기 어렵고 불필요한 연산만 증가시킨다. [1] 논문에서는 충전에서 CC duration, CV duration, slope을 feature로 활용하여 SOH를 추정하였다. 수명이 오래된 배터리일수록 내부 저항 등으로 인한 over-potential이..
Disentanglement는 해결 가능한 문제인가? [1] 논문에서는 이론적인 증명 (inductive bias 없이는 어렵다...)과 여러 모델이 진정한 의미에서의 disentangled representation을 생성하는지 실험적으로 관찰하였다. 1. 실제로 모델이 uncorrelated posterior를 생성하는가? Sampled representation (z ~ N(mu, sigma))이라면 regularizer strength에 따라 correlation이 조절된다. 그러나 mean representation (mu)은 오히려 strength가 커질수록 correlated 되는 경향을 보인다. 2. 여러 disentanglement metric 간에 연관성이 있는가? 대체로 그렇다. 3...

VAE loss에 aggregated posterior를 prior에 가깝게 하는 loss를 추가한다. 새로운 loss를 추가하는 건 그럴 수도 있다고 생각하는데 이게 왜 좋은지에 대한 설명이 잘 이해가 안 간다. (ELBO의 non-convexity가 variational inference의 global minimum을 달성하기 어렵게 한다고 한다.) 여러모로 a given sample q(z|x)에 대해 prior에 맞추는 것보단 aggregated latents q(z) 덩어리를 prior에 맞추는 것이 batch_dim으로도 indepenence를 enforce하여 얻는 이득이 많은 것 같다. 논문에서 마지막 loss term을 계산하기 위해 q(z)의 covariance를 p(z)의 covari..

볼 때마다 새로운 VAE... 내 언어로 제대로 정리해보자. VAE의 목적은 데이터 분포 p(x)를 만드는 것이고 x는 latent z의 조합으로 생성할 수 있다는 가정이 있다. x를 생성하는 순서는 먼저 1) p(z)에서 z를 sampling하고 2) z를 p(x|z)로 decoding한다. 문제는 p(z)를 Gaussian이라 가정한다 하더라도 모든 경우에 대해서 위 적분을 계산할 수 없다. Bayes rule를 이용해 p(z|x)를 계산해볼 수도 있겠지만 이 역시 intractable하다. VAE에서 사용한 방법은 true posterior p(z|x)를 구할 수 없기 때문에 이를 approximation하는 q(z|x)를 (이는 encoder가 된다) 학습하는 것이다. 그러나 여전히 true po..

FactorVAE와 유사하게 total correlation (TC) term을 이용하여 feature 간의 independence를 유도한다. 다른 점은 FactorVAE는 TC를 VAE loss에 추가하였기 때문에 lower bound를 loosely 정하는 반면, Beta-TCVAE는 KL term을 decompose하여 TC term을 계산한다. 즉, lower bound가 바뀌지 않는다. 구현한 코드를 보니 위 loss 식을 그대로 구현해놓았다. 예를 들어, - KL term (KL(P||Q))들은 모두 E[log(P) - log(Q)]의 꼴로 바꾸어서 계산한다. - q(z|n)은 n에 대한 Gaussian parameters가 주어졌을 때 z의 likelihood를 구한다. 이때 추정하기 어려..