\documentclass[japanese,other]{jnlp_3.8}
\usepackage{jnlpbbl_2.2}
\usepackage[dvipdfmx]{graphicx}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{url}
\usepackage{array}
\usepackage{hangcaption_jnlp}
\allowdisplaybreaks


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% author's definition
\usepackage{booktabs}       % professional-quality tables
%%%%\usepackage{amsmath,amssymb,amsfonts}
%%%%\allowdisplaybreaks
%%%%\usepackage{newtxmath}
%%%%%\usepackage{caption}
%%%%\usepackage{subcaption}
%%%%\usepackage{relsize}
\usepackage{xspace}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% \let\tablefont=\scriptsize
\newcommand{\sig}[1]{#1*}
\newcommand\ce{CE\xspace}
\newcommand\bce{BCE\xspace}
%% \newcommand\ova{OVA\xspace} % one-versus-all loss
\newcommand\ova{MLL\xspace} % one-versus-all loss
\newcommand\sr{SR\xspace}
\newcommand\srn{SRN\xspace}
%% \newcommand\imb{IMB\xspace}
\newcommand\imb{\textup{weighting}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% variables and functions
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcommand\claim{c}
\newcommand\verdict{v}
\newcommand\evidence{e}
\newcommand\labels{{\textsf{SUP}}}
\newcommand\labelr{{\textsf{REF}}}
\newcommand\labeln{{\textsf{NEI}}}
\newcommand\numclass{3}
\newcommand\lbl{y}
\newcommand\prob{p}
\newcommand\complbl{\bar{\lbl}}
\newcommand\weight{w}
\newcommand\lblvec{\mathbf{\lbl}}
\newcommand\probvec{\mathbf{\prob}}
\newcommand\complblvec{\bar{\lblvec}}
\newcommand\weightvec{\mathbf{\weight}}
\newcommand\classifier{f}
\newcommand\lossfunc{L}
\newcommand\regufunc{R}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

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

\setcounter{page}{1401}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\jsubject{学会記事}
\jtitle{Rethinking Loss Functions for Fact Verification}
\jauthor{向原　悠太\affiref{Author_1}}
\etitle{Rethinking Loss Functions for Fact Verification}
\eauthor{Yuta Mukobara\affiref{Author_1}} 

\headauthor{向原}
\headtitle{Rethinking Loss Functions for Fact Verification}

\affilabel{Author_1}{東京工業大学}{Tokyo Institute of Technology}



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


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

本稿では， EACL 2024に採択された論文 ``Rethinking Loss Functions for Fact Verification''
 \cite{mukobara-etal-2024-rethinking} （以下，原論文）について解説する．
原論文の解説の前に， EACL 2024の採択に至ったまでの経緯について述べる．


近年， 自然言語処理の分野は急速に発展している． 
この発展の主要因の一つとして， Transformer \cite{trans-google}の登場が挙げられる． 
Transformerの導入により， BERT \cite{devlin-etal-2019-bert}のような汎用言語モデルが登場し， これが自然言語処理の各種タスクに革新をもたらした． 

BERTは事前学習済みのモデルであり， 特定のタスクに対して少量のデータセットで追加チューニングすることができる． 
そのため， 様々なタスクに対してBERTは用いられている． 

このような自然言語処理の進展の中で， 私は言語処理に関するより深い知見を得るために千葉工業大学のSTAIR Labのインターンシップに参加し， 事実検証 (fact verification) に関する研究に取り組んだ． 
具体的には， FEVER (Fact Extraction and VERification) タスクにおいて事実検証器の学習によく使われている交差エントロピー誤差に注目し， 新たに工夫を導入することで性能が改善できることを示した． 

これらの研究成果を論文としてまとめるにあたり， 共著者である重藤氏の提案を受けEACLへの投稿を目指した．
その結果， EACL 2024に採録される運びとなった．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{提案手法}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{タスク定義}

FEVER は, 与えられたクレーム (claim) を評価するためにWikipediaから抽出されたエビデンス (evidence) を活用し検証するタスクである \cite{thorne-etal-2018-fever}．
FEVERタスクは， クレームに対して以下の3種類のラベルに分類する問題として取り扱われている．
\begin{quote}
\begin{description}
   \item[Supported ($\labels$)] %\mbox{}\\
        Wikipedia のエビデンスが十分で， それを根拠にクレームが真である．
   \item[Refuted ($\labelr$)] %\mbox{}\\
	    Wikipedia のエビデンスが十分で， それを根拠にクレームが偽である．
   \item[NotEnoughInformation ($\labeln$)] %\mbox{}\\
	    クレームの真偽を判定する十分なエビデンスがない．
\end{description}
\end{quote}
この検証は多クラス分類タスクであるため， 分類器には一般的に交差エントロピー誤差関数を用いて学習される．
この交差エントロピー誤差関数は誤分類を均一に評価するため， FEVERのクラス間の関係性をうまく捉えきれていない． 
そのため， FEVERタスクにおいては交差エントロピー誤差関数では問題がある．



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{ラベルの特性に基づく正則化}

$K$個のクラスに分類するタスクでは， one-hotクラスベクトル$\lblvec = (y_1 , \dots, y_K)$に対して交差エントロピー誤差は
\begin{equation}
  \lossfunc_\textup{\ce} (\lblvec, \probvec) = - \sum_{i=1}^{K} \lbl_i \log \prob_i
\label{eq:cross-entropy}
\end{equation}
と定義される．
このとき， $\probvec = (\prob_1, \dots, \prob_K)$ は分類器から出力される確率分布である．
式~(\ref{eq:cross-entropy})からも明らかなように， 交差エントロピー誤差は全ての誤分類を一様に扱う．
しかし， FEVERタスクの各ラベルは特定の性質を持つ． 
$\labels$, $\labelr$は文中に証拠があり， $\labeln$は文中の証拠が不十分であることを示している．
これらのラベルの特性を対処するために， 交差エントロピー誤差に補助的なペナルティ$\regufunc_{}$を追加する．
補助関数を追加した交差エントロピー誤差は
\begin{equation}
    \lossfunc_{} (\lblvec, \probvec) 
     = \lossfunc_{\textup{\ce}}(\lblvec, \probvec) + \lambda \regufunc_{}(\lblvec, \probvec) 
\label{eq:auxiliary-loss}
\end{equation}
である． 
このとき， $\lambda$はハイパーパラメータである． 
原論文では$\regufunc_{}$について， 多ラベル分類で用いられる交差エントロピーの負例に関する項 (MLL) と提案する2つの補助関数 (SRN, SR) を導入し比較している．







まず， MLL誤差の説明を行い，その後提案手法について示す．
MLL誤差$\lossfunc_{\textup{\ova}}$の補助関数$\regufunc_{\textup{\ova}}$は
\begin{equation}
    \regufunc_{\textup{\ova}} (\lblvec, \probvec) 
     = -\sum_{i=1}^{3} (1 - \lbl_i) \log (1 - \prob_i) 
     % \nonumber \\
     % &
     = \begin{cases}
        - \log (1 - \prob_2) - \log (1 - \prob_3), &\text{if } \lbl_1 = 1 \\
        - \log (1 - \prob_3) - \log (1 - \prob_1), &\text{if } \lbl_2 = 1 \\
        - \log (1 - \prob_1) - \log (1 - \prob_2), &\text{if } \lbl_3 = 1
    \end{cases} 
\label{eq:ovr-reg-nonexpanded}
\end{equation}
である．
$y_1 = 1$は$\labels$， $y_2 = 1$は$\labelr$であり$y_3 = 1$は$\labeln$に対応している． 
この補助関数$\regufunc_{\textup{\ova}}$は均一にペナルティを科す手法である．
続いて， 我々の提案する手法では， ラベルの特徴に基づき不均一にペナルティを科す補助関数を考える． 
まず， 補集合を$\overline{\labels} = \{ \labelr \}, \overline{\labelr } = \{ \labels \}, \overline{\labeln} = \{ \labels, \labelr \}  $とする補助誤差関数$\regufunc_{\textup{\srn}}$を
\pagebreak
\begin{equation}
    \regufunc_{\textup{\srn}} (\lblvec, \probvec) 
    = - \sum_{i=1}^2 (1 - \lbl_i) \log (1 - \prob_i) 
    = \begin{cases}
    - \log (1 - \prob_2), &\text{if } \lbl_1 = 1 \\
    - \log (1 - \prob_1), &\text{if } \lbl_2 = 1 \\
    - \log (1 - \prob_1)  - \log (1 - \prob_2), &\text{if } \lbl_3 = 1
    \end{cases} 
    \label{eq:srn-regularizer}
\end{equation}
と定義する．
式~(\ref{eq:srn-regularizer})より， $\labels$が正解ラベルの場合， $\labelr$と誤分類した場合にはペナルティを科し， $\labeln$と誤分類した場合にはペナルティは科さない．
$\labeln$が正解ラベルの場合は$\labels, \labelr$どちらに誤分類した場合にもペナルティを科すように設定している．
もう一つの補助誤差関数として$\labels, \labelr$の矛盾する性質にだけ注目し， $\labeln$を無視した関数$\regufunc_\textup{\sr}$を考える． 
補助誤差関数$\regufunc_\textup{\sr}$は
\begin{equation}
    \regufunc_\textup{\sr} (\lblvec, \probvec)
    =  - (1-\lbl_3) \sum_{i=1}^2 (1-\lbl_i) \log (1 - \prob_i) 
    = \begin{cases}
    - \log (1 - \prob_2), & \text{if } \lbl_1 = 1, \\
    - \log (1 - \prob_1), & \text{if } \lbl_2 = 1, \\
    0,                    & \text{if } \lbl_3 = 1.
    \end{cases}
    \label{eq:sr-regularizer}
\end{equation}
として計算することができる．


式~(\ref{eq:ovr-reg-nonexpanded}), (\ref{eq:srn-regularizer}), (\ref{eq:sr-regularizer})に示した補助誤差関数$\regufunc_\textup{\ova}, \regufunc_\textup{\srn}, \regufunc_\textup{\sr}$の補集合を表~\ref{tab:loss-heterogeneity}にまとめる． 
表~\ref{tab:loss-heterogeneity}からもわかるように， MLLはラベルの不均一性を考慮していない． 
提案する誤差関数SRNとSRは， 補集合の構成を修正することで， ラベルの不均一性を捉えることができる．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 1
\begin{table}[b]
\begin{center}
\begin{tabular}{lccc}
\hline Loss & $\overline{\labels}$ & $\overline{\labelr}$ & $\overline{\labeln}$ \\
\hline MLL & $\{ \labelr, \labeln \}$ & $\{ \labels, \labeln \}$ & $\{ \labels, \labelr \}$ \\
SRN & $\{ \labelr \}$ & $\{ \labels \}$ & $\{ \labels, \labelr \}$ \\
SR & $\{ \labelr \}$ & $\{ \labels \}$ & $\emptyset$ \\
\hline
\end{tabular}
\end{center}
\caption{補助誤差関数の補集合まとめ}
\label{tab:loss-heterogeneity}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 2
\begin{table}[b]
\begin{center}
\begin{tabular}{l rrr}
\hline 
Split & \multicolumn{1}{c}{\#$\labels$} & \multicolumn{1}{c}{\#$\labelr$} & \multicolumn{1}{c}{\#$\labeln$} \\
\hline 
訓練 & 80,035      & 29,775      & 35,639      \\
開発   & 6,666       & 6,666       & 6,666       \\
評価  & 6,666       & 6,666       & 6,666       \\
\hline
\end{tabular}
\end{center}
\caption[FEVER 2018データセットのサンプル数]{FEVER 2018データセットのサンプル数}
\label{tab:dataset}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{不均衡データへの対応}

FEVERで用いるデータセット \cite{thorne-etal-2018-fever}のサンプル数を表~\ref{tab:dataset}に示す．
表~\ref{tab:dataset}より， 訓練データが不均衡であることがわかる．
このクラスの不均衡に対してCuiらのクラスの重み付け手法 \cite{cui2019class}を用いる．
これにより， 式~\eqref{eq:cross-entropy}は重み$\weight_i=\frac{1- \beta}{1 - \beta^{n_i}}$を用いて
\begin{align}
\lossfunc_{\textup{\ce}+\imb}(\lblvec, \probvec) =-\sum_{i=1}^3 w_i y_i \log p_i \label{eq:ce-imb-objective}
\end{align}
のように表すことができる． 
式~(\ref{eq:auxiliary-loss})の$\lossfunc_\textup{\ce}$を重み付き交差エントロピー誤差$\lossfunc_{\textup{\ce}+\imb}$に置き換え， さらに式~(\ref{eq:ovr-reg-nonexpanded}), (\ref{eq:srn-regularizer}), (\ref{eq:sr-regularizer})にも式~(\ref{eq:ce-imb-objective})の手続きを適用することで， 重み付きの誤差関数にすることができる．



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{結果}

本章にて， 実験結果を示す． 
エビデンス検索と分類予測の両方にKGAT \cite{liu-etal-2020-fine}を用いる．
事前学習にはBERT Base \cite{devlin-etal-2019-bert}を用いた結果のみ本稿では示すが， 原論文では他の事前学習モデルを用いた結果も併記している． 
標準的なクロスエントロピー誤差$\lossfunc_\textup{\ce}$, MLL誤差$ \lossfunc_\textup{\ova}$, および我々の提案する$\lossfunc_\textup{\srn}, \lossfunc_\textup{\sr}$の4つの誤差関数で最適化されたKGATモデルの評価を行い比較する．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 3
\begin{table}[b]
\begin{center}
  \begin{tabular}{lc ll}
    \toprule 
    Objective function & Weighting  & \multicolumn1c{LA} & \multicolumn1c{FS} \\\midrule
    {\ce} (baseline)  & ---  & 77.81 & 75.75 \\
    {\ce}  & yes & 78.08 (+0.27) & 76.02 (+0.27) \\[0.5ex]
    {\ova} ($\lambda=0.0625$) & ---  & 77.84 (+0.03) & 75.65 ($-0.10$) \\
    {\ova} ($\lambda=0.125$)  & yes & 78.13 (+0.32) & \textbf{76.06 (+0.31)}  \\[0.5ex]
    {\srn} ($\lambda=0.0625$) & ---  & 77.84 (+0.03) & 75.70 ($-0.05$) \\
    {\srn} ($\lambda=0.0625$) & yes & 77.83 (+0.02) & 75.79 (+0.04) \\[0.5ex]
    {\sr} ($\lambda=0.0625$)  & ---  & 78.16 (+0.35) & 75.87 (+0.12) \\
    {\sr} ($\lambda=0.25$)    & yes & \sig{\textbf{78.29 (+0.48)}} & \textbf{76.06 (+0.31)}  \\\bottomrule
  \end{tabular}
\end{center}
\hangcaption[KGATモデルのラベル精度(LA)とFEVERスコア(FS)]{BERT Baseを事前学習に用いたKGATモデルのラベル精度(LA)とFEVERスコア(FS)．クラスの重み付けは， $\beta=0.999999$に全て設定している．括弧内の数値は， クラスの重み付けを行わない交差エントロピー誤差 \ce (baseline) との差である．}
  \label{tab:res-ablation}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%



表~\ref{tab:res-ablation}にFEVER開発データセットで得られたラベル精度 (LA) と FEVERスコア (FS) の実験結果を示す． 
表~\ref{tab:res-ablation}より， クラスの重み付けを行ったモデルは，LAとFSの両方でベースラインよりも一貫して高い精度を示している． 
また， 提案するSRNとSRはすべてのケースでLAを向上させ， ほとんどのケースでFSも向上させている． 
さらに， 提案する誤差関数とクラスの重み付けを組み合わせることで， 性能はさらに向上する． 
アスタリスク (*) はMcNemar検定において有意 ($p<0.05$) であることを示しており， $\textup{\ce}$と比較してクラスの重み付けを行った$\textup{\sr}$によって精度が有意に向上していることがわかる．


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

我々は， クラスの異質性を考慮した誤差関数を導入した． 
実験結果より， FEVERにおける性能向上を確認し， 提案手法の有効性を実証することができた．

本研究を通じて，モデルを学習する際，目的関数としてよく利用されているものをただ漫然と使うのではなく，解きたいタスクの性質を考慮し，適切な目的関数を選択することが重要だとわかった．
今後は，このインターンシップで得た知見を自身の研究に役立てていきたい．




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


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

\bioauthor{向原　悠太}{%
2021年千葉工業大学情報科学部情報工学科卒業．
2023年東京工業大学環境・社会理工学院融合理工学系原子核工学コース博士前期課程修了．
現在，東京工業大学環境・社会理工学院融合理工学系原子核工学コース博士後期課程所属．
}

\end{biography}





\end{document}



