-
Toward Explainable Deep Neural Network based Anomaly Detection논문 리뷰/XAI for Anomaly detection 2021. 11. 23. 16:23
< 논문 요약 >
- DNN + LRP
- supervised anomaly detection (binary classification)
1. Introduction
- 적기.. 귀찮..
2. Explainable Deep Neural Networks
* DNN의 explainability와 interpretability
- 두 용어 거의 같은 뜻으로 쓰임, 본 논문에서도 구분하지 않고 사용
* XAI가 답해야하는 질문 (D. Gunning)
1) Why did it do that?
2) Why didn't it do something else?
3) When does it succeed?
4) When does it fail?
5) When can it be trusted?
6) How can an error be corrected?
* Interpretability 2개의 범주로 나뉨
1) Model transparency
- 네트워크가 무엇을 학습하는지, 네트워크가 학습한 개념뒤에 숨겨진 원인이 무엇인지
- Decomposability : 모델의 파라미터에대한 직관적인 해석이 있는지
- Algorithmic transparency : 학습된 알고리즘 내부의 작동에 대해 설명하는 것
- Simulatability : 학습 과정 동안 모델 파라미터의 변화를 인간이 이해하도록 하는 것
2) Model functionality
- 모델에 의한 예측 결과를 설명
- Post-hoc explanation generation
- DNN 예측에 대한 텍스트로 된 타당한 이유 제공
- 파라미터의 다양한 시각화를 통한 타당한 이유 제공
- 모델의 행동에 대한 인사이트를 얻기 위한 local explanation ~ 이게 CAM, grad-CAM 관련인가?
--> 본 논문은 DNN based anomaly detection 알고리즘을 위한 post-hoc explanation에 집중!
3. Explainable Deep Neural Networks based Anomaly Detection
Figure 1. The Presented framework for Explainable DNN based Anomaly detection 1) DNN 예측에 대한 input feature의 relevance score : 어떤 입력 feature가 DNN의 결정을 이끌었는가
2) confidence of estimation : 확률 값 또는 fuzzy membership grade
3) textual justification of the anomaly : 미리 정해진 설명 또는 IF-THEN type의 설명
--> 본 논문은 anomaly detection을 위한 feed forward DNN + input feature relevance 계산
- DNN의 지식을 검증하기 위해 각 클래스 별로 relevance score 추출
- 결국 figure 1에서 confidence of prediction에 대한 정량적 지표도 없고, textual explanation도 못했네
3.1. Deep Neural Networks based Anomaly Detection
- Labeled data로 학습된 supervised DNN
- ReLU, output layer는 softmax layer
- cross entropy loss
- gradient based optimizer
3.2. Calculation of Input Feature Contribution to DNN Prediction
- Input feature relevance score : anomaly를 detect 하는데 각 input feature의 기여도를 나타냄
- DNN 예측에 대한 특정 feature가 얼마나 영향을 미치는지 정략적인 지표 제공하여 사용자 이해 도움
- Layer-wise Relevance Propagation (LRP) 이용하여 input feature relevance 계산
* Layer-wise Relevance Propagation (LRP)
~ 이건 조만간 따로 포스팅
4. Experiments
4.1. NSL-KDD dataset
- data record = connection, 각 connection은 labeled
- Train dataset : 21 types of attack / Test dataset : 37 types of attack / Test과 train dataset의 분포 다름
- 4개의 상위 attack 범주 중 DoS attack만 사용함
--> 즉 본 연구는 binary classification을 수행하는 DNN based anomaly detection algorithm
4.2. Experimental Results
1) Classification accuracy (ability to make the right decision)
2) Interpretability (ability to make the right decision for the right reasons)
- 실험 목적은 DNN이 학습하는 것이 무엇인지에 대한 인사이트 얻기 & 예측 결과에 대한 post-hoc explanation 생성
- 각 분류 결정에 대한 각 input feature의 relevance 계산, 각 클래스의 평균 도출
Table 1. The DNN architecture tested - Normal communication / DoS attack 구분하는 DNN based classifier 학습
- DNN 구조 다양하게 실험 (table 1)
- basic traffic feature만 / 전체 41개 feature 두 경우 모두 실험
Table 2. Classification accuracies obtained by different DNN architectures for the two feature sets - 전체 feature를 고려한 경우에 분류 성능 미세하게 더 좋음 (~97% / ~93%)
Input feature relevance scores (DoS class) when DNN is trained with 9 basic features - Basic features에서 모든 DNN 모델이 DoS attack에 중요한 feature에 동의함
- "Destination network service"와 "Status of the connection"의 relevance 높게 나옴
- 뽑아낸 feature가 도메인 전문가가 모델을 검증하는데 도움을 주지 못함
- 도움 못준다는 근거 대체 어디?? 전문가한테 물어본건가? 아님 본인들 생각??
Input feature relevance scores (DoS class) when DNN is trained with the complete set 41 features - 전체 features에서 모든 모델이 DoS attack에 가장 관련있는 feature에 동의함
- "Number of connection to the same destination in a short period time", "Number of connections to the same IP", "Number of bytes transferred in a single connection"의 relevance 높게 나옴
- 뽑아낸 feature가 DoS attack과 직접적으로 관련이 있음
- 즉, valid reasons for classification -> 작업자가 DNN의 지식을 검증하도록 해줌
- DNN based anomaly detection이 "doing the right thing for the right reasons"인지 아닌지 검증할 수 있는 방법이 있으므로 anomaly detection algorithm에 대한 작업자의 신뢰가 증가함
- 아니 그니까 얘네 주장은, 실험 상 feature들 중에 어떤게 영향을 미쳤는지 뽑아낼 수 있고, 뽑아낸 게 작업자가 보고 관련이 있으면 신뢰도 상승이라는건가?? 안맞으면?? 아니 결국 맞고 안맞고는 작업자만 평가할 수 있고 맞을지 안맞을지 모르지만 관련있을 수도 있는 feature 뽑아낸게 끝인거지..? 자기네들거 맞고 안맞고는 어떻게 누가 평가했나몰라
5. Conclusion and Furture work
- Framework for explainable DNNs based anomaly detection in preocess monitoring 제안
- 예측 결과와 예측 결과에 대한 post-hoc explanation 모두 사용자에게 제공
- Supervised DNN 학습, normal communication에서 DoS attack 식별하기 위한 분류 테스크
- Test dataset에서 97% 분류 성능 달성
- DNN에 대한 설명은 각 분류 예측 결과를 위한 각 input feature의 relevance score의 관점에서 생성됨
- "DoS attack"으로 분류하기 위한 3개의 feature 뽑아냄, 이를 통해 도메인 전문가가 DNN의 지식에 대한 직관적 평가 가능
* Main implication
1) 사용자에게 DNN based anomaly detector와 interact하는 방법 제공
2) 모델의 행동에 대한 작업자의 신뢰도 형성
3) DNN based anomaly detection 모델의 지식을 평가하기 위한 방법 제공
* Future work
- confidence information & textual justification
본 논문 : K. Amarasinghe, K. Kenney, M. Manic, Toward explainable deep neural network based anomaly detection, in: 2018 11th International Conference on Human System Interaction (HSI), IEEE, 2018, pp. 311–317.
개인적인 리뷰
- Anomaly detection 분야에 XAI 적용한 참고 문헌이 하나도 안 적혀 있네? 이 이전에 관련 연구가 없는 걸까, 얘네가 안적은걸까? 참고 문헌 중 참고할만한거 없어보임..
- 앞부분에서 거창하게 얘기하더니 결국 LRP 써서 입력 feature 별 relevance score 뽑은게 끝임
- 만약 이쪽으로 논문 쓰게 되면 앞부분 introduction에서 쓸만한 문장 인용할 수 있을 듯
- 이건 anomaly detection보다도 그냥 이진 분류 DNN이긴 했어...
- 앞으로는 unsupervised anomaly detection + XAI만 찾아보자..