목록분류 전체보기 (87)
숟가락 그만 얹어

본 연구는 time-series classification 문제에 Saliency, LRP, DeepLIFT, LIME, SHAP을 적용하고 실제로 의미 있는 time point에 relevance가 강하게 나타났는지를 검증하였다. 결론은 어떤 모델에 어떤 방법을 쓰느냐에 따라 다른 것으로.. 검증 방법이 재밌긴 한데 단순히 relevance가 강하게 나타난 point를 dummy 값으로 채워 classification 성능을 비교하기보다는, 그 point를 시작으로 subsequence의 순서를 바꾸거나 (swap time points) subseqence의 값을 mean으로 채워 버렸다. (mean time points) Time-series의 경우 time point 간의 dependency가 크므..

이상 패턴에 시계열적 특성이 (temporal dependency) 보인다면 window 방식으로 문제를 접근하는 것이 타당하다. 이때 window size를 어떻게 잡느냐에 따라 검출할 수 있는 이상 패턴이 달라지는데, 본 논문에서는 다양한 패턴을 검출하는 간단한 아이디어를 제시하였다. 예를 들어 30개의 센서 데이터에 대하여 3가지 window size를 정하고, 각각의 window에 대한 covariance matrix를 쌓는 것이다. 그러면 데이터의 차원이 time t에서 (30, 30, 3)이 되어 이미지처럼 CNN을 활용할 수 있다. t-4에서 t까지의 covariance matrix를 sequence 차원으로 쌓으면 최종 데이터의 input size는 (5, 30, 30, 3)이 되어 비디오..

딥러닝으로 time-series 간의 complex pattern을 학습하고 probablisitc modelling을 결합하는 방식은 DeepAR과 같지만, Deep Factors에서는 time-series의 global pattern과 item 각각의 local pattern을 명시적으로 구분한다. Global pattern은 RNN으로 계산하고 (global factors), item 별로 각각 다른 weights를 두어 local pattern (fixed effect)을 학습한다. 논문에선 DeepAR보다 좋은 성능을 보였으나 Gluon-ts에서 제공하는 Deep Factors를 써보면 학습이 잘 안된다. Fixed effect부터 잘 작동하는지 검증해보고 싶긴 한데... References [..
# RDKit 설치 방법 (on Ubuntu 18.04) # CMake version >= 3.1 # GCC version >= 7.x # 1. Boost 설치 (version 1.65.1) wget https://dl.bintray.com/boostorg/release/1.65.1/source/boost_1_65_1.tar.gz tar -xzvf boost_1_65_1.tar.gz cd boost_1_65_1 ./bootstrap.sh --with-python=python3.6 --with-libraries=python,serialization,system,iostreams --prefix=. vi project-config.jam ### Python 관련 설정 수정 ### ... import pyth..
Uncertainty를 표현하는 5가지 방법 (Softmax, Calibration, Dropout, Ensembles, Variational Bayesian inference)을 비교한 논문이다. 어떤 방법이 noise에 robust하면서도 out-of-distribution example에 대해 uncertainty를 잘 표현하는지 여러 데이터셋에 대해 검증하였는데, 결론만 말하자면 ensembles이 가장 좋았다. Google AI Blog에 실험 내용이 잘 정리되어 있다. https://ai.googleblog.com/2020/01/can-you-trust-your-models-uncertainty.html References [1] Y. Ovadia et al., Can You Trust You..

Bayesian approach는 posterior 추정 시 training 과정 자체를 흔들어야 하기 때문에 수렴이 잘 안되거나 많은 computing이 필요할 수 있다. 본 연구는 non-Bayesian approach로 3가지 방법 (proper scoring rule, adversarial training, ensembles)을 활용하여 uncertainty를 계산한다. Proper scoring rule Loss term을 잘 정의하는 것이다. Classification의 경우에는 cross-entropy를 활용하면 되고, regression 문제는 Gaussian의 log-likelihood form을 이용하여 term을 정의하면 uncertainty를 잘 표현할 수 있다. Adversaria..

AutoEncoder와 GAN은 데이터를 생성한다는 점에서는 유사하지만 latent space를 표현하기 위해서는 AE의 encoder-decoder design이 더 자연스럽다. (하지만 데이터 생성은 잘 못한다) 이 latent feature란 놈이 왜 중요하냐면 우리가 manually feature를 뽑고 label을 달아주지 않아도 딥러닝이 궁극의 feature를 알아서 만들어준다는 기대가 있기 때문이다. 이 feature는 각 unit이 하나의 semantic을 표현하도록 잘 disentangle 되어야 한다. 본 논문에서는 GAN과 비슷한 수준으로 데이터를 생성하고, disentangled representation을 학습하는 AE를 제안하였다. F는 deterministic function으..

DeepAR은 Amazon Sagemaker에서 제공하는 forecasting 알고리즘으로 decoder만 사용한다. Training phase에서는 next time sample을 바로 예측하도록 학습시키고 (teacher-forcing), 실제 목표로 하는 inference phase의 decoding 부분은 previous sample의 예측 값을 다음 step의 input으로 활용하는 과정 (full sampling)을 반복하여 예측을 진행한다. Contribution 1) LSTM-based autoregressive probabilistic model: LSTM으로 encoder와 decoder를 설계하고 각 LSTM step의 output을 확률 모델 (ex. Gaussian)로 가정한다. ..
SOH와 RUL 예측에 사용한 feature로 각 cycle의 1) the time needed to reach the lowest discharge point, 2) when the battery temperature rises to the highest point, 3) the time decrement from 3.8V to 3.5V을 사용하였다. GP를 사용한 모든 논문들이 kernel parameter를 prior의 log-likelihood를 maximize하는 값으로 설정하였다. 그런데 예측 cycle의 전압이나 온도 정보를 사전에 알고 있어야 하므로 이 연구는 반칙. References [1] J. Jia et al., SOH and RUL Prediction of Lithium-Ion B..

새로 알게된 점은 배터리 충전 시 constant current를 어떤 step으로 가져가느냐에 따라 배터리의 수명이 달라진다는 것이다. 논문에서는 충전 구간을 4 steps (C1, C2, C3, C4)으로 나누고 각 step에 대한 current 값을 Bayesian optimization으로 탐색하였다. 적절한 parameter set을 찾는다고 하더라도 모든 배터리의 life cycle을 실험적으로 측정하기가 어렵기 때문에 논문 [2] 기반의 early predictor를 두어 life cycle을 추정한다. 기존 도메인 지식으로는 C1 > C2 > C3 > C4 일 때 최적의 배터리 life cycle을 찾을 수 있었으나, BO로 찾은 parameter set은 C1 = C2 = C3 = C4인..