\label{sec:intro}近年，深層学習に基づく言語モデルは左右の文脈から単語の穴埋めをしたり\cite{devlin-etal-2019-bert}，テキストからテキストを生成したり\cite{Raffel2020t5}，次に続く単語を予測したり\cite{BrownGPT3NEURIPS2020_1457c0d6}して訓練することで，多くの自然言語処理タスクにおいて高性能を出せるような汎用的な表現を得ることができる．また，このようなモデルを元にファインチューニングを行うことで，数量推論のような複雑な処理が必要だと思われる問題においてもある程度高い性能を出せることが知られている\cite{geva-etal-2020-injecting}．数量推論の例を以下に示す．\begin{quote}Q.ジョンは5本ペンを持っていて、そのうち3本をマリーにあげた。ジョンは今ペンを何本持っている？A.2本\end{quote}このような問題に答えるためには，モデル内で「5」や「3」といった数や「あげる」という行為の意味を理解し，$5-3=2$という処理を行う必要がある．「数」は実社会の至る所に存在しているため数を用いて推論することは世界理解や経済的な知的活動のためにも必要不可欠であり，このようなモデルは実用的にも有用である\cite{thawani-etal-2021-representing,chen-etal-2019-numeracy}．では，そもそも言語モデルはどの程度数値計算ができるのだろうか．先ほどの例を以下のように単純化すると，純粋な数値計算能力を問う問題となる．\begin{quote}Q.$5-3=?$A.2\end{quote}複数の先行研究では線形代数や初等数学のような数値計算のタスクを通じて言語モデルが持つ潜在的な能力を測っており\cite{saxton2018analysing,Francois:2021}，現在のモデルによって解ける問題や解けない問題の性質が分かりつつある．言語モデルの数学的な能力を調査することは数量推論時に必要な数値計算能力を調査できるという意味で実用上役立つだけでなく，ニューラルネットワークの記号処理能力を理解するという科学的な興味にも繋がる．一方で，モデルがこのような問題を解く際，その内部で何が行われているかについての研究はほとんど行われていない．しかし，モデルの能力をよりよく理解するためには，入出力の結果だけでなくその内部での処理を分析することも非常に重要だと考えられる．内部処理を明らかにすることはモデルの解釈可能性を向上させ，実用的にはエンジニアやユーザが数量推論モデルをより信頼できるようにすることができる．また，科学的視点からは，ニューラルネットワークの記号処理能力を入出力を分析するだけでは判断できない部分まで詳細に理解することが可能になる．例えば，モデルはヒューリスティックではなく本当に数学的能力を獲得できているのか，すなわち汎化できているのかという議論\cite{Razeghi-etal-2022,patel-etal-2021-nlp}に対して新しい角度から証拠を提示することができる．モデル内部での処理を分析するため，本研究では数式とその\textbf{途中結果}に着目する．我々人間が$54-((258+314)-(143-96))$のような数式を解く時，まず$258+314=572,143-96=47$を計算して，次は$572-47=525$を計算して，というような\textbf{途中結果}を介した複数ステップに及ぶ推論を行っている．途中結果は任意の長さの数式を徐々に簡単化し，最終的な答えを出すための非常に重要な要素である．では，モデルはこのような途中結果を介した推論を行っているのだろうか？これを検証するためには，(a)モデル内部に途中結果が保存されていること(b)保存されているだけでなく，途中結果がモデルに使用されていることを示せば良いと考えられる．これを調べるため，本研究では数式が解けるモデル（これをニューラル数式ソルバーと呼ぶ）中の内部表現と数式の途中結果の相関関係，そして因果関係を分析する手法を提案する．本手法の概要を図~\ref{fig:overview}に示す．まず四則演算を学習したTransformer\cite{NIPS2017_3f5ee243}の内部状態から主成分分析を用いて途中結果と相関の高い，すなわち途中結果を符号化しているような方向を抽出したのち，その部分のアクティベーションを連続的に操作してモデルの予測結果が意図したように変化するかを観察する\footnote{先行研究にならい，本研究における``アクティベーション''は隠れ層のベクトルの要素の値だと定義する．}．これによって，途中結果を符号化している部分がモデルの推論に与える因果的な影響を調査する．その結果，途中結果を符号化しているような方向の中には実際にモデルの推論時にも途中結果としてはたらくものがあることを発見し，モデルが途中結果を介した推論を行っている因果的な証拠を示した．また，相関が高くてもモデルの推論には使用されていない方向も確認されたため，モデルの内部を分析する際に因果的な関係を調査することの重要性を示唆する結果となった．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%fig.1\begin{figure}[t]\begin{center}\includegraphics{30-4ia2f1.pdf}\end{center}\hangcaption{途中結果の追跡(Tracing)と操作(Manipulation)の概要．Tracing（上部）ではPCAを用いて，数式中の途中結果と相関が高いモデル内の方向を追跡する．Manipulation（下部）では，Tracingで追跡された方向に沿ってアクティベーションの操作が行われたモデル（操作済みモデル）のモデル予測の変化を観察する．}\label{fig:overview}\end{figure}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%本論文の貢献は，言語モデルが数学的な問題を途中結果を保存，使用しながら解いていることを明らかにした点である．また，数学的な問題を解く際のモデルの内部処理を詳細に分析できる手法を提案した，ということ自体も貢献である．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%