KalelPark's LAB

[논문 리뷰] ProtoTree for Fine Grained Image Recognition 본문

Data Science/Fine Grained

[논문 리뷰] ProtoTree for Fine Grained Image Recognition

kalelpark 2023. 1. 1. 19:54

GitHub를 참고하시면, CODE 및 다양한 논문 리뷰가 있습니다! 하단 링크를 참고하시기 바랍니다.
(+ Star 및 Follow는 사랑입니다..!)

https://github.com/kalelpark/Awesome-ComputerVision

 

GitHub - kalelpark/Awesome-ComputerVision: Awesome-ComputerVision

Awesome-ComputerVision. Contribute to kalelpark/Awesome-ComputerVision development by creating an account on GitHub.

github.com

Abstract

    Prototype 기반 방법론들은 블랙박스 특성을 해결하기 위해 해석 가능한 표현을 사용합니다.

    본 논문에서는 세분화된 fine-grained를 위한 해석 가능한 딥러닝 방법인 PrototypeTree(ProtoTree)를 제안합니다.

 

    ProtoTree는 Decision Tree와 Prototype learning과 결합하고, 설계하여, 해석 가능한 모델을 생성합니다.

    ProtoTree는 tree를 통하여, decision path를 서술함으로써, 단일 예측을 설명하는 것이 가능합니다.

    

    이미지에서 학습된 Prototype의 존재 여부에 따라, node를 통하여, routing이 결정됩니다.

Introduction

    DNN 내에서는 복잡한 black box와 해석가능한 models사이에서의 논쟁이 계속되고 있다.

    본 논문에서는 딥러닝의 표현성과 결정 트리의 해석 가능성을 결합하여, 정확성과 해석성을 trade-off 합니다.

 

    Prototype Tree는 강력한 표현력을 가지고 있습니다. 뿐만 아니라. 학습가능한 Prototype이 각각의 node내에 포함되어 있습니다.

     Input이 된 이미지를 통하여, 이미지의 라우팅을 결정하고, 노드를 연결합니다.
     이후, ProtoTree의 잎은 class의 distribution을 학습합니다. root부터 leave까지의 paths를 classification rule은 학습합니다.

 

     tree를 differentiable 하고, back-propagation하게 하려면, soft decision tree를 활용헤야 합니다. 

     우리는  latent image embedding과 prototye 사이에서의 유사성을 기반으로, 새로운 routing 절차를 거칩니다.

 

     trained Prototree가 정확성 손실 없이 hard해짐으로써, 더욱 더 해석 가능한 모델로 변환합니다.  그러므로, ProtoTree는 인간이 이       해할 수 있는 단계 수에서 추적 가능한 node를 활용하여 판단을 내립니다.  만약 잘못 분류하는 일련의 결정을 추적하여,

     책임 노드를 쉽게 식별하는 것이 가능합니다.

Scientific Contributions

     - Fine-grained image recognition을 위한 본질적으로 해석가능한 Neural Prototype tree Architecture

     - ProtoPNet보다 성능이 뛰어나지만, prototypes의 수는 대략 10%에 불과합니다.

Related Work

     - 컴퓨터 비전내에는 해석 가능성에 대한 다양한 설명 전략이 존재합니다.

        기계 학습 모델은 단일 모델에 대해 설명하는 것이 가능합니다.

 

     - 모델에 또 다른 설명으로는, 뉴런을 시각화하기 위한 activation maximization,

        layer를 설명하기 위한 deconvolution or upconvolution, 공간을 표현하기위해서, 이미지를 생성하는 방식

        모델의 민감함을 설명하기 위한, concept activation vector가 있습니다.

 

     - 사후 방법은 black-box model에 대한 직관을 제공하고,

        classical decision trees와 같은 본질적으로 해석가능한 모델은 의사결정 과정을 충분하게 보여주기에

        시물레이션 하는 것이 가능합니다.

 

        유사하게 해석 가능한 기능을 활용함으로써, ProtoTree의 결정을 만드는 과정을 전체적으로 이해하는 것이 가능합니다.

Interpretability with Prototypes        

        본질적인 해석을 위한 Prototree는 시각적으로 설명 가능한 해석력을 지니고 있습니다. 또한 의사 결정 과정을 작은 단계로 세분화하

        는 기능을 가지고 있습니다. 공간적 관계에 대한 이해 없이 BagNet을 활용함으로써, ImageNet과 같은 복잡한 작업도 이미지 기능을
        기반으로 해결하는 것이 가능합니다. 

 

        사례 기반 추론을 하기 위해, 본질적으로 해석 가능한 Prototypical Part Network를 기반으로 모델이 생성되었습니다.

        prototypes은 image 자체보다는 작은 공간 차원을 가지고 있기 때문에, Prototypes는 부분들을 표현하는 것이 가능하며,

        그러므로, fine grained image classification에 적합합니다.

 

        ProPNet은 클래스당 미리 결정된 수의 Prototype의 부품들을 미리 학습합니다.  Image를 분류하기 위해서, prototype과 Image

        patch사이에서 유사성은 공간내의 거리에 의하여 측정됩니다.

        결과적인 유사성 점수는 완전히 연결된 layer에 의하여, 값들이 학습됩니다. 

 

        ProtoPnet은 유사한 점수들을 prototypes를 시각화함으로써, 단일 이미지에 대한 추론 과정을 보여줍니다. 

        decision tree를 활용하여, global explanation을 활용함으로써, ProPNet을 개선하는 것이 가능합니다.

 

        게다가, ProtoPNet은 구체적인 prototypes class를 가지고 있지 않습니다.
        그리고, similarity scores을 weights를 학습할 필요가 없고, 단순히 cross entropy loss function만을 활용합니다.

Neural Soft Decision Trees

        Soft Decision Tress (SDTs)는  이전의 tree보다는 더 높은 정확성을 보여줍니다. 최근에 deep neural Networks는 binary
        SDTs를 통합합니다. 그리고, Deep Neural Deicison Forest (DNDF)는 neural SDTs의 앙상블을 진행합니다.

 

        이전의 Tree기반, Deep Learning 방법론들에 대해서 제시하고 있습니다.

Neural Prototype Tree

        Neural Protype Tree는 계층적으로 Image recognition을 위해서 binary tree를 통해, 이미지를 순회합니다.

        또한, Supervised Learning을 위해, ProtoTree의 정의를 공식화합니다.

 

        Imput으로 Image가 주어진다면, ProtoTree는 K classes의 probability distirbution을 예측합니다.

        또한 Knowledge distillation을 위해 trained model로부터 soft labels를 함께 학습합니다.

 

        ProtoToTree T는 soft neural binary deicison tree와 CNN과 결합합니다. 먼저, Image가 CNN에 Input됩니다.

        이후, f내에서 w라는 학습가능한 parameter와 함께 Feature Map이 Output으로 나타납니다.

        두 번째로는, binary tree에 Input으로 활용됩니다.

        Tree는 N개의 Node로 구성되고, L개의 Leaf node와 x개의 edge Node로 구성되어 있습니다.

Training a ProtoTree

        이후, f내에서 w라는 학습가능한 parameter와 함께 Feature Map이 Output으로 나타납니다.

        두 번째로는, binary tree에 Input으로 활용됩니다.

        Tree는 N개의 Node로 구성되고, L개의 Leaf node와 x개의 edge Node로 구성되어 있습니다.

 

        informative feature maps을 위래 CNN의 parameter를 학습하는 것이 필요합니다.
        Prototypes의 number는 tree의 size에 의존하여, 학습합니다. 또한, binary trees는 maximum height h에 의해 정의됨으로써,
        2^h leaves와 2^h - 1 prtotoypes을 생성합니다.

 

        그러므로, Computational complexity of learning P는 h에 의하여 잠재적으로 성장합니다.

        training을 하는 동안에, P의 Prototype이 학습됩니다. Parameters w 와 P는 예측된 분포와 확률 값 사이에서 cross entropy를

        활용하여, 최소화되게끔 backpropagation이 진행됩니다.

Learning leave's distributions

        classicial decision tree에서, leaf label은 leaf의 앞 sample로부터 학습합니다.
        soft tree를 사용함으로써, leave's distribution을 학습하는 것은 global learning problem으로 변환됩니다.

        비록, w와 p와 함께 c를 backpropagation하는 것이 가능하지만, 이것은 inferior classification results를 초래한다는 것을
        발견하였습니다. 우리의 가설은 loss로 c를 포함하면, 과도한 과적한 문제를 초래한다는 것을 알 수 있었습니다.

        오로지 leaf parameter를 최적화하는 것은 단지 convex optimization problem을 초래하기에
        derivation-free strategy를 제안하게 됩니다.

Interpretabliity and Visualization

        Global model interpretablitiy를 높이기 위해서, 비효율적인 prototypes를 제거하였으며, 학습된 latent prototypes를

        시각화하였다. 그리고, soft decision을 hard decision으로 변환한 후, inference를 합니다.

Pruning

        해석 가능성은 설명 크기에 의하여, 정량화 되는 것이 가능합니다. ProtoTree T에서,

        explantation size는 prototypes의 개수와 연관되어있습니다.

 

        explanation size를 감소시키기 위해서, 우리는 leaves내에 class 내 probability distribution을 분석하였습니다.

        그리고, uniform distirution을 가진 leaves를 제거하였습니다.

Deterministic reasoning

        soft decision tree에서, 모든 node는 예측에 기여합니다.

        반대로, hard deterministic tree는 final prediction을 위한 개수 및 경로의 node를 가지고 있습니다.

Experiments

        본 연구에서는 ProtoTree의 정확성과 설명가능성을 trade off한 것을 평가합니다. 뿐만 아니라, ProtoPNet과 이전의

        State of the art를 달성한 모델과 비교합니다.

Conclusion

        본 연구에서는 본질적으로 해석 가능한 image recognition을 위한 Neural Prototype Tree를 제시합니다.

 

        Prototypical Part Network가 prototypes의 number가 많음을 보여줌에도, end-to-end 훈련을 하는 architecture는                       prototypes을 계층적 트리 구조로 배열함으로써 해석 가능성을 향상시킵니다.

 

        대부분 학습된 prototypes는 의미론적으로 연관있으며, 완전히 시뮬레이션이 가능합니다. 

        추후, 센서 데이터의 특징 및 프로토타입의 특징을 포함하는 다른 유형의 문제에 대해 연구하고자 한다.

Comments