← К каталогу

ЭКСПЕРИМЕНТ 02 · ОПИСАНИЕ

Инверсия до 100 токенов

Эксперимент масштабирует инверсию представления SimCSE: вместо короткого ответа он одновременно оптимизирует до ста WordPiece-позиций и ищет длинную дискретную последовательность, близкую к цели.

МОДЕЛЬSimCSE BERT BaseРАЗМЕРНОСТЬ768ДЛИНА1–100 токеновЛИМИТдо 5 минут
01

ЗАДАЧА

Что меняется при большой длине

Один 768-мерный вектор может соответствовать множеству текстов. При росте числа позиций пространство вариантов резко расширяется, и эксперимент показывает, может ли градиентный поиск согласованно выбрать длинную последовательность без перебора словаря в каждой позиции.

02

ВХОДНЫЕ ДАННЫЕ

Как задаётся цель

Целью служит представление английской фразы либо воспроизводимый случайный единичный вектор. Длина найденного ответа выбирается независимо в диапазоне от 1 до 100 токенов.

03

МЕТОД

Как устроен длинный поиск

  1. Мягкие позиции. Для каждой позиции создаётся распределение по допустимым WordPiece-токенам.
  2. Градиентный шаг. Замороженный SimCSE-кодировщик передаёт градиент к распределениям, увеличивая cosine-сходство.
  3. Охлаждение. Температура снижается, а энтропийный штраф подталкивает позиции к конкретным токенам.
  4. Дискретная проверка. На контрольных шагах выбираются argmax-токены и отдельно измеряется hard cosine.
04

РЕЖИМЫ

Глубина вычислений

Быстрый50 шагов · 1 рестарт

Баланс100 шагов · 1 рестарт

Глубокий125 шагов · 2 рестарта

05

ОГРАНИЧЕНИЕ

Почему нет координатного уточнения

Полный дискретный проход потребовал бы перебрать весь словарь отдельно для каждой из ста позиций. Поэтому лаборатория использует только мягкую градиентную инверсию и ограничивает общий вычислительный бюджет.

ФОРМАЛИЗАЦИЯ

Математическая схема

Пусть f — замороженный SimCSE-кодировщик, V — допустимый WordPiece-словарь, а длина кандидата n выбирается от 1 до 100.

01 · ПРОСТРАНСТВО ПОИСКА

Экспоненциальное число текстов

t=f(xtarget)∥f(xtarget)∥2∈R768t=ξ∥ξ∥2,ξ∈R768x∈Vn,1≤n≤100,∣Vn∣=∣V∣n\begin{aligned} t &= \frac{f(x_{\mathrm{target}})}{\lVert f(x_{\mathrm{target}})\rVert_2}\in\mathbb{R}^{768} \\ t &= \frac{\xi}{\lVert\xi\rVert_2},\quad \xi\in\mathbb{R}^{768} \\ x &\in V^n,\quad 1\le n\le 100,\quad |V^n|=|V|^n \end{aligned}

Прямой перебор невозможен: число последовательностей экспоненциально растёт с длиной.

02 · РЕЛАКСАЦИЯ

Непрерывное приближение

pi(v;τ)=exp⁡(ziv/τ)∑u∈Vexp⁡(ziu/τ)e~i=∑v∈Vpi(v;τ)Ev\begin{aligned} p_i(v;\tau) &= \frac{\exp(z_{iv}/\tau)}{\sum_{u\in V}\exp(z_{iu}/\tau)} \\ \tilde e_i &= \sum_{v\in V}p_i(v;\tau)E_v \end{aligned}

Все позиции оптимизируются совместно как смеси эмбеддингов допустимых токенов.

03 · ОПТИМИЗАЦИЯ

Охлаждение и функция потерь

τ(q)=τ0(τ1τ0)q,q∈[0,1]Hˉ(p)=−1nlog⁡∣V∣∑i∑vpi(v)log⁡pi(v)L=1−cos⁡ ⁣(f(e~1:n),t)+λq2Hˉ(p)\begin{aligned} \tau(q) &= \tau_0\left(\frac{\tau_1}{\tau_0}\right)^q,\quad q\in[0,1] \\ \bar H(p) &= -\frac{1}{n\log|V|}\sum_i\sum_v p_i(v)\log p_i(v) \\ \mathcal L &= 1-\operatorname{cos}\!\left(f(\tilde e_{1:n}),t\right)+\lambda q^2\bar H(p) \end{aligned}

Геометрическое охлаждение и штраф за энтропию постепенно переводят мягкий поиск к токенам.

04 · ДИСКРЕТИЗАЦИЯ

Почему нет полного уточнения

x^i=arg max⁡v∈VzivCsweep∝n∣V∣\begin{aligned} \hat x_i &= \operatorname*{arg\,max}_{v\in V}z_{iv} \\ C_{\mathrm{sweep}} &\propto n|V| \end{aligned}

Покоординатный проход потребовал бы оценить весь словарь для каждой позиции, поэтому остаётся только argmax-проверка.

05 · МАТРИЦЫ ОПТИМИЗАЦИИ

Что растёт вместе с длиной

Z∈Rn×∣V∣,1≤n≤100Pτ=softmax⁡row(Z/τ)∈Rn×∣V∣E∈R∣V∣×768X~=PτE∈Rn×768Xin=[eCLS;X~;eSEP]∈R(n+2)×768\begin{aligned} Z &\in \mathbb{R}^{n\times|V|},\quad 1\le n\le 100 \\ P_\tau &= \operatorname{softmax}_{\mathrm{row}}(Z/\tau)\in\mathbb{R}^{n\times|V|} \\ E &\in\mathbb{R}^{|V|\times768} \\ \tilde X &= P_\tau E\in\mathbb{R}^{n\times768} \\ X_{\mathrm{in}} &= [e_{\mathrm{CLS}};\tilde X;e_{\mathrm{SEP}}]\in\mathbb{R}^{(n+2)\times768} \end{aligned}

Число строк Z и Pτ равно длине кандидата, поэтому объём оптимизируемых данных растёт линейно с n. Матрица E заморожена: градиент изменяет только логиты Z.

06 · МАТРИЦА ПРОЕКЦИИ

Как строится PCA-карта

A∈Rm×768,μ=1m∑j=1mAjAc=A−1μ⊤=UΣW⊤Y=AcW:,1:2∈Rm×2\begin{aligned} A &\in\mathbb{R}^{m\times768},\qquad \mu=\frac{1}{m}\sum_{j=1}^{m}A_j \\ A_c &= A-\mathbf{1}\mu^\top=U\Sigma W^\top \\ Y &= A_cW_{:,1:2}\in\mathbb{R}^{m\times2} \end{aligned}

Строки A — целевой вектор и уникальные контрольные кандидаты. SVD центрированной матрицы выбирает два главных направления, а Y хранит их двумерные координаты.

РЕЗУЛЬТАТЫ

Основные показатели

01

Hard cosine

chard=cos⁡ ⁣(f(x^),t)c_{\mathrm{hard}} = \operatorname{cos}\!\left(f(\hat{x}), t\right)

Сходство цели с представлением итоговой дискретной последовательности. Это основная метрика результата.

02

Continuous cosine

csoft=cos⁡ ⁣(f(e~1,…,e~n),t)c_{\mathrm{soft}} = \operatorname{cos}\!\left(f(\tilde e_1,\ldots,\tilde e_n), t\right)

Сходство цели с мягкой последовательностью во время оптимизации; показывает потенциал поиска до дискретизации.

03

Entropy

Hˉ(p)=−1nlog⁡∣V∣∑i∑vpi(v)log⁡pi(v)\bar H(p) = -\frac{1}{n\log|V|}\sum_i\sum_v p_i(v)\log p_i(v)

Средняя неопределённость распределений по словарю. Её снижение означает выбор более конкретных токенов.

04

PCA-проекция

Y=(X−Xˉ)W1:2Y = (X - \bar X)W_{1:2}

Двумерная карта цели и контрольных кандидатов. Она показывает траекторию, но её оси не имеют отдельного смысла.