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


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Volume{29}
\Number{1}
\Month{March}
\Year{2022}
%%%%\Issuetitle{「　　　　」特集号}

\setcounter{page}{248}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\jsubject{学会記事}
\jtitle{「SHAPE: Shifted Absolute Position Embedding for Transformers」の研究を通して}
\jauthor{清野　　舜\affiref{Author_1}\affiref{Author_2}}
\etitle{What I have learned from the research of ``SHAPE: Shifted Absolute Position Embedding for Transformers''}
\eauthor{Shun Kiyono\affiref{Author_1}\affiref{Author_2}} 

\headauthor{清野}
\headtitle{「SHAPE: Shifted Absolute Position Embedding for Transformers」の研究を通して}

\affilabel{Author_1}{理化学研究所}{RIKEN}
\affilabel{Author_2}{東北大学}{Tohoku University}



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


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

本稿では，EMNLP2021に採択された論文``SHAPE: Shifted Absolute Position Embedding for Transformers'' \cite{kiyono-etal-2021-shape}について，研究の概要に触れた後，着想に至った経緯や論文化できた要因を振り返りたい．
「Transformerの位置表現の改良」という非常に競争的な分野において，論文採択にこぎつけるための原動力となったこれまでの泥臭い取り組みの紹介も合わせて楽しんでもらえれば幸いである．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section*{研究の概要}

本研究ではTransformerの外挿能力を題材として，高速かつ汎化性能の高い位置表現手法の開発に取り組んだ．
ここで外挿能力とは，訓練データ中に登場しない未知の長さの系列をモデル化する能力のことを指す．
単純には，訓練データよりも長い系列をモデルに与えた場合の性能を通して外挿能力を評価することができる．
図\ref{fig:overview}に本研究の概要図を示す．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% fig. 1
\begin{figure}[t]
\begin{center}
\includegraphics{29-1ia25f1.pdf}
\end{center}
\caption{本研究の対象とする位置表現手法の概要図}
\label{fig:overview}
\end{figure}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

通常，Transformer \cite{vaswani:2017:NIPS}では\textbf{絶対位置表現 (Absolute Position Embedding; APE) }が用いられている．
絶対位置表現では，系列中の各単語に対して専用の位置ベクトルを付与し，単語埋め込みとの和を取ることによって位置を表現する．
絶対位置表現は，その単純さゆえに非常に高速に動作する一方で，外挿が困難であることが知られている．
具体的には，推論時に全訓練データよりも長い系列が与えられた場合，系列中には未知の（訓練中に観測されていない）位置が発生する．
これは未知の位置ベクトルとして作用し，外挿を困難にしてしまう．
Transformerの絶対位置表現においては，正弦波と余弦波の組み合わせによって位置ベクトルを表現することが多い．
これは波の周期性を利用することで未知の位置ベクトルの悪影響を緩和しようとする試みだが，問題の完全な解決には至っていない．

未知の位置ベクトル問題の解決に向けて，近年では\textbf{相対位置表現 (Relative Position Embedding; RPE) }の研究が盛んに行われている\cite{shaw:2018:naacl,raffel:2020:t5}．
通常，相対位置表現では系列中の単語間の相対距離を，Transformer内部の注意機構における追加の特徴量として利用することで位置を表現する．
同じTransformerであっても，絶対位置よりも相対位置を用いた場合のほうが外挿能力が高いことが報告されている\cite{neishi:2019:conll}．
これは，相対位置表現がシフト不変性\footnote{空間上の位置シフトが関数の出力に影響しない性質のこと．}を実現し，位置情報に対する汎化を容易にしていること，
また，モデルの内部で絶対位置を明に扱わないため，未知の位置ベクトル問題が原理的に生じないことが原因だと考えられる．
一方で，相対位置表現も万能な手法ではない．
例えば，注意機構に新たに特徴量を追加する性質上，注意機構の軽量化を目指す一連の方法論\cite{tay2020efficient}との組み合わせが困難であるだけではなく，絶対位置表現よりもモデルの計算時間が長くなってしまう．

これらの背景をもとに．本研究では，絶対位置表現の枠組みを用いることで計算速度を担保しつつ，相対位置表現の利点を享受することを目指した．
具体的には，相対位置表現の実現しているシフト不変性を，絶対位置表現の枠組みで実現することに取り組んだ．
提案手法の\textbf{Shifted Absolute Position Embedding (SHAPE)}では，Transformerの学習中，ミニバッチに含まれる各系列の位置インデックスを乱数でシフトさせる．
これにより，モデルは絶対位置を利用した学習が困難になるため，相対位置を利用した学習が行われると期待できる．
機械翻訳を題材とした実験では，SHAPEは相対位置表現と同等の外挿能力を有しつつ，絶対位置表現とほとんど同等の速度で動作することが確認できた．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section*{着想}

本研究の着想を得たのは，2021年2月頃，研究室のチャットツール上で共有されたNeishiらの論文\cite{neishi:2019:conll}を読んだときのことだった．
Neishiらは，絶対位置表現を使う場合，Transformerの外挿能力はRNNベースのモデルを下回ること，また，Transformerが位置情報に過学習してしまうことがその原因であると報告していた．
入力系列の長さに応じてモデル間の性能の優劣が入れ替わるという知見は示唆に富むもので，外挿能力の研究に興味を持つきっかけとなった．
同論文中では，RNNベースの軽量な計算機構をTransformerに追加することで相対位置表現を実現できることや，その高い効果が示されていた．
このとき，追加の計算機構を用意するという提案手法を複雑に感じ，論文中の知見をよりシンプルに活用できないだろうかと考えたのが，本研究の着想を得るきっかけとなった．
より具体的には，仮に絶対位置表現において\textbf{位置に対する過学習}が問題となるのであれば，学習中に\textbf{正則化}を取り入れることで過学習を抑制し，外挿性能を改善できるのではないか，という素朴なアイデアが芽生えた．
結果的に，正則化というアイデアはSHAPEにおける乱数を用いたシフト操作として実現されている．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section*{論文執筆}

提案手法 (SHAPE) はその単純さゆえに数行で実装可能であったため，実装にそれほど時間はかからなかった\footnote{該当箇所：\url{https://github.com/butsugiri/shape/blob/main/onmt/modules/embeddings.py#L64-L75}}．
手元のベースラインシステムに提案手法を組み合わせて，絶対位置表現からの外挿能力の向上を確認し，既存の位置表現手法との性能比較などを行った上で，論文執筆に取り組んだ．
EMNLPに投稿した論文は手法の単純さとその効果が評価され，無事に採択されるに至った．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section*{熾烈な競争}

Transformerにおいて位置をどのように表現するか．
この問いをめぐっては，世界中の研究グループが熾烈な競争を繰り広げている．
例えば，位置表現のサーベイ論文\cite{dufter2021position}には40本以上の研究がまとめられているほか\footnote{当然これらはすべてTransformerの登場以後の研究である．}，arXivには位置表現の新規手法を提案する論文が毎週のように登場している．
実際，査読中には提案手法とほとんど同等の手法を提案しつつ，言語だけではなく複数のモーダルで実験した論文\cite{likhomanenko2021cape}が登場し，ひどく胃を痛めることとなった\footnote{同論文はその後NeurIPS2021に採択されたようである．}．
また，今回のEMNLPでは位置表現に取り組んだ研究が，本研究の他に少なくとも5本採択されている\footnote{``position''で予稿集のタイトルを検索した．}．
故に，仮にEMNLPに投稿できなかった場合，または不採択になっていた場合は，本研究はお蔵入りになっていた可能性が非常に高い．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section*{アイデアを高速に実装・論文化する}

本記事の締めくくりとして，この競争的な分野で短期間の間に論文採択に至ることができた要因を振り返ってみたい．

いま，成功の方程式（成功回数$=$試行回数$\times$成功率）\cite{kazawa}に基づいて，論文採択を「成功」として位置づけることにすると，
今回の成功は「試行回数」の項をうまく増やすことができた結果であると考えられる．
具体的には，実装にかかる時間や，一回の実験にかかる時間を短く抑えるための技術を身につけていたことで，大量の実験を回す（つまり，試行回数を増やす）ことができたのが，ポジティブに作用した．
例えば，筆者はニューラル機械翻訳モデルを日常的に訓練していたため，実験に用いるデータセットやフレームワークの選定に時間を要することなく，強力なベースラインを高速に構築することができた．
また，複数枚のGPUを活用できる実験環境を整備しておくことで，百枚以上のGPUで並列に実験を回し，効率的に仮説検証を行うことができた．
その結果，限られた時間で実験をまとめあげ，論文執筆に十分な時間を割くことができた\footnote{5/17締め切りのところ，5/5の時点で投稿可能な状態の原稿が完成していたようである．残りの時間は全て原稿のクオリティ向上に注ぎ込まれた．}．

試行回数増加の要因として，論文化されることなくお蔵入りになっている大量の研究テーマたちの存在も無視できない．
これまで，Transformerの改良にはじまり，スパン単位の情報を用いたデータ拡張，より良い事前訓練済み言語モデルの構築や機械翻訳モデルの文レベルのドメイン適応など，様々な研究に取り組み，そして全てに失敗してきた．
それぞれの研究テーマは，論文という形で花開くことはなかった．
しかし，その都度各テーマに全力で取り組んできたことが，先述の各種技術の習得や環境の構築に繋がっており，自分の血肉として役立ったことは間違いない．
今回の論文採択は，成功を掴むために試行を回し続けること，また，失敗を通して試行自体を更に増やしていく営みの重要さを内省する良い機会となった．
筆者の一連の取り組みが，研究の遂行に悩む誰かの助けとなれば幸いである．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\bibliographystyle{jnlpbbl_1.6}
\bibliography{25refs}


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

\bioauthor{清野　　舜}{%
2017年東北大学工学部卒業．
2019年東北大学大学院情報科学研究科博士前期課程修了．
2019年4月より理化学研究所革新知能統合研究センター．
また，2020年10月より東北大学大学院情報科学研究科博士後期課程学生．
言語処理学会，ACL各会員．
}

\end{biography}



\end{document}


