티스토리 뷰
[논문 리뷰]Hierarchical Attention Prototypical Networks for Few-Shot Text Classification
ProWiseman 2023. 5. 19. 01:46들어가며
본 글은 Hierarchical Attention Prototypical Networks for Few-Shot Text Classification을 리뷰한 글입니다.
기존 Prototypical Network의 문제점
데이터에서 prototype의 분별력과 표현력을 약화시키는 다양한 노이즈의 부정적 영향을 고려하지 않았다.
기존 Attention 기반 Prototypical Network의 문제점
기존에서 PN에 attention을 이용한 접근도 있었지만 이러한 방법들은 의미 정보를 이용하지 않거나 노이즈의 영향을 정교하게 고려하지 않았다.
논문에서의 키 아이디어
세 가지 레벨에서 attention 메커니즘을 사용하여 few-shot text classification을 한다.
feature level attention: 클래스마다 다른 feature score를 얻기 위해 CNN을 사용한다.
word level attention: attention 메커니즘으로 인스턴스에서 각 단어 은닉 상태의 중요도를 배우도록 한다.
instance level multi cross attention: support set과 query set 사이의 multi cross attention으로 각은 클래스 안에 서로 다른 인스턴스의 중요도를 결정하고 각 클래스에서 모델이 더욱 분별있는 prototype을 얻도록 한다.
이러한 방법은 의미 공간(semantic space)에서의 표현력을 강화한다.
문제 정의
few-shot text classification에서 본 논문에서 배우고자 하는 함수는
에피소드 학습 전략에 따라 처음엔
모델
전반적인 모델의 아키텍처는 다음 그림과 같다.

모델은 크게 세 파트로 나뉜다. Instance Encoder, Prototypical Networks, Hierachical Attention.
Instance Encoder
이 층은 support set이나 query set의 각 인스턴스는 임베딩으로 각 단어를 입력 벡터로 표현한다.
instance encoder는 embedding layer와 instance encoding layer 두 개의 레이어로 구성되어있다.
Embedding Layer
Encoding Layer
encoding layer로 CNN을 쓰는데, 모델의 경량화와 속도의 측면을 고려해서 1개층의 CNN을 사용한다. CNN은 컨볼루션 커널로 각 단어의 숨은 정보(hidden annotations)를 얻는다. 윈도우 사이즈를
이 식에서
※ position embedding : positional encoding은 transformer에서 어순 정보를 나타낸다고 한다. 여기서도 비슷한 맥락으로 사용되지 않았을까 생각한다. 참고자료
그 다음 모든
이 두 레이어를 하나의 포괄적인 함수로 정의한다.
이 함수에서
Prototypical Networks
Prototypical network는 각 클래스의 표현으로 prototype 벡터를 계산한다. 이 prototype은 각 클래스의 embedded support 인스턴스의 평균값이고 prototype 벡터와 query 벡터의 거리(squared Euclidean distance)를 비교해서 가장 가까운 prototype의 클래스가 query의 클래스가 된다.
클래스
본 논문에선 벡터의 거리를 구할 때 기존 squared Euclidean distance 대신 squared Euclidean distance와 class feature score를 결합하여 더 좋은 성능을 이끌었다.
Hierarchical Attention
희귀한 데이터에서 중요한 정보를 더 얻기 위해서 hierachical attention 메커니즘을 이용한다. few-shot text classification을 위해 여기서 모델은 feature score 벡터를 얻고 각 클래스의 support set을 벡터 표현으로 변환한다.
Feature Level Attention
Feature level attention은 각 클래스에서의 서로 다른 피처의 중요도를 늘리거나 줄인다.
feature level 공간에선 어떤 특징 차원이 특정 클래스에서 더욱 분별있는 동시에 다른 피처는 헷갈리고 쓸모없을 수 있다. 따라서 Hybrid attention-based prototypical networks for noisy few-shot relation classification에서 제안된 것과 유사한 CNN 기반의 feature attention 메커니즘을 사용한다. 이는 각 클래스에서 support set의 모든 인스턴스에 의존하고 클래스에 따라 다이나믹하게 달라진다.
CNN 기반 feature attention 메커니즘을 수식으로 설명한다.

CNN의 아키텍처는 위 표와 같으며 각 층의 수식은 다음과 같이 표현한다.
그 다음 새로운 거리 함수는 다음과 같다. 앞서 언급한 대로 squared euclidian distance에 class feature score를 결합한 형태이다.
여기서
Word Level Attention
인스턴스마다 서로 다른 단어의 중요도가 다르기 때문에 Word level attention은 어떤 단어가 쓸모있는지 나타낸다. 중요한 단어를 얻고 이를 취합해 더 유용한 정보로 만들기 위해 attention 메커니즘을 적용한다. 이 식은 다음과 같다.
여기서
우선
그 다음 이
마지막으로 (
word level의 가중치 벡터 \(\boldsymbol{u}_{w}\)는 인스턴스마다 중요한 단어를 선택할 수 있도록 돕는다. 이는 초기엔 무작위로 초기화되고 학습되는 동안 파라미터
Instance Level Multi Cross Attention
Instance level multi cross attention은 서로 다른 query 인스턴스에서 중요한 support 인스턴스를 뽑아낼 수 있다.
target query 인스턴스가 들어올 때 모든 support set의 인스턴스가 동일하게 클래스 prototype에 기여하는 건 아니기 때문에 query 인스턴스를 올바르게 분류할 단서를 제공하는 support 인스턴스의 중요도를 강조하기 위해 Instance level multi cross attention 메커니즘을 사용한다.
클래스
여기서
이로써 multi scross attention mechanism의 protype은 query와 관련된 support 인스턴스에 더 집중하고 support set의 이해력(capacity)을 개선할 수 있다.
실험



'공부한 내용 정리 > 인공지능' 카테고리의 다른 글
LLM 조사 (0) | 2023.08.07 |
---|---|
텍스트 분석 - 텍스트 전처리 (0) | 2023.06.27 |
추천 시스템 (0) | 2023.05.15 |
Text 분야에 적용된 Metric 기반 방법론 찾기 (0) | 2023.04.18 |
[RecSys] Modern Recommendation Systems with Neural Networks (0) | 2023.04.12 |