분류 전체보기 310

[Pytorch] pytorch에서 value count 하는 법

Pandas 내에는 value_count() 라는 함수를 통해 데이터 프레임 내의 값을 카운팅 할 수 있다. Numpy 에서는 collection.Counter 등의 함수를 이용하여 몇 개가 있는지를 확인할 수 있다. Pytorch에서는 bincount라는 함수로 대체할 수 있다. import torch samples = torch.tensor([1, 1, 2, 1, 3, 3, 3], dtype=torch.long) torch.bincount(samples) # tensor([0, 3, 1, 3]) samples.dtype # torch.int64 당연하게도, LongTensor 인 경우에만 가능하다. FloatTensor의 경우 갯수를 확인하는 것이 불가능하기 때문에, LongTensor로 제대로 데이..

Python/Pytorch 2023.06.30

Alleviating Structural Distribution Shift in Graph Anomaly Detection (WSDM'23)

Contents 해당 논문은 WSDM'23에서 발표된 논문이며, 논문 제목에서도 알 수 있듯, Structural Distribution Shift (SDS) 문제를 완화한 Graph Anomaly Detection 모델을 제안한다. SDS 문제는 정상 데이터에 비해 비정상 데이터의 수가 매우 적어서 발생하는 문제를 의미한다. 본 논문에서는 특정 지점에서의 이질적인 이웃의 영향을 완화하고, Invariant하도록 만들기 위한 Graph Decomposition Network (GDN) 기법을 제안하였다. Link: https://github.com/blacksingular/wsdm_GDN GitHub - blacksingular/wsdm_GDN: [WSDM 2023] "Alleviating Structr..

상미분 방정식의 종류와 근사해법

Contents 미분 방정식은 딥러닝에서 중요한 방정식 중 하나이다. 딥러닝의 기본 원리는 경사 하강법을 통해 우리가 알 수 없는 함수를 근사하여 최적의 값을 찾는 방식으로 학습한다. 이때 경사 하강법은 미분을 통해 계산되며, 1계 도함수를 이용하여 역전파 알고리즘을 수행하기 때문에 미분 방정식의 개념에 대해서는 숙지하고 있어야 한다. 그렇다면, 이번 목차에서는 미분 방정식의 종류와 근사해법에 대해서 알아보자. 변수분리형 방정식 미지의 함수와 그 도함수들로 구성된 식을 미분방정식이라 부르며, 특히 1변수 함수에 대한 미분으로 표현된 식을 상미분방정식, 다변수 함수에 대한 편미분으로 표현된 식을 편미분방정식이라 분류한다. 실제 딥러닝에서는 다변량을 다루기 때문에 편미분방정식을 사용하지만, 상미분방정식부터 ..

[Linux] 리눅스 명령어 톺아보기

Contents man: 메뉴얼 문서 확인 man은 메뉴얼 문서를 확인하고 싶을 때 사용한다. man python 위와 같이 설명이 함께 나오고, 설명창을 나가고 싶을 땐 `q`를 입력하면 된다. mkdir: 폴더 생성 mkdir는 MaKe Directory의 약자로, 폴더를 생성하고 싶을 때 사용할 수 있다. mkdir new_folder_name pwd: 경로 확인 현재 위치해 있는 경로를 확인하기 위해서는 pwd 명령어를 사용하면 된다. pwd는 Print Working Directory의 약자로, 사용하게 되면 현재 경로가 어디에 위치해 있는지 확인할 수 있다. 가장 기본 경로는 /home/계정 으로 출력된다. 경로를 변경하지 않고 기본적으로 터미널을 실행할 시 해당 경로가 된다. pwd cd: ..

Linux 2023.05.24

Anomaly Detection via Reverse Distillation from One-Class Embedding (CVPR'22)

Contents Introduction 해당 논문은 CVPR'22에서 발표된 논문으로 Reverse Distillation을 통한 이상 탐지 모델을 제안하고 있다. 이때 Distillation은 Knowledge Distillation에서 나온 개념으로, 사전 학습된 모델을 바탕으로 Teacher와 Student를 구성하고 이를 이용해 이상 탐지를 하는 방식이다. 기존 Distillation 모델의 경우 Teacher Encoder와 Student Encoder를 구성해 Teacher의 출력값과 Student의 출력값을 비교하여 모델을 재학습 한다. 학습 단계에서 Student 모델은 정상 데이터만을 바탕으로 학습하는데, 정상 데이터만 학습하게 되면 Student는 정상 데이터를 잘 분류할 수 있는 구별..

Unsupervised Model Selection for Time-Series Anomaly Detection (ICLR'23)

Contents Introduction 본 논문은 아마존 연구진들이 작성한 논문으로, 시계열 데이터에서 이상치 탐지를 할 때 어떤 비지도 학습 모델을 선택하여야 하는 지에 대한 내용을 다루고 있다. 이상치 탐지에서 이상치는 데이터가 매우 희박하고, 이상치 데이터를 얻기 위해서는 시간적, 비용적인 문제에 직면하게 된다. 따라서, 정상 데이터만으로 모델을 학습하고 이 후에 이상치가 들어올 때, 정상 데이터 간의 차이를 바탕으로 이상치를 탐지하는 비지도 학습(Upsupervised Learning) 모델이 주로 사용된다. 이처럼 비지도 학습 모델은 학습 단계에서 정상 데이터만을 바탕으로 Reconstruction Loss 혹은 Forcasting 을 바탕으로 학습하게 되는데, 이때의 Loss가 낮게 나온다고 ..

Anomaly Transformer: Time Series Anomaly Detection with Association Discrepancy (ICLR'22)

Contents 본 논문은 이상치 탐지(Anomaly Detection)를 위해 Prior Association과 Series Association 간의 차이 즉, Association Discrepancy를 이용한 Transformer 기반 모델 Anomaly Transformer를 제안하였다. 최적화를 위해 Minimax 방식을 사용하였으며, 기존 이상치 탐지 기법에 비해 월등히 높은 성능을 보이는 것을 확인하였다. Introduction 이상치 탐지는 지도 학습(Supervised-Learning) 기반, 비지도 학습(Unsupervised-Learning) 기반 등 다양한 기법으로 구성되어 있다. 본 연구에서는 비지도 학습 기반 중 Transformer 기법을 활용하여 이상치 탐지를 수행한다. 학..

Patch SVDD: Patch-level SVDD for Anomaly Detection and Segmentation (ACCV'20)

Patch-Level SVDD는 기존 연구에서 제안된 SVDD 기법을 Patch-Level로 변환한 모델이다. Figure 2를 살펴보면 기존 연구에서 제안된 SVDD 기반 기법인 Deep SVDD의 경우 이미지 전체를 입력으로 받고, 이상치를 탐지하는 형태로 진행된다. Patch SVDD의 경우 이미지를 Patch 단위로 쪼개어 입력으로 사용하고, 각 Patch에 대해 이상치를 탐지하는 구조를 띄고 있다. 본 연구에서 제안하는 Patch-Level Deep SVDD는 Patch-wise Deep SVDD, Self-supervised Learning, Hierarchical Encoding, Generating Anomaly Maps으로 총 4개로 구성되어 있다. 먼저 Patch-wise Deep SV..

Perturbation Learning Based Anomaly Detection (NIPS'22)

본 논문은 NIPS'22 에서 발표된 논문이며, 이름에서도 알 수 있듯, Perturbation을 통해 Anomaly Detection을 수행하는 PLAD (Perturbation Learning Anomaly Detection) 기법을 제안한다. 여기서 Perturbation은 아주 작은 노이즈를 의미하며, 정상(Normal) 데이터에 작은 노이즈를 집어 넣어 성능을 개선한다는 내용이다. 이때 정상 데이터에 너무 심한 노이즈를 집어넣을 경우 오히려 성능이 저하될 수 있기 때문에 Perturbator를 제대로 구축하는 것이 핵심이며, 이 논문에서는 어떤 방식으로 수행하였는지 알아보자. $\mathbb{X} = {x_1, x_2, \cdots, x_n}$를 학습 데이터라고 표현하면, 학습 데이터로 $f(x..

A Unified Model for Multi-class Anomaly Detection (NIPS'22)

Contents 기존 연구의 경우 이상치 탐지(Anomaly Detection)를 수행할 때 각각의 클래스 별로 별도의 모델을 생성하는 문제점이 존재했다[Figure 1]. 본 연구는 이상치 탐지에 있어 별도의 모델을 구축하는 것이 아니라, 통합된 모델을 구축한다는 것이 핵심이다. 실험 결과, 본 연구에서 제안하는 UniAD 기법의 성능이 우수한 것을 확인하였다. 기존 연구에서 사용되는 CNN, MLP, Transformer 등과 같은 기법은 클래스를 모두 합쳐서 학습하는 경우 이상치 마저도 잘 복구해서 이상치가 어떤 것인지 제대로 발견하지 못한다는 문제가 존재한다[Figure 2]. 본 연구에서는 이를 해결하기 위해 모델을 Neighbor masked attention, Layer-wise query ..

반응형