211025 GoingDeeper 15. Open Set Recognition

시에나 Sienna·2021년 10월 25일
0

AIFFEL

목록 보기
53/66
post-custom-banner

1. 이미지 분류 task solution

  1. 분류 문제
    • Multi-class classification
    • 문제점 : 정해진 class외에 Unkown class가 너무 많이 발생함
    • 해결방법 : Confidence 이용
      • 보통 분류 문제는 softmax 값을 통해 최종 분류하게 되는데, 'softmax값이 높으면 confidence가 높음'을 이용하는 방법
      • 또는, softmax 대신 entropy를 확인(∵ 엔트로피와 confidence는 반비례 관계)
        entropy=(P(A)log2P(A))entropy = - \sum(P(A)\log_{2}{P(A)})

  1. 이상 탐지(Anomaly Detection)
    • one vs all anomaly detection task
    • 문제점
      • 실제 이상사례라는 케이스가 너무 적어서 제대로된 학습데이터(training set)를 확보하기가 어렵다
      • 소모되는 비용대비 결과물의 가치가 매우 떨어진다.

2. Pytorch

  • torchvision에 transforms로 자주 사용되는 전처리 함수 안내 link

1) pytorch vs tensorflow 비교

3. Open Set Recognition

  • open set Recognition 개념(추가 필요)
  • Closed Set Recognition과 반대개념
    • 일반적인 분류 문제
    • input을 넣으면 정해진 class의 output으로 mapping할 수 있음
    • 학습 후에는 학습 전에 정해놓은 class에 포함되지 않은 이미지를 추가/제거
      가능
  • Open Set/Open World 문제
  • Awesome Open Set Recognition list

4. OpenMax

  • Open Set Recognition 문제를 해결하기 위해 딥러닝 모델을 사용한 방법 중 초기에 등장한 OpenMax라는 기법
  • 딥러닝 모델은 학습 데이터를 모두 분류해서 Activation Vector를 얻어내고, 통계적 방법을 통해 '분류하지 않음(unknown)'이 가능함
  • 딥러닝 모델과 통계적 방법을 함께 사용한 방법
기존 분류기OpenMax 알고리즘

1) 구성

  • 딥러닝 모델에서 Activation Vector를 추출 단계
    • Activation Vector : Softmax값이 되기 전 Vector
      • 딥러닝 모델의 input 값으로 이미지를 넣고, softmax층 직전값을 모아둠
  • Activation Vector를 통계적 기법에 사용 단계
    • Extreme Value Theory/Analysis
      • 평균으로부터의 거리를 이용
      • 평균에서 거리가 멀수록 극단값일 확률이 높다는 것
      • 각 클래스 별 평균 Logit Vector로부터의 거리에 대한 극단값(이상치)의 분포를 통해 ωkω_k를 정의
    • 사용되는 분포
      • Weibull-Distribution(베이불 분포)
      • Frechet distribution
      • Gumbel distribution

2) 동향

  • 딥러닝 모델의 loss에 변화를 주어 한 번의 학습만으로도 가능하도록 진행되도록 함
    • 한번의 학습과 추론으로 Open Set Recognition을 해결하고자 함
  • 적대적 생성모델을 활용
  • segmentation에 적용
post-custom-banner

0개의 댓글