목록전체 글 (87)
숟가락 그만 얹어

그나마 건진 것들. 데이터셋에 따라 anomaly 종류에 따라 성능 잘 나오는 모델이 다르다. Classification approach와 reconstruction approach를 함께 활용해야 할 듯. Generalization이 잘 되면 오히려 detection 성능을 떨어뜨릴 수도 있기 때문에 여러 모델에 대해 실험을 해보고 판단하자. References [1] L. Ruff et al., A Unifying Review of Deep and Shallow Anomaly Detection, arXiv 2020

Convolution에서 batch normalization (BN)을 위한 parameter 추정 시 activation shape이 (B, W, H, C)라면 mean과 variance는 tf.reduce_mean_var(input, [0, 1, 2])으로 계산된다. 위 방법은 batch size에 따라 statistics가 크게 영향을 받으므로 one sample을 이용한 layer normalization (LN), instance normalization (IN)이 제안되었고, one sample에 대해 channel group을 나누고 각 group에 대한 statistics를 계산하는 group normalization (GN)도 소개되었다. 그런데 충분한 크기의 batch가 가능한 경우에는..

어떤 모델 f를 선형 모델 g로 근사하면 g는 아래와 같이 표현될 수 있다. z'는 variable이고 phi는 z'의 contribution인데 phi를 Shapley value로 간주하고 아래와 같이 계산할 수 있다. Variable i의 contribution은 i의 포함 여부에 따른 output 차이의 기댓값으로 계산할 수 있다. 한 variable에 대해 정확한 Shapley value를 구하려면 2^F 번을 시행해야 하기 때문에 논문에서는 linear regression을 활용하는 Kernel SHAP, DeepLift의 특성을 활용하는 Deep SHAP 등 approximation 방법을 제안하고 있다. 논문을 다시 보며 생각한 것들 1) 위 Shapely value equation에서 분모..

WaveNet paper만 봐서는 어떻게 동작하는지 잘 모르겠어서 이것저것 찾아보았다. 1-D convolution에서 causal을 구현하려면 zero padding을 input의 왼쪽 side에만 붙이면 된다. (output[t]가 input[t+1:]에 영향을 받지 않게 된다) Stride가 1이면 input과 output의 shape이 같다. 논문에서의 dilation과 Pytorch에서의 dilation의 의미가 조금 다른 것 같은데, 전자는 두 step 사이의 거리를 2^(dilation)으로 정의한 것 같고 후자는 (dilation - 1)이다. Input의 양 side에 padding을 붙이고 convolution 계산 후에 오른쪽 side를 제거할 수도 있다. References [1] ..
소개 자기소개 엔지니어 vs. 연구 요새 관심있는 분야 석사 연구 Computer Science Binary Tree Search NP Hard SQL (in, between, indexing) Table Normalization Hashing Machine Learning LDA (Latent Dirichlet Allocation) Unblanced 스팸 데이터가 주어졌을 때 어떻게 문제 풀래? 위 과제 평가 방법 Bias vs. Variance Trade off Ensemble이 Bias 해결? Variance 해결? Bagging Deep Learning Transformer BERT vs. GPT Data Augumentation Mixup (NLP에서 써도 됨?) Python Tuple과 Lis..

Deep SVDD의 semi-supervised setting이다. Unlabeled data는 대부분 normal인 것으로 가정하고 latent space에서 normal을 대표하는 centroid와 거리가 가까워지도록 모델을 학습한다. Centroid는 학습시킨 Autoencoder를 이용하여 training data에 대한 initial pass의 mean으로 설정한다. (왼쪽 term) Abnormal로 label된 data는 centroid에서 멀어지도록 학습한다. (중간 term) 이는 normal sample에 대해서는 entropy를 낮추는 효과가 있고 abnormal sample에 대해서는 entropy를 높이는 효과가 있다고 하는데, 사실 latent space를 Gaussian으로 가..

딥러닝 모델을 더 robust하고 generalizable하게 만드는 방법은 여러 단계에서 분포를 부드럽게 하는 것이다. 예를 들어 1) data space에서는 augmentation, calibration, pre-training, 2) parameter space에서는 ensemble, stochastic apporach, weight average, 3) feature space에서는 fit on Gaussian prior, information theoretic approach 등을 사용할 수 있다. (내 뇌피셜) Mixup은 augmentation 방법의 일종으로 data sample을 weighted average하여 smoothed sample을 생성하는 방법이다. 이때 weight lam..

One-class classification, self-supervised learning, metric learning의 총집합. 1) One-class classification: 정상 데이터만으로 모델을 학습시켜 feature 공간에 투영시키는 사상. 2) Self-supervsied learning: input data에 transformation m을 가하고 어떤 m을 적용했는지 맞추는 self-supervised 모델을 학습한다. General data에 적용하기 위해 domain knowledge 기반의 transformation이 아닌, 학습되지 않는 random W와 b를 두고 Wx + b를 적용한다. Adversarial attack에 더 robust한 결과를 보여준다. (그냥 Gaus..

Aleatoric uncertainty: captures noise inherent in the observations. 데이터의 noise 인해 생기는 uncertainty이다. 그림 (d)에서 object의 boundary에 uncertainty가 높게 나타나는 이유는 segmentation labeling 편차로 인해 생긴 것으로 추측된다. Epistemic uncertainty: captures ignorane about which model generated our collected data. 모델의 ignorance로부터 발생하는 uncertainty이다. 학습이 충분히 수렴되지 않았거나 학습 데이터가 부족한 경우, out-of-distribution example이 주어진 경우에 uncert..

N-BEATS는 Element AI의 forecasting 알고리즘으로 시계열적 특성을 고려한 통계 모델을 최대한 배제하고 (있긴 있다), 순수 딥러닝만으로 좋은 성능을 얻었다고 한다. Fully-connected layer로만 구성하였기 때문에 univariate time-series만 모델링이 가능하다. 간단한 구조임에도 성능은 DeepAR, Deep Factors, M4 competition winner 보다 좋다고 한다. N-BEATS의 특징으로는 1) Block structure: 한 block은 4개의 FC layer와 2개의 output으로 구성된다. Backcast output은 block의 input인 lookback period를 다시 regeneration하고, forecast out..