# 共有タスクへの結果提出を通した生徒モデルの共同教育手法

中山功太 ${ }^{1,2}$ 栗田修平 1 小林暁雄 ${ }^{3}$
馬場雪乃 $1,4 \quad$ 関根聡 ${ }^{1}$
1 理化学研究所 AIP 2 筑波大学大学院理工情報生命学術院
3 農業・食品産業技術総合研究機構 4 筑波大学システム情報系
\{kouta.nakayama, shuhei.kurita, satoshi.sekine\}@riken.jp
akio.kobayashi@naro.go.jp baba@cs.tsukuba.ac.jp

## 概要

本論文では、共有タスクに提出されたシステム結果を用いて新規システムを構築する手法を提案す る。本手法により、共有タスクはシステム開発にお ける技術革新のみでなく、実際に自然言語処理アプ リケーションに汎用可能なシステムの公開が可能と なる。提案手法は知識蒸溜から着想を得ており、共有タスクの参加システムを教師として扱い、新規深層学習モデルを生徒として学習することで、参加シ ステムの長所を生かしたシステムを構築する。本手法を日本語 Wikipedia からの属性抽出タスクである 森羅 2019 へ提出されたシステム結果に対し適用し たところ、最良のシステムよりも高性能であり、最良のシステム群と同等性能のシステムを獲得でき た。本実験で用いたコードは公開してあり、更なる 研究へ適用可能である。1)

## 1 はじめに

多くの参加者が共通のタスクに取り組むといった 共有タスクは、自然言語処理技術の発展に大きく貢献している。だが、多くのタスクが参加者にシステ 厶出力や手法説明のみの提出を要求しており、シス テム自体の提出が要求されることは稀である。その ため、多くのシステムが実際の自然言語処理アプリ ケーションで使用されることなく放棄されている。我々は共有タスクに提出されたシステムの多くは、 たとえ最良の結果を取得しておらずとも分野全体の 革新のため有用なリソースであると考えている。だ が、システム自体の提出は、ライセンスや実行環境 の整備といった点で非常に困難である。そのため本論文では、複数の参加者が提出したシステム結果を 用いて参加システムの強みを活かした新規システム

1) https://github.com/k141303/co_teaching_scheme
を構築する手法の提案を行う。提案手法は知識蒸溜 $[1,2]$ から着想を得ており、 タスク参加システムを教師として扱い、提出結果を 通して生徒である新規深層学習モデルを学習するこ とで、新規システム構築を行う。共有タスクの参加者が共同で単一の生徒を教えるといった形式をとる 都合上、我々は本手法を「共同教育」と呼ぶ。共同教育は、共有タスクにおいて他の自然言語処理アプ リケーションに汎用可能なシステムを公開でき、タ スクにおいて最良結果を残せなかったチームを含め 多くの努力を活用できるといった利点がある。

我々は共同教育を、日本語 Wikipedia からの属性值抽出タスクである森羅 2019 に適用する。本タス クは全ての Wikipedia ページの構造化を目指してお り、参加者は評価データ以外の範囲のラベルなし データに対する予測結果の提出も求められる。実験 の結果、提案手法は共有タスクに提出された最良の システムよりも高性能であり、最良のシステム群と 同等性能のシステムを獲得できた。

## 2 関連研究

## 2.1 知識蒸溜

知識蒸溜 (Knowledge Distillation)[1,2] は主に深層学習モデルの圧縮に用いられる手法であり、モデル 性能を低下させず総パラメーター数を減らすことを 目的としている。具体的には教師と呼ばれる大規模 なモデルの結果を用いて、生徒と呼ばれる比較的小規模な新規モデルを学習することでモデルの圧縮 を達成する。多くの場合、教師は学習データを用い て学習され、その際利用された学習データは生徒の 学習にも転用される。知識蒸留の手法は応答べース $[1,2]$ と特徴べース [3] に分けることができる。前者は教師の出力を、後者は教師の内部パラメーター

図 1 共同教育で用いる生徒モデル概要図

を生徒の学習に用いている。また、生徒の学習中に 教師のパラメーターも更新するオンライン蒸留 [4] と、教師のパラメーターを固定するオフライン学習 $[1,2]$ に分けることもできる。本論文の設定は、教師自体にアクセスできないため、提案手法は応答 ベースのオフライン蒸留手法である。

## 2.2 半教師あり学習

本手法は、ラベル無しデータに対する教師の予測 を生徒の学習に用いる点で半教師あり学習 [5] や共学習 (Co-Training)[6] の一種である。半教師あり学習 は、学習済みモデルの予測のうち確信度の高い予測 を学習データに追加し、モデルを再学習することで より堅牢な機械学習モデルを構築する手法である。共学習は、半教師あり学習の応用であり、確信度 を 2 つ以上のモデルにより算出する。我々の知る限 り、共有タスクの結果を用いて学習データを拡張し た研究はない。

## 3 提案手法: 共同教育

共有タスクに提出されたシステム結果から新規モ デルを学習する共同教育を提案する。以下では、シ ステムを教師、新規モデルを生徒と呼ぶ。共同教育 を行うために必要なデータは、教師の予測結果と共有タスクで配布された学習データであり、これらが 公開されていればタスク終了後であっても適用可能 である。ただし、教師の予測データは多い方が良い ため、共有タスク実施時に評価データ以外の範囲の ラベル無しデータに対する予測提出が要求されるこ とが好ましい。

提案手法で用いる生徒モデルの概要を図 1 に示 す。生徒モデルは、共有モデル $\theta^{\text {sh }}$ と各教師に対応 する個別出力層 $\theta^{j}(j \in\{1,2, \ldots, S\})$ と出力層 $\theta^{\text {out }}$ か ら成る。ここで $S$ は教師システムの総数である。生徒モデルの入力を $x_{i}$ とする。生徒モデルの学習は以下の誤差の最小化により行われる。

教師との誤差教師システム $j$ の出力結果 $y_{i}^{j}$ に対応する生徒モデルの予測 $z_{i}^{j}$ との誤差 を $L^{\mathrm{t}}\left(z_{i}^{j}, y_{i}^{j}\right)$ とし、全教師とのロスはその平均 $L^{\mathrm{t}}\left(z_{i}, y_{i}\right)=\frac{1}{S} \sum_{j=1}^{S} L^{\mathrm{t}}\left(z_{i}^{j}, y_{i}^{j}\right)$ とする。

学習データとの誤差 学習データ $y_{i}^{g}$ と生徒モデ ルの予測 $z_{i}^{\text {out }}$ との誤差を $L^{\mathrm{g}}\left(z_{i}^{\text {out }}, y_{i}^{\mathrm{g}}\right)$ とする。

入力 $x_{i}$ に対する学習データのラベル $y_{i}^{\mathrm{g}}$ が存在 しない場合は、教師との誤差 $L\left(z_{i}, y_{i}\right)=L^{\mathrm{t}}\left(z_{i}, y_{i}\right)$ のみ最小化し、それ以外の場合は、両者の平均 $L\left(z_{i}, z_{i}^{\text {out }}, y_{i}, y_{i}^{\mathrm{g}}\right)=\frac{1}{2}\left(L^{\mathrm{t}}\left(z_{i}, y_{i}\right)+L^{\mathrm{g}}\left(z_{i}^{\text {out }}, y_{i}^{\mathrm{g}}\right)\right)$ を最小化 する。最終的な予測確率は、個別出力層の平均予測確率 $p_{i}^{\text {mean }}=\frac{1}{S} \sum_{j=1}^{S} \operatorname{softmax}\left(z_{i}^{j}\right)$ と出力層の予測確率 $p_{i}^{\text {out }}=\operatorname{softmax}\left(z_{i}^{\text {out }}\right)$ の平均 $p_{i}=\frac{1}{2}\left(p_{i}^{\text {mean }}+p_{i}^{\text {out }}\right)$ と する。

## 4 実験設定

## 4.1 森羅 2019

森羅は Wikipedia の構造化を目指すプロジェクト である。森羅 2019 は日本語 Wikipediaを対象とし ており、拡張固有表現 [7] にカテゴリー分けされ た Wikipedia 記事 [8] から、同表現で定義された属性に対応する属性値の抽出を行う共有タスクであ る。例えば「人名」カテゴリーに分類された「木村拓哉」の記事から、属性「生年月日」に対する、属性値「1972 年 11 月 13 日」を抽出する。本タスクで は、属性値の表層文字でなく出現位置の抽出も行う 必要がある。森羅 2019 では 33 カテゴリーを対象と しており、JP-5（5 カテゴリー）、組織名（14 カテゴ リー)、地名（14 カテゴリー）のサブタスクに分か れている。各カテゴリーには 269～308,610 件の記事が割り当てられており、学習データとして 147 1,000 件の記事に対してアノテーションラベルが付与されている。森羅タスクは Wikipedia の全記事の
構造化を目指しており、参加者は参加するカテゴ リーに割り当てられた記事全てに対する予測結果を 提出する必要がある。

森羅 2019 には合計 9 チームが参加し、各カテゴ リーに対して6から9チームが参加している。参加者が用いた手法は、CRF や SVM などの機械学習、深層学習、DrQAなどの機械読解など様々である。

森羅 2019 は、全てのシステム予測結果とタスク で共有された学習データに加え、アンサンブル研究用に「市区町村名」カテゴリーと「湖沼名」カテゴ リーに対する開発データを配布している。我々はこ れら開発データは学習には用いず、 5.3 章の分析の みに使用する。

## 4.2 共同教育の適用

提案手法の有効性を示すため、 4.1 節で述べた森羅 2019 の配布データを用いて生徒モデルを学習す る。システム結果と学習データは、文章と文章に 対する属性値の出現位置で構成されており、我々 は系列ラベリングタスクとして扱うため、出現位置をIOB2 タグ [9] に変換する。本タスクでは、異 なる属性において属性値が重複する場合があるた め、各属性毎に IOB2 のタグを割り当てる。つま り、大力 $x_{i}$ の $j$ 番目の単語 $x_{i, j}$ に対して、ラベル $y_{i, j} \in\{I, O, B\}^{c}$ を割り当てる。ここで、 $c$ はカテゴ リーに割り当てられた属性の数である。

共有モデル $\theta^{\text {sh }}$ には BERT-base [10] を用い、各個別出力層 $\theta^{j}$ 、出力層 $\theta^{\text {out }}$ には 1 層の全結合層を用 いる。BERT は RoBERTa [11] と同様の手順で日本語 Wikipediaを用いて学習する。不均衡なクラス分布 に対応するため、損失関数は Class Balanced Loss [12] と Focal Loss [13]を用いる。

生徒モデルは各カテゴリー毎に学習し、計算コス トの問題から使用する記事数を最大 2,000 件に制限 する。この中には全てのラベル付きデータの範囲が 含まれる。ラベル付きデータのうち $10 \%$ を開発デー タとして使用し、残りを学習に使用する。

生徒モデルの学習における最適化アルゴリズム に Adam を選択する。学習率は $\alpha_{l r}=5 \times 10^{-5}$ 、Adam に関する残りのハイパーパラメーターは $\beta_{1}=0.9$ 、 $\beta_{2}=0.999, 、 \epsilon=10^{-8}$ を使用する。また、計算効率を 高めるため、混合精度計算モジュールである apex ${ }^{2}$ を使用する。バッチサイズは $\{8,16,32\}$ から、Class Balanced Loss で使用する $\gamma$ は $\{0.999,0.9999,0.99999\}$

2) https://nvidia.github.io/apex/amp.html
からグリッドサーチにより決定する。また、Class Balanced Loss で用いるクラス統計は学習データのみ から取得する。

## 5 実験結果

本章のスコアは指定がない場合全てマイクロ平均 F1 により算出される。これは森羅 2019 のスコア指標に準拠している。

## 5.1 サブクラス毎の結果

サブクラス毎の実験結果を表 1 に示す。サブクラ スの全てのカテゴリーに参加したチームのみを記載 している。共同教育は全体において、参加チームの うち最良スコアであるチーム 10 と比較し 2.38 の向上を獲得している。これは、様々な教師の強みを統合した結果であり、森羅 2019 はチーム 10 のシステ ムより優れた性能のシステムを公開できることを意味する。組織名サブクラスにおいてはチーム 10 に 劣っているが差分は-0.36 と僅かである。

BERT は学習データのみで学習した場合の結果 である。BERT は共同教育の結果と比較して大幅に 劣っていることから、共同教育の向上が BERT の性能によるものでないことがわかる。また、自己教育 は BERT の結果を教師として用いた場合の結果で ある。自己教育は共同教育の結果と比較して大幅に 劣っていることから、共同教育の向上がラベル無し データを用いたデータ拡張によるものではなく、教師システムからの学習によるものであることがわ かる。

## 5.2 カテゴリー毎の結果

誌面の都合上、カテゴリー毎のスコアは付録表 2 に示す。各カテゴリー毎に最良のシステムを採用し た場合のスコアのマクロ平均は 61.96 であるのに対 し、共同教育のマクロ平均は 62.01 であり同等以上 の性能が示された。参加チームのうちいずれかのカ テゴリーで最良スコアを獲得したのは 5 チームであ る。もし、森羅 2019 で最良のシステム結果を公開 する場合、以上の 5 チームにシステム提出を依頼す る必要があるが、共同教育を用いた場合、同等の性能のシステムを公開できることとなる。これは提案手法の優位性を強く示す結果である。

カテゴリー毎に見た場合、共同教育は 18 カテゴ リーにおいて参加チームの最良スコアを上回ってい るが、残りの 15 カテゴリーでは下回っている。図

表 1 サブクラス毎の実験結果

図 21 位と 2 位の参加システムのスコア差分と共同教育 によるスコア向上の相関

図 3 生徒の学習に使用する記事数とスコアの関係

2 に、 1 位と 2 位の参加システムのスコア差分と共同教育によるスコア向上の相関を示す。両者の相関係数は $r=-0.519$ であり、負の相関が見られる。3） つまり、最良の教師のみが優れている場合におい て、共同教育が効果的に機能していないことが分か る。現在の手法では、全ての教師との誤差を平均化 しているため、多数決の結果は生徒モデルの勾配更新に大きな影響を及ぼす。そのため、単一の教師の みが優れているような場合では、生徒の学習に反映 されないと考えられる。例えば MGDA [14] 等のよ うな学習中に動的に誤差の重みづけする手法を用い
$ は $\mathrm{t}$ 検定により $p<0.01$ で統計的
} に有意である。
ることで、以上のような場合に対処できる可能性が ある。

## 5.3 使用する記事数に関する分析

本実験では、生徒の学習に最大 2,000 件の記事を使用しているが、カテゴリーにおいてはよ り多くの記事を使用可能である。市区町村名力 テゴリーにおいて生徒の学習に用いる記事数を $\{2,000,5,000,10,000\}$ と変化させて、森羅 2019 で配布されている開発データで評価した結果を図 3 に示 す。4) 最終出力 $p$ を用いた場合 5,000 記事まではスコ アの向上が見られるが、 10,000 記事では低下してい る。使用する記事数が多くなると、教師と比較して 学習データが生徒モデルに与える影響が小さくなる が、この場合は両者の誤差のバランスを調節する重 みを導入する必要があると考えられる。また、出力層の出力 $p^{\text {out }}$ より個別出力層の出力平均 $p^{\text {mean }}$ が一貫して優れている。これは生徒が教師から得ている 情報に非常に価値があることを示している。

## 6 おわりに

本論文では、共有タスクに提出されたシステム結果を用いて新規モデルを学習する手法である共同教育を提案した。本手法により、共有タスクは参加者 にシステム自体の提供を要求せずとも、自然言語ア プリケーションに汎用可能なシステムを公開するこ とができる。本手法の有効性を示すため、実際の共有タスクである森羅 2019 により提供されたデータ に対して共同教育を適用した。その結果、最良のシ ステムよりも高性能であり、最良のシステム群と同等性能のシステムを獲得できた。今後は本手法が多 くの共有タスクで適用され、システム開発に注ぎ込 まれた参加者の努力がより活用されることを願う。

4）この際使用するハイパーパラメーターは 4.2 章で使用し たものと同じであるが、バッチサイズのみ 2,000 記事の場合 $\{8,16,32\} 、 5,000$ 記事の場合 $\{20,40,80\} 、 10,000$ 記事の場合 $\{40,80,160\}$ からグリッドサーチにより選択する。

## 謝辞

本研究は JST、ACT-X、JPMJAX20AI および JSPS

科研費 JP20269633、JST さきがけ JPMJPR20C2 の支援を受けたものです。

## 参考文献

[1] Jimmy Ba and Rich Caruana. Do deep nets really need to be deep? In Z. Ghahramani, M. Welling, C. Cortes, N. Lawrence, and K. Q. Weinberger, editors, Advances in Neural Information Processing Systems, Vol. 27. Curran Associates, Inc., 2014.

[2] Geoffrey Hinton, Oriol Vinyals, and Jeffrey Dean. Distilling the knowledge in a neural network. In NIPS Deep Learning and Representation Learning Workshop, 2015.

[3] Adriana Romero, Nicolas Ballas, Samira Ebrahimi Kahou, Antoine Chassang, Carlo Gatta, and Y. Bengio. Fitnets: Hints for thin deep nets. arXiv, 122014.

[4] Ying Zhang, Tao Xiang, Timothy M. Hospedales, and Huchuan Lu. Deep mutual learning. In 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition, pp. 4320-4328, 2018.

[5] David Yarowsky. Unsupervised word sense disambiguation rivaling supervised methods. In 33rd Annual Meeting of the Association for Computational Linguistics, $\mathrm{pp}$. 189-196, Cambridge, Massachusetts, USA, June 1995. Association for Computational Linguistics.

[6] Avrim Blum and Tom Mitchell. Combining labeled and unlabeled data with co-training. In Proceedings of the Eleventh Annual Conference on Computational Learning Theory, COLT' 98, pp. 92-100, New York, NY, USA, 1998. Association for Computing Machinery.

[7] Sekine Satoshi. Extended named entity ontology with attribute information. In Proceedings of the Sixth International Conference on Language Resources and Evaluation (LREC'08), Marrakech, Morocco, May 2008. European Language Resources Association (ELRA).

[8] Masatoshi Suzuki, Koji Matsuda, Satoshi Sekine, Naoaki Okazaki, and Kentaro Inui. A joint neural model for finegrained named entity classification of wikipedia articles. IEICE Transactions on Information and Systems, Vol. E101.D, No. 1, pp. 73-81, 2018.

[9] Erik F. Tjong Kim Sang and Jorn Veenstra. Representing text chunks. In Ninth Conference of the European Chapter of the Association for Computational Linguistics, pp. 173-179, Bergen, Norway, June 1999. Association for Computational Linguistics.

[10] Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. BERT: Pre-training of deep bidirectional transformers for language understanding. In Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long and Short Papers), pp. 4171-4186, Minneapolis, Minnesota, June 2019. Association for Computational Linguistics.

[11] Yinhan Liu, Myle Ott, Naman Goyal, Jingfei Du, Man- dar Joshi, Danqi Chen, Omer Levy, Mike Lewis, Luke Zettlemoyer, and Veselin Stoyanov. RoBERTa: A robustly optimized bert pretraining approach, 2019.

[12] Yin Cui, Menglin Jia, Tsung-Yi Lin, Yang Song, and Serge Belongie. Class-balanced loss based on effective number of samples, 2019.

[13] Tsung-Yi Lin, Priya Goyal, Ross Girshick, Kaiming He, and Piotr Dollar. Focal loss for dense object detection. In Proceedings of the IEEE International Conference on Computer Vision (ICCV), Oct 2017.

[14] Ozan Sener and Vladlen Koltun. Multi-task learning as multi-objective optimization. In $\mathrm{S}$. Bengio, $\mathrm{H}$. Wallach, H. Larochelle, K. Grauman, N. Cesa-Bianchi, and R. Garnett, editors, Advances in Neural Information Processing Systems, Vol. 31. Curran Associates, Inc., 2018.

} & \multirow{2}{*}{} \\

表 2 カテゴリー毎の結果
 中山功太 ${ }^{1,2}$ 栗田修平 1 小林暁雄 ${ }^{3}$ 馬場雪乃 $1,4 \quad$ 関根聡 ${ }^{1}$ 1 理化学研究所 AIP 2 筑波大学大学院理工情報生命学術院 3 農業・食品産業技術総合研究機構 4 筑波大学システム情報系 \{kouta.nakayama, shuhei.kurita, satoshi.sekine\}@riken.jp akio.kobayashi@naro.go.jp baba@cs.tsukuba.ac.jp  