NL-186, Text Embeddings Reveal (Almost) As Much As Text, EMNLP Review 2023

◼ Comment

  • 논문요약
    • 임베딩 벡터로부터 텍스트를 복원하는 vec2text 연구이다.
    • 일반적인 벤치마크(section 5.2)와 MIMIC 임상 도메인(section 5.3)에서 실험을 한다.
    • 이름과 같은 개인 정보를 약 90%로 복구하기 때문에 임베딩 벡터에 접근하는 것은 개인정보에 위협이 될 수 있음을 보여준다.
  • 강점
    • 많은 언어모델의 인코더를 활용하여, NLP 테스크들을 해결하면서 놓칠 수 있는 보안의 위협을 보여준다.
    • 제안하는 테스크가 흥미롭다고 생각합니다.
    • 가우시안 노이즈 첨가하여 inversion attacks을 방어하는 간단한 방법을 소개합니다.
  • 단점
    • 이 연구는 인코더 파라미터에 접근하지 못하는 시나리오라는 가정이 있습니다. 많은 경우에, 서비스에 활용되는 인코더가 공개되지 않기 때문에 이러한 가정이 효과적인지 의문이 듭니다.
    • 토큰의 최대 길이는 32개로 제한됩니다. 표 1에서 128 토큰에 대한 실험은 많은 성능 저하를 일으킵니다. 토큰 길이 제한과 복원 능력간의 폭넓은 추가 분석이 필요합니다.
    • 표 1에서, OpenAI에 대해서는 복원하는 능력은 GTR에 비교하여 떨어집니다. 큰 모델(더 좋은 인코더)로 임베딩한 벡터를 복원하는 것이 일반적으로 더 어렵나요? 즉 인코더의 성능과 복원 능력의 상관 관계가 궁금합니다.
    • 가우시안 노이즈를 추가하면, 복원 능력이 떨어집니다. 이론적으로는 가우시안 노이즈 때문에 복원 능력이 떨어지지 않을거 같습니다. 이에 대한 분석이 있으면 좋을거 같습니다.
  • 질문 & 제안
    • Model에서 loss식은 어떻게 정의합니까? 매 step마다 x^t가 x가 되도록 학습합니까? 이 때 하이퍼파라미터는 모두 동일합니까? step이 올라갈 수록, x에 가까워지기 때문에 하이퍼파리미터(예. learning rate)의 변화는 주지 않습니까?
    • 강한 베이스라인이 존재하지 않습니다. text-editing, style transfer 등 다른 비교 연구를 활용한 베이스라인을 시도하는게 좋습니다.
    • 테이블 4, 5에 대한 설명이 없습니다.

Abstract

  • 텍스트 임베딩은 원래 텍스트에 대해 얼마나 많은 개인 정보를 누설하는지 조사합니다. 
  • 우리는 잠재 공간에서 고정된 지점에 가까운 재임베딩되는 텍스트를 생성하는 문제로 임베딩 역전을 조사합니다. 
  • 우리는 이 문제를 제어 생성 문제로 정의합니다: 임베딩에 조건을 걸어 텍스트를 생성합니다. 
  • 단순한 모델은 임베딩에 조건을 걸었을 때 성능이 좋지 않지만, 텍스트를 반복적으로 수정하고 재임베딩하는 다단계 방법은 토큰 텍스트 입력의 92%를 정확하게 복구할 수 있습니다. 
  • 우리는 두 가지 최첨단 임베딩 모델로부터 텍스트 임베딩을 해독하는 모델을 훈련시키고, 또한 임상 노트 데이터셋으로부터 중요한 개인 정보(전체 이름)를 복구할 수 있는 것을 보여줍니다.

1 Introduction 

  • 대규모 언어 모델(Large Language Models, LLM)을 활용하는 시스템들은 종종 밀집 임베딩의 벡터 데이터베이스에 보조 데이터를 저장합니다 (Borgeaud 등, 2022; Yao 등, 2023). 
  • 이러한 시스템의 사용자들은 검색된 문서를 언어 모델의 프롬프트에 삽입함으로써 지식을 LLM에 투입합니다. 
  • 실무자들은 임베딩 검색을 효율적으로 대규모로 실행하기 위해 호스팅된 벡터 데이터베이스 서비스를 이용하고 있습니다 (Pinecone, Qdrant, Vdaas, Weaviate, LangChain). 
    • 이러한 데이터베이스에서는 데이터 소유자가 텍스트 자체가 아닌 텍스트 데이터의 임베딩만을 제3자 서비스에 전송합니다. 
    • 그리고 데이터베이스 서버는 클라이언트 측에서 일치하는 문서의 인덱스를 검색 결과로 반환합니다.
  • 벡터 데이터베이스는 점점 인기가 있지만, 그 안에 있는 개인 정보 보안 위협은 철저히 조사되지 않았습니다. 
    • 제3자 서비스는 임베딩을 통해 초기 텍스트를 정확하게 재구성할 수 있을까요? 
    • 일반적으로 신경망은 복잡하거나 심지어 정확하게 역전되기 어렵습니다. 
    • 더욱이, 인터넷을 통해 신경망에 쿼리를 하면 모델 가중치나 그라디언트에 대한 접근 권한이 전혀 없을 수도 있습니다.
  • 그래도, 신경망으로부터 입력-출력 쌍을 얻으면 신경망의 역함수를 대략적으로 근사하는 것이 종종 가능합니다. 
    • 컴퓨터 비전에서의 역전에 대한 연구는 마지막 레이어의 로짓(logit)을 주어지면 입력 이미지를 (일부 손실과 함께) 복구하는 것이 가능함을 보여주었습니다. 
    • 초기 연구는 텍스트에 대해 이 질문을 탐구했습니다, 그러나 얕은 LSTM으로부터 임베딩을 주어지면 대략적인 단어 묶음(bag of words)만 복구할 수 있었습니다.
  • 이 연구에서는 임베딩으로부터 입력 텍스트의 완전한 복원을 목표로 합니다. 
    • 만약 텍스트가 복구 가능하다면, 개인 정보 보안에 위협이 있을 수 있습니다: 
    • 악의적인 사용자가 벡터 데이터베이스와 데이터 생성에 사용된 모델로부터 텍스트-임베딩 쌍에 접근할 경우, 텍스트를 임베딩으로부터 재생산하는 함수를 학습할 수 있을 것입니다.
  • 우리는 텍스트 임베딩을 복구하는 문제를 제어 생성 문제로 정의합니다. 
  • 여기서 생성된 텍스트가 주어진 임베딩과 가능한 가까울수록 좋습니다. 
  • 우리의 Vec2Text라는 방법은 가설 임베딩과 실제 임베딩 간의 차이를 이용하여 텍스트 가설을 이산적으로 업데이트하는 방법을 사용합니다.
  • 우리가 최첨단 블랙박스 인코더를 사용하여 웹 문서를 임베딩할 때, 우리의 방법은 32토큰 입력을 거의 완벽한 BLEU 스코어 97.3으로 복구할 수 있으며, 예시의 92%를 완전히 복구할 수 있습니다. 
    • 그리고 BEIR 벤치마크의 여러 일반적인 검색 데이터셋으로부터 생성된 임베딩을 평가합니다. 
    • 이러한 텍스트들은 훈련 중에 보지 못했지만, 우리의 방법은 다양한 도메인에서 여러 데이터포인트의 입력을 완벽하게 복구할 수 있습니다. 
    • 우리는 MIMIC의 임상 노트 임베딩에 대해 평가하고, 임베딩된 노트에서 전체 이름의 89%를 복구할 수 있었습니다. 
    • 이러한 결과는 텍스트 임베딩이 계산된 텍스트와 동일한 개인정보 보안 위협을 제시하며, 임베딩은 원시 데이터와 동일한 주의를 기울여 취급해야 함을 시사합니다.

2 Overview: Embedding Inversion

  • 텍스트 임베딩 모델은 텍스트 시퀀스를 임베딩 벡터로 매핑하는 것을 학습합니다. 
  • 임베딩 벡터는 의미적 유사성의 개념을 인코딩하여 유용합니다: 
    • 의미가 유사한 입력은 벡터 공간에서 가까운 임베딩을 가져야 합니다. 
  • 임베딩은 검색, 클러스터링, 분류 등 다양한 작업에 널리 사용됩니다.
  • 토큰 시퀀스 x ∈ V^n에 대한 텍스트 인코더 ϕ : V^n → R^d는 x를 고정 길이의 임베딩 벡터 e ∈ R^d로 매핑합니다.
  • 이제 텍스트 임베딩의 역전 문제를 고려해보겠습니다: 
    • 알려지지 않은 인코더 ϕ가 주어졌을 때, 해당하는 텍스트 x를 임베딩 e = ϕ(x)로부터 복구하려고 합니다. 
  • 텍스트 임베딩 모델은 일반적으로 관련된 입력들 사이의 유사성을 장려하기 위해 훈련됩니다. 
    • 따라서 우리는 문제를 실제값과 가장 유사한 임베딩을 가진 텍스트를 복구하는 것으로 정의할 수 있습니다. 
    • 우리는 인코더 ϕ 하에서 임베딩 e에 대한 텍스트 xˆ을 찾는 것을 최적화로 형식화할 수 있습니다:
    • 즉 벡터 = e가 주어지고 인코더 ϕ로부터 가장 유사하게 벡터화되는 텍스트 x를 찾는 것이다. 
  • Assumptions of our threat model. 
    • 실제적인 측면에서, 우리는 어떤 공격자가 블랙박스 임베더 ϕ에서 생성된 단일 임베딩을 역전시키려는 시나리오를 고려합니다. 
    • 우리는 공격자가 ϕ에 접근할 수 있다고 가정합니다: 
      • 가설 텍스트 xˆ가 주어졌을 때, 공격자는 모델에 ϕ(ˆx)를 쿼리하고 cos(ϕ(ˆx), e)를 계산할 수 있습니다. 
    • 이 항목이 정확히 1일 때, 공격자는 xˆ이 원래 텍스트임을 확신할 수 있으며, 즉 충돌(collision)은 드물고 무시할 수 있습니다.
    • 인코더 파라미터에 접근하지 못하는 경우는 제시한 방법이 안되는 것인가?

3 Method: Vec2Text

3.1 Base Model: Learning to Invert ϕ

  • 식 (1)을 계산하기 위해 모든 가능한 시퀀스를 열거하는 것은 계산적으로 불가능합니다. 
  • 이 계산 제약을 피하는 한 가지 방법은 임베딩으로부터 텍스트의 분포를 학습하는 것입니다. 
  • 텍스트 데이터셋 D = {x1, . . .}이 주어졌을 때, 우리는 인코더 ϕ를 역전시키기 위해 임베딩으로부터 텍스트의 분포 p(x | e; θ)를 학습함으로써 θ를 최대 가능도(maximum likelihood)를 통해 학습합니다.
    • 즉 인코딩된 벡터로부터 텍스트 x을 생성하도록 θ을 학습한다.
    • 표기의 간단함을 위해 이후로 θ를 생략합니다.
  • 실제로 이 과정은 조건부 언어 모델을 훈련하여 알려지지 않은 텍스트 x를 임베딩 e = ϕ(x)로부터 재구성하는 것을 포함합니다. 
  • 우리는 이 학습 문제를 조합적 최적화(Equation (1))를 신경망의 가중치로 보내는 것으로 볼 수 있습니다. 
  • 이러한 방식으로 직접적으로 만족스러운 텍스트를 생성하는 것을 학습하는 것은 문헌에서 잘 알려진 어려운 문제입니다.

3.2 Controlling Generation for Inversion

  • 이 모델을 개선하기 위해 Figure 1에 제시된 Vec2Text를 제안합니다. 
  • 이 접근 방식은 Controlled Generation에 대한 방법들에서 영감을 받았으며, 이는 알려진 조건을 만족하는 텍스트를 생성하는 작업입니다. 
  • 이 작업은 역전과 유사하며, 관찰 가능한 함수 ϕ가 제어 수준을 결정한다는 점에서 유사합니다. 
  • 하지만, Controlled Generation에 대한 접근 방식은 일반적으로 ϕ를 통해 그래디언트를 계산하여 중간 표현의 점수를 향상시키는데 필요합니다. 
  • 텍스트 역전은 ϕ에 대한 쿼리만 가능하며 그래디언트를 계산할 수 없다는 점에서 다릅니다.
    • controlled generation하고 유사하나, 인코더의 gradient을 계산할 수 없다는 것이 다르다?
    • controlled generation은 입력을 인코더로 벡터화하고 원하는 방향으로 생성하면서, 인코더도 같이 학습시킬 수 있는데
    • 이 테스크는 아마도 벡터자체가 입력이기 때문에 인코더의 gradient을 계산할일이 없으니까 그런거 같음
  • Model. 
    • 이 방법은 초기 가설을 추측하고, 이 가설을 재임베딩하고 보정하여 해당 임베딩을 e에 가깝게 만드는 과정을 반복하여 가설을 점진적으로 개선합니다. 
    • 이 모델은 각 새로운 보정 x (t+1)을 생성하기 위해 새로운 임베딩 eˆ (t) = ϕ(x (t))를 계산해야 합니다. 
    • 우리는 중간 가설에 대해 주변화(marginalizing)하여 이 모델을 재귀적으로 정의합니다.
      • t=0이라고 생각해보자
      • 먼저 e에서 x0을 생성한다.
      • x0을 인코더 태우면 e0가 나온다
      • 그다음, e, x0, e0을 조건으로 x1을 생성한다.
      • x0을 여러개 생성할 수 있으므로 sigma가 식에 들어간 것!
      • 이런식으로 x0->x1-> iteration이 돌아갈 수 있으며, 학습때는 당연히 xt가 매칭되는 텍스트여야하는데.. loss는 어떻게 정의하지?
    • with a base case of the simple learned inversion:
    • 여기서 x(0)은 초기 가설 생성을 나타내며, x(1)은 x(0)의 보정을 나타내고, 이어서 계속 진행됩니다. 
    • 우리는 먼저 Section 3.1에서 모델로부터 가설 x(0)을 생성하고, eˆ(0)을 계산한 다음, 이 생성된 데이터에 대해 모델을 훈련하여 이 모델을 훈련합니다. 
    • 이 방법은 최근의 다른 연구와 관련이 있으며, 반복적 편집(iterative editing)을 통해 텍스트를 생성하는 작업을 다룹니다. 
    • 특히 Welleck(2022)은 피드백을 통해 언어 모델 생성을 개선하기 위해 텍스트-텍스트 '자기 보정(self-correction)' 모듈을 훈련하는 것을 제안합니다.
  • Parameterization.
    • 저희 모델의 주요 구성 요소인 p(x(t+1) | e, x(t), e^(t))는 이전 출력에 조건이 달린 표준 인코더-디코더 트랜스포머로 구성됩니다.
    • 하나의 과제는 트랜스포머 인코더에 조건 임베딩 e와 e^(t)를 입력해야 하는데, 이는 임베딩의 차원 denc가 ϕ의 임베딩 차원 d와 일치하지 않을 수 있습니다. 
    • Mokady 과 비슷하게, 우리는 작은 MLP를 사용하여 단일 임베딩 벡터를 더 큰 크기로 변환한 후, 시퀀스 길이를 조정하여 인코더의 입력으로 사용합니다. 임베딩 e ∈ R^d에 대해:
      • 텍스트를 임베딩하는 ϕ을 통과한 벡터의 차원과 모델링한 transformer encoder의 입력차원과 다를 수 있다는 것 (같게 하려면 같게 설정할 수 있긴 할텐데 뭐 암튼)
      • 그래서 위처럼 식을 통해 차원을 맞춰주는 작업을 함. 
      • W1은 R^(d×d)이고, W2는 R^((s*d_enc)×d)인, 비선형 활성화 함수 σ와 미리 정해진 인코더 "length" s를 사용합니다. 
      • 최종 차원 = s
    • 우리는 별도의 MLP를 사용하여 세 가지 벡터를 변환합니다: 
      • ground-truth임베딩 e,
      • hypothesis embedding e^(t), 
      • 그리고 이 두 벡터의 차이 e - e^(t). 
    • hypothesis의 단어 임베딩이 {w1...wn}인 경우, 인코더에 대한 입력(길이가 3s + n인)은 다음과 같습니다:
      • 이해하기론 이거같음
      • 인코더에 e, e^t, e-e^t을 seq 차원으로 projection 시킨 3s 벡터
      • 그리고 기존 텍스트의 단어들은 discrete하게 들어가는 거 같음
    • 우리는 합쳐진 입력을 인코더에 주입하고, 표준 언어 모델링 손실을 사용하여 전체 인코더-디코더 모델을 학습합니다.
  • Inference.
    • 실제로는 우리가 중간 세대 x(t)를 추적하고 더할 수 없으므로, 우리는 빔 검색을 통해 이 합을 근사적으로 구합니다. 
    • 우리는 모델에서 토큰 수준으로 탐욕스럽게 추론을 수행하지만, 시퀀스 수준인 x(t)에서 빔 검색을 구현합니다. 
    • 모든 x(t)을 고려하지 않고 빔서치로 특정 개수만을 고려한다?
    • 보정의 각 단계에서 우리는 b개의 가능한 수정 사항을 다음 단계로 고려합니다. 
    • 각 가능한 수정 사항에 대해 상위 b개의 가능한 계속 진행을 디코딩하고, 그런 다음 임베딩 공간에서 그라운드 트루스 임베딩 e와의 거리를 측정하여 b * b개의 잠재적인 계속 진행 중 상위 b개의 고유한 계속 진행을 선택합니다.

4 Experimental Setup 

  • Embeddings. 
    • Vec2Text는 두 가지 최첨단 임베딩 모델인 GTR-base(Ni et al., 2021)와 텍스트 검색을 위한 T5 기반 사전 훈련 트랜스포머, 그리고 OpenAI API를 통해 이용 가능한 text-embeddings-ada-002를 뒤집을 수 있도록 훈련되었습니다. 
    • 이 두 모델 패밀리는 MTEB 텍스트 임베딩 벤치마크에서 최고 수준의 성능을 보여줍니다.
  • Datasets. 
    • 우리는 GTR 모델을 자연어 질문 코퍼스(Natural Questions corpus, Kwiatkowski et al., 2019)에서 선택된 위키피디아 문서의 5백만 개의 패스지로 훈련합니다. 
    • 이 문서들은 최대 32개의 토큰으로 잘려서 사용됩니다. 
    • 왜 32개로 제한을 두는가?
    • 또한 OpenAI 모델 두 개를 MSMARCO 코퍼스의 버전과 최대 32로 훈련합니다 (Bajaj et al., 2018). 
    • 평가를 위해 우리는 자연어 질문과 MSMarco로부터 평가 데이터셋을 고려하며, 또한 MIMIC-III 임상 노트 데이터베이스(Johnson et al., 2016)와 BEIR 벤치마크(Thakur et al., 2021)에서 제공되는 여러 데이터셋을 고려합니다.
  • Baseline. 
    • 기준선으로는 수정 단계 없이 텍스트를 복구하는 기본 모델 p(x (0) | e)를 훈련합니다. 
    • 또한 Song과 Raghunathan (2020)의 bag of words 모델을 평가합니다. 
      • bow 베이스라인이 정확히 이해가 안되긴함.
    • 수정 모델에 할당된 쿼리 수가 증가한 것을 균형있게 하기 위해, 또한 unconditional model에서 beam search과 nucleus sampling (p = 0.9)을 통해 상위 N개의 예측을 고려하고, 코사인 유사성을 통해 재정렬(reranking)합니다.
      • 여러 텍스트를 생성해서 GT 임베딩과 cosine 유사도가 높은 것 순으로 재정렬 한다?
  • Metrics. 
    • 우리는 재구성된 텍스트의 진행 상황과 정확성을 측정하는 데 두 가지 유형의 메트릭을 사용합니다. 
    • 먼저, 텍스트 재구성의 주요 목표를 고려합니다. 
    • 이를 측정하기 위해 우리는 단어 일치 메트릭을 사용합니다. 이에는 다음과 같은 메트릭이 포함됩니다:
      • BLEU 점수 (Papineni et al., 2002): 실제 텍스트와 재구성된 텍스트 사이의 n-gram 유사성을 측정하는 메트릭입니다.
      • Token F1: 예측된 토큰 집합과 실제 토큰 집합 간의 다중 클래스 F1 스코어입니다.
      • Exact-match: 완벽하게 일치하는 재구성 출력의 백분율을 측정합니다.
    • 또한, 재구성된 텍스트의 잠재 공간 내의 벡터 임베딩을 복원하는 관점에서 internal inversion metric의 유사성을 보고합니다. 
      • 우리는 실제 임베딩과 재구성된 텍스트의 임베딩 간의 코사인 유사도를 사용합니다(ϕ에 따라).
  • Models and Inference.
    • 우리는 모델을 T5-base 체크포인트에서 초기화합니다. 
    • projection head를 포함하여 각 모델은 약 2억 3천 5백만 개의 매개변수를 가지고 있습니다. 
    • 모든 실험에서 투사 시퀀스 길이 s = 16로 설정합니다. 
    • 초기 실험에서 이 값을 더 늘리는 것이 성능에 미치는 영향이 감소하는 것을 보여줍니다. 
    • 우리는 모든 모델에 대해 탐욕스러운 토큰 수준 디코딩을 사용하여 추론을 수행합니다. 
      • 기본적으로는 greedy하게 생성한다.
    • sequence-level beam의 multiple steps를 실행할 때, 우리는 코사인 유사도를 기준으로 이전 단계보다 더 가까운 새로운 생성을 선택합니다.
      • 매 스텝에서 생성한 텍스트들을 주어진 GT 임베딩과 비교한다.
      • 여러개 텍스트를 생성할 때는, 샘플링 통해 생성하는듯
      • 그래서 GT 임베딩과 가까운 텍스트를 픽해서 가져간다는 말?
  • 우리는 unconditional 모델을 반복 모델의 초기 가설로 사용합니다. 
    • 우리는 다른 초기 가설을 사용하는 효과를 7장에서 조사합니다.
  • 우리는 Adam 옵티마이저와 학습률 2 * 10^-4를 사용하며, 워마업과 선형 감소를 적용합니다. 
  • 모델을 100 에포크 동안 훈련합니다. 
  • 배치 크기는 128이며, 모든 모델은 4개의 NVIDIA A6000 GPU에서 훈련합니다. 
  • 이러한 조건 하에서 가장 느린 모델을 훈련하는 데 약 두 일이 걸립니다.

5 Results

5.1 Reconstruction: In-Domain

  • 표 1은 도메인 내 결과를 보여줍니다. 
  • 우리의 방법은 모든 메트릭에서 기준선을 능가합니다. 
  • 더 많은 라운드를 진행하는 것이 단조로운 도움이 됩니다. 
  • 하지만 한계 수익을 보여줍니다 - 단 5라운드의 보정으로 77%의 BLEU 점수를 회복할 수 있지만, 50라운드를 실행하면 높은 재구성 성능을 얻을 수 있습니다. 
  • 우리는 반복적인 재구성에 시퀀스 수준 빔 검색(sbeam)을 실행하는 것이 특히 재구성의 정확한 일치를 찾는 데 도움이 된다는 것을 발견했습니다. 
    • 이 부분은 신기하군
  • 이로 인해 세 가지 설정에서 정확한 일치 점수가 2배에서 6배 증가합니다. 
  • 상대적인 관점에서 모델은 더 긴 텍스트를 정확히 복구하는 데 어려움이 있지만 여전히 많은 단어를 얻을 수 있습니다.

5.2 Reconstruction: Out-of-Domain

  • 우리는 BEIR 벤치마크의 15개 데이터셋에서 모델을 평가하고 결과를 표 2에 나타냅니다. 
    • 왜 여기서는 Baseline과 비교를 안하지?
  • BEIR에서 가장 짧은 데이터셋인 Quora가 가장 쉽게 재구성되며, 우리의 모델은 예제의 66%를 완벽하게 복구할 수 있습니다. 
  • 우리의 모델은 다양한 길이의 입력에 잘 적응하여 일반적으로 평균 길이 오류가 3개 이하의 토큰을 생성합니다. 
  • 일반적으로 재구성 정확도는 예제 길이와 반비례합니다(7장에서 더 자세히 논의됨). 
  • 모든 데이터셋에서 Token F1이 41 이상이고, 실제 임베딩과 최소 0.95의 코사인 유사도로 시퀀스를 복구할 수 있습니다.

5.3 Case study: MIMIC

  • 구체적인 위협 도메인으로, 우리는 MIMIC-III 임상 노트 (Johnson et al., 2016)를 고려합니다. 
  • 원래의 MIMIC 데이터셋은 완전히 비식별화되었기 때문에 대신 Lehman et al. (2021)의 "의사 재식별화(pseudo re-identified)" 버전을 사용합니다. 
    • 이 버전에서는 비식별화된 이름 대신 가짜 이름이 삽입되었습니다.
  • 각 노트는 32개의 토큰으로 잘립니다. 
  • 또한 각 노트가 적어도 하나의 이름을 포함하도록 필터링합니다. 
  • 우리는 기존의 방법에 대한 전형적인 통계량뿐만 아니라 새로운 세 가지 통계량을 측정합니다. 
    • 이것들은 복구된 이름의 백분율, 성씨의 백분율, 그리고 완전한 이름(이름과 성씨의 형식)의 복구된 백분율입니다. 
  • 결과는 표 3에 나타내었습니다. 
  • Vec2Text는 이름의 94%, 성씨의 95%, 그리고 완전한 이름의 89% (이름과 성씨 형식)를 복구하는데 성공하며, 또한 문서의 26%를 완벽하게 복구합니다.
    • 개인정보를 복구한다는게 임베딩 모델의 문제라고 볼 수 있을 듯
  • 5.3절의 재구성된 임상 노트에서 각 실제 노트와 복구된 노트에서 임상 엔티티를 추출합니다. 
  • 우리는 재구성 백분율을 3번(아래)에 플롯하고 평균 엔티티 복구는 대시 라인으로 나타냅니다. 
  • 우리의 모델은 "임상 이벤트" 유형의 엔티티를 재구성하는데 가장 정확합니다. 
    • 이는 '도착', '진행', '이송'과 같은 일반적인 의학 용어를 포함합니다. 
    • 반면 "상세 설명" 카테고리에서는 'posterior', 'hypoxic'와 같은 구체적인 의학 용어 및 'invasive ventilation - stop 4:00 pm'과 같은 복합 단어 이벤트를 포함하여 가장 정확하지 않습니다.
    • 일반적인 단어는 복구를 잘하나, 구체적인 의학 용어, 복합 단어 등은 부정확하다.
  • 32개 토큰 노트의 26%를 완벽하게 복구할 수 있지만, 완벽하게 복구되지 않은 노트들은 의미적으로 원래와 유사합니다. 
  • 우리의 모델은 일반적으로 노트의 구문과 일치하며, 일부 엔티티가 약간 혼동될 때도 있습니다. 
  • 예를 들어, 의사의 노트에서 다음과 같은 문장이 주어졌을 때 
    • "Rhona Arntson npn/- # resp: infant remains orally intubated on imv / r fi", 
  • 우리의 모델은 
    • "Rhona Arpson nrft:# infant remains intubated orally on resp. imv. m/n fi"로 예측합니다.

6 Defending against inversion attacks

  • 텍스트 임베딩 모델의 사용자들이 inversion attacks으로부터 임베딩을 보호하기 쉬울까요? 
  • 이를 확인하기 위해 기본 방어 시나리오를 고려합니다. 
  • 우리의 방어를 구현하기 위해 사용자는 각 임베딩에 직접 가우시안 노이즈를 추가하여 뒤집기 공격으로부터 효과적으로 방어하면서 가장 가까운 이웃 검색 설정에서의 유틸리티를 보존하도록 합니다. 
  • 우리는 다양한 수준의 노이즈에서 검색 성능과 재구성 정확성 사이의 균형을 분석합니다. 
  • 형식적으로 새로운 임베딩 모델을 다음과 같이 정의합니다:
    • where λ is a hyperparameter controlling the amount of noise injected. 
  • 우리는 노이즈가 추가된 임베더 ϕnoisy를 사용하여 10 단계의 보정이 있는 self-corrective 모델로 GTR-base를 시뮬레이션합니다. 
  • 검색 성능을 측정하기 위해 BEIR 벤치마크에서 15개의 다른 검색 작업에 대한 평균 NDCG@10 (검색 성능 메트릭; 높을수록 더 좋음)을 다양한 노이즈 수준에서 평가합니다.
  • 그 결과를 Figure 2에 그래프로 나타냅니다 (완전한 결과 테이블은 A.2에서 확인할 수 있습니다). 
    • λ = 10^-1 노이즈 수준에서 검색 성능은 보존되지만, BLEU 점수는 10% 감소합니다. 
  • 0.01 노이즈 수준에서는 검색 성능이 거의 저하되지 않으며(2%), 반면 재구성 성능은 원래 BLEU의 13%로 급락합니다. 
  • 추가적인 노이즈를 추가하면 검색 성능과 재구성 정확성이 심각하게 영향을 받습니다.
  • 이 결과들은 작은 양의 가우시안 노이즈를 추가하는 것이 무작위 뒤집기 공격에 대해 간단한 방어 방법일 수 있음을 나타냅니다. 
    • 하지만 이론적으로는 노이즈와 함께 훈련하는 것이 Vec2Text가 ϕnoisy로부터 더 정확하게 복구할 수 있도록 도와줄 수 있습니다. 
    • 또한 재구성 BLEU 점수가 낮다고 해서 임베딩으로부터 진단 영역이나 치료 방법과 같은 더 넓은 추론이 불가능한 것은 아닙니다.
  • 가우시안 노이즈를 추가하여, 유사한 임베딩간의 거리가 가까운건 보존되나, 재구성 성능에는 나쁜 영향을 주는 결과를 보여줌
    • 이론적으로는 가우시안이있다고 재구성이 안될건 아닌거 같은데..
    • 가우시안 노이즈가 있다고 재구성 성능이 떨어지는지 분석이 필요해보임
    • + 왜 노이즈가 이론적으로 더 정확하게 복구하도록 도와주는 것이지?

7 Analysis

  • How much does the model rely on feedback from ϕ?
    • Figure 3는 피드백의 중요성에 대한 실험적 연구(ablation study)를 보여줍니다. 
    • 즉, 최근 가설을 임베딩하고 한정을 가하지 않고 보정을 수행하는 것과 보정을 수행할 때 최근 가설을 임베딩하는 것 사이의 중요성을 비교합니다. 
    • 피드백으로 훈련된 모델(즉, ϕ(x(t))에 대한 추가적인 조건 설정)은 더 정확한 첫 번째 보정을 수행하고, 라운드가 늘어남에 따라 더 높은 BLEU 점수를 얻습니다. 
    • 피드백 없이 훈련된 모델은 텍스트를 편집할 수 있지만 임베딩 공간의 기하학적 정보를 더 이상 받지 못하고 빠르게 정체됩니다. 
    • 가장 놀라운 비교는 정확 일치 수에 관한 것입니다. 
    • 50 라운드의 탐욕스러운 자가 보정 후, 피드백을 받은 모델은 초기에 1.5%에 불과한 정확 일치를 달성한 상태에서 52.0%의 예제를 완벽하게 일치시킵니다. 
    • 반면, 피드백 없이 훈련된 모델은 50 라운드 후에는 단 4.2%의 예제만 완벽하게 일치합니다.
    • 훈련 중 모델은 단 하나의 가설을 정정하여 그라운드 트루스 샘플과 일치하도록 학습합니다. 
    • 테스트 시점에서 새로운 텍스트를 제공하면, 모델은 동일한 텍스트를 여러 번 정정할 수 있으며, 텍스트를 0.9 임베딩 유사도에서 1.0으로 "밀어올릴" 수 있습니다. 
    • Figure 4에서 길이가 32인 모델의 훈련 데이터에서 첫 번째 가설과 그라운드 트루스 간의 근접성을 플롯합니다. 
    • 훈련 중 모델은 광범위한 근접성에서 가설을 수정하는 것을 배우는데, 이는 보정이 그라운드 트루스에 접근할수록 '분포 밖으로 나가지 않아야' 한다는 것을 시사합니다.
  • How informative are embeddings for textual recovery?
    • Figure 5에서 재구성된 텍스트 입력의 BLEU 점수와 코사인 유사도 사이의 그래프를 그립니다. 
    • 두 지표 사이에 강한 상관 관계를 관찰합니다. 
    • 특히, 코사인 유사도가 높지만 BLEU 점수가 낮은 생성된 샘플은 매우 적습니다. 
    • 이는 임베딩 기하학을 더 잘 따르면 시스템을 더 개선할 수 있다는 것을 의미합니다. 
    • 이론적으로 일부 임베딩은 복구하기 어려울 수 있습니다. 
    • 이전 연구(Song 등, 2020; Morris, 2020)는 두 개의 서로 다른 시퀀스가 단어 중복 없이도 텍스트 임베딩 공간에서 '충돌'할 수 있음을 보였습니다. 
    • 그러나 우리의 실험에서는 충돌이 문제가 되지 않음을 발견했습니다. 
    • 충돌이 존재하지 않거나 모델이 훈련 중에 이러한 충돌을 피하는 것으로 학습하는 것으로 보입니다. 개선된 시스템은 더 긴 텍스트를 복구할 수 있어야 합니다.
  • Does having a strong base model matter?
    • 우리는 Section 7에서 설명한 대로, x(0)의 다양한 초기화에서 32 토큰의 Wikipedia 모델의 초기화 영향을 제거하기 위해 실험을 수행합니다. 
    • 20 단계의 수정을 실행한 후에도, 우리의 모델은 무작위 토큰 시퀀스로 초기화되는 경우를 포함하여 유용하지 않은 초기화 상태에서 회복할 수 있습니다. 
    • 이는 모델이 나쁜 가설을 무시하고 가설이 도움이 되지 않을 때 실제 임베딩에 집중할 수 있다는 것을 시사합니다.
  • 테이블 4, 5에 대한 설명이 없음

8 Related work 

  • Inverting deep embeddings. 
    • 텍스트 임베딩을 역전시키는 작업은 컴퓨터 비전 분야의 딥 비주얼 표현을 역전시키는 연구와 밀접한 관련이 있습니다 (Mahendran과 Vedaldi, 2014; Dosovitskiy와 Brox, 2016; Teterwak 등, 2021; Bordes 등, 2021). 
    • 이러한 연구들은 이미지 분류기의 로짓 벡터에 많은 시각적 세부 정보가 남아 있음을 보여주며 이 벡터로부터 입력 이미지를 재구성하려고 시도합니다. 
    • 또한 특정 텍스트 임베딩의 내용을 역공학하는 연구도 있습니다. 
    • Ram 등 (2023)은 임베딩을 모델의 어휘 공간으로 투영하여 관련 토큰의 분포를 생성하여 텍스트 임베딩의 내용을 분석합니다. 
    • Adolphs 등 (2022)은 단일 단계 쿼리 디코더를 훈련시켜 임베딩으로부터 쿼리의 텍스트를 예측하고 이 디코더를 사용하여 새로운 검색 모델을 훈련시키기 위해 더 많은 데이터를 생성합니다. 
    • 우리는 직접 텍스트 재구성과 이와 관련된 개인 정보 보호에 집중하며, 문서뿐만 아니라 쿼리에도 작동하는 반복적인 방법을 제안합니다.
  • Privacy leakage from embeddings. 
    • 연구는 dense 임베딩에서의 정보 누출 문제를 제기했습니다. 
    • Lehman 등 (2021)은 임상 노트에 대해 사전 훈련된 모델로부터 이름과 같은 민감한 정보를 복구하려고 시도했지만 정확한 텍스트를 복구하지 못했습니다. 
    • Kim 등 (2022)은 텍스트 임베딩에 대한 개인 정보 보호 유사성 메커니즘을 제안하고 shallow bag-of-words inversion model을 고려했습니다. 
    • Abdalla 등 (2020)은 의료 데이터에서 단어 임베딩을 훈련시키는 것으로 인한 개인 정보 누출을 분석하고 학습된 단어 임베딩으로부터 훈련 데이터에서 전체 이름을 복구할 수 있었습니다. 
    • Song과 Raghunathan (2020)은 임베딩으로부터 텍스트 시퀀스를 복구하는 문제를 고려했지만, 얕은 인코더 모델의 임베딩으로부터 단어 가방만 복구하려고 시도했습니다. 
    • 이러한 연구들과 비교하여, 우리는 보다 현실적인 최신 텍스트 검색 모델로부터 전체적이고 순서가 있는 텍스트 시퀀스를 복구하는 더 복잡한 문제를 고려합니다.
  • Gradient leakage. 
    • 임베딩을 저장하기 위해 벡터 데이터베이스를 사용하는 것과 사용자들이 서로 그레이디언트를 공유하여 모델을 공동으로 훈련시키는 연합 학습(federated learning)의 실제 사례 사이에는 유사점이 있습니다. 
    • 텍스트 임베딩의 개인 정보 누출을 분석하는 우리의 작업은 그레이디언트 누출에 대한 연구와 유사한 점이 있습니다. 
    • 이전 연구(Melis 등, 2018; Zhu 등, 2019; Zhao 등, 2020; Geiping 등, 2020)는 특정 입력 데이터가 모델의 그레이디언트로부터 역공학적으로 복구될 수 있음을 보여주었습니다. 
    • Zhu 등 (2019)는 심지어 그레이디언트를 일치시키기 위해 입력 레이어로 역전파하여 마스킹된 언어 모델의 텍스트 입력을 복구할 수 있다고 보여줍니다. 
    • 그러나 이러한 기술은 텍스트 역전에는 적용되지 않습니다. 
    • 모델의 그레이디언트는 상대적으로 고해상도이며, 우리는 단일 밀집 임베딩 벡터만으로 전체 입력 텍스트를 복구하는 더 어려운 문제를 고려합니다.
  • Text autoencoders. 
    • 과거 연구에서는 벡터를 문장으로 매핑하는 자연어 처리 학습 모델을 탐구했습니다 (Bowman 등, 2016). 
    • 이러한 모델에는 어떤 검색 모델들이 포함되어 있으며, 이들은 얕은 디코더로 훈련되어 인코더 출력 임베딩으로부터 텍스트나 단어 가방을 재구성합니다 (Xiao 등, 2022; Shen 등, 2023; Wang 등, 2023). 
    • 우리의 모델은 이러한 모델들과는 달리, 동결된 사전 훈련된 인코더로부터 임베딩을 역전시키도록 학습합니다.

9 Conclusion

  • 우리는 Vec2Text라는 다단계 방법을 제안합니다. 
  • 이 방법은 잠재 공간의 고정점을 기준으로 텍스트를 반복적으로 수정하고 재임베딩합니다. 
  • 우리의 접근 방식은 텍스트 임베딩으로부터 32 토큰 텍스트 입력의 92%를 완벽하게 복구할 수 있어, 텍스트 임베딩이 원본 텍스트의 많은 정보를 드러낸다는 것을 보여줍니다. 
  • 또한 모델은 임상 노트에서 중요한 임상 정보를 추출하는 능력을 보여줌으로써, 의료와 같은 민감한 도메인에서의 데이터 개인 정보 보호에 대한 함의를 강조합니다.
  • 우리의 연구 결과는 임베딩과 원시 데이터 사이의 어떤 형태의 동등성을 나타냅니다. 
  • 두 가지 모두 민감한 정보를 유사한 양으로 누출시킵니다. 
  • 이러한 동등성은 밀집 임베딩에 대한 익명화 요구 사항에 큰 부담을 줍니다. 
  • 임베딩은 매우 민감한 개인 데이터로 다뤄져야 하며, 원시 텍스트와 마찬가지로 기술적으로와 아마도 법적으로 보호되어야 합니다.
Reference

댓글