NL-186, Text Embeddings Reveal (Almost) As Much As Text, EMNLP Review 2023
공유 링크 만들기
Facebook
X
Pinterest
이메일
기타 앱
◼ 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에서 확인할 수 있습니다).
댓글
댓글 쓰기