\documentclass[japanese,other]{jnlp_3.3}
\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


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% author's definition
%%%%\usepackage{tabu}
%%%%\usepackage{tabularx}
%%%%\usepackage{multirow}
%%%%\usepackage{array}
%%%%\usepackage{booktabs}
%%%%\renewcommand\UrlFont{\rmfamily}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\Volume{28}
\Number{4}
\Month{December}
\Year{2021}
%%%%\Issuetitle{「　　　　」特集号}

\setcounter{page}{1336}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\jsubject{学会記事}
\jtitle{Unified Interpretation of Softmax Cross Entropy and Negative Sampling: With Case Study for Knowledge Graph Embedding}
\jauthor{上垣外英剛\affiref{Author_1} \and 林　　克彦\affiref{Author_2}}
\etitle{Unified Interpretation of Softmax Cross Entropy and Negative Sampling: With Case Study for Knowledge Graph Embedding}
\eauthor{Hidetaka Kamigaito\affiref{Author_1} \and Katsuhiko Hayashi\affiref{Author_2}} 

\headauthor{上垣外, 林}
\headtitle{Unified Interpretation of SCE and NS}

\affilabel{Author_1}{東京工業大学科学技術創成研究院}{Tokyo Institute of Technology}
\affilabel{Author_2}{群馬大学情報学部}{Gunma University}



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


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

本稿では，ACL-IJCNLP2021に採録された表題の論文\cite{kamigaito-hayashi-2021-unified}について解説を行う．
現在，私は自然言語処理に関連した深層学習モデルの研究を進めているが\cite{k1,k3,Hidetaka_Kamigaito2021,k5}，近年は特に，モデルの学習効率を改善する{\bf 負例サンプリング} (NS; Negative Sampling) の数理的な性質に関心を持っている．
本原稿の第二著者である林氏も知識グラフの表現学習モデルの研究\cite{h1,h2}を進める中で，{\bf ソフトマックス交差エントロピー} (SCE; Softmax Cross Entropy) と比較して，NSがモデルの分類性能を大きく下げる問題\cite{olddog}に関心を持っていた．
我々が共同研究を開始したのは，このような興味が一致したところによる．

自然言語や知識グラフ処理における分類問題では，クラスラベルは一般に語彙やエンティティ集合をとり，クラスラベルのサイズは非常に大規模なものとなる．
このような分類モデルの学習を高速化するため，SCE損失関数を近似するNSは非常に重要な技術となる．しかし，SCEとNS損失関数の性質的な違いについて，これまで十分な整理・理解はされてこなかった．
そのため，これらの損失関数やその改善法が分類モデル学習にどのような影響を及ぼすか，実験的な検証方法以外で，客観的に理解することは難しかった．
本研究はこのような状況を打開するため，SCEとNS損失関数の違いを数理的に整理・理解するという動機から開始された．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{損失関数の関係について}

我々の研究ではBregman距離からSCE及びNS損失を導出することにより，両損失関数の共通点や異なる点を把握し統一的な解釈を行うことを目指している．
この目的のためには対象とする損失関数の導出が重要であるが，本稿ではあくまで我々の研究を紹介するにあたって必要な導出結果のみを提示し，途中式は省略する．従って，詳しい導出に関しては我々の論文\cite{kamigaito-hayashi-2021-unified}を参照していただきたい．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Bregman距離とソフトマックス関数}

$\Psi(z)$を微分可能な関数とすると，
分布$f$と$g$の間のBregman距離は以下のように定義される：
\begin{equation}
    d_{\Psi(z)}(f,g) = \Psi(f) - \Psi(g) - \nabla\Psi(g)^{T}(f-g).
    \label{eq:bregman}
\end{equation}
$\Psi(z)$を変えることによって，様々な距離を表現することが可能となる．論文中ではNCEを対象とした研究\cite{10.5555/3020548.3020582}と同様に，各損失関数の導出を目的に，$P_{d}(x,y)$に従う観測データ$D=\{(x_{1},y_{1}),\cdots, (x_{n},y_{n})\}$全体における距離の最小化を考えるため，$f$を訓練データの従う分布とした上で固定し，$g$を含まない項を消去することで，式(\ref{eq:bregman})の期待値を下記のように定義している：
\begin{equation}
     B_{\Psi(z)}(f,g)=\sum_{(x,y)\in D} \left[-\Psi(g) + \nabla\Psi(g)^{T}g - \nabla\Psi(g)^{T}f \right]p_{d}(x,y) \label{eq:bd:reform}.
\end{equation}
式(\ref{eq:bd:reform})では，$B_{\Psi(z)}(f,g)=0$が満たされる時，$f=g$が成立する．
以降の説明では，式(\ref{eq:bd:reform})による各損失関数の導出を通して損失関数間の関係について説明する．

また，式(\ref{eq:bd:reform})を用いてNS，SCEの両損失関数を統一的に扱うために，モデルの予測確率についても定義する．
モデルが与えられた$x$から$y$をパラメータ$\theta$に基づいて予測する確率$p_{\theta}(y|x)$はソフトマックス関数を用いて次のように定義される：
\begin{equation}
    p_{\theta}(y|x)=\frac{
\exp{(f_{\theta}(x,y))}
}{
\sum_{y'\in Y}{
\exp{(f_{\theta}(x,y'))}
}
}.
\label{eq:softmax}
\end{equation}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{SCE損失の導出}

まずSCE損失の導出について考える．
式(\ref{eq:bd:reform})において$f=p_{d}(y|x)$，$g=p_{\theta}(y|x)$，$\Psi(\mathbf{z})=\sum_{i=1}^{len(\mathbf{z})}z_{i}\log{z_{i}}$としたとき，次式が成立する．
\begin{equation}
B_{\Psi(\mathbf{z})}(p_{d}(y|x),p_{\theta}(y|x))=- \frac{1}{|D|}\sum_{(x,y) \in D}\log{p_{\theta}(y|x)}.\label{eq:ce:final}
\end{equation}
式(\ref{eq:ce:final})の右辺はSCE損失であることから，SCE損失が0となる，すなわち$B_{\Psi(z)}(p_{d}(y|x),p_{\theta}(y|x))=0$となるときに，$p_{\theta}(y|x)=p_{d}(y|x)$が成立することが分かる．本稿ではこのように損失値が0となる際の$p_{\theta}(y|x)$の値を\textbf{目的分布}と呼ぶ．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{NS損失の導出}

次にNS損失の導出について考える．
式(\ref{eq:bd:reform})において，負例のサンプル数を$\nu$，雑音分布を$p_{n}(y|x)$とし，
$f=\frac{\nu p_{n}(y|x)}{p_{d}(y|x)}$，$g=\frac{1}{\exp{(f_{\theta}(x,y))}}$，$\Psi(z) = z\log(z)-(1+z)\log(1+z)$としたとき，次式が成立する．
\begin{align}
&B_{\Psi(z)}(\frac{\nu p_{n}(y|x)}{p_{d}(y|x)},\frac{1}{\exp{(f_{\theta}(x,y))}})\nonumber\\
&\quad = -\frac{1}{|D|}\sum_{(x,y) \in D} \Bigl[\log(P(C=1,y|x;\theta)) + \sum_{i=1,y_{i}\sim p_n}^{\nu}\log(P(C=0,y_{i}|x;\theta))\Bigr].\label{eq:ns:loss}
\end{align}
式(\ref{eq:ns:loss})の右辺はNS損失であり，このことからNS損失が0となる際，$\frac{\nu p_{n}(y|x)}{p_{d}(y|x)}=\frac{1}{\exp{(f_{\theta}(x,y))}}$となることから$\exp{(f_{\theta}(x,y))}=\frac{p_{d}(y|x)}{\nu p_{n}(y|x)}$が成立する．この結果を式(\ref{eq:softmax})に代入することで，NS損失の目的分布が
\begin{equation}
\frac{p_{d}(y|x)}{p_{n}(y|x)\sum\limits_{y_{i}\in Y}\frac{p_{d}(y_i|x)}{p_{n}(y_i|x)}}\label{eq:ns:obj}
\end{equation}
となることが分かる．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsubsection{雑音分布による目的分布の変化}

選択する雑音分布により式(\ref{eq:ns:obj})が変化するため，知識グラフの埋め込みにおいて代表的な雑音分布を用いた場合の式(\ref{eq:ns:obj})についてを考える．
$p_{n}(y|x)$が一様分布に従う場合，式(\ref{eq:ns:obj})は$p_{d}(y|x)$となる．

また，自己敵対的負例サンプリング(SANS) \cite{sun2018rotate}を用いる場合，$p_{n}(y|x)$には学習過程のパラメータ$\theta'$を用いて$p_{\theta'}(y|x)$が代入される．この時，$p_{\theta'}(y|x)$が一様分布に近づく場合は式(\ref{eq:ns:obj})が$p_{d}(y|x)$に近づき，$p_{\theta'}(y|x)$が$p_{d}(y|x)$に近づく場合は式(\ref{eq:ns:obj})が一様分布に近づく．このような関係から，SANSを用いた際の目的分布が$p_{d}(y|x)$と一様分布の二点間に存在する値であると仮定し，線形補完を用いて近似を行うと，目的分布は$\lambda p_{d}(y|x) + (1-\lambda)u\{1,|Y|\}$となる．$\lambda$は$[0,1]$の連続値からなるハイパーパラメータを，$u\{1,|Y|\}$は離散一様分布をそれぞれ表す．

SANS損失の目的分布が持つ意味をより適切に理解するために，対応する目的分布が$q(y|x)=\lambda p_{d}(y|x) + (1-\lambda)u\{1,|Y|\}$となるSCE損失の導出を行う．
式(\ref{eq:bd:reform})において目的分布にあたる$f$を$f=q(y|x)$と設定し，$g=p_{\theta}(y|x)$，$\Psi(\mathbf{z})=\sum_{i=1}^{len(\mathbf{z})}z_{i}\log{z_{i}}$としたとき，次式が成立する．
\begin{equation}
B_{\Psi(\mathbf{z})}(q(y|x),p_{\theta}(y|x))= -\frac{1}{|D|}\sum_{(x,y) \in D} \biggl[ (1-\lambda)\log{p_{\theta}(y|x)} + \sum_{i=1}^{|Y|} \frac{\lambda}{|Y|} \log{p_{\theta}(y_{i}|x)}\biggr].\label{eq:sce:ls}
\end{equation}
式(\ref{eq:sce:ls})の右辺はラベルスムージングを用いたSCE損失である，このことから，SANS損失は目的分布の観点からはラベルスムージングを用いたSCE損失に類似していることが分かる．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 1
\begin{table}[t]
\begin{center}
\begin{tabular}{|l|c|c|}
\hline
\multicolumn{1}{|c|}{損失}  & 目的分布 & $\Psi(z)$または$\Psi(\mathbf{z})$ \\
\hline
NS w/ Uni & $p_{d}(y|x)$ & $z\log z-(1+z)\log(1+z)$ \\
\hline
SANS & $\lambda p_{d}(y|x) + (1-\lambda)u\{1,|Y|\}$ & $z\log z-(1+z)\log(1+z)$ \\
\hline
SCE & $p_{d}(y|x)$ & $\sum_{i=1}^{len(\mathbf{z})}z_{i}\log{z_{i}}$\\
\hline
SCE w/ LS & $\lambda p_{d}(y|x) + (1-\lambda)u\{1,|Y|\}$ & $\sum_{i=1}^{len(\mathbf{z})}z_{i}\log{z_{i}}$ \\
\hline
\end{tabular}
\end{center}
\caption{各損失関数間の関係．}
\label{tab:overview:loss}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{各損失関数間における関係のまとめ}

表\ref{tab:overview:loss}は，今までの導出によって得られた各損失関数間の関係をまとめた結果である．この表から分かるように，NS損失は雑音として一様分布を使用した場合にSCE損失と同様の目的分布を持つことが分かる．またSANS損失の目的分布はSCE損失にラベルスムージングを適用したものと類似していることも分かる．このように，SCE損失及びNS損失とその派生となる損失関数との間には，目的分布の観点からは同一，もしくは類似した特徴が存在するものの，両者は同一ではない．なぜならば，両者はBregman距離の観点からは異なる$\Psi(z)$または$\Psi(\mathbf{z})$を用いて導出されるため，分布間の差異に対して与える値が異なるからである．

二値分類に限れば，分布間の差異に対して与える距離はSCE損失の方がNS損失よりも大きい\cite{8930624}．しかし，式(\ref{eq:bd:reform})の$f$に入力される値が両者で同じではないため，この関係が常に成立するわけではない．その一方で，両損失関数における式(\ref{eq:bregman})の導関数に着目すると，SCE損失が凸である一方，NS損失は変曲点を持ち凸ではない．このことから，SCE損失の方がNS損失よりもモデルを訓練データにより強く適合させる特徴があると考えられる．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{おわりに}

ACL-IJCNLP2021の研究ではSCE及びNS損失関数を統一的な視点でまとめることに成功した．
一方で，我々の論文\cite{kamigaito-hayashi-2021-unified}を読んでいただくとわかる通り，SCEとNS損失関数による分類性能は，利用する表現学習モデルの性質から大きな影響を受けることも分かっている．ACL-IJCNLP2021の原稿執筆時点ではこの点を深く掘り下げることはできなかったが，
現在，NS損失関数の凸性に関する調査を進めることで，この点についても一定の見解が得られており，今後，新たな論文にまとめて報告したいと考えている．


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


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{biography}
\bioauthor{上垣外英剛}{%
2017年東京工業大学大学院総合理工学研究科知能システム科学専攻博士課程修了．
同年NTTコミュニケーション科学基礎研究所入所．
2018年より東京工業大学科学技術創成研究院未来産業技術研究所助教．
自然言語処理分野の研究に従事．
情報処理学会，言語処理学会，ACL各会員．
}
\bioauthor{林　　克彦}{%
2013年奈良先端科学技術大学院大学情報科学研究科博士課程修了．
同年NTTコミュニケーション科学基礎研究所入所．
2018年大阪大学産業科学研究所助教，2019年東京大学大学院情報理工学系研究科助教を経て，現在群馬大学情報学部准教授．自然言語処理の研究に従事．情報処理学会，人工知能学会，言語処理学会，ACL各会員．
}

\end{biography}



\end{document}


