Making Spoken Dialogue Models See the Face
An explicit turn-taking objective unlocks visual turn cues that next-token audio prediction ignores音声対話モデルに顔を「見せる」
明示的なターンテイキング目的関数が、next-token 音声予測では無視される視覚的ターン交代手がかりを引き出す
Anonymous authors — under review匿名著者 — 査読中
Paper, arXiv & code: coming soon論文・arXiv・コード: 準備中🤗 FaceDuplex-7B weights: released upon publication🤗 FaceDuplex-7B 重み: 採録後に公開
A spoken dialogue model that watches its partner's face —
and sees turn changes coming ~1 second early. On a contamination-free
held-out split, the face lifts turn-yield ROC-AUC from 0.705 to
0.818 (+0.113), and a presence-controlled test attributes
~83% of that gain to facial dynamics — not the face's mere presence.対話相手の顔を見ながら話す音声対話モデル —
話者交代を約 1 秒前に予見する。学習と重複しない held-out で、顔は
turn-yield ROC-AUC を 0.705 → 0.818(+0.113)へ引き上げ、presence 対照により
その利得の約 83% が顔の動き由来(顔の単なる有無ではない)と示される。
One real hand-off, two predictions. Left: the speaker's face, drawn from the
61 coefficients the model actually sees. Right: the model's running prediction that
the turn is about to be handed over — green
watching the face, gray with the face hidden.
Only the green curve rises before the red hand-off line. 🔊 Unmute for the dialogue.
1 つの実際の話者交代、2 つの予測。左: モデルが実際に見ている 61 係数から
描いた話者の顔。右: 「まもなくターンが譲られる」というモデルの逐次予測 —
緑は顔を見ている時、
灰は顔を隠した時。
赤い交代線の前に立ち上がるのは緑だけ。🔊 音を出すと対話が聞こえます。
TL;DR — We feed a full-duplex spoken dialogue model (Moshi-style) a 12.5 Hz
facial-coefficient stream of its interlocutor. The face demonstrably carries
turn-taking signal, but the standard next-token audio objective ignores it
entirely. Adding one lightweight auxiliary turn-yield head makes the model use
it: on a contamination-free held-out split, zeroing the face drops turn-yield
ROC-AUC from 0.818 to 0.705 (Δ +0.113, 95% CI [+0.110, +0.117]). A
presence-preserving control — faces replaced by a constant, so coefficient presence
is kept but expression removed — attributes +0.094 of the +0.113 to genuine
facial dynamics; only +0.019 is the face's bare presence.
New: scaling the same recipe to 1,270 h routes the face into
generation itself — see below.
要約 — full-duplex 音声対話モデル(Moshi 系)に、対話相手の顔係数ストリーム
(12.5 Hz)を入力する。顔にはターンテイキング信号が確かに含まれるが、標準的な
next-token 音声予測はそれを完全に無視する。軽量な turn-yield head を 1 つ
足すだけでモデルは顔を使い始め、学習と重複しない held-out で顔をゼロ化すると
turn-yield ROC-AUC は 0.818 → 0.705(Δ +0.113, 95% CI [+0.110, +0.117])。
さらに presence 保持の対照(顔を定数で置換=係数の有無は残し表情だけ除去)により、
+0.113 のうち +0.094 が実際の顔の動き由来で、顔の単なる有無は +0.019 にすぎない。
新結果: 同じレシピを 1,270 h にスケールさせると、顔は生成そのものに
ルーティングされる — 下記参照。
The three-step result3 段階の結果
1
The face carries the signal顔は信号を持っている
AUC 0.76
A simple logistic probe predicts upcoming turn-yield from 1-second windows of
raw facial coefficients alone (shuffled-label control: 0.50).単純なロジスティック回帰プローブが、生の顔係数の 1 秒窓だけから直後のターン譲渡を
予測できる(ラベルシャッフル対照: 0.50)。
2
A vanilla dialogue LM ignores it素の対話 LM はそれを無視する
Δ ≈ 0
Trained with next-token audio prediction only, zeroing the face input changes
nothing — the LM routes the face into a subspace orthogonal to its audio
predictions.next-token 音声予測のみで学習すると、顔入力をゼロにしても何も変わらない —
LM は顔を音声予測と直交する部分空間へ押し込めてしまう。
3
One auxiliary head unlocks it補助 head 1 つで解放される
+0.113 AUC
A single BCE turn-yield head (predict floor hand-over ~1 s ahead) makes the
same architecture exploit the face — held-out, 95% CI [+0.110, +0.117]; a
presence-controlled test shows +0.094 of it is genuine facial dynamics.BCE の turn-yield head(約 1 秒先の発話権譲渡を予測)を 1 つ足すだけで、同じ
アーキテクチャが held-out で顔を活用する。95% CI [+0.110, +0.117]、presence 対照で
+0.094 が顔の動き由来。
Architectureアーキテクチャ
緑色の turn-yield head が本研究の介入のすべて — これが無いと顔入力はただの死荷重になる。
Face input improves turn prediction — on held-out data顔入力はターン予測を改善する — held-out で
Turn-yield ROC-AUC on a contamination-free held-out split (MultiDialog
test_freq+test_rare, 828 unseen conversations, 60k frames), paired over identical
frames. Real face 0.818 vs face zeroed 0.705 (Δ +0.113, 95% CI
[+0.110, +0.117]). A presence-only control — each active frame replaced by a
constant vector, keeping the coefficient's presence but removing all expression —
sits at 0.724: so +0.019 is the face's bare presence and +0.094 is
genuine facial dynamics.
学習と重複しない held-out(MultiDialog test_freq+test_rare、未学習 828 会話、6 万
フレーム)での turn-yield ROC-AUC、同一フレーム上でペア比較。実顔 0.818 vs
顔ゼロ化 0.705(Δ +0.113, 95% CI [+0.110, +0.117])。presence のみの対照
(active フレームを定数ベクトルで置換=係数の有無は残し表情を除去)は 0.724:
つまり +0.019 が顔の単なる有無、+0.094 が実際の顔の動き由来。
Which facial cue carries it?どの顔手がかりが効くか?
Leave-one-group-out attribution on the held-out split (zero one facial group, keep
the rest real — so the face's presence is preserved and only that channel's
information is removed). Gaze leads (−0.044), then mouth (−0.019), then head
pose (−0.009); brow ≈ 0 (noise). Head translation is structurally zeroed at train
and eval, so it contributes nothing by design. Because presence is held fixed here,
these drops measure facial dynamics, not the presence confound.
held-out 上の leave-one-group-out 寄与分析(1 つの顔グループだけゼロ化、残りは実値
=顔の有無は保ったまま、その情報だけ除去)。視線が最大(−0.044)、次に
口(−0.019)、頭部姿勢(−0.009)、眉 ≈ 0(ノイズ)。頭部並進は学習・評価で構造的に
ゼロ化され、設計上寄与しない。presence を固定しているため、これらの低下は顔の
動きを測っており、presence confound ではない。
Group removed除外グループ
AUC drop (held-out)AUC 低下 (held-out)
Reading解釈
eye / gaze視線
−0.044
leading cue主要な手がかり
jaw / mouth口
−0.019
second2 番手
head pose (rotation)頭部姿勢(回転)
−0.009
minor小さい
brow眉
≈ 0
noiseノイズ
head translation頭部並進
0.000
zeroed by design設計によりゼロ化
On held-out MultiDialog, gaze is the leading cue, followed by mouth. Because
each row keeps the rest of the face real (presence preserved), these drops isolate
the channel's information, consistent with the presence-controlled result
above. The effect replicates cross-corpus on Seamless Interaction — whose
continuous-video capture removes the per-turn presence coupling entirely — with
ΔAUC +0.096 (95% CI [+0.092, +0.101], 414 conversation-disjoint
dialogues); there the leading cue shifts to head pose, tracking the
body-framed camera. The face is a robust cue; its dominant channel follows what the
camera captures.
held-out MultiDialog では視線が主要な手がかり、次いで口。各行は顔の残りを実値に
保つ(presence 保持)ため、これらの低下はそのチャネルの情報量を切り出しており、
上の presence 対照と整合する。効果は Seamless Interaction でも cross-corpus 再現
(連続映像撮影でターンごとの presence 結合が原理的に無い)— ΔAUC +0.096
(95% CI [+0.092, +0.101]、会話非重複 414 対話)。ただし主要手がかりは頭部姿勢に
移り、全身フレームのカメラ構図を追う。顔は頑健な手がかりであり、支配的チャネルは
カメラが何を捉えるかに従う。
New: scale routes the face into generation新結果: スケールが顔を生成へルーティングする
Everything above is a prediction result — and at ~160 h of training, that is
all there is: the facial input projections stay near their zero initialisation
(<2% of the input embedding norm) and zeroing the face leaves the model's own
speech untouched. Scaling the same recipe to combined face-to-face corpora
changes this qualitatively. The facial share of the input embedding grows
<2% → 28% → 35% across 0.16 / 0.45 / 1.27 kh of training
data, and at 1,270 h (FaceDuplex-7B, the largest open face-to-face
full-duplex model to date) the partner's face causally changes the model's own
speech.
ここまでは予測の結果 — そして学習 ~160 h ではそれが全てだった: 顔入力の射影は
ゼロ初期化近傍に留まり(入力埋め込みノルムの <2%)、顔をゼロ化してもモデル自身の
発話は変わらない。同じレシピを複合 face-to-face コーパスへスケールさせると
これが質的に変わる。顔の入力埋め込み比率は学習データ 0.16 / 0.45 / 1.27 kh に
わたり <2% → 28% → 35% と単調に成長し、1,270 h(FaceDuplex-7B、
公開 face-to-face full-duplex モデルとして過去最大)では相手の顔がモデル自身の発話を
因果的に変える。
4
The face makes it talk顔がモデルを話させる
60.5 vs 45.6 wpm
Free-running generation on held-out prompts (same prompts & seed):
zeroing the partner's face cuts the model's speech rate by 25%.held-out プロンプトでの自由生成(同一プロンプト・シード): 相手の顔を
ゼロ化するとモデルの発話量は 25% 減る。
5
…and talk coherently…しかも一貫して
PPL 95 vs 318
Generated-text perplexity is 3.3× lower with the real face than with
it zeroed (human reference: 124).生成テキストの perplexity は、実顔ありの方がゼロ化より 3.3 倍低い
(人間参照: 124)。
6
…while prediction gets stronger…予測も強くなる
AUC 0.84 / 0.89
Held-out turn-yield AUC reaches 0.841 (MultiDialog) and 0.888 (Seamless) —
the latter beating even a Seamless-only specialist model (0.791). Face
ΔAUC: +0.082 / +0.096, CIs exclude zero.held-out turn-yield AUC は 0.841(MultiDialog)/ 0.888(Seamless)に到達 —
後者は Seamless 専用モデル(0.791)をも超える。顔の ΔAUC は +0.082 / +0.096、
CI はゼロを含まない。
Honest scope: a coarse binary floor-taking statistic is unchanged by the face (0.77
both arms) — the generative effect is on how much and how coherently the model
speaks. Generation metrics are automatic (UTMOS / ASR-based); human evaluation is
future work.
正直な範囲注記: 粗い二値 floor-taking 統計は顔で変わらない(両アームとも 0.77)—
生成側の効果は発話量と一貫性に現れる。生成指標は自動評価(UTMOS / ASR ベース)で、
人手評価は今後の課題。
Watch it run動作デモ
Real footage version — the same phenomenon on an unedited Seamless
Interaction conversation between two human participants (nothing here is
generated; the model runs as an observer), held out from training, through
the released 1,270 h model. Left: both speakers' actual video — A
(speaking) and B (listening) — so you can judge for yourself which facial
movements precede the hand-off. What the model receives is not these pixels
but the 61 expression coefficients (blendshapes + head pose) extracted per speaker
from exactly this footage, plus both audio channels (top-right strips) — yet its
belief that A is about to hand over the turn
(green) rises about a second before the
actual hand-off, and stays flat when the coefficient streams are zeroed
(gray). 🔊 Unmute for the
dialogue. Footage: Seamless Interaction (Meta AI, CC-BY-NC 4.0).
実映像版 — 未編集の Seamless Interaction 会話(参加者 2 名とも実在の人間。
生成物は一切なく、モデルは観察者として走る)を、学習に未使用の held-out から公開版
1,270 h モデルに通した同じ現象。左は両話者の実際の映像 — A(話し手)と
B(聞き手)— で、どの表情の動きが話者交代に先行するかを自分の目で確かめられる。
モデルが受け取るのはこの映像のピクセルではなく、この映像から話者ごとに抽出した
61 次元の表情係数(blendshape + 頭部姿勢)と両者の音声(右上の波形)だけ — それでも
「A がまもなくターンを譲る」というモデルの確信
(緑)は実際の交代の約 1 秒前に立ち上がり、
係数ストリームをゼロ化すると(灰)
フラットなまま。🔊 音を出すと対話が聞こえます。映像: Seamless
Interaction(Meta AI、CC-BY-NC 4.0)。
A single forward pass of the trained checkpoint over a held-out MultiDialog
conversation — no cherry-picked generation, just the model's per-frame turn-yield
belief plotted against what actually happened, with and without the face.
学習済みチェックポイントによる held-out MultiDialog 会話の単一 forward pass。生成の
チェリーピックではなく、モデルのフレームごとの turn-yield 確信度を、顔あり/なしで
実際に起きたことと並べて描画しただけのもの。
A methodological warning about input ablation入力 ablation についての方法論的警告
Our first attribution attempt zeroed input dimensions post-hoc at eval time.
Because the face encoder normalizes across all 61 dims, partial zeroing pushes the
input out of distribution and fabricates attribution: head translation — a
constant per clip — appeared to carry a massive +0.278 AUC drop. Re-training with
the same dims zeroed consistently at train and eval time removes the artifact
(true translation contribution: 0.000). Post-hoc input zeroing through a
normalization layer is not a valid ablation. (Relatedly, every number on this page is
reported on a contamination-free held-out split, since the dataset's per-turn videos
couple coefficient presence to the turn label — see the presence-controlled result.)
最初の寄与分析では、評価時に入力次元を事後的にゼロ化していた。顔エンコーダは
61 次元全体で正規化するため、部分的なゼロ化は入力を分布外に押し出し、寄与を捏造する:
クリップごとの定数にすぎない頭部並進が +0.278 という巨大な AUC 低下を持つように見えた。
同じ次元を学習時と評価時に一貫してゼロ化して再学習するとこのアーティファクトは消える
(並進の真の寄与: 0.000)。正規化層を通した事後的な入力ゼロ化は有効な ablation ではない。
(関連して、本ページの数値はすべて学習非重複の held-out で報告している。データセットの
ターン別動画は係数の有無を turn ラベルと結合させるため — 上の presence 対照を参照。)
BibTeX
@article{anonymous2026face,
title = {Making Spoken Dialogue Models See the Face: An Explicit Turn-Taking
Objective Unlocks Visual Turn Cues That Next-Token Audio Prediction Ignores},
author = {Anonymous},
journal = {Under review},
year = {2026}
}