(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024124103
(43)【公開日】2024-09-12
(54)【発明の名称】動画修辞構造解析学習装置、動画修辞構造推定装置、動画修辞構造解析学習方法、動画修辞構造推定方法及びプログラム
(51)【国際特許分類】
G06N 3/08 20230101AFI20240905BHJP
G06N 3/0455 20230101ALI20240905BHJP
G06N 20/00 20190101ALI20240905BHJP
【FI】
G06N3/08
G06N3/0455
G06N20/00
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2023032042
(22)【出願日】2023-03-02
(71)【出願人】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(71)【出願人】
【識別番号】304021417
【氏名又は名称】国立大学法人東京工業大学
(74)【代理人】
【識別番号】110004381
【氏名又は名称】弁理士法人ITOH
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100124844
【弁理士】
【氏名又は名称】石原 隆治
(72)【発明者】
【氏名】平尾 努
(72)【発明者】
【氏名】奥村 学
(72)【発明者】
【氏名】小林 尚輝
(57)【要約】
【課題】キャプションが与えられていない動画の修辞構造解析を可能とすること。
【解決手段】動画修辞構造解析学習装置は、動画を入力して前記動画の修辞構造木を出力するモデルを構成するエンコーダが動画の一部を構成するフレーム列を入力した場合に出力するベクトルに基づいて得られるキャプションと、前記フレーム列に対するキャプションとに基づいて前記エンコーダを事前学習する第1の学習部と、前記モデルを構成するニューラルネットワークが、事前学習された前記エンコーダが第1の修辞構造木の各葉に対応するフレーム列について出力するベクトルに基づく1以上の連続した前記フレーム列であるスパンごとのベクトルを入力した場合に出力する修辞構造木と、前記第1の修辞構造木とに基づいて前記モデルを学習する第2の学習部と、を有する。
【選択図】
図4
【特許請求の範囲】
【請求項1】
動画を入力して前記動画の修辞構造木を出力するモデルを構成するエンコーダが動画の一部を構成するフレーム列を入力した場合に出力するベクトルに基づいて得られるキャプションと、前記フレーム列に対するキャプションとに基づいて前記エンコーダを事前学習する第1の学習部と、
前記モデルを構成するニューラルネットワークが、事前学習された前記エンコーダが第1の修辞構造木の各葉に対応するフレーム列について出力するベクトルに基づく1以上の連続した前記フレーム列であるスパンごとのベクトルを入力した場合に出力する修辞構造木と、前記第1の修辞構造木とに基づいて前記モデルを学習する第2の学習部と、
を有することを特徴とする動画修辞構造解析学習装置。
【請求項2】
前記第1の修辞構造木は、キャプションの修辞構造木から当該キャプションとフレーム列との対応関係に基づいて生成され修辞構造木である、
ことを特徴とする請求項1記載の動画修辞構造解析学習装置。
【請求項3】
前記第2の学習部によって学習された前記エンコーダが動画を構成する複数のフレーム列を入力した場合に出力するベクトルに基づく前記スパンごとのベクトルを前記ニューラルネットワークが入力した場合に出力される修辞構造木と、当該動画に対する正解としての修辞構造木とに基づいて前記モデルを追加学習する第3の学習部、
を有することを特徴とする請求項2記載の動画修辞構造解析学習装置。
【請求項4】
請求項1乃至3いずれか一項記載の動画修辞構造解析学習装置によって学習された前記モデルを用いて、入力された動画の修辞構造木を推定する推定部、
を有することを特徴とする動画修辞構造推定装置。
【請求項5】
、
動画を入力して前記動画の修辞構造木を出力するモデルを構成するエンコーダが動画の一部を構成するフレーム列を入力した場合に出力するベクトルに基づいて得られるキャプションと、前記フレーム列に対するキャプションとに基づいて前記エンコーダを事前学習する第1の学習手順と、
前記モデルを構成するニューラルネットワークが、事前学習された前記エンコーダが第1の修辞構造木の各葉に対応するフレーム列について出力するベクトルに基づく1以上の連続した前記フレーム列であるスパンごとのベクトルを入力した場合に出力する修辞構造木と、前記第1の修辞構造木とに基づいて前記モデルを学習する第2の学習手順と、
をコンピュータが実行することを特徴とする動画修辞構造解析学習方法。
【請求項6】
請求項1乃至3いずれか一項記載の動画修辞構造解析学習装置によって学習された前記モデルを用いて、入力された動画の修辞構造木を推定する推定手順、
をコンピュータが実行することを特徴とする動画修辞構造推定方法。
【請求項7】
動画を入力して前記動画の修辞構造木を出力するモデルを構成するエンコーダが動画の一部を構成するフレーム列を入力した場合に出力するベクトルに基づいて得られるキャプションと、前記フレーム列に対するキャプションとに基づいて前記エンコーダを事前学習する第1の学習手順と、
前記モデルを構成するニューラルネットワークが、事前学習された前記エンコーダが第1の修辞構造木の各葉に対応するフレーム列について出力するベクトルに基づく1以上の連続した前記フレーム列であるスパンごとのベクトルを入力した場合に出力する修辞構造木と、前記第1の修辞構造木とに基づいて前記モデルを学習する第2の学習手順と、
をコンピュータに実行させることを特徴とするプログラム。
【請求項8】
請求項1乃至3いずれか一項記載の動画修辞構造解析学習装置によって学習された前記モデルを用いて、入力された動画の修辞構造木を推定する推定手順、
をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、動画修辞構造解析学習装置、動画修辞構造推定装置、動画修辞構造解析学習方法、動画修辞構造推定方法及びプログラムに関する。
【背景技術】
【0002】
動画の構造を自動的に推定する動画修辞構造解析は、動画を、イベント区間(開始終了時刻を持つフレーム列)の系列とみなし、イベント区間の間の関係を再帰構造を持った2分木(修辞構造木)として表現する(
図1)。なお、木の葉は単一のイベント区間となる。イベントスパン(単体のイベント区間又はその連なり)を表す非終端ノードはN(核)、S(衛星)という役割をもち、Sが対となったNを予め定められた修辞関係(図中のCauseやSupplementなど)で修飾する。つまり、SからNへ向かうエッジに修辞関係ラベルが与えられる。以下に、修辞関係ラベルとして扱われる文字列を示す。
【0003】
Preparation、Cause、Result、Supplement、Comparison、List、Back-ground、Summary、Restatement、Attribution、Elaboration、En-ablement、Manner-means、Same-unit
例外的に2つの非終端ノードが支配する2つのスパンの間の関係が並列である場合は双方にNが与えられ、双方のエッジラベルに並列関係を表す修辞関係ラベル(List、Same-unit、Comparison)が与えられる。なお、この構造は修辞構造理論における木の構築ルールにしたがっている。
【0004】
こうした木構造を推定するため、イベント区間に対するキャプションを活用する手法が提案されている(非特許文献1)。この手法では、キャプションを用いて通常の修辞構造解析が行われ、キャプションとイベント区間との間の対応関係に基づきイベント区間の修辞構造木が得られる。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】Arjun R. Akula and Song-Chun Zhu、"Discourse Parsing in Videos: A Multi-modal Appraoch"、In CVPR Workshop on Language and Vision 2020
【発明の概要】
【発明が解決しようとする課題】
【0006】
非特許文献1の手法はキャプションが与えられた動画を対象とすることが前提となっている。つまり、単にテキストの修辞構造解析を行っているにすぎず、キャプションが与えられていない動画に対応できないという問題がある。
【0007】
本発明は、上記の点に鑑みてなされたものであって、キャプションが与えられていない動画の修辞構造解析を可能とすることを目的とする。
【課題を解決するための手段】
【0008】
そこで上記課題を解決するため、動画修辞構造解析学習装置は、動画を入力して前記動画の修辞構造木を出力するモデルを構成するエンコーダが動画の一部を構成するフレーム列を入力した場合に出力するベクトルに基づいて得られるキャプションと、前記フレーム列に対するキャプションとに基づいて前記エンコーダを事前学習する第1の学習部と、前記モデルを構成するニューラルネットワークが、事前学習された前記エンコーダが第1の修辞構造木の各葉に対応するフレーム列について出力するベクトルに基づく1以上の連続した前記フレーム列であるスパンごとのベクトルを入力した場合に出力する修辞構造木と、前記第1の修辞構造木とに基づいて前記モデルを学習する第2の学習部と、を有する。
【発明の効果】
【0009】
キャプションが与えられていない動画の修辞構造解析を可能とすることができる。
【図面の簡単な説明】
【0010】
【
図1】動画修辞構造解析を説明するための図である。
【
図2】クリップエンコーダによるイベント区間からベクトルへの変換を示す図である。
【
図3】本発明の実施の形態における動画修辞構造解析学習装置10のハードウェア構成例を示す図である。
【
図4】本発明の実施の形態における動画修辞構造解析学習装置10の機能構成例を示す図である。
【
図5】クリップエンコーダの事前学習を説明するための図である。
【
図6】遷移型の解析法に基づくパラメタ最適化を説明するための図である。
【発明を実施するための形態】
【0011】
本実施の形態では、キャプションを必要とせずに、動画中のイベント区間(開始終了時刻を持つフレーム列)の系列の情報が付与された動画の修辞構造が解析される。但し、(イベントが付与された)動画を入力としてイベント区間を葉とする修辞構造木(二分木)を出力するニューラルネットワーク(以下、「動画修辞構造解析モデル」という。)の学習、つまりパラメタ推定には十分な量の訓練データが必要となる。しかし、イベント区間の間の関係を表す修辞構造木のアノテーションを与えるコストは非常に高い。よって、大規模な訓練データを用意することが困難である。なお、動画のイベント区間の同定に関しては以下の既存技術(以下、「参考文献1」という。)などを用いれば自動的に決定できる。
【0012】
[参考文献1]
Krishna, Ranjay and Hata, Kenji and Ren, Frederic and Fei-Fei, Li and Niebles, Juan Carlos、"Dense-Captioning Events in Videos"、In Proc. of International Conference on Computer Vision (ICCV),2017
本実施の形態では、この課題を解決するため、ActivityNet Captions(参考文献1)などで開発された、動画に対してイベント区間とキャプションの対が与えられたデータセットを活用する。まず、イベント区間をベクトル(クリップ表現ベクトル)へと変換し、動画修辞構造解析モデルの一部を構成するクリップエンコーダ(
図2)の事前学習として、イベント区間からキャプションを生成するタスクを用いる。そして、テキスト修辞構造解析器を適用し、非特許文献1と同様に動画の修辞構造木を得て、これを擬似訓練データとして動画修辞構造解析モデルを構成するネットワーク全体(動画修辞構造解析モデル全体)の事前学習を行う。そして、訓練データを用いて再び動画修辞構造解析モデル全体の追加学習を行う。
【0013】
以下、図面に基づいて本発明の実施の形態を説明する。
図3は、本発明の実施の形態における動画修辞構造解析学習装置10のハードウェア構成例を示す図である。
図3の動画修辞構造解析学習装置10は、それぞれバスBで相互に接続されているドライブ装置100、補助記憶装置102、メモリ装置103、プロセッサ104、及びインタフェース装置105等を有する。
【0014】
動画修辞構造解析学習装置10での処理を実現するプログラムは、CD-ROM等の記録媒体101によって提供される。プログラムを記憶した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【0015】
メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。プロセッサ104は、CPU若しくはGPU(Graphics Processing Unit)、又はCPU及びGPUであり、メモリ装置103に格納されたプログラムに従って動画修辞構造解析学習装置10に係る機能を実行する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。
【0016】
図4は、本発明の実施の形態における動画修辞構造解析学習装置10の機能構成例を示す図である。
図4において動画修辞構造解析学習装置10は、クリップエンコーダ事前学習部11、データ拡張部12、事前学習部13及び追加学習部14を有する。これら各部は、動画修辞構造解析学習装置10にインストールされた1以上のプログラムが、プロセッサ104に実行させる処理により実現される。
【0017】
動画修辞構造解析学習装置10は、
図4の機能構成に基づいて、イベント区間とキャプションの対を用いてクリップエンコーダを事前学習したのち、入力された擬似訓練データを用いて動画修辞構造解析モデル全体のパラメタを事前学習し、訓練データを用いて動画修辞構造解析モデル全体のパラメタを追加学習することで最終的なパラメタを出力する(
図4)。
【0018】
以下、各部について詳細に説明する。
【0019】
[クリップエンコーダ事前学習部11]
クリップエンコーダは、イベント区間に対応する動画のフレーム列を入力し、クリップ表現ベクトルを生成する(
図2)。クリップエンコーダとしては既存技術、例えば、TSP(Temporally-Sensitive Pretraining of Video Encoders)やVideoSwin Trans-formerなどを利用すればよい(
図2)。但し、本実施の形態では、クリップエンコーダが生成するクリップ表現ベクトルをより動画修辞構造解析に適したものとするため、クリップエンコーダ事前学習部11は、入力をイベント区間に対応するフレーム列、出力をそのイベント区間のキャプションとしてクリップエンコーダの事前学習を行う。イベント区間とキャプションの対についてはActivityNet CaptionsやYouCook2などを用いれば事前学習に十分な量のデータが利用できる。
【0020】
図5は、クリップエンコーダの事前学習を説明するための図である。上記したように、クリップエンコーダ事前学習部11は、クリップエンコーダに対してイベント区間p
t(t=1~M)を入力する。クリップエンコーダ事前学習部11は、クリップエンコーダがイベント区間p
tに対して生成したクリップ表現ベクトルv
tをトランスフォーマに入力する。クリップエンコーダ事前学習部11は、クリップ表現ベクトルv
tに対してトランスフォーマが出力するキャプションc
tと、イベント区間p
tに対して入力されたキャプションとの比較に基づいて(キャプションc
tと、イベント区間p
tに対して入力されたキャプションと損失を最小化するように)、クリップエンコーダ及びトランスフォーマについてパラメタの最適化を行う。
【0021】
図5では、v
tからc
tを生成するためにトランスフォーマを用いる例が示されたが、v
tからc
tを生成するためモデルは、LSTM等、系列変換モデルであれば所定のものに限られない。
【0022】
ここで学習したクリップエンコーダのパラメタは事前学習部13におけるクリップエンコーダの初期値とされる。
【0023】
[データ拡張部12]
データ拡張部12は、テキスト修辞構造解析器を活用し擬似訓練データを生成する。データ拡張部12は、まず、テキストを利用して学習された修辞構造解析器をActivityNet CaptionsやYouCook2などのイベント区間とキャプションの対が与えられたデータセットにおけるキャプションに適用して修辞構造解析を行うことで、キャプションを葉とする修辞構造木を得る。データ拡張部12は、キャプションとイベント区間との対応関係からイベント区間が葉となる修辞構造木を得て擬似訓練データとする。
【0024】
[事前学習部13]
事前学習部13は、データ拡張部12によって生成された擬似訓練データを入力として受け取り、動画修辞構造解析モデルの一部を構成するフィードフォワードネットワークについてランダムに初期化されたパラメタと、クリップエンコーダ事前学習部11によって事前学習されたクリップエンコーダのパラメタとの最適化を行う。
【0025】
パラメタの最適化のための解析法は所定のものに限定されない。ここでは、
図6に示されるように、遷移型の解析法に基づくパラメタ最適化について説明する。なお、
図6におけるp
t(t=1~M)は、擬似訓練データ(イベント区間を葉とする修辞構造木)における葉としてのイベント区間である。
【0026】
遷移型の解析法では、擬似訓練データ(イベント区間を葉とする修辞構造木)のうちの解析済みの木(部分木)を格納するスタック(Stack)と未解析のイベント区間を格納するキュー(Queue)が用いられる。スタックの上部2つに格納された木とキューの先頭のイベント区間を用いてシフト(キューの先頭のイベント区間をスタック最上部に積む)、還元(スタック最上部の木とキュー先頭のイベント区間を結合して新たな木つくりスタック最上部に積む)操作を適用することで木を構築する。ここで、スタックに積まれた2つの木も連続したイベント区間であることに注意すると任意のスパン(1上の連続したイベント区間)をベクトル化できれば、シフトと還元操作は分類問題として定式化できる。スパンのベクトル(スパン表現ベクトル)はその左端のクリップの表現ベクトル(スパンの先頭のイベント区間をクリップエンコーダでベクトル化したもの)と右端のクリップの表現ベクトル(スパンの末尾のイベント区間をクリップエンコーダでベクトル化したもの)の(重み付き)平均、結合などが利用可能である。
図6において動画修辞構造解析モデルの一部を構成するスパンエンコーダは、このような平均又は結合等により、スパンごとにスパン表現ベクトルを生成する。
【0027】
ベクトル化したスパン(つまり、スパン表現ベクトル)をそれぞれus1(スタック2番目)、us0(スタック先頭)、uq0(キュー先頭)として、以下の式でシフト、還元操作を決定する。
【0028】
s
*=FFN
*(Concat(u
s0,u
s1,u
q0)) (1)
Concatは、ベクトルを結合する関数である。FFN
*は、動画修辞構造解析モデルの一部を構成するフィードフォワードネットワークであり、厳密には、FFN
act(
図6のアクション分類器)はシフトか還元を決定するフィードフォワードネットワーク、FFN
nuc(
図6の核性分類器)は還元の左右のスパン(スタックの一番上のu
s0及びキューの先頭のu
q0)をN-S、S-N、N-Nのいずれで結合するかを決定するフィードフォワードネットワーク、FFN
rel(
図6の修辞関係分類器)は当該左右のスパンの間の修辞関係を決定するフィードフォワードネットワークである。s
*は分類結果を表し、s
actはシフト又は還元、s
nucはN-S、S-N、N-Nのいずれか、s
relは修辞関係ラベルのいずれかを表す。
【0029】
事前学習部13は、動画修辞構造解析モデル全体(FFN*(フィードフォワードネットワーク)、スパンエンコーダ及びクリップエンコーダ)のパラメタを、sact、snuc、srelについての正解との比較に基づいて(sact、snuc、srelについて正確に対するクロスエントロピー損失を最小化するように)最適化する。最適化されたパラメタは追加学習部14へ渡す。なお、3つのFFN(FFNact、FFNnuc、FFNrel)を別々にするのであれば、クロスエントロピー損失はFFNごとに最適化される。3つのFFNを統合するのであれば、クロスエントロピー損失は統合された1つのFFNに対して最適化される。クロスエントロピー損失を計算する際の各s*(sact、snuc、srel)に対する正解は擬似訓練データに含まれている。
【0030】
[追加学習部14]
追加学習部14は事前学習部13で決定したパラメタで初期化されたフィードフォワードネットワーク、スパンエンコーダ及びクリップエンコーダのパラメタを訓練データ(イベント区間の系列と、当該系列に対して正解となる修辞構造木(二分木)との組を複数含むデータ)を用いて最適化する。パラメタ最適化の手続きは事前学習部13と同様である。
【0031】
このようにして学習された動画修辞構造解析モデルは、動画を入力とし、当該動画を構成する各イベント区間を葉とする修辞構造木を出力することができる。したがって、任意のコンピュータは、動画修辞構造モデルを用いて、動画を入力と、当該動画を構成する各イベント区間を葉とする修辞構造木を出力する推定部を有する動画修辞構造推定装置として機能することができる。動画修辞構造解析学習装置10が、動画修辞構造推定装置として機能してもよい。
【0032】
上述したように、本実施の形態によれば、キャプションが与えられていない動画の修辞構造解析を可能とすることができる。クリップエンコーダをキャプション生成タスクを用いて事前学習すること、クリップエンコーダ、フィードフォワードネットワークのパラメタを擬似訓練データで事前学習し、訓練データで追加学習することで精緻なパラメタ最適化が期待できる。
【0033】
なお、本実施の形態において、クリップエンコーダ事前学習部11は、第1の学習部の一例である。事前学習部13は、第2の学習部の一例である。追加学習部14は、第3の学習部の一例である。擬似訓練データは、第1の修辞構造木の一例である。クリップエンコーダは、エンコーダの一例である。FFN*は、ニューラルネットワークの一例である。
【0034】
以上、本発明の実施の形態について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【0035】
10 動画修辞構造解析学習装置
11 クリップエンコーダ事前学習部
12 データ拡張部
13 事前学習部
14 追加学習部
100 ドライブ装置
101 記録媒体
102 補助記憶装置
103 メモリ装置
104 プロセッサ
105 インタフェース装置
B バス