# 物体構成要素間の階層的な注意を用いた画像キャプション生成

平川 幸佑，田村 晃裕，加藤恒夫
同志社大学 大学院理工学研究科
\{ctwf0106@mail4, aktamura@mail, tsukato@mail\}.doshisha.ac.jp

## 概要

画像キャプション生成タスクでは，Faster R-CNN のような物体検出器により抽出した物体の特徴べ クトルを用いるモデルが高い精度を達成している。従来モデルでは Transformer Encoder の自己注意機構 において物体間の関連を捉えられる。しかし，物体間の関連は学習の中で自動的に学習されるため，位置が近い物体同士が纏まりやすいという傾向は陽 にモデルに取り入れられていない. そこで本研究で は， Transformer Encoder において隣接する物体間の 関連を階層的に捉える自己注意機構「構成要素注意機構」を提案する。

## 1 はじめに

近年, ニューラルネットワーク $(\mathrm{NN})$ に基づいた画像キャプション生成の研究が盛んに行われている. NN に基づくキャプション生成は Encoder-Decoder モ デル [1]が主流であり，CNNを用いて畳み込んだ画像の各領域への注意を学習する視覚的な注意機構に 基づくモデルが高い精度を実現している [2]. また， Faster R-CNN[3] などの物体検出器により抽出された 画像上の物体や顕著な領域を用いることで，物体の 位置やサイズを考慮したキャプション生成モデルが 提案されている [4]. この従来モデルでは Encoder の 自己注意機構において物体間の関連を捉えられる。 しかし，物体間の関連は学習の中で自動的に学習さ れるため，位置が近い物体同士が䌂まりやすいとい う傾向は陽にモデルに取り入れられていない.

そこで本研究では，Transformer に基づく画像キャ プション生成モデルの Encoder において，隣接する 2 つの物体構成要素間の緹まりを捉えながら物体間 の関連を階層的に捉える自己注意機構「構成要素注意機構」を提案する. 構成要素注意機構により隣接する物体構成要素同士を階層的に維めていくこ とで，位置が近い物体同士を関連づけられるため，
キャプション生成の精度向上が期待できる.

MSCOCO 2014 captions データセット [5] を用いた 画像キャプション生成タスクによる評価実験の結果，Transformer をべースとした古典的な画像キャプ ション生成モデルに提案の構成要素注意機構を導入することで，有意な性能改善を確認できた。一方 で, Object-Relation-Transformer[4] に構成要素注意機構を導入した場合，評価指標のスコアはわずかに向上したが，有意差は確認できなかった。

## 2 関連研究

2.1 節で Transformer について説明する. 2.2 節で は，本研究でベースモデルとして利用する，物体検出により抽出した物体間の関連を Encoder で捉える Object-Relation-Transformer について説明する.

## 2.1 Transformer

Transformer[6] は, 入力系列を潜在表現へと変換 し，変換した潜在表現から出力系列を生成する Encoder-Decoder モデルである. Encoder と Decoder はそれぞれ Encoder レイヤと Decoder レイヤを複数個スタックすることで構成される. Encoder レイヤ は自己注意層と全結合層の 2 つのサブレイヤで構成され, Decoderレイヤは自己注意機構と全結合層, ソース・ターゲット注意機構の 3 つのサブレイヤで 構成されている．各サブレイヤ間には，残差接続と 層正規化が適用される. 自己注意機構は $H$ 個の同一のヘッド (マルチヘッド)で構成され，各へッドの 計算には式 (1) の縮小付き内積注意が用いられる.

$
\operatorname{head}_{i}(Q, K, V)=\operatorname{softmax}\left(\frac{Q K^{T}}{\sqrt{d_{k}}}\right) V
$

ここで， $Q, K, V$ はそれぞれquery, key，value に 対応しており,$d_{k}=d_{\text {model }} / h て ゙ あ る . ~ d_{\text {model }}$ は元々 の入力の埋め込み次元である. query と key の内積 により算出した各要素の類似度を softmax により確率化することで，要素間の関係の強さを表すスコア

を算出する. このスコアと value との内積を算出す ることで，query の各要素と関係の強い valueの各要素の重み付き加重和による特徵が抽出できる. 式 (1) は各へッドで独立に計算され，式 (2)のように $H$個のヘッドの出力を 1 つのベクトルに連結し, 重み 行列 $W^{O}$ と乗算される.

$
\operatorname{MultiHead}(Q, K, V)=\operatorname{Concat}\left(\operatorname{head}_{1}, \ldots, \text { head }_{H}\right) W^{O}
$

また，全結合層は式 (3)により行われる。

$
\operatorname{FFN}(x)=\max \left(0, x W_{1}+b_{1}\right) W_{2}+b_{2}
$

ここで $, W_{1}, b_{1}$ と $W_{2}, b_{2}$ は全結合層の重みとバイ アスである.

Transformer は再帰や畳み込みを用いていないた め, 入力系列や出力系列の各要素の位置情報を捉え ることができない. そこで Encoder と Decoderでは，埋め込み層の後で $\sin$ 関数と $\cos$ 関数を用いた位置 エンコーディングを行い, 各要素の位置情報を付加 する. ただし，物体検出ベースの画像キャプション 生成 Transformer の場合，入力となる特徵ベクトル の並びは画像における位置に基づくものではない. そのため，エンコーダでは位置エンコーディングを 用いた埋め込み処理を行っていない.

## 2.2 Object-Relation-Transformer

Object-Relation-Transformer[4] は 2.1 節で紹介した Transformer Encoder の注意機構で, 物体間の相対的 な位置やサイズの比率を組み込んだ幾何学的注意を 計算する. まず，画像中の 2 つの物体 $m$ と $n$ の中心座標 $\left(x_{m / n}, y_{m / n}\right)$, 幅 $\left(w_{m / n}\right)$, 高さ $\left(h_{m / n}\right)$ から変位へ クトル $\lambda(m, n)$ を式 (4) により算出する.

$\lambda(m, n)=\left(\log \left(\frac{d_{x}}{w_{m}}\right), \log \left(\frac{d_{y}}{h_{m}}\right), \log \left(\frac{w_{n}}{w_{m}}\right), \log \left(\frac{h_{n}}{h_{m}}\right)\right)$

ここで $, d_{x}=\left|x_{m}-x_{n}\right|, \quad d_{y}=\left|y_{m}-y_{n}\right|$ である. そし $\tau$ ，幾何学的注意重みを式 (5) により算出する。

$
\omega_{G}^{m n}=\operatorname{ReLU}\left(\operatorname{Emb}(\lambda) W_{G}\right)
$

ここで， Emb は，Transformer の sin 関数と $\cos$ 関数 による位置エンコーディングを行う関数である。位置エンコーディングの結果は重みべクトル $W_{G}$ と 乗算することでスカラー值に変換し, 非線形関数 ReLUを適用する. その後, 幾何学的注意重み $\omega_{G}^{m n}$ は，式(6)によりオリジナルの注意機構に組み込む。

$
\omega^{m n}=\frac{\omega_{G}^{m n} \exp \left(\omega_{A}^{m n}\right)}{\sum_{l=1}^{N_{I}} \omega_{G}^{m l} \exp \left(\omega_{A}^{m l}\right)}
$

図 1 構成要素注意機構を導入した自己注意機構 ここで， $\omega_{A}^{m n}$ は query と keyの縮小付き内積により 算出された行列の要素である. また， $N_{I}$ は画像中 の物体の個数である. 最終的なへッドの出力は式 (7) になる。

$
\text { head }_{i}(Q, K, V)=\Omega V
$

ここで, $\Omega$ は $\omega^{m n}$ を要素に持つ $N_{I} \times N_{I}$ 行列である.

## 3 提案手法

従来の物体検出ベースの Transformer モデルは, Encoder の自己注意機構で物体間の関連を捉える。 しかし，その関連は学習の中で自動的に学習される ため, 近い位置の物体同士が緥まりやすい傾向は陽 にモデルに取り入れられていない. そこで本研究で は，Transformer Encoder で隣接する物体間の関連を 階層的に捉える構成要素注意機構を提案する.

構成要素注意機構を組み込んだ Transformer Encoder の自己注意機構の概略図を図 1 に示す. 図 1 において, 赤い部分が提案の構成要素注意機構に 関する部分である. 以降， 3.1 節で構成要素注意機構について説明し, 3.2 節で構成要素注意機構を画像キャプション生成 Transformer モデルへ組み込む 方法を説明する。

## 3.1 構成要素注意機構

構成要素注意機構は，Transformer の自己注意機構において文の句構造を捉えるために提案された Constituent Attention[7] を画像キャプション生成モデ ルに応用したものである. 構成要素注意機構では，隣接する物体間の関連を表す隣接注意スコアに基づ き，特定範囲の物体が同じ構成要素に属する確率を 表す構成要素事前確率を階層的に求める. そして， その構成要素事前確率で自己注意機構を条件付ける ことで，自己注意機構において隣接する要素間をよ り関連付けることが可能になる。

図 2 物体集合の系列化の例

提案手法では，まず，物体検出器により検出され た物体の集合を物体系列に変換する。この際，画像中で隣接する物体は物体系列においても隣接するよ うに系列化する，具体的には，図 2 のように，各物体の中心座標に基づき，原点から距離が近い順に物体を並べる。この物体系列を基に構成要素事前確率 を計算することで，隣接する物体同士を同じ構成要素として関連づけることが可能になる。

構成要素注意機構は物体系列に対して，まず，物体 $o_{i}$ が右隣りの物体 $o_{i+1}$ と左隣りの物体 $o_{i-1}$ に 結びつく確率を式 (8) のように算出する. ただし， $s_{i, i+1}$ と $s_{i, i-1}$ は, それぞれ, $o_{i}$ が $o_{i+1}$ と $o_{i, i-1}$ に結 びつく度合いを表すスコアであり，式 (9) の通り，縮小付き内積注意により算出される。

$
\begin{gathered}
p_{i, i+1}, p_{i, i-1}=\operatorname{softmax}\left(s_{i, i+1}, s_{i, i-1}\right) \\
s_{i, i+1}=\frac{q_{i} \cdot k_{i+1}}{d}, s_{i, i-1}=\frac{q_{i} \cdot k_{i-1}}{d}
\end{gathered}
$

ここで, $q_{i}$ は $o_{i}$ の queryであり, $k_{i-1}$ と $k_{i+1}$ は，それ ぞれ, $o_{i-1}$ と $o_{i+1}$ の keyである. また, $d=d_{\text {model }} / 2$ である.

その後， $o_{i}$ と $o_{i+1}$ が結びつく度合いを表す隣接注意スコアを，式 (10) の通り， $p_{i, i+1}$ と $p_{i+1, i}$ の 2 つの 確率の幾何平均により求める.

$
\hat{a}_{i, i+1}=\sqrt{p_{i, i+1} \times p_{i+1, i}}
$

そして，この隣接注意スコアを，式 (11)のように階層的に取り込んだ構成要素注意スコアを求める. 構成要素注意スコア $a_{i, i+1}$ は物体 $o_{i}$ と隣接物体 $o_{i+1}$ が 同じ構成要素に属する度合いを表している。

$
a_{i, i+1}^{l}=a_{i, i+1}^{l-1}+\left(1-a_{i, i+1}^{l-1}\right) \hat{a}_{i, i+1}^{l}
$

ここで， $a^{l}$ は $l$ 層目の構成要素注意スコア， $\hat{a}^{l}$ は $l$層目の隣接注意スコアである. 初期状態では各物体 は異なる構成要素とみなし， $a^{0}=0$ とする。

構成要素注意スコア $a_{i, i+1}$ を算出後, 算出した $a_{i, i+1}$ をもとに，式 (12) のように構成要素事前確率 $C_{i, j}$ を算出する. $C_{i, j}$ は物体 $o_{i}$ から $o_{j}$ までが同じ 構成要素である確率を表す.

$
C_{i, j}=e^{\sum_{k=i}^{j-1} \log \left(a_{k, k+1}\right)}
$

この構成要素事前確率を用いて，式 (13) のように自己注意を条件づけることで，隣接する関連の高い物体をより注目させる。

$
E=C \odot \operatorname{softmax}\left(\frac{Q K^{T}}{\sqrt{d_{k}}}\right)
$

ここで， $C$ は $C_{i, j}$ を要素とする行列である.

## 3.2 構成要素注意機構の導入

構成要素注意機構（式 (13)）のみを用いると，隣接しないが関連度の高い物体が注目されない問題が 生じ得る。例えば，図 2 において，物体 “ 0 ” と物体 “1”が関連ある物体であっても，構成要素注意機構 では関連強いと判定できずに正しいキャプション を生成できない可能性がある。 そこで提案モデルで は，図 1 のように，Transformer Encoder の各ヘッド で通常の自己注意機構と構成要素注意機構を結合 し，2つの自己注意を考慮する．各ヘッドでの演算 と最終的なマルチヘッドの出力はそれぞれ式 (14),式 (15) の通りである. 式 (14) の head ${ }_{i}$ は式 (1) や式 (7) で計算されるものである.

$
\hat{\text { head }}_{i}(Q, K, V)=\operatorname{Concat}\left(\operatorname{head}_{i}(Q, K, V), E V\right)
$

$\operatorname{MultiHead}(Q, K, V)=\operatorname{Concat}\left(\hat{\text { head }}_{1}, \ldots, \hat{\operatorname{head}}_{H}\right) W^{O}$

## 4 実験

## 4.1 実験設定

本研究では， MSCOCO 2014 captions データセッ ト [5] を用いて，提案手法の有効性を検証した。 MSCOCO データセットは，82,783 件の訓練用画像 と 40,504 件の開発用画像, 40,775 件のテスト画像か らなる。各画像には最低 5 つのキャプションが付 けられている。本実験では，Karpathy ら [8] に倣い，開発用画像のうち 5,000 件をモデル開発用，5,000 件をテスト用，残りを訓練用画像に足し，113,287 件を学習に用いた。また，入力に用いる特徴マップ は, Herdade ら [4] に倣い, Anderson ら [9] が公開し ている事前学習済みの bottom-up attention model によ り抽出した MS COCO 画像の領域特徵群1)を採用し た. Transformer のパラメータ設定は，Vaswani ら [6] に倣い, Encoder, Decoder レイヤは 6 個スタックし， ヘッド数は $8 ， d_{\text {model }}$ は 512 とした. また，モデル の最適化手法は Adam， ウォームアップステップを


20,000，バッチサイズを 15 とし，クロスエントロ ピー誤差を損失関数として 30 エポック学習を行っ た. キャプション文はビームサイズ 2 のビームサー チで生成した。

提案の構成要素注意機構（CSA）の効果を確認す るため, 通常の画像キャプション生成 Transformer モデル（T), Object-Relation-Transformer（ORT），そ れぞれのモデルに構成要素注意機構を導入したモ デル（T+CSA，ORT+CSA）の性能を比較した. 各モ デルで 3 回ずつ学習した後, テストデータに対す る性能の平均值と最大值で比較した. 評価指標は, BLEU-n[10] と METEOR[11], CIDEr-D[12] を用いた.

## 4.2 実験結果

それぞれのモデルの性能を表 1 に示す. なお，「*」はベースラインモデル（T／ORT）との差が，対応ありの両側 $\mathrm{t}$ 検定で有意（有意水準 $5 \%$ ）であっ たことを表す. Transformer と構成要素注意機構を導入した Transformer を比較すると，Bleu4 スコアにお いては，平均值で 0.7 ポイント，最大値で 0.4 ポイ ントの向上が確認できた. CIDEr-D スコアにおいて も, 平均值で 1.6 ポイント, 最大値で 1.7 ポイント の向上し，有意な改善を確認できた.

Object-Relation-Transformer と構成要素注意機構を 導入した Object-Relation-Transformerを比較すると， Bleu4 スコアにおいては, 平均値, 最大值共に 0.3 ポ イントの向上が確認できた. CIDEr-D スコアにおい ても, 平均で 0.4 ポイント, 最大値で 0.6 ポイント の向上が確認できた. しかし，これらの結果に対し て対応ありの両側 $\mathrm{t}$ 検定を行った結果，有意水準 $5 \%$ でいずれの指標においても有意差を確認できなかっ た.

## 4.3 考察

提案の構成要素注意機構で算出した自己注意の例 を図 3, 4 に示す. 各画像において, 枠内の画像が

図 3 構成要素注意機構で算出した注意の例 (1 層目)

図 4 構成要素注意機構で算出した注意の例 (6 層目)

鮮明なほど，その画像に対する注意が高くなること を示す.ここで，一番右上の緑枠は注目する物体,赤枠は緑枠より原点から遠い物体，青枠は緑枠より 原点に近い物体であり，緑枠に隣接する両隣 3 個の 物体を表している。

これらの図より, 右上の緑枠の腕に関して, 1 層目では，周辺のスプーンや持ち手に注意が向き，最上層では，左の女性も 1 つの要素として纏めている ことが確認できる。このことから，構成要素注意機構は，周辺の物体を緹めながら階層的に注意を計算 できたことが分かる.

## 5 おわりに

本研究では， Faster-R-CNNのような物体検出器に より獲得した物体や顕著な領域の特徴ベクトルを 用いた画像キャプション生成 Transformer モデルに 対して，画像上で隣接する物体を物体構成要素の緾 まりとして階層的にとらえる自己注意機構「構成要素注意機構」を提案した. MSCOCO データを用 いた実験結果より，Transformer に構成要素注意機構を導入することで，統計的に有意にキャプショ ン生成性能を改善できることが確認できた。一方， Object-Relation-Transformer に構成要素注意機構を導入した場合も，いくつかの評価スコアが向上した が，検定の結果，有意ではなかった. 今後は，構成要素注意機構で行う物体群の系列化の方法を変更す るなどして，提案モデルの性能を改善させたい.

## 参考文献

[1] Oriol Vinyals, Alexander Toshev, Samy Bengio, and Dumitru Erhan. Show and tell: A neural image caption generator. In Proceedings of the IEEE conference on computer vision and pattern recognition, pp. 3156-3164, 2015.

[2] Kelvin Xu, Jimmy Ba, Ryan Kiros, Kyunghyun Cho, Aaron Courville, Ruslan Salakhudinov, Rich Zemel, and Yoshua Bengio. Show, attend and tell: Neural image caption generation with visual attention. In International conference on machine learning, pp. 2048-2057. PMLR, 2015.

[3] Shaoqing Ren, Kaiming He, Ross Girshick, and Jian Sun. Faster r-cnn: Towards real-time object detection with region proposal networks. In Advances in neural information processing systems, Vol. 28, pp. 91-99, 2015.

[4] Simao Herdade, Armin Kappeler, Kofi Boakye, and Joao Soares. Image captioning: Transforming objects into words. In Advances in neural information processing systems, 2019.

[5] Tsung-Yi Lin, Michael Maire, Serge Belongie, James Hays, Pietro Perona, Deva Ramanan, Piotr Dollár, and C Lawrence Zitnick. Microsoft coco: Common objects in context. In European conference on computer vision, pp. 740-755. Springer, 2014.

[6] Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N Gomez, Łukasz Kaiser, and Illia Polosukhin. Attention is all you need. In Advances in neural information processing systems, pp. 5998-6008, 2017.

[7] Yaushian Wang, Hung-Yi Lee, and Yun-Nung Chen. Tree transformer: Integrating tree structures into self-attention. In Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing (EMNLPIJCNLP), pp. 1061-1070, November 2019.

[8] Andrej Karpathy and Li Fei-Fei. Deep visualsemantic alignments for generating image descriptions. In Proceedings of the IEEE conference on computer vision and pattern recognition, pp. 31283137, 2015.
[9] Peter Anderson, Xiaodong He, Chris Buehler, Damien Teney, Mark Johnson, Stephen Gould, and Lei Zhang. Bottom-up and top-down attention for image captioning and visual question answering. In Proceedings of the IEEE conference on computer vision and pattern recognition, pp. 6077-6086, 2018.

[10] Kishore Papineni, Salim Roukos, Todd Ward, and Wei-Jing Zhu. Bleu: a method for automatic evaluation of machine translation. In Proceedings of the 40th annual meeting of the Association for Coтpиtational Linguistics, pp. 311-318, 2002.

[11] Michael Denkowski and Alon Lavie. Meteor universal: Language specific translation evaluation for any target language. In Proceedings of the ninth workshop on statistical machine translation, pp. 376380, 2014.

[12] Ramakrishna Vedantam, C Lawrence Zitnick, and Devi Parikh. Cider: Consensus-based image description evaluation. In Proceedings of the IEEE conference on computer vision and pattern recognition, pp. 4566-4575, 2015.
 平川 幸佑，田村 晃裕，加藤恒夫 同志社大学 大学院理工学研究科 \{ctwf0106@mail4, aktamura@mail, tsukato@mail\}.doshisha.ac.jp  