みなさん、こんにちは。今日は、私たちの研究成果「演繹的に推論するための学習：複雑な関係性の抽出として数学の単語問題を解く」を紹介します。
ByteDance AI Labのアランと申します。この研究はテキサス大学オースティン校のジェルイ・リーとSUTDのウェイ・ルーとの共同研究です。
まず、私たちが推論する動機についてお話ししたいと思います。
ここでは、段階的な推論が役立つ例を示します。
この図はPaLM論文から引用したもので、Few-Shot学習シナリオでネットワーク問題を解決するためにプロンプトを実行したものです。
左側をご覧いただくと、質問と答えだけの例題をいくつか与えても、正しい答えを得られない可能性があることがおわかりいただけると思います。
しかし、もう少し推論の説明を与えると、モデルは推論の説明を予測し、ここでも正しい予測を行うことができます。
ですから、解釈可能な多段階の推論が出力されるのは良いことです。
そして、このような推論能力を評価するためには、数学の単語問題がわかりやすく適用できると私たちは考えています。
つまりこちらの問題設定では、質問を考慮して、その質問を解決し、数値的な答えを得る必要があります。
ですから、データセットには、この特定の応答につながる数式も与えられています。
そのため、ある種の仮定もまた、以前の研究成果と同じように適用されます。
量の精度がわかっていると仮定します。
また、加算、減算、乗算、除算、指数関数などの基本的な演算子のみを考慮します。
さらに、複雑な演算子は、実際にはこれらの基本的な演算子に分解することができます。
ですので、数学の単語問題に関する以前の研究は、実は、シーケンスからシーケンスと、シーケンスからツリーモデルに分類することができるのです。
従来のシーケンスからシーケンスモデルは、式を特定のシーケンスに変換し、生成するものです。
このモデルは実装するのが非常に簡単であり、さまざまな複雑な問題に一般化することもできます。
しかしその欠点は、一般的にそのパフォーマンスが構築されたモデルに劣ることと、予測の為の解釈度に欠けることです。
しかし実際には、この方向性がトランスフォーマーモデルであるため、依然として根強い人気です。
ツリーベースのモデルでは、実際にこれらの式をツリー形式で構成し、ツリーの世代で順序づけたトラバーサルを行います。
ここでは、量である葉に到達するまで、演算子を生成し続けます。
良い点は、実際にバイナリツリー構造が作られることです。最初に演算子を生成し、最後に量を生成するというのは、とても直感に反します。
もうひとつは、繰り返しの計算も含まれていることです。
つまり、この式を見てみると、8×3＋3は2回生成されています。しかし、ここでは結果を再利用すべきです。
ですから、これらの問題を段階的かつ解釈可能な形で解決するアプローチを提案したいと思います。
なのでたとえば、2番目のステップでは、除数の27を求めることができます。
また、元の質問を参照して、関連する内容を見つけることもできます。
これらのステップでは、除数が得られます。
そして、この3番目のステップでは、実際に商を得ることができます。
よろしいでしょうか。そしてこの3つのステップの後、実際に第2ステップの結果を再利用し、4番目のステップの結果を得ることができます。そして最後に、被除数が得られます。
つまり、ここでは単一の演算子や量を生成するのではなく、式全体を直接生成するのです。
これにより、プロセスがより正確になります。
そこで、私たちの演繹的なシステムでは、最初に質問で提示された数量と、いくつかの定数を初期状態としてスタートします。
式はe、i、j、o、pで表されます。
ここでは、q_iからq_jまでの演算子を実行しますが、そのような式は実際に指示されています。
逆方向を示すため、ここでは単語を使った引き算も行います。
これは関係性の抽出とよく類似しています。
形式的な演繹システムでは、時間ステップtで、q_iとq_jのペアの間に演算子を適用すると、この新しい式が得られます。
それを次の状態に追加して、新しい数量とします。
これらのスライドは、現在の状態に式を追加し続けた場合の、状態の変化を視覚化したものです。
私たちのモデルの実装では、まずBERTsまたはRobertasによる事前訓練された言語モデルを使用し、文章をエンコードして、これらの数量的表現を取得します。
数量的表現が得られたら、推論を開始できます。
ここではq_1の例が確認できます。q_2をq_2で割った後にq_3を掛けた表現を取得します。
まず、q_1とq_2の単なる連続であるペア表現を取得し、次に、それを演算子でパラメータ化したフィードフォワードネットワークを適用します。
最後に、式表現q_1をq_2で割ったものが得られます。
しかし実際には、推論段階では、間違った式になることもあり得ます。
ここで考えられる式はすべて、演算子の数の3倍に等しくなります。
良い点は、この検索空間を制御するための制約を簡単に追加できることです。
たとえば、この式が許可されていない場合は、検索空間でこの式を削除すればいいのです。
2番目のステップでも同じことをしますが、唯一の違いは、量が1つ増えることです。
この量は以前の計算式から求められたものです。
最終的には、q_3 × q_4という式を得ることができます。
また、考えられるすべての式の数が以前のステップとは異なっていることもわかります。
このような違いがあると、ビームサーチを適用するのが困難になります。なぜなら、2つのステップ間の確率分布が不均衡になるからです。
したがって、この訓練手順はシーケンスからシーケンスモデルの訓練に類似しており、各時間ステップでの損失を最適化することになります。
ここでは、このτを用いて、この生成プロセスを終了させるべきタイミングを表します。
従来のシーケンスからシーケンスモデルではこれが語彙数であるのに対し、ここでは、空間が時間ステップごとに異なっているところが、シーケンスからシーケンスと違います。
また、事前知識からある種の制約を課すこともできます。
よく使われる数学の単語問題のデータセット、MAWPS、Math23K、MathQA、SVAMPで実験を行いました。
ここでは、以前のベストアプローチと比較して結果を手短にご紹介します。
最もパフォーマンスのよい変種はRoberta-DeductiveReasonerです。
実はビームサーチは使用していません。一方で、以前のアプローチはすべてビームサーチを使用しています。
よろしいでしょうか。最適なアプローチはツリーベースのモデルであることが多いです。
全体的に、私たちの推論モデルは、このツリーベースのモデルを大幅に上回るパフォーマンスを発揮することができます。
しかし、MathQAまたはSVAMPの絶対数はあまり高くないことがわかります。
そこで、SVAMPの結果をさらに調査しました。
このデータセットは困難を伴うものとなっています。作成者が自然言語処理モデルを混乱させるため、手動で無関係な情報や余分な数量を追加したためです。
私たちの予測では、中間値のいくつかが実際には負であることがわかります。
たとえば、これらの質問では、「ジェイクはいくつリンゴを持っているか」を尋ねています。
しかし、余分な情報があります。たとえば、写真が17枚少ないとか、スティーブンは8枚の写真を持っているなどの情報ですが、これらはまったく無関係です。
そこで、私たちのモデルはこのような予測を行い、負の値を生成します。
この2つの式のスコアは類似していることがわかります。
そこで、負の結果を取り除くことで、この検索空間を制限し、答えを正しくすることができます。
このような制約を設けることで、モデルによっては、大きな改善が見られることがわかりました。
たとえば、BERTでは7ポイント改善し、Robertaベースのモデルでは2ポイント改善しました。
より優れた言語モデルにはより優れた言語理解能力があるため、ここでの数字はRobertaの方が高く、BERTの方が低くなります。
また、これらすべてのデータセットの背後にある困難を分析しようとしました。
ここでは、未使用の数量の数字は無関係な情報と見なすことができると仮定しています。
ここでは未使用の数量のサンプルの割合を示しています。SVAMPデータセットが最も大きな部分を占めています。
ここでは、全体のパフォーマンスも示します。
未使用の数量のないサンプルのパフォーマンスは全体的なパフォーマンスよりも高くなります。
しかし、未使用の数量のあるサンプルのパフォーマンスは、全体的なパフォーマンスよりもはるかに悪くなります。
MAWPSでは、テストケースがあまり多くないので、この部分は無視します。
最後に、質問変動の例を通して解釈度を示したいと思います。
ここで、モデルは最初のステップで間違った予測を行います。
この式は、こちらの文章と結びつけることができます。よろしいでしょうか。
この文章はモデルを誤った予測に導いている可能性があると考えられます。
更に35本を植えると、モデルはそれが加算演算子になるべきだと考えます。
文章を修正して、梨の木の数がリンゴの木の数よりも35本少ないというような表現にするのです。
つまり、モデルが正しく予測することできるように、より正確な意味を伝えるようにするのです。
したがって、この研究は、解釈可能な予測が、モデルの振る舞いを理解するうえで役立つことを示しています。
研究の結論は、第一に、私たちのモデルは極めて効率的だということです。
さらに、解釈可能な解答手順を示すこともできます。
また、パフォーマンスを向上させるのに役立つ制約として、事前の知識を簡単に組み込むことができます。
そして最後に、基礎となるメカニズムは、ネットワーク問題を解決するタスクだけでなく、段階的な推論を伴う他のタスクにも適用可能であるということです。
一方で、ある種の制約もあります。
大規模な数の演算子または定数がある場合、メモリの消費量がかなり多くなることがあります。
2つ目は、すでに述べたように、異なる時間ステップ間で確率分布が不均衡であるため、ビームサーチ戦略を適用することも非常に困難であることです。
以上で発表を終わります。質問を受け付けます。ご清聴、ありがとうございました。
こんにちは。マーストリヒト大学のアントワーヌと申します。
新しい法律条文取得の為の新しいデータセットについて、ジェリーとの共同研究を発表します。
法律に関する問題は、多くの人々の生活について回ります。
しかし、大多数の一般市民は、自分の権利や基本的な法的手続きに関する知識をほとんど持ちません。
その結果、多くの立場の弱い市民が、多額の費用を支払って法律の専門家から支援を受ける余裕がなく、保護を受けられず、最悪の場合には、搾取されるがままになっています。
研究はすべて、法律条文の効果的な取得システムを開発することによって、人々と法律の間の断絶を埋めることを目的としています。
このようなシステムは、法律に不慣れな方の為に、専門的な法的支援サービスを無料で提供することができます。
この研究の主な成果についてお話しする前に、法律条文の取得に関わる問題について説明します。
たとえば、「守秘義務に違反したらどのようなリスクがあるのか」といった、法律に関するシンプルな質問を考えてみましょう。
このとき、モデルは、大規模な法律体系から関連する法律条文をすべて取得する必要があります。
この情報取得タスクには、独特な課題がいくつか伴います。
第一に、2種類の言語を扱うことです。
つまり、質問に用いられる普通の自然言語と、法律に用いられる複雑な法律言語です。
この言語分布の違いのため、システムとって関連候補を検索することが困難になります。なぜなら、自然な質問を法的な質問に翻訳して法律用語に一致させる、固有の解釈システムが間接的に必要になるからです。
さらに、法律は、ニュースやレシピなどとは異なり、それだけで情報の完全なソースとして扱うことができるような、独立した条文が集まったものではありません。
むしろ、全体的な文脈の中で考慮して初めて全体的な意味を持つ、法律条文の構造的なまとまりなのです。つまり、周囲の条文の補足情報、条文が属する分野や下位分野、法律体系における位置づけをすべて考慮する必要があるのです。
最後に、取得作業では多くの場合、短い段落が典型的な取得単位となりますが、法律条文は短い段落で構成されてはいません。
条文はときに、最大で6,000単語にいたる長い文章になります。
自然言語処理における近年の進歩により、法的判断の予測や契約書の自動レビューなど、多くの法的タスクでの活用に強い関心が集まっています。
しかし、法律条項の取得は、大規模で高品質なラベル付きのデータセットがないため、ほとんど手つかずのままとなっています。
この研究では、フランス語ネイティブの市民を中心とした新しいデータセットを提示し、法律条文の取得タスクにおいて、取得モデルが法律の専門家のような効率性と信頼性を実現できるかどうかを調査します。
今回利用したベルギーの法律条文取得データセットBSARDは、ベルギー市民から寄せられた1,100件以上の法的な質問から構成されています。
これらの質問のトピックは、家族、住居、お金、仕事、社会保障など、広範囲にわたっています。
経験豊富な法律家が、ベルギーの法典内の22,600以上の法律条文で構成されたコーパスから関連する条文を参照し、それぞれの質問にラベル付けを行いました。
それでは、このデータセットをどのように収集したかについてお話ししましょう。
まず最初に、法律条文の大規模なコーパスを編纂することから始めました。
公に利用可能な32のベルギーの法典を検討し、条文すべてと対応する見出しを抽出しました。
続いて、関連する法令を参照しながら、法律の質問を集めました。
そのために、ベルギーのとある法律事務所と提携しました。その事務所は毎年、法律に関わる個人的な問題についての助言を求めるベルギー市民から、約4,000通のメールを受け取っています。
とてもありがたいことに、同事務所のウェブサイトにアクセスできました。サイトでは、経験豊富な法律専門家のチームが、ベルギーで最も一般的な法的問題を扱っています。
私たちは、カテゴリー、サブカテゴリー、そして関連する法律への法的参照文献について注釈がついた質問を数千件集めました。
最後に、私たちは法的な参照を確認し、検討した法典内の条文を参照していない質問を除外しました。
残りの参照文献は、私たちのコーパスで対応する条文IDに照合・変換されました。
最終的には、1,108件の質問が残りました。それぞれの質問には、22,633の条文で構成された大規模なコーパスの関連する条文のIDが慎重にラベル付けされました。
さらに、各質問には、メインカテゴリーとサブカテゴリーの連続が付属しています。
各条文には、法律体系における後続の見出しが続いています。
この追加情報は今回の研究では使用しませんでしたが、法的情報取得または法的なテキストの分類に関する研究で今後、役に立つかもしれません。
では、私たちのデータセットの特徴をいくつか見てみましょう。
質問は5～44単語の長さからなり、中央値は14単語です。
条文はもっと長く、その長さの中央値は77単語で、142の条文が1,000単語を超えています。
最も長い条文は5,790単語にも及びます。
すでに述べたように、質問は幅広いトピックをカバーしており、家族、住居、お金、司法に関する質問が約85％を占めています。
残りの15％は、社会保障、外国人、仕事のいずれかに関係した質問です。
また、ベルギーの32種の法典に由来するため、条文は非常に多様で、多くの数の法的トピックをカバーしています。
これらのベルギーの法典から収集した条文の合計数は次のとおりです。
22,633の条文のうち、わずかに1,612の条文だけが、データセットの質問の1つ以上に関連するものとして参照されています。
また、引用された条文の約80％は、民法典、司法法典、犯罪捜査法典、刑法典のいずれかに由来しています。
一方、32法典のうち18法典は、1つ以上の質問に関連すると言及された条文が5つ未満しかありませんでした。
これは、これらの法典が個人や個人に関わる事柄に重きを置いていないという事実から説明できます。
全体として、引用された条文の引用回数の中央値は2回で、6回以上引用された条文は25％未満でした。
すべてのデータセットを使い、語彙的および高密度アーキテクチャなどの取得アプローチをいくつかベンチマークしました。
質問と条文が与えられた場合、語彙的なモデルは、質問の用語と条文における各用語の荷重の和を計算することによって、質問と条文のペアにスコアを割り当てます。
標準的なTF-IDFとBM25の順位付け関数で実験を行いました。
これらのアプローチの主な問題は、質問に存在するキーワードが記載された条文だけしか取得できないことです。
この制約を克服するため、質問と条文の間の意味論的な関係をキャプチャできる、ニューラルベースのアーキテクチャで実験します。
質問と条文を高密度のベクトル表現にマッピングするバイエンコーダモデルを使い、質問と条文のペア間の関連性スコアは、それらの埋込みの類似性によって計算します。
これらの埋込みは、通常、単語埋込みモデルの出力に対するプーリング操作から生じます。
まず、ゼロショット評価設定でのSiameseバイエンコーダの有効性を研究します。すなわち、事前訓練された単語埋込みモデルが追加の微調整なしでそのまま適用されます。
文脈に依存しないテキストエンコーダ、すなわち単語2vecとfastText、そして文脈に依存する埋込みモデル、すなわちRobertaと、特にフランス語のRobertaモデルであるCamemBERTを使用して実験します。
さらに、データセットに基づいて独自のCamemBERTベースのモデル、バイエンコーダを訓練します。
なお訓練の為に、2種類のバイエンコーダアーキテクチャを試しています。
1つ目はSiameseで、質問と条文をともに共有されたベクトル空間にマップするユニークな単語埋込みモデルを使用します。2つ目はTwo-Towerで、こちらは単語埋込みモデルを使用して質問と条文を別々の埋込み空間にエンコードします。
平均値、最大値、CLSプーリングのほか、類似度計算の為の積やコサインも試します。
テストセットのベースラインの結果は次のとおりです。
上は語彙的方法、中央はゼロショット設定で評価したSiameseバイエンコーダ、下は微調整したバイエンコーダです。
全体として、微調整されたバイエンコーダは、他のすべてのベースラインを大幅に上回ります。
Two-Towerモデルは、100％の再現率でSiameseモデルより向上しますが、他のメトリックスでは似たような結果となっています。
BM25は訓練されたバイエンコーダを大幅に下回りましたが、そのパフォーマンスは、特有のドメインの取得には強力なベースラインとなることを示しています。
Siameseバイエンコーダのゼロショット評価については、情報取得タスクに対して最適化せずに事前訓練されたCamemBERTモデルの埋込みを直接使用すると、結果が悪くなることがわかり、これは以前の調査結果と一致しています。
さらに、単語2vecベースのバイエンコーダがfastTextとBERTベースのモデルを大幅に上回っていることから、調整せずそのまま使用する場合、タスクレベルやサブ単語レベルの埋め込みよりも、事前訓練された単語レベルの埋込みの方が適切である可能性が示唆されています。
この結果は有望ではありますが、熟練した法律専門家があらゆる質問に対して関連する条文すべてを取得し、完璧なスコアを得られることと比較すると、改善の余地が多く残されていることを示唆しています。
最後に、私たちのデータセットの2つの限界について説明します。
第一に、条文のコーパスは、ベルギーの法典を考慮した32の法典から収集されたものに限定されており、判決、指令、条例の条文が欠落しているため、ベルギーの法律全体をカバーしているわけではありません。
データセットの構築中、収集対象外となったこれらの条文への参照はすべて無視されたため、質問によっては、関連する条文の数が不完全となりました。
したがって、この情報は、残りの関連条文に含まれている応答が不完全である可能性があることを意味します。ただし、それでも適切であることは間違いありません。
第二に、すべての法的な質問が法令だけで答えられるわけではないことに注意する必要があります。
たとえば、「賃借人が過度な騒音を立てたら、立ち退かせることはできるか」という質問を考えてみてください。
この場合、立ち退きが許される騒音レベル具体的に数値化した詳細な応答は、法令からは得られない可能性があります。
その代わり、家主はおそらく、判例に頼り、現在の状況に類似した前例を見つけるべきでしょう。
たとえば、賃借人が週に二回、午前二時までパーティーをするとします。
よって、質問によっては、他の質問よりも法律条文の取得タスクに適しています。しかし、あまり適していないドメインについては、今後見極める必要があります。
私たちの研究が関心を呼び起こし、実用的で信頼性のある法律条文取得モデルが開発されるよう願っています。
モデルはすべての人が司法を利用しやすくなるのをサポートできるでしょう。
論文、データセット、法典は、次のリンクで確認できます。ご清聴、ありがとうございました。
こんにちは。私たちの研究、「VALSE：特定の言語的現象で視覚と言語のモデルをテストする為のタスクに依存しないベンチマーク」についてお話しします。
このベンチマークを設定するのに苦労した理由を説明します。
ここ数年、大量のイメージとテキストのペアで事前訓練されたトランスフォーマーベースの視覚と言語のモデルが爆発的に増加しています。
これらのモデルはそれぞれ、視覚的な質問への回答、視覚的な共通感覚の推論、イメージ取得、フレーズの教育付けなど、視覚と言語のタスクにおいて、最先端のモデルです。
ところがあるとき、メッセージを受け取りました。「これらのタスクや特定のベンチマークは着実に向上しています。
しかし、モデルが実際に何を学習したのかをわかっているでしょうか？
このイメージとこの文章を一致させて高いスコアを割り当てるとき、視覚と言語のトランスフォーマーは一体何を理解したのでしょうか？
これに低いスコアを割り当てたときはどうでしょうか？
視覚と言語のモデルは正しい点に着目しているのでしょうか？
それとも、以前の研究で示されたようなバイアスに着目しているのでしょうか？」、と。
この側面にもっと光を当てるために、私たちはよりタスクにとらわれない方向性を提案し、言語と視覚様式の両方に影響を与える特定の言語的現象に対する視覚と言語のモデルの感度をテストするVALSEを導入します。
存在、複数、カウント、空間関係、行為、実体共参照を対象にしています。
しかし、視覚と言語のモデルがこの現象を捉えたかどうかを検証するには、どうすればよいのでしょうか。
ラヴィ・シェカール氏と共同研究者が以前、名詞句のみに、視覚と言語のモデルに適用した手法と、私たちが以前の研究でカウントしたものをフォイリングすればよいのです。
フォイリングとは、基本的にイメージのキャプションを取り、イメージを説明しないようにキャプションを変更してフォイルを生成することを意味します。
存在、複数、カウント、空間関係、行為、実体共参照などの6つの特定部分に焦点を当てて、これらのフレーズ変更を行います。そのなかで、複数の興味深いフォイル・インスタンスの作成方法を見出すことができた場合、それぞれの部分が1つ以上の要素で構成されるようにしました。
たとえば、2つの要素がある行為部分の場合、1つは行為動詞が異なる行為に変えられ、もう1つは行為者が交換されます。
カウンティングと共参照は、複数の要素を持つ部分でもあります。
これらのフォイルは、イメージを記述できないこと、文法的であること、有効な文章であることを確認しながら作っていきます。
フォイルされたキャプションは元のキャプションよりも可能性が低くなることがあるため、簡単な作業ではありません。
たとえば、不可能ではありませんが、植物が人を切る可能性は、人が植物を切るよりも統計的に低く、大規模な視覚と言語のモデルはこれに気づくかもしれません。
したがって、有効なフォイルを得るためには、アクションが必要です。
まず、強力な言語モデルを使用してフォイルを提案します。
第二に、自然言語推論または短いNLIを使用して、まだイメージを記述している可能性のあるフォイルを除外します。なぜなら、フォイルを構築するときには、イメージを記述しないようにする必要があるからです。
これを自動的にテストするために、次のような理論的根拠で自然言語推論を適用します。
私たちは、イメージを前提とし、そのキャプションを含意された仮定と見なします。
また、キャプションを前提とし、フォイルをその仮定とします。
NLIモデルがフォイルのキャプションを矛盾する、もしくは中立であると予測した場合、これを有効なフォイルの指標とみなします。
NLIがフォイルがキャプションに含意されていると予測した場合、それは良いフォイルではありません。なぜなら、伝達性によってイメージについて正しい説明が与えられるためです。そのため、私たちはこれらのフォイルを除外します。
しかし、この手順は完璧ではなく、有効なフォイルの指標に過ぎません。
したがって、有効なフォイルを生成する為の三つ目の手段として、VALSEで使用されているデータを検証するために人間の注釈者を採用します。
そして、フィルタリングと人間による評価の後、この表に見られる数だけテストインスタンスができます。
なお、VALSEは訓練データを提供せず、テストデータのみを提供しています。
これはゼロショットテストのベンチマークであるため、事前訓練後の既存の視覚と言語のモデルの機能を活用するように設計されています。
微調整を行っても、モデルがデータ内のアーティファクトまたは統計的バイアスを不正利用できるようになるだけです。
ご存じのように、このようなモデルはズルや手っ取り早い手段を好みます。
そして、すでに述べたように、事前訓練後に視覚と言語のモデルがどのような能力を持つかを評価することが今回の着眼点です。
VALSEにおいて、5つの視覚と言語のモデルを使って実験しています。すなわち、CLIP、LXMert、ViLBERT、ViLBERT 12-in-1、VisualBERTです。
最も重要な評価メトリックスのうち2つは、イメージと文章のペアをキャプションとフォイルに分類する際のモデルの精度です。
このビデオにとっておそらくより重要な、より寛容なメトリックスであるペアワイズ精度を紹介します。これは、イメージと文章の一致度のスコアが、正しいイメージテキストのペアのほうが、そのフォイルされたペアよりも大きいかどうかを測定するものです。
その他のメトリックスとその結果については、私たちの論文をご一読ください。
ここに示されているのはペアワイズ精度の結果です。他のメトリックスから得られた結果と一致しているのは、最高のゼロショット性能がViLBERT 12-in-1によって達成され、ViLBERT、LXMert、CLIP、そして最後にVisualBERTがそれに続いているということです。
注目すべきは、存在や名詞句のような個々のオブジェクトを中心とした要素が、ViLBERT 12-in-oneによってほぼ解決されていることで、モデルが名前付きのオブジェクトと、そのオブジェクトがイメージ内にあるかどうかを識別できることが浮き彫りになっています。
しかし、残りの部分は、敵対的なフォイリング設定では、どれも信頼の置ける形で解くことができません。
複数の計数手段から、視覚と言語のモデルは、単一のオブジェクトと複数のオブジェクトを区別したり、イメージ内でそのようなオブジェクトを数えたりすることが困難であることがわかります。
リレーション部分から、イメージ内のオブジェクト間の名前付きの空間関係を正しく分類することが困難であることが分かります。
また、行為部分に見られるように、妥当性バイアスによってサポートされていても、行為を区別して参加者を識別するのが困難であることがわかります。
共参照部分からは、代名詞を使用してイメージ内の同じオブジェクトへの複数参照を追跡することも、視覚と言語のモデルにとって困難であることがわかります。
健全性チェックのため、また、興味深い実験であるため、2つのテキストのみのモデル、GPT-1、およびGPT-2をベンチマークして、VALSEがこれらのユニモーダルモデルによって解決可能であるかどうかを評価します。これは、ここではイメージを計算せず、正しいキャプションとフォイルされたキャプションのパープレキシティを計算し、最も低いパープレキシティでエントリを予測することで行います。
共参照がフォイルより高い場合、フォイルされたキャプションが妥当性バイアスまたは他の言語的バイアスの悪影響を受けている兆候とみなしました。
興味深いことに、場合によってはテキストのみのGPTモデルの方が、視覚と言語のモデルよりも世界の妥当性をよりよく捉えていることがわかりました。
つまり、まとめると、VALSEは、言語構造のレンズを使って、視覚グラウンディング能力を厳しくテストし、コミュニティが視覚と言語のモデルを改善するのを支援するベンチマークだということです。
私たちの実験では、視覚と言語のモデルは、存在部分によって示されているように、名前付きのオブジェクトと、イメージ内にそのオブジェクトがあるかどうかをよく識別します。しかしながら、言語的メトリックスを考慮するよう強制されると、視覚的シーンの相互依存性と関係性をうまくグラウンディングできないことがわかります。
コミュニティの方々には、視覚と言語のモデルによる言語グラウンディングの進捗状況を測定する際には、VALSEを使用することを強くお勧めします。
さらに、VALSEはデータセットを間接的に評価するためにも利用できます。なぜなら、訓練や微調整の前後にモデルを評価し、VALSEがテストする側面でデータセットによりモデルが改善されたかどうかを確認できるためです。
もし興味がありましたら、GitHubのVALSEデータをご確認ください。質問がありましたら、お気軽にお問い合わせください。
こんにちは、東京大学の亀沢です。
「RNSum：コミットログ要約による自動リリースノート生成の為の大規模スケールデータセット」という論文についてお話しします。
この順番で説明します。
まず、この研究で取り組んでいる自動リリースノート生成についてご紹介します。
リリースノートとは、ソフトウェア製品のリリースごとに配布される、変更をまとめた技術的な文章です。
このイメージは、vuejsライブラリのバージョン2.6.4のリリースノートを示しています。
リリースノートはオープンソース開発において重要な役割を果たします。しかし手動で準備するのには時間がかかります。
したがって、高品質のリリースノートを自動的に生成できると非常に便利です。
ここでは、リリースノート自動生成に関して、2つの先行研究に従います。
ひとつは、2014年にリリースされたシステムである、ARENAです。
このシステムではルールベースのアプローチがとられており、たとえば変更点エクストラクターを用いてリリース間の差分から変更点、ライブラリの変更点、および文章の変更をすべて抽出し、最終的にそれらを組み合わせるなどしています。
このシステムの最も大きな特徴は、右上隅の問題エクストラクターです。
これは、問題追跡システムであるJiraに依存しているため、Jiraを使用しているプロジェクトにしか適用できません。
言い換えれば、GitHub上の多くのプロジェクトでは使用できません。
2つ目はGlyphで、2020年に発表されたばかりのものです。
インターネットで公開されており、pip経由でインストールできます。
このシステムには、単純な学習ベースのテキスト分類モデルがあり、各入力コミットメッセージに対して、機能やバグフィックスなどの5つのラベルから選んで、1つを出力します。
このイメージは、修正またはバグ修正というラベルを返す使用例です。
Glyphの訓練用データは5,000件程度とかなり少ないものですが、後述の実験でご紹介します。
テキスト分類モデルの性能は高くありません。
私は2つの関連研究を紹介しますが、適用範囲が限られていることと、データリソースが少ないことがそれらの研究の問題点となっています。
私たちの論文ではこれら2つの問題を解決し、自動的に高品質のリリースノートを生成します。
適用範囲が限られているという問題があるため、コミットメッセージだけを入力として用い、高品質のクラス別の要約手法を提案します。
この提案手法は、すべての英語リポジトリに使用できます。
データリソースが少ないという2番目の問題については、GitHub APIを使用してGitHubの公開リポジトリからデータを収集することにより、約8万2000個のデータからなるRNSumデータセットを構築しました。
次に、データセットについて説明します。
これはデータの例です。
左側はコミットメッセージ、右側はリリースノートです。
リリースノートは、改善や修正などのラベルが付けられています。
コミットメッセージを入力として受け取り、ラベル付きのリリースノートを出力するタスクを設定しました。
これは要約タスクと見なすことができます。
機能、改善、バグ修正、非推奨の削除および重要な変更の4つのラベルを事前に定義しました。
これらのラベルは以前の研究およびその他の要因に基づいて設定しました。
右下のリリースノートは、左下のリリースノートから抽出されたものです。
このとき、事前に設定した4つのラベルを検出する必要があります。
しかし、ラベルは必ずしも各リポジトリと一貫しているわけではありません。
たとえば、改善ラベルには、改善、強化、最適化などが含まれます。
これらの表記のバリエーションの為、約30個のラベルの語彙リストを用意しました。
これは、リリースノートクラスを検出し、そのクラスのリリースノート文として、その後に続くリリーステキストを収集するものです。
次はコミットメッセージです。
コミットメッセージは各リリースに結びついていません。
下の図に示すように、現在のリリースがバージョン2.5から19の場合、以前のリリースバージョンである2.5から18を識別して差分を取得する必要があります。
これは少し面倒で、リリースのリストを取得して前後を見るだけでは不十分です。
そこで、ヒューリスティックマッチングルールを作成し、以前のバージョンと以降のバージョンを取得するようにしました。
データセット分析です。
最終的には、7,200件のリポジトリと82,000件のデータが収集されました。
また、リリースノートトークンの平均数は63であり、これは要約タスクとしてはかなり大きな数字です。
また、一意なトークンの数は8,830,000個と非常に大規模になっています。
これは、リポジトリに存在する一意なクラス名やメソッド名の数が大規模なためです。
次に、提案する手法について説明します。
クラス単位の抽出および抽象的要約モデルは、2つのニューラルモジュールで構成されています。
BERTまたはCodeBERTを使用した分類器とBARTを使用したジェネレータです。
まず、CEASは分類器を使用して、各コミットメッセージを改善、バグ修正、非推奨などの5つのリリースノートクラスに分類します。
その他として分類されたコミットメッセージは破棄されます。
その後、CEASはジェネレータを4つのラベル付き文章に個別適用し、各クラスのリリースノートを生成します。
このタスクでは、コミットメッセージとリリースノートの直接的な対応関係は不明となっています。
したがって、分類器を訓練するために、各コミットメッセージの最初の10文字を使用して、入力コミットメッセージごとにアンケートを再び割り当てました。
私たちは、2つの異なる手法によってクラス別抽象的要約アプローチをモデル化しました。
CAS-Singleと名づけた最初のモデルは、単一の6対6のネットワークで構成され、単一のリリースノートテキストを生成し、入力コミットメッセージの連結を与えます。
出力されるテキストは、クラス固有の特別なエンドポイントシンボルに基づいてクラス別に分割することができます。
2番目の手法は、CAS-Multiと呼ばれ、4つの異なるseq2seqネットワークで構成されており、それぞれが固定リリースノートクラスの1つに対応しています。
それでは、実験の説明をします。
5つの手法を比較しました。CEAS、CAS-Single、CAS-Multi、クラスタリングおよび先行研究のGlyphです。
評価については、場合によってはリリースノートが複数の文章で出力されることもあります。
文章の数をそのまま計算するのは難しいため、スペースで結合して1つの長い文として扱っています。
システムが短い文章を出力すると、BLEUにペナルティが科されます。
このペナルティにより、次に説明する実験結果ではBLEUの値が低くなっています。
最後に、リリースノートが空の場合、ROUGEとBLEUを計算できないため、特異度も計算します。
リリースノートが空であると仮定した場合、特異度が高いほど、モデルが空のテキストを正しく出力することを意味します。
結果は次のとおりです。
データには電子メールアドレスやハッシュ値などが含まれているため、これらを除いたクリーンなデータセットも評価しました。
CEASおよびCASはベースラインよりも10ポイント以上高いROUGE-Lのスコアを達成しました。
特にクリーンなテストセットでは、提案する方法とベースラインのスコア差が20ポイント以上に跳ね上がりました。
これらの結果は、CEASおよびCASが著しい影響を受けることを示しています。
CEASは、CASよりも高いROUGE-Lスコアを獲得しており、擬似ラベルを用いて分類器を訓練するには、分類器とジェネレータを組み合わせると有効であることが示唆されました。
CEASの高いカバー率は、分類器が各クラスに関連するコミットメッセージを選択することに集中できるためと考えられます。
CAS-MultiはCAS-SingleよりもROUGE-Lが高くなる傾向がありました。
つまり、リリースノートのクラスごとに異なる抽象的要約モデルを個別に開発することも有効であることが示唆されています。
これはエラー分析です。
CAS手法は、人間の参照文章よりも短い文章を出力する傾向があります。
右側の図では、参照された文章には3つまたは4つの文がある一方、CASには1つしかありません。
このモデルが消極的である理由は、訓練データでは、機能ラベルでは33％しか文章がなく、改善ラベルでは40％にしか文章がないためです。
さらに、CAS手法では、追加の情報がなければ正確なリリースノートを生成することはできません。
右上の例は非常に込み入ったコミットメッセージの例で、対応する進行状況や問題を参照しなければ、完全な文章を生成することはできません。
下の例は、入力にある2つのコミットメッセージが関連しており、1つの文章に結合すべきであるものの、そうなっていないことを示しています。
最後に、結論です。
リリースノートの自動生成の為の新しいデータセットを構築しました。
また、コミットメッセージを入力とその要約というタスクを定式化し、英語で書かれたあらゆるプロジェクトに適用できるようにしました。
私たちの実験で提案した方法は、ベースラインよりも高いカバレッジで、ノイズの少ないリリースノートを生成することが示されました。
GitHubのデータセットをご確認ください。
ご清聴、ありがとうございました。
こんにちは。アサフ・ハラリと申します。
私たちの論文、「微調整したトランスフォーマーアーキテクチャを用いたFew-shot表形式データ強化」を発表します。
データサイエンティストはデータを分析し、データの既存の機能を操作することに、主に注力しています。
しかし、それらの機能に制限があることもあります。
別のデータソースを用いて特徴を生成することで、実質的な情報を追加できる可能性があります。
私たちの研究目標は、外部ソースのフリーテキストを使用して自動で表形式データを強化することです。
表形式のデータセットと知識ベースがあると仮定します。
知識ベースのフリーテキストから新しい機能を抽出するためには、エンティティのリンクとテキスト分析などの自動プロセスが必要です。
私たちのフレームワークFeSTEはまさにこの自動化プロセスです。
FeSTEにフィードされたデータセットの例を見てみましょう。
この例では、データセットは大学データセットです。
ランキングの低い大学とランキングの高い大学に分類することを目的とした場合。
知識ベースとして、wikipediaを使用します。
FeSTEの最初のフェーズはエンティティのリンクです。
各エンティティが知識ベース内のエンティティにリンクされている場合です。この例では大学名がリンクされています。
知識ベースのエンティティのテキストが抽出され、データセットに追加されます。
この例では、テキストはwikipediaページの要約です。
次に、回収されたテキストから機能を生成または抽出する必要があります。
そのため、テキスト分析を含む特徴抽出フェーズが必要になります。
これこそがこの論文が新しい部分であり、次のスライドで詳しく説明します。
特徴抽出フェーズの後には、特徴生成フェーズがあり、抽出された機能を使用して少数の新しい機能を生成します。
まず、元のデータセットのクラス数だけ機能を生成します。
この例では、元のデータセットには2つのクラスがあります。
FeSTEは2つの新しい機能を生成します。
しかし、データセットに5つのクラスがある場合、FeSTEは5つの新しい機能を生成します。
各特徴は、各クラスの尤度を表しています。
テキストを分析するために、現時点で最先端のテキスト分析であるBERT、GPT、XLNetなどのトランスフォーマーベースの言語モデルを使用します。
しかし、入力データセットを使用して言語モデルを訓練できる可能性は低いです。
そこで、ターゲットタスク微調整がシンプルなアプローチとなります。
したがって、特徴抽出フェーズでは、事前学習済み言語モデルをダウンロードし、ターゲットデータセット上で言語モデルを微調整できます。
この例では、言語モデルを微調整し、テキストをクラスに分類し、抽象度を低または高のクラスに分類します。
各クラスの尤度である言語モデル出力を受け取り、新しい機能として使用します。
このアプローチの問題は、データセットに明確なエンティティやテキストがほとんどない可能性があることです。
私たちの実験では、約半数のデータセットに含まれるサンプル数が400件未満で、最小のデータセットでは訓練セットに含まれるサンプルは35件でした。
したがって、言語モデルを微調整するには、このデータセットは効果的ではありません。
しかし、事前に分析されたデータセットについては、事前知識を活用できます。
複数のデータセットに対してFeSTEを適用するため、nマイナス1のデータセットを使用してnマイナス1のデータセットに関する情報を収集し、n番目のデータセットを分析するときにこの情報を使用できます。
私たちが提案するのは、微調整フェーズをもう1つ追加することです。
予備的なマルチタスク微調整フェーズです。
nマイナス1のデータセット上で言語モデルを微調整する場合。
そして、n番目のターゲットデータセットで言語モデルを微調整する際に、もう1つの微調整フェーズ、つまりターゲットタスク微調整を実行します。
MTDNNと呼ばれる最先端のマルチタスク微調整です。
MTDNNでは、MTDNNは訓練セットのタスク数のヘッドを維持します。
この例では、訓練セットに4つのタスクがあるので、MTDNNはイメージに見られるように4つのヘッドを維持しています。
そして、訓練セットからランダムなバッチをサンプリングします。
そして、そのランダムバッチが、たとえば単一の文章の分類タスクに属する場合、最初のヘッドを通るフォワードパスとバックワードパスが実行されます。
ランダムバッチがペアワイズランキングタスクに属する場合、最後のヘッドを通るフォワードパスとバックワードパスが実行されます。
私たちのシナリオでは、表形式のデータセットはクラスの数が異なります。
そのため、多くのタスクがあります。
MTDNNは、クラス、ヘッド、出力層の数を維持しました。
そしてさらにMTDNNは、新しいタスクを持つ新しいデータセットの為に新しいヘッドを初期化する必要があります。
私たちのアプローチは、タスク再構築微調整と呼ばれ、私たちのアプローチであるタスク再構築微調整では、複数ヘッドを維持するのではなく、分類問題ごとに各データセットを文章に再構築します。これは2つのクラスのタスクです。
例を見てみましょう。
これは、エンティティ、機能、テキスト、およびクラスで構成される入力データセットです。
そして、テキストを低または高に分類するタスクを再構築し、テキスト、抽象度およびクラスを新または偽に分類するタスクとします。
また言い換えれば、言語モデルを訓練し、抽象度とクラスを、抽象度とクラスに、その抽象度がそのクラスに属すか否かを分類するようにしたのです。
この場合、ラベルのベクトルは常に2つのクラスで構成されます。
これは、再構築した微調整アプローチの為のアルゴリズムです。
それでは、フレームワークの全体像を見てみましょう。
データセットがFeSTEにフィードされました。
その後、FeSTEはエンティティのリンクフェーズを実行します。
知識ベースからテキストが抽出されます。この例ではwikipediaページの要約です。
それからタスクをペアの文章の分類タスクとして再構築します。
新しいタスクと各クラスの出力尤度に言語モデルを適用しました。
そして、言語モデルは既に予備のマルチタスク微調整を使用してnマイナス1個のデータセットで微調整されています。
次に、言語モデルの出力ベクトルを、クラスの数だけ新たに生成された特徴として使用します。
フレームワークを評価するために、17個の表形式の分類データセットを使用しています。これらは、サイズ、機能、バランス、ドメイン、および初期パフォーマンスが異なります。
知識ベースとしてwikipediaを使用しています。
FeSTeを16個のデータセットに対して訓練し、17個目のデータセットに適用するという、1つ抜きでの評価として実験を設計しました。
また、各データセットを4つのフォールドに分割し、4分割フォールド交差検証を適用します。
次に、新しい機能を生成し、5つの評価分類器を使用して評価します。
実験には、BERTベースアーキテクチャを使用しています。
実験の結果は次のとおりです。
フレームワークをターゲットデータセットの微調整、ターゲットタスクの微調整、MTDNN予備の微調整と比較していることがおわかりいただけると思います。
再構築された微調整が、最高の結果とパフォーマンスを達成することができました。
MTDNNは、ターゲットデータセットの微調整に対して2％の改善を達成している一方で、
私たちのアプローチは6％の改善を達成しました。
小さなデータセットを見ると、MTDNNのパフォーマンスが低下し、予備的なマルチタスク微調整フェーズが1.5％に減少することがわかります。
しかし、私たちのパフォーマンスはターゲットタスク微調整と単独で比較して、11％に増加しました。
まとめると、私たちの実験でFeSTEは35個のサンプルから少量のショットに濃縮することができます。
また、1つのアーキテクチャですべてのタスクとデータセットを扱えます。
そして、モデルのヘッドを維持します。
しかし、再構築フェーズが追加されます。
訓練セットを増やし、意味論的意味を持つターゲット値を必要とするので、それを言語モデルにフィードし、文章ペア分類問題に利用することができます。
ご清聴、ありがとうございました。
