\documentclass[japanese,other]{jnlp_3.6}
\usepackage{jnlpbbl_2.2}
\usepackage[dvipdfmx]{graphicx}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{url}
\usepackage{hangcaption_jnlp}
\usepackage{array}
%%%%\usepackage{udline}
%%%%\setulminsep{1.2ex}{0.2ex}
%%%%\let\underline=\ul
\allowdisplaybreaks


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% author's definition
%%%%\usepackage{amsmath,amssymb,bm,mathcomp}
\usepackage{bm}
%%%%\usepackage{url}
%%%%\usepackage{xcolor}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\Volume{30}
\Number{3}
\Month{September}
\Year{2023}
%%%%\Issuetitle{「　　　　」特集号}


\setcounter{page}{1094}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\jsubject{学会記事}
\jtitle{「自己注意機構における注意の集中が相対位置に依存する仕組み」\\ 
の研究経緯}
\jauthor{山本　悠士\affiref{Author_1}}
\etitle{Background of the research on ``How the Concentration of Attention Depends on Relative Position in the Self-Attention Mechanism}
\eauthor{Yuji Yamamoto\affiref{Author_1}} 

\headauthor{山本}
\headtitle{「自己注意機構における注意の集中が相対位置に依存する仕組み」の研究経緯}

\affilabel{Author_1}{東京理科大学}{Tokyo University of Science}



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
\maketitle


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{はじめに}

本稿では言語処理学会第29回年次大会 (NLP2023) において優秀賞を受賞した
「自己注意機構における注意の集中が相対位置に依存する仕組み」について，
論文中の各分析手法とその結果に対する私の解釈を交えながら研究の経緯を説明します．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% fig. 1 and 2
\begin{figure}[b]
\begin{minipage}[b]{171pt}
\setlength{\captionwidth}{171pt}
\begin{center}
\includegraphics{30-3ia22f1.pdf}
\end{center}
\hangcaption{第1層の1個目のヘッドにおけるアテンション行列（先頭15トークン目まで）}
\label{fig:atten}
\end{minipage}
\hfill
\begin{minipage}[b]{234pt}
\setlength{\captionwidth}{234pt}
\begin{center}
\includegraphics{30-3ia22f2.pdf}
\end{center}
\hangcaption{第1層の1個目のヘッドにおける，直交変換されたクエリとキーの5列目の成分（先頭64トークン目まで）}
\label{fig:wave}
\end{minipage}
\end{figure}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{論文の概要}

自己注意機構の計算過程で得られるアテンション重み行列を可視化すると，
各トークンに対応する出力が文章中の他のトークンに依存する様子を観察することができます．
この方法を用いて BERT のアテンション重みを観察すると，
一部のヘッドではアテンションが各トークンの左または右側にある周辺のトークンに
集中することが知られています（図 \ref{fig:atten}）\cite{clark-etal-2019-bert}．
本研究では，BERT が文脈に依存した埋め込みを出力できる理由を明らかにするための第一歩として，
アテンションが相対位置に依存して集中する現象を分析しました．
結果として，学習に基づく位置埋め込みを用いた自己注意機構には，次の3つの性質：
\begin{itemize}
  \item 絶対位置埋め込みは学習により周期性を獲得する．
  \item 自己注意機構は，学習された位置埋め込みに存在する周期性を隠れ状態から抽出できる．
  \item クエリとキーの間には位相にズレが存在し，アテンションはこのズレの方向に向く\footnote{本研究では，各トークンの埋め込みを並べた行列 $X\in\mathbb{R}^{T\times d}$（$d$: 埋め込みの次元数,~$T$: 入力トークン数）を ``長さが $T$ の時系列を $d$ 個束ねたもの'' と捉えています．}．
\end{itemize}
があり（図\ref{fig:wave}），これらが相対位置に依存したアテンションの集中の
原因となっていることを示しました．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{研究テーマ選択}

まず，Transformer \cite{NIPS2017_3f5ee243} における，正弦波位置埋め込みの定義と，
その幾何的解釈について説明し，
その後，BERT \cite{devlin-etal-2019-bert} の絶対位置埋め込みを分析したいと思った経緯を紹介します．

長さ $T$ のトークン列に対する
正弦波位置埋め込み $PE \in \mathbb{R}^{T\times 2n}$ は
下式で定義されます．
\[
\begin{aligned}
 PE(t,2i) &= \sin(\omega_i t) \\
 PE(t,2i+1) &= \cos(\omega_i t)  
\end{aligned}
\qquad
(\omega_i = 10000^{-i/n})
\]

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% fig. 3
\begin{figure}[b]
\begin{center}
\includegraphics{30-3ia22f3.pdf}
\end{center}
\caption{正弦波位置埋め込みのイメージ}
\label{fig:sin_image}
\end{figure}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

つまり，位置埋め込みは，$n$ 種類の周波数 $\omega_i$ の正弦波と余弦波のペア
$\{ \sin(\omega_i t),~\cos(\omega_i t) \}_i$ で構成されています．
これを幾何的に考えると，位置埋め込みは空間内に $n$ 通りの円を描いていて，
それぞれの円上に周波数 $\omega_i$ に応じた間隔で各トークンが配置されると解釈できます
（図 \ref{fig:sin_image}）．
これは，時計の長針と短針が周期の異なる2通りの円を描いていていることに似ています．
時計を使えば 2 つの時刻のうちどちらが先かを（12時間以内であれば）判定できるように，
Transformer も正弦波位置埋め込み（すなわち，複数の周期的な成分）により
トークン同士の相対位置関係を認識し，文脈に基づいて推論できると期待されています．

ただし，BERT の位置埋め込みは，関数として定義された正弦波位置埋め込みではなく
ゼロから学習するパラメータである絶対位置埋め込みが採用されています．
BERT には，入力層以降に位置に依存したパラメータが存在しないことから，
位置埋め込みは文脈に基づく推論をするためには欠かせないと考えられています．
このような背景により，BERT の推論過程の解釈を目的とした研究で，
位置埋め込みには興味の目が向けられています\cite{wang2021on,wang-chen-2020-position}．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% fig. 4
\begin{figure}[t]
\begin{center}
\includegraphics{30-3ia22f4.pdf}
\end{center}
\hangcaption{bert-base-uncased の位置埋め込み $\bm{p}_i \in \mathbb{R}^{768} ~ (i=2,3,\dots,32)$ の階差配列に対して主成分分析を適用した．ただし，文頭トークン [CLS] に対応する位置埋め込み $\bm{p}_1$ は表現が特殊なため除いた．}
\label{fig:pca}
\end{figure}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

私が位置埋め込みに興味を抱いたきっかけは，
指導教員の松崎先生から提示された卒研テーマ一覧資料にあった，
BERT の位置埋め込みの主成分のグラフです（図 \ref{fig:pca}）．
図より，BERT の位置埋め込みも正弦波位置埋め込みと同様に，周期性を獲得していることから，
BERT の位置埋め込みは正弦波位置埋め込みの一部を再現しようとしているように見えます．
私は，制約を持たない深層学習モデルが人間と同じ感覚を
獲得しているかのように感じ，「なぜだろう」と考え始めたことがこの研究のきっかけでした．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{現象の解釈と分析の方針}

本節では，図 \ref{fig:atten} のようにアテンションが集中する位置が偏る原因を
どのような手順で辿ったのかを解説します．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{全体の方針の概要}

自己注意機構の入力を $X$ とすると，アテンション重みは，
クエリ $XW_Q$ とキー $XW_K$ の積 $XW_QW_K^TX^T$ に基づいて計算されます．
この積は，入力 $X$ と線形変換した入力 $XW_KW_Q^T$ との間で
類似度を測っているとみることができます．
もし，(1) $X$ に円周上に分布するような成分（すなわち，ある周期の正弦波と余弦波のペア）が存在し，
(2) $W_KW_Q^T$ が回転行列だとすると，
$W_KW_Q^T$ は各トークンの位置をずらす変換であると解釈できます．
例えば，図 \ref{fig:sin_image} の青色の円を時計回りに 90\textdegree 回転させると
Nice → to, to → meet,~\dots と $i$ 単語目の埋め込みが $i+1$ 単語目の埋め込みに近づきます．
その結果，各単語からのアテンションは右隣の単語へ集中します．
このような効果は (1), (2) を示せれば実際に発生していると言えます．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{自己注意機構の入力に周期性はあるのか}

研究初期は，自己注意機構の入力 $X$ に対して分析をしていました．
しかし，仮に $X$ に主成分分析などの手法を適用して周期的な表現が得られたとしても，
それはモデルから得た $X$ をモデルの外で変換して得たものであるため，
自己注意機構が実際にその表現を利用しているかは定かではないのではないかという疑念がありました
\footnote{極論，$W_KW_Q^T = O$ だと $X$ が興味深い表現でも自己注意機構はその表現に依存しません．}．
事前学習モデルを提供するライブラリである
\texttt{transformers}\footnote{\url{https://github.com/huggingface/transformers}}
を使用している場合，自己注意機構の入力 $X$ は簡単に取得できます．
当時は，その手軽さに甘えてしまったことで視野が狭まり，
自己注意機構の内部成分を分析していませんでした．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{クエリとキーに周期性はあるのか}
\label{sec:qk}

前項の方針のもとでは，主成分分析などにより $X$ に直交行列 $U$ を掛けて $XU$ とすることで，
$X$ から周期的な表現が得られないか試していました．
そこで，ふと，推論に周期的な成分が必要なのであれば，クエリ $XW_Q$ やキー $XW_K$ のパラメータ $W_Q,W_K$ は，
直交行列 $U$ と同じく，埋め込みに対する視点を変えるはたらきをしているのではないか
という発想が浮かびました．
そこで，特異値分解によりパラメータの積を $W_QW_K^T = U_QSU_K^T$ と分解することで，
クエリとキーの積を $XW_Q(XW_K)^T = (XU_Q)S(XU_K)^T$ に変形しました．
これで得られた，入力 $X$ を直交変換した行列 $XU_Q,XU_K$ を，
それぞれクエリとキーの本質的な表現と解釈しました．

第一層の一個目のヘッドでクエリ $XU_Q$ とキー $XU_K$ を計算すると，
きれいな周期的な成分になります（図 \ref{fig:wave}）．
このような方法で，一部のヘッドには，入力 $X$ に存在する周期性を抽出する軸が
存在することが分かりました．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{自己注意機構のパラメータは回転行列を含んでいるのか}

前項でキーを $XU_K$ と再定義しました．特異ベクトルの直交性 $U_QU_Q^T=I$ を利用すると，
キーをさらに $XU_K = X(U_QU_Q^T)U_K = (XU_Q)(U_Q^TU_K)$ と変形することができます．
これは，キー $XU_K$ がクエリ $XU_Q$ の直交変換であり，
幾何的に考えれば，キーとはクエリを回転あるいは反転したものであることを意味しています．
原論文では $U_Q^TU_K$ の固有値と固有ベクトルを分析することで，
回転変換が周期的な成分が存在する次元に対して施されていたことを確認しました．

以上，本節で解説した経緯から，中間層にある自己注意機構は，位置埋め込みに存在する周期的な成分を抽出することができ，
さらに，クエリとキーをトークン位置方向に相対的にずらしているということを明らかにすることができました．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{今後の展望}

どのようにして各トークンが周辺トークンに注意を当てているのかは大体分かりましたが，
なぜ BERT がそのようなことをする必要があったのかという問いは段違いに難しいかもしれません．
深層学習モデルを相手にすると，今後もこのような謎に遭遇し続けることになります．
私は強い疑問を抱くと他のやるべきことに手がつかなくなる性格なので，
並列計算できるモデルに共感するのは難しそうですが，
思考が本業の研究者としては良い性格だと自分に言い聞かせながら
「なぜ？」と感じたことを一つずつ理解していけたらと思っています．



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\bibliographystyle{jnlpbbl_1.7}
\bibliography{22refs}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{biography}

\bioauthor{山本　悠士}{%
2023年東京理科大学 理学部第一部 応用数学科 卒業．
2023年，現在，東京理科大学大学院 理学研究科 応用数学専攻 修士課程 1 年．
言語処理学会会員．
}

\end{biography}



\end{document}


