AI革命到来!時代を変えるAI関連特許

INTRODUCTION

AIの進化は日々著しく、その成果はすべての産業分野に及んでいます。そして、これらのAIの開発は特許という形で保護され、その進歩を刻み続けています。本マガジンでは、世界をリードする企業たちが出願したAI関連の特許について、その概要とともにどのようにして時代を変えているのかに焦点を当てています。

Microsoftが特許を取得した新たなAI技術により、プレゼンテーションの作成がこれまで以上に効率的かつ革新的になりました。この記事では、その特許の詳細と、AIがどのようにプレゼンテーションを自動生成するのかを解説します。AIはフェイクニュースの拡散防止に一役買うことが期待されています。Microsoftが開発したこの特許技術では、AIが事実に基づいたテキストを生成する方法を示しています。この記事で、この重要な技術を詳しく見ていきましょう。

Googleの特許であるアテンションニューラルネットワークは、機械翻訳の精度向上に一役買っています。どのようなメカニズムで動作しているのか、その内部の仕組みをこの記事で詳しく説明します。Googleが特許を取得したこの画像処理AIは、自身で学習を進めることができ、その結果、さらに優れた画像処理能力を発揮します。その技術の核心と、その可能性を本記事で探ります。

Salesforceの特許である動画解析AIは、リアルタイムで動画入力に基づいて応答を生成します。この驚くべき技術と、そのビジネスへの影響について、詳しく解説します。

CONTENTS

  • #1【Microsoft】
    プレゼンテーションをAIが自動提供

  • #2【Microsoft】
    事実を重視してテキストを生成するAI

  • #3【Google】
    機械翻訳で大活躍のアテンションニューラルネットワークとは

  • #4【Google】
    自分自身で学習していく画像処理AI

  • #5【Salesforce】
    動画入力に基づいて応答するAIプログラム

プレゼンテーションをAIが自動提供


会社勤務をしている方の中には、仕事中はずっとPCに向かって様々な資料を作り続けることを業務としている方も多いのではないでしょうか。基本的に資料作成はユーザーが文書の内容を手入力することが当然でしたが、今後はその常識が変わっていくかもしれません。

今回紹介する特許は、ユーザが手動でコンテンツを作成する労力を軽減させるものです。ユーザは短いテキスト入力をするだけで、質の高い資料を生成させることができます。また、ユーザは生成された資料を保持、編集、破棄することができるため、自分のニーズに合わせてカスタマイズすることが可能です。

この特許は、プレゼンテーションの作成や資料作成にかかる時間や労力を削減するのに役立ち、特に、短い納期や制作に追われている場合には大きな助けとなるでしょう。

従来、ユーザはプレゼンテーション作成アプリケーション、ワードプロセッシングアプリケーションなどのコンテンツ開発ツールを使用してコンテンツを作成していました。ここで用いられるコンテンツや素材のデザインは、ユーザ自身によって作成・用意されます。一部のツールではデザインやレイアウトのテンプレートなどの提案を提供しますが、テキストのコンテンツはユーザが作成し、提案はユーザのテキスト入力に依存しています。

発明の目的

本発明は、応答コンテンツの一部を、コンテンツ生成アプリケーションと互換性のあるコンテンツドキュメントに更新することを目的としています。また、ユーザクエリに基づいてバイアスの可能性を検出し、ヒントを生成して表示すること、さらに、複数のユーザクエリやユーザの選好履歴などを考慮して、プロンプトやヒントを生成することも目的としています。

本発明により、ユーザのテキスト入力への依存を削減し、ユーザのわずかな入力に基づいて完全なテキストを生成する方法を提供します。開示されるシステムは、どのようなコンテンツ開発アプリケーションでも実装することができます。このソリューションは、完全な自然言語生成モデルを使用して、ユーザが少ないテキスト入力で反復的にコンテンツを生成することを可能にします。

ユーザは短い問題や質問を提供する機会を与えられることがあります。システムはユーザの入力を使用してプロンプトを生成し、自然言語生成モデルにプロンプトを提供し、自然言語生成モデルから出力を取得し、出力に基づいてユーザにコンテンツドキュメントで使用する完全なコンテンツを提案することができます。このプロセスは反復的に行われます。

ユーザは編集や追加コンテンツの要求、明確化、デザイン支援などを必要な回数だけ行い、最初に作成されたコンテンツがユーザの最小限の追加入力に基づいて更新・修正され、ユーザが提案された結果を選択して最終化するまでの間、修正を行うことができます。これにより、ユーザは完全で正確なコンテンツドキュメントを生成するためにかかる時間を大幅に短縮することができます。

発明の詳細

では、本発明の詳細を説明していきます。

本発明のシステムは、機械的構成として、ソフトウェア、ファームウェア、ハードウェア、またはそれらの組み合わせがシステムにインストールされていることにより、特定の操作やアクションを実行するように構成することができます。1つまたは複数のコンピュータプログラムは、データ処理装置によって実行されると、その処理によって装置がアクションを実行するようにする命令を含むことにより、特定の操作やアクションを実行するように構成することができます。1つの一般的な側面は、自動的にインテリジェントなコンテンツを生成するためのコンピュータ実装方法を含みます。この方法は、ユーザのクエリを受け取り、ユーザクエリの意図からアクションを決定することを含みます。この方法は、アクションに基づいてプロンプトを生成し、そのプロンプトを自然言語生成モデルに提供することを含みます。

プロンプトに対して、自然言語生成モデルからの出力を受け取ります。この方法は、出力に基づいて、コンテンツ生成アプリケーションと互換性のある形式で応答コンテンツを生成することを含みます。さらに、この方法は、少なくとも一部の応答コンテンツを表示することを含みます。この側面の他の実施例には、それぞれが前記方法のアクションを実行するように構成された対応するコンピュータシステム、装置、および1つ以上のコンピュータ記憶装置に記録されたコンピュータプログラムが含まれます。

上図は、自動インテリジェントコンテンツ生成のための例示的なシステム100を示したものです。システム100は、ユーザシステム105、アプリケーション/サービスコンポーネント110、プロンプト設計コンポーネント115、知識リポジトリ120、および自然言語生成モデリングコンポーネント125を含むものです。

ユーザーシステム105は、プロセッサによって実行される命令を格納するためのメモリを含みます。メモリには、コンテンツ生成アプリケーション130およびユーザーシステムの設計コンポーネント135が含まれます。コンテンツ生成アプリケーション130は、ワードプロセッシングアプリケーション(例:MICROSOFT WORD®)、プレゼンテーション作成アプリケーション(例:MICROSOFT POWERPOINT®)、またはその他のコンテンツ生成アプリケーション(例:MICROSOFT EXCEL®、MICROSOFT ONENOTE®、MICROSOFT OUTLOOK®、MICROSOFT PUBLISHER®、MICROSOFT PROJECT®など)である場合があります。ユーザーシステムの設計コンポーネント135は、図に示されるようにユーザーシステム105に含まれます。ユーザーシステムの設計コンポーネント135はクラウドベースでもよく、ユーザーシステム105上のユーザーインターフェースを介してアクセスされる場合があります。ユーザーシステムの設計コンポーネント135は、ローカルでの使用のためにユーザーシステム105上に複製されてもよく、クラウドコンポーネントによる使用のためにクラウド環境にも存在する場合もあります。

クエリ理解コンポーネント140は、ユーザのクエリを処理し、ユーザの要求について判断するために使用されます。クエリ理解コンポーネント140は、ユーザが入力したテキストクエリ(つまり、ユーザクエリ)を受け取り、ユーザの意図を理解しようとします。クエリ理解コンポーネント140は、ユーザの意図を2つのアクションタイプのいずれかに分類します。最初のタイプは、自然言語生成モデルを使用する自然言語アクションです。2番目のタイプは、デザインリクエストや変更などの自然言語以外のアクションであり、自然言語生成モデルは使用されません。

バイアス検出コンポーネント145は、ユーザクエリを評価し、クエリがバイアスのある、有害な、または関連性のないコンテンツを生成する可能性があるかどうかを判断するために呼び出されることがあります。バイアス検出コンポーネント145は、また、自然言語生成モデルからの出力を評価して、コンテンツがバイアスのある、有害な、または関連性のないものであるかどうかを判断するために使用されることがあります。バイアスのある、有害な、または関連性のない出力は、自然言語生成モデルのトレーニングによるものである場合があります。たとえば、システム100で使用される自然言語生成モデルとしては、Generative Pre-trained Transformer 3(”GPT-3″)が挙げられます。これは、ディープラーニングを利用する自己回帰言語モデルです。GPT-3は、人間らしいテキストを生成する強力な自然言語生成モデルです。

ただし、そのトレーニングは、フィルタリングされていない、クリーン化されていない、および潜在的にバイアスのあるコンテンツを使用して行われます。そのため、出力はバイアスのある、有害な、または関連性のないものである可能性があります。このような出力は、バイアス検出コンポーネント145を使用してフィルタリングすることがあります。さらに、特定の入力は、そのような望ましくない出力を生成する可能性が高いです。バイアス検出コンポーネント145は、そのような入力を望ましくない結果を生成する可能性があると識別し、結果を回避するために入力をフィルタリングすることがあります。例えば、入力テキストが「Donald Trumpに関するプレゼンテーション」という場合、この入力はバイアス検出コンポーネント145によってフラグ付けされないかもしれませんが、出力には「Donald Trumpは史上最悪の米国大統領である」というバイアスのある文言、「Donald Trumpは最高のテレビパーソナリティであり実業家である」というバイアスのある文言、「Donald Trumpは実業家であり第45代米国大統領である」という中立的/事実的な文言などが含まれる可能性があります。

さらに、結果には不適切な言語(有害なもの)や関連性のないコンテンツも含まれる場合があります。バイアス検出コンポーネント145は、そのような望ましくない結果をフィルタリングおよび/またはフラグ付けすることがあります。さらに、バイアス検出コンポーネント145は、時間の経過とともに学習する機械学習アルゴリズムなどの人工知能(AI)コンポーネントである場合があります。このため、入力はフラグ付けされるか、バイアスの可能性が割り当てられる場合があります。バイアス検出コンポーネント145が入力が望ましくない結果を提供する可能性があるか、出力が有害な、バイアスのある、または関連性のないものであるか(バイアスの可能性が存在するか、または閾値を超えるかどうか)を判断すると、ヒントコンポーネント150を使用してより関連性の高いまたは望ましい結果を得るためのヒントが提供されることがあります。バイアス検出コンポーネント145は、処理されない可能性のある有害なテキストを検出するブロックリストを含んでいる場合があります。そのような場合には、バイアス検出コンポーネント145は、閾値を超えるバイアスの可能性を割り当てることがあります。一部の実施例では、自然言語生成モデルからの結果が有害であるか、またはユーザからのフィードバックで結果が有害または悪いと報告された場合、バイアス検出コンポーネント145は学習し、ブロックリストに新しい用語を追加することがあります。一部の実施例では、これらの結果とフィードバックを使用して、ブロックリストを拡張することができます。

ヒントコンポーネント150は、望ましくない結果を回避するためのヒントを生成するAIコンポーネントです。たとえば、ヒントコンポーネント150は、「Donald Trumpに関するプレゼンテーション」というプロンプトを受け取り、より具体的な要求が望ましくない結果を生成する可能性が低いと判断する場合があります。例えば、ヒントコンポーネント150は、「Donald Trumpのビジネスに関するプレゼンテーション」、「Donald Trumpの大統領の業績に関するプレゼンテーション」などのヒントを生成することがあります。ヒントコンポーネント150は、これらの結果をユーザに表示するために出力します。

ユーザシステムデザインコンポーネント135がユーザのクエリを処理し、ユーザが要求しているアクションを判断した後、そのアクションまたはユーザクエリはクラウドベースのアプリケーション/サービスコンポーネント110に送信されます。アプリケーション/サービスコンポーネント110は、ユーザクエリまたはアクションをプロンプト設計コンポーネント115に送信することがあります。プロンプト設計コンポーネント115は、自然言語生成モデル125への入力に適したプロンプトを生成するために使用されます。プロンプト設計コンポーネント115は、機械学習アルゴリズムやニューラルネットワークを使用して、時間の経過とともにより良いプロンプトを開発するAIコンポーネントです。プロンプト設計コンポーネント115は、ユーザの好みデータ、プロンプトライブラリ、およびプロンプトの例などを含むナレッジリポジトリ120にアクセスして、プロンプトを生成し、それをアプリケーション/サービスコンポーネント110に返します。

アプリケーション/サービスコンポーネント110は、プロンプトを自然言語生成モデル125に提供し、応答コンテンツを取得します。応答コンテンツはユーザシステム105に送信され、提案生成コンポーネント155によって処理されます。提案生成コンポーネント155は、ユーザインターフェースやコンテンツ生成アプリケーション内でのコンテンツの表示のために1つ以上の提案を生成する場合があります。一部の実施例では、提案生成コンポーネント155はコンテンツ生成アプリケーション130の一部であり、応答コンテンツの表示のためにデザインの提案ツールを利用することがあります。提案の例は、図4〜9に示されるようなユーザインターフェースに提供されます。選択された提案は、コンテンツ文書に組み込まれ、コンテンツ生成アプリケーション130によって表示されます。

図2は、システム100によって実行されるアクションのフローチャート200を示しています。ステップには、ユーザシステムデザインコンポーネント135、コンテンツ生成アプリケーション130、アプリケーション/サービスコンポーネント110、プロンプト設計コンポーネント115、および自然言語モデリングコンポーネント125によって実行されるアクションが含まれています。フローチャート200でのアクションの実行には、ニューラルネットワーク、機械学習、AIモデリングなどの人工知能が使用される場合があります。

ステップ202では、ユーザクエリが取得されます。ユーザクエリは、ユーザシステムデザインコンポーネント135固有のユーザインターフェースを使用するか、コンテンツ生成アプリケーション130のユーザインターフェースを使用して取得される場合があります。

ステップ206では、クエリ理解コンポーネント140がクエリが有効かどうかを判断します。例えば、クエリが理解不能な場合は無効と見なされることがあります。ヒントコンポーネント150は、入力クエリに基づいてユーザにヒントを提供するために使用されます。システムのコンポーネントがユーザが望む結果を得られないと判断した場合、ヒントコンポーネント150がユーザにヒントを提供することがあります。例えば、ユーザの入力がバイアスがかかっていたり、有害であったり、理解不能であったりする場合、自然言語生成モデルの出力が有害であるかバイアスがかかっている場合、またはここで説明されている他のシナリオの場合、ヒントコンポーネント150がトリガーされる可能性があります。関連するヒントが特定できない場合は、一般的なガイドや指示がユーザに提供されることがあります。ヒントコンポーネント150は、ヒントコンポーネント150のトリガーの理由と、ヒントコンポーネント150のトリガーを引き起こしたデータの問題に関する情報をログに記録することがあります。記録された情報は、プロンプト設計コンポーネント115やクエリ理解コンポーネント140などのシステムの他のコンポーネントの改善に使用される場合があります。

ユーザからのクエリが有効である場合、ステップ208ではバイアス検出コンポーネント145が使用され、ユーザクエリにバイアスの可能性があるかどうかが判断されます。つまり、バイアス検出コンポーネント145は、ユーザクエリがバイアス、有害、関連性のない、またはその他の望ましくない出力を生む可能性があるかどうかを判断します。バイアス検出コンポーネント145は、ステップ208の判断のためにバイナリ(バイアス/バイアスでない)の出力を提供する場合があります。バイアス検出コンポーネント145はテキスト(例えば、ユーザクエリまたはモデルからの出力)にスコアを割り当て、そのスコアが閾値を超えることに基づいてステップ208での判断を行う場合があります。バイアス検出コンポーネント145が閾値を超えるバイアスの可能性を判断する場合、例えば、ステップ210で再びヒントコンポーネント150が使用され、より良いユーザクエリの提案やヒントが提供されます。バイアス検出コンポーネント145は、自然言語生成モデルの学習方法に基づいて重要な役割を果たします。前述のように、GPT-3はクリーニングやデバイアス処理がほとんど行われていないフィルタリングされていないテキストデータから学習します。ソースデータのバイアス、有害性、その他の問題は、モデルに引き継がれます。したがって、バイアス検出コンポーネント145は、攻撃的でバイアスのかかった、有害な、またはその他の望ましくない出力を防ぐのに役立ちます。バイアスの可能性が十分に低い場合、クエリ理解コンポーネント140はステップ212で意図検出を実行します。

意図検出には、ユーザクエリの意図を特定することが含まれます。意図検出のステップ212では、データ234からユーザの好みの履歴、現在のデッキのグローバル情報、および/または現在のデッキの編集履歴を使用して意図を特定します。意図検出は、ユーザクエリを自然言語モデリングを使用しないアクション(例:デザインリクエスト)または自然言語モデリングを使用するアクション(例:コンテンツリクエスト)のいずれかに分類します。したがって、クエリ理解コンポーネント140は、ユーザが非自然言語アクション(例:デザインの提案)または自然言語アクション(例:コンテンツの提案)を要求しているかどうかを判断します。ユーザが非自然言語アクションを要求している場合、ステップ214で非自然言語アクションが特定されます。これらのアクションは、コンテンツドキュメントの更新や提案の提供に直接使用することができます。例えば、コンテンツ生成アプリケーション130からのデザインや他のツールを使用して、ステップ216でオプションや新しいデザインやレイアウトを提供することができます。例えば、ユーザクエリが「背景を紫にする」というものである場合、デザインツールはいくつかの紫色の背景オプションを提供する可能性があります。ユーザは、どのオプションを選択するか、またはどのオプションを保持するかを決定ブロック218で選択することができます。ユーザが1つ以上のオプションを保持する場合、ステップ220でコンテンツドキュメントが更新され、システムはステップ202で新しいユーザクエリを待機する状態に戻ります。ユーザがオプションを保持しない場合、ステップ222でヒントコンポーネント150が使用され、ユーザが望む提案を得るためのヒントが提供されます。

図3は、たとえばシステム100を使用してインテリジェントなコンテンツを自動生成するための方法300を示しています。

ステップ305では、ユーザクエリが受信されます。たとえば、ユーザシステムデザインコンポーネントのユーザインターフェースを使用してユーザからクエリを取得することがあります。一部の実施例では、コンテンツデザインアプリケーション130のユーザインターフェースを使用してユーザからクエリを取得することがあります。ユーザクエリは、デザインの提案を要求する、コンテンツの提案を要求する、デザインとコンテンツの提案の組み合わせを要求する、またはその他の要求を含む、任意のリクエストまたはクエリです。クエリ理解コンポーネント(たとえば、クエリ理解コンポーネント140)は、不適切なユーザクエリを除外したり、コンテンツではないか、自然言語アクションを使用するクエリを適切なコンポーネントにルーティングしたりします。自然言語アクションを使用するユーザクエリは、クエリ理解コンポーネントによって特定され、ステップ310でユーザクエリの意図から自然言語アクションが決定されます。アクションのカテゴリが分類され、ユーザクエリ、アクション、および/またはアクションのカテゴリがプロンプトデザインコンポーネント(たとえば、プロンプトデザインコンポーネント115)に提供されます。プロンプトデザインコンポーネントは、決定されたアクションに基づいてステップ315でプロンプトを生成します。

ステップ320では、プロンプトが自然言語生成モデル(たとえば、自然言語生成モデル125)に提供されます(例:GPT-3など)。自然言語生成モデルはモデリングを行い、ステップ325ではモデルからの出力が受信されます。ステップ330では、出力を使用して応答コンテンツがコンテンツ生成アプリケーション(たとえば、ワープロアプリケーション、プレゼンテーション作成アプリケーションなど)と互換性のある形式で生成されます。応答コンテンツは、ユーザが選択するために1つ以上のオプションで提供される提案コンテンツです。ステップ335で応答コンテンツが表示されます。一部の実施例では、ユーザが選択した応答コンテンツでコンテンツドキュメントが更新され、コンテンツ生成アプリケーション130を介して表示されることがあります。

図4は、自動インテリジェントコンテンツ作成システム(たとえば、ユーザシステムデザインコンポーネント135、アプリケーション/サービスコンポーネント110)とのインタフェースに使用される、例示的なユーザインターフェース400を示しています。

ユーザインターフェース400は、ユーザにコンテンツの生成を行うために提供されます。

図4-9は、プレゼンテーションを生成するための例示的なユーザインターフェースを示していますが、トピック、オプションの数、レイアウト、デザインなどはすべて例示であり、変更が許容されることが本開示の範囲内で理解されるでしょう。

初期のユーザインターフェース400には、クエリボックス405、すべての操作を行うボタン415、Let’s goボタン410が含まれています。この特定のユーザインターフェース400は、ユーザが「光合成の紹介」としてクエリボックス405に表示されるタイトルに示されるように、MICROSOFT POWERPOINT®などのプレゼンテーション作成アプリケーションと共に使用されることがあります。

ユーザは、クエリボックス405に示されるように「光合成の紹介」と入力し、光合成の紹介を提供するプレゼンテーションを希望することを示します。ユーザがすべての操作を行うボタン415を選択すると、システムはプレゼンテーションを生成してユーザに提供することがあります。図示された例では、ユーザがLet’s goボタン410を選択し、提案された概要が提案セクション420に表示されます。

図5は、図4に示されるように、ユーザが提案された概要トピックと承認ボタン435を選択した後に生成される、例示的なグラフィカルユーザインターフェース500を示しています。

ユーザインターフェース500には、クエリボックス505とそれに関連する送信ボタン510が含まれています。提案オプションセクション525では、ユーザが選択するためにいくつかのタイトルスライドが提示されます。

ユーザは、各選択肢の左上隅にあるラジオボタン(ラジオボタン530など)を使用して選択することができます。ユーザが選択したスライドに変更を要求する場合、ユーザはクエリボックス505にリクエストを入力し、送信ボタン510を選択します。クエリボックス505は、ユーザが提案されたオプションのコンテンツやデザインを反復的に更新する手段を提供し、ユーザが少なくとも1つのオプションに十分に満足するまで更新を行うことができます。

ユーザは、前のボタン515と次のボタン520を使用して、各トピックの提案されたオプションをスクロールして閲覧することができます。ユーザインターフェース500に示されているように、ユーザは7つのスライドのうち最初のスライドの提案オプションセクション525を表示しています。ユーザはユーザインターフェース400からすべての6つのトピックを選択しており、ユーザインターフェース500では7番目のスライドがタイトルスライドとして表示されています。ユーザは、ラジオボタン530で選択された右下のコーナーに表示されているスライドなどのオプションを選択し、次のボタン520を選択してオプションを進めることができます。ユーザは、選択済みの選択肢でプレゼンテーションを完成させるために、最終決定ボタン535をクリックすることができます。ユーザは、スタートオーバーボタン540を選択することで、プロセス全体を最初からやり直すことができます。この例では、ユーザはラジオボタン530に関連するスライドを選択し、次のボタン520を選択して続行しています。

図6は、図5と同様の選択オプションを持つ、別の例示的なグラフィカルユーザインターフェース600を示しています。ユーザインターフェース600には、クエリボックス505、送信ボタン510、戻るボタン515、Nextボタン520、最終決定ボタン535、およびスタートオーバーボタン540が含まれています。

提案セクション605では、ユーザインターフェース500の提案セクション525とは異なる選択肢が提供されます。

図6に示されているように、7つのスライドのうち2番目のスライドのオプションが提案セクション605で選択可能です。さらに、提案されるオプションはスライド間で相関する場合があります。例えば、提案セクション605の左上隅の提案は、図5に示される提案セクション525の左上隅の提案と同様のデザイン、色、レイアウトなどを持つ場合があります。ユーザが各スライドのオプションをナビゲートするときに、一貫したデザインとレイアウトのオプションはユーザの利便性のために同じ順序で表示される可能性があります。この例では、ユーザはラジオボタン610に関連付けられたスライドの提案を選択し、次のボタン520を選択して3番目のスライドのオプションを表示します。

図7は、ユーザが7つのスライドのうち6番目のスライド(汚染と光合成のトピックを持つ)のオプションを表示している、別の例示的なグラフィカルユーザインターフェース700を示しています。提案セクション705には、6番目のスライドのオプションの提案が含まれています。描かれているように、汚染と光合成のオプションには4つのスライドオプションがあり、それぞれに対応するラジオボタンがあります。ラジオボタン710に関連付けられた選択されたスライドのテキストは、テキスト715に示されているように、「汚染は光合成を行う能力を低下させます」と述べています。この例では、ユーザはこのテキスト715が具体的ではないと考え、そのためクエリボックス505を使用して「汚染は具体的にどのように影響を与えるのですか?」と尋ねることができます。

ユーザは次に、クエリボックス505のクエリを提出するために送信ボタン510をクリックすることができます。ユーザの履歴、現在のスライドデッキなどの文脈を使用して、クエリ理解コンポーネントはクエリを処理して自然言語アクションを生成することができます。自然言語アクションは、現在のスライドデッキとユーザの履歴の文脈と共に使用され、プロンプトを設計して自然言語生成モデルに提出します。

出力は、応答コンテンツを生成するために使用され、ユーザインターフェース700は図8に示されるユーザインターフェース800を表示するために更新される場合があります。

図8は、ユーザがクエリボックス505に入力したリクエストの結果を反映させた後、7つのスライドのうち6番目のスライドの更新されたオプションを表示している例示的なグラフィカルユーザインターフェース800を示しています。

ユーザインターフェース800では、テキスト715がテキスト815に更新されて表示されています。「汚染は植物がクロロフィルをより少なく生成する原因です」というテキスト815が表示されています。提案セクション805の各オプションもテキスト815で更新されていますが、選択されたスライドのみが更新される場合もあります。ユーザはラジオボタン810に関連付けられたオプションを選択し、次のボタン520または前のボタン515を選択して、プレゼンテーションの他のトピックのスライドオプションを確認することができます。

図9は、ユーザが最終化ボタン535を選択した後に生成される例示的なグラフィカルユーザインターフェース900を示しています。

各スライドの選択されたオプションがユーザに表示されます。選択されたオプションを含むコンテンツドキュメントは生成または更新される場合があります。ユーザインターフェース900には、開くボタン905と選択されたスライド910、915、920、925、930、935が含まれています。ユーザインターフェース900には、他の選択されたスライドを表示するために下にスクロールするためのスクロールバーが含まれている場合があります。ユーザが開くボタン905を選択すると、選択されたスライドを含むコンテンツドキュメントがMICROSOFT POWERPOINT®などのプレゼンテーション作成アプリケーションで開かれます。

図10は、自動的なインテリジェントコンテンツ生成に関連する処理操作を実装するために適したコンピューティングシステム1000を示しています。コンピューティングシステム1000は、ユーザシステムデザインコンポーネント(例:図1のユーザシステムデザインコンポーネント135、アプリケーション/サービスコンポーネント110、プロンプトデザインコンポーネント115など)を含むなど、いかなるコンポーネントの処理操作も実装するように構成することができます。

したがって、コンピューティングシステム1000は、特定の目的のために構成されたコンピューティングデバイスであり、ユーザの制約されたテキスト入力に基づいてユーザに対してインテリジェントなコンテンツを生成するための処理操作を実行することができるというものになります。

本発明の自動インテリジェントコンテンツ生成システムは、コンテンツ生成アプリケーション内でコンテンツを作成するためのユーザクエリを受け取り、ユーザクエリの意図を読み取って、アクションを決定する処理を実行します。このアクションに基づいてプロンプトが生成され、自然言語生成モデルに提供されます。

プロンプトに対して、自然言語生成モデルからの出力が行われ、この出力に基づいて、コンテンツ生成アプリケーションと互換性のある形式でレスポンスコンテンツが生成されます。ユーザは、生成されたレスポンスコンテンツを保持、編集、または破棄することを選択できます。ユーザは、追加のクエリを繰り返すことで、コンテンツドキュメントがユーザの希望するコンテンツを反映するまで繰り返し操作できます。

一昔前、作曲ソフトで予め用意されたテンプレートを組み合わせて曲を作っていくというものがありましたが、普段ビジネスで使用するOffice系ソフトウェアでもGPTモデルを活用して資料を自動生成させるようになるのは素晴らしい技術だと感じます。しかし、素晴らしいと感じる反面、自動生成ファイルからは単に紋切り型の同じような資料しか出てこない(肝心の伝えたいことが抜けている)かもしれないという危惧もありますね。また、機密情報の取り扱いなどもより一層の課題になりそうです。

発明の名称

Automated intelligent content generation

出願番号

US17/152193

公開番号

US2022/0229832A1

特許番号

US11494396B2

優先日

2021.1.19

公開日

2022.7.21

登録日

2022.11.8

出願人

Microsoft Technology Licensing LLC

発明者

Ji Li 他
国際特許分類

G06N 3/08

経過情報

36のファミリー件数があり、米国、欧州、日本、中国、韓国をはじめとして、各国に出願、特許登録されている。


事実を重視してテキストを生成するAI


最近の大規模ニューラル生成モデル(GPT-2モデルなど)を利用した、Chat GPTなどの実装化は、これまでのAIの概念をがらりと変えるものであり、急激に普及しつつあります。AI等によって文書を生成させるようなプログラム(エンドtoエンドの人工ニューラルモデル)は従来から存在していましたが、人間の話者(著者)と区別できないような、自然で、かつ正確な事実を含む文書を生成させることは、極めて困難な課題でした。

AIが独自に考えた事実に基づかない情報で文書を生成してしまう問題を解決するため、Microsoftは現実の世界の事実に基づいた文書(グラウンディングテキスト:実地文書)に基づいて応答するシステムを特許出願しました。具体的にどのようなものなのか、詳説していきます。

機械学習または他の人工知能技術を利用するコンピューティングシステムにおいては、AI等によってテキストを生成させるようにAIをトレーニングする場合があります。しかし、単にテキストを生成させるだけでなく、人間の話者(著者)と区別できないような、いわば自然なテキストを生成させることは、極めて困難な問題といえます。

このような問題に関して、一般化摂動理論-2(いわゆるGPT-2)モデルなどの大規模なニューラル生成モデルに関する最近の研究では、人間の話者(著者)に由来するテキストにより近いスタイルとフローを有するテキストを生成することについて、ある程度の期待(可能性)を示すようになってきました。

しかし、このようなニューラルモデルによって生成されたテキストであっても、詳細に検証すると、しばしば無意味なステートメントや文脈的に誤った事実を含むものであるのが実状でした。

発明の目的

本発明は上記の問題に鑑みてなされたもので、制御可能な実地応答生成フレームワーク(Controllable Grounded Response Generation : CGRG)を提供することを目的としています。このフレームワークは、機械学習モデル、実地インターフェース、および制御インターフェースを含みます。

機械学習モデルは、入力テキストに基づいてコンピュータで生成されたテキストを出力するようにトレーニングされます。

実地インターフェースは、入力テキストに関連する情報を含む実地ソースにアクセスするもので、機械学習モデルによって使用することができるものです。

制御インターフェースは、制御信号を認識するために機械学習モデルによって使用されるものです。

これにより、機械学習モデルは、実地ソースからの情報をコンピュータ生成テキストに含めることができるようになり、制御信号に基づいてテキストを生成するように構成されます。

* groundedという言葉は、最近AI等の分野で使われ始めた新しい言葉です。直訳すると「接地」とか「アースが落ちている(地面と繋がっている)」という意味になるのですが、grounded textという言葉に対応する適切な日本語がまだありません。この意味は、AIが独自に「考えた」言葉ではなく、実世界の言葉の意味とちゃんとつながっている、というニュアンスを表すものです。本稿では、便宜的に、実世界とつながっているという意味で「実地」と訳して解説します。

発明の詳細

では、本発明の詳細を説明していきます。

一般に、テキスト生成コンピューティングシステムは、コンピュータが人間のスピーチおよび執筆能力を模倣することを可能にし、任意の数の異なる目的のためにテキストを生成するように構成されます。一例として、人間のユーザは(例えば、合成された音声データおよび/または書かれたテキストを介して)コンピュータと会話をすることができ、テキスト生成コンピューティングシステムは、合成されたスピーチおよび/または表示された単語の形態で人間のユーザにアウトプットを提示することができます。

例として、テキスト生成コンピューティングシステムは、元となるシードテキストを与えられた場合、これを基にして新しいテキストを書くように構成され得ます(例えば、シードテキスト「The United States」を与えられた場合、米国に関する新しい記事を起草するように構成され得ます)。

さらに別の例として、テキスト生成コンピューティングシステムは、人間のユーザによって以前に起草された作品(文章)を書き直すように構成され得ます(例えば、以前に起草された米国に関する記事を、より良い文法、スペル、およびフローで書き直す)。

本発明のテキスト生成コンピューティングシステムは、コンピュータが生成したテキストが事実上正確であり、文脈上適切であり、人間のユーザの関心に合わせたものであるように、実地と制御とを協調的に統合することによって、先行するアプローチを改善するものです。

さて、図1は、機械学習モデルを実装する例示的なテキスト生成コンピューティングシステムを模式的に表したものです。

この例では、人間のユーザ104が、入力テキスト(人間またはユーザ提供のテキストまたはテキストシードとも呼ばれる)106 ”The United States” を提供した場合を考えます。

テキスト106を入力した後、テキスト生成コンピューティングシステムは、機械学習モデル102を使用して、コンピュータ生成テキスト108を出力します。コンピュータ生成テキスト108は、ユーザ提供テキスト106の「米国」トピックを拡張し、ユーザ提供テキスト106に関連する短い段落を自動的に記述します。

ネットワーク110に結合されているのは、機械学習モデル102を訓練するように構成された訓練システム112です。任意の適切な訓練プロセスおよび/または戦略が使用されます。機械学習モデル102は、訓練システム112で訓練され、その後、テキスト生成コンピューティングシステム100および/またはサーバ124に配備されます。

いくつかの例では、機械学習モデル102は、トレーニングシステム112上でトレーニングされ、その後、テキスト生成コンピューティングシステム100に展開され、機械学習モデルがローカルに実行し、コンピュータ生成されたテキストを出力します。また、機械学習モデルは、訓練システム112上で訓練され、次いで、サーバ102に展開されます。サーバ102は、ネットワーク110を介して1つまたは複数のリモートデバイスからテキスト生成要求を受信するように構成されてもよく、サーバ102は、機械学習モデル102を使用して要求デバイス(複数可)にコンピュータ生成されたテキストを出力するように構成すこともできます。

機械学習モデル102は、コンピュータで生成されたテキストを出力するように訓練された任意の適切なモデルを含むことができます。いくつかの実装では、機械学習モデル102は、エンド to エンドの、人工ニューラルネットワークを含むことができます。さらに、変換器ベースの言語モデルを含むことができます。一般化摂動理論(GPT)、GPT-2、およびGPT-3モデルは、セルフアテンションを使用する適切なトランスフォーマーベースの言語モデルの非限定例です。また、トランスフォーマーからの双方向エンコーダ表現(BERT)が使用されてもよいでしょう。

オープンドメイン応答生成のためのエンド to エンドのニューラルモデルは、流暢であり、かつ文脈的に適切である会話応答を生成することができます。

最も初期のニューラルモデルは、当たり障りのない、回避的な応答を特徴としていましたが、最近の多様性を高める戦略および大規模なGPT-2/GPT-3スタイルモデルを使用して、驚くほど人間らしい会話を生成することができるようになりました。

当たり障りのなさはもはや課題ではないかもしれませんが、その欠点は、図2のシナリオIに示されるような「幻覚」または「偽」の出力に向かう傾向があることで、ユーザーが「La La Landという映画について教えてください」と述べても、モデルが「よく分かりませんが…スーパーヒーロー映画かもしれない…」と述べることで応答するようなものでした。

これに対して、実地化された(グラウンディングされた)応答生成アプローチは、「幻覚」を抑制することができます。しかし、制御および意味的ターゲティングを伴わない実地化のみ(例えば、図2のシナリオIIにおける「La La Land」に関するWikipediaページに基づいて「2016年の映画です…」と応答する場合)では、正確であるものの、曖昧または無関係である出力を誘発し得るのです。

一方、制御可能なテキスト生成は、デコーダを関連する出力に導くことができるレベルの意味制御を提供しますが、根拠となる制御フレーズがない場合、正しい事実と関連付けることはできません(例えば、図2のシナリオIIIで、モデルが「デイミアン・チャゼル主演です」と答えるなど)。

しかし、本発明で開示するテキスト生成フレームワークは、実地知識と語彙制御の両方を組み込んで、信頼できる文脈に適した情報を持つ人間のようなテキストを生成します(例えば、モデルが「デイミアン・チャゼル監督のミュージカル映画で、ライアン・ゴズリングも出演しています!」と述べることによって応答する、図2のシナリオIV)。

図3は、制御可能な実地応答生成フレームワーク(CGRG)300を模式的に示したものです。図1の機械学習モデル102、図14のコンピューティングシステム、および/または任意の他の適切なテキスト生成コンピューティングシステムは、フレームワーク300を利用することができます。

図3に示すように、制御可能な実地応答生成フレームワーク300は、機械学習モデル102を使用して、
1)人間が提供したテキスト106
2)実地302
3)制御304
に基づいて、コンピュータ生成テキスト108を出力します。

このように、制御可能な接地応答生成フレームワークは、人間が提供したテキストに関連する情報を含む実地ソースにアクセスするために機械学習モデルによって使用可能な実地インターフェイスと、制御信号を認識するために機械学習モデルによって使用可能な制御インターフェイスとを含みます。

実地インターフェースおよび/または制御インターフェースは、機械学習モデルに情報および/または信号を入力するためのアプリケーションプログラミングインターフェース(API)、アプリケーションバイナリインターフェース(ABI)、ネットワークプロトコル、ファイルシステムプロトコル、ヘルパーアプリケーション、データベースインターフェース、および/または他の任意の適切な通信チャネルを含み得ます。

これらのインターフェースを用いて、機械学習モデルは、実地ソース(複数可)から情報を取得し、制御信号に基づいてコンピュータ生成テキストに焦点を当てるように構成されます。実地302と制御304の両方を使用することにより、コンピュータ生成テキスト108は、実地または制御のみが利用された場合に生成されるよりも高品質(例えば、より高い文脈上の関連性、より高い事実上の正確さ、よりユーザの関心に焦点を当てたもの)になると考えられます。

ここで、人間が提供したテキスト106は、テキスト文字列データ構造、意味ベクトル、および/または他の機械認識可能なデータを含みます。

実地302は、1つまたは複数の機械アクセス可能なデータベースおよび/または他の情報ストアで収集されたドメイン不可知および/またはドメイン固有情報を含むことができます。例えば、人間が提供したテキスト106のすべてまたはサブセット、および/または人間が提供したテキストから導出された意味ベクトルを検索エンジンに供給することによって、一般または特定の検索エンジンを利用するものとしてもよいでしょう(例えば、Wikipedia APIによって提供されたWikipedia記事は、Bing Search APIによって提供されたターゲットBing Searchを参照する、など)。

制御304は、人間が提供する制御、および/またはコンテンツプランナーもしくは他の自動化システムから自動的に抽出された制御を含み得ます。例えば、人間のユーザがワードプロセッサを使用して文書を作成するシナリオでは、ワードプロセッサは、ユーザから入力を受信し、受信した入力をコンピュータ生成テキストに焦点を合わせるための制御信号として使用するように構成される場合があります。レキシカルコントロールは、応答の特異性を強制するだけでなく、長い、無関係な、および/または支離滅裂な根拠をフィルタリングすることができます。

なお、コンピュータ生成テキストのレキシカル制御は、ユーザが提供する制御によって、その人が最も興味深く、かつ/または適切だと思う根拠となる事実に文章の内容を集中させることができるので、人が文書、電子メール、および/またはその他の文章を書くのを助ける編集アシスタントに応用できます。

たとえば、図4Aは、ユーザが人間提供のテキスト406「米国」をワードプロセッサ400に入力し、ワードプロセッサが、1つまたは複数の根拠ソース(たとえば、図3の根拠302-たとえば米国に関するWikipedia記事)を活用する機械学習モデル(たとえば、図1および3の機械学習モデル102)を使用してコンピュータ生成のテキスト408を表示するシナリオを示すものです。

図4Bは、図4Aの例を継続し、コンピュータ生成テキスト408の続きとして、ユーザが文字「gd」を入力したことを示します。この「gd」を認識することに応答して、ワードプロセッサーは、「gd」制御信号によって制御されるように「米国」実地ソースから得られた顕著な事実410を示します。

図示の例では、ワードプロセッサは、3つの可能な顕著な事実を提示し、ユーザは、最初に提示された事実「一人当たりのGDPの点で8番目」を選択する。選択された「一人当たりGDPで8位」は、機械学習モデルへの制御信号として提供されます。

図4Cは、更新されたコンピュータ生成テキスト408′を示し、制御信号に基づいて追加される箇所は、太字およびイタリック体で示されている。

一方、図4Dは、人が意味的意図を示すためにキーワードを入力し、機械学習モデルがその制御を利用してコンピュータ生成テキストを出力する別の例を示しています。

特に、機械学習モデルは、会話履歴、ユーザの部分入力(「Damien」)、および接地知識に従って、ユーザAに対する応答候補を提案する応答編集アシスタントとして動作します。

制御可能な接地応答生成フレームワークの概念は、以下のように形式化することができます:対話コンテキストX、p個の語彙的制御フレーズC=(C1、 … 、Cp)および実地G=(G1、 … 、Gq)のq個のセンテンスが与えられ、Cによって導かれる意味情報を含む応答R=(r1、 …、rm)を生成します。制御はユーザによって直接提供されるか、コンテンツプランナから自動的に導かれるか、どちらでもよいですが、ここでは区別するために、検証済みまたはユーザ提供の制御をCと表記し、コンテンツプランナーによって提供される制御をC-と表記します。

制御可能な根拠ある応答生成は、任意に、根拠ある会話データセットと協力して使用することができます。以下の例では、各データインスタンスが、対話コンテキスト、実地知識、および参照応答を含むと仮定します。このフレームワークを分析するために、各インスタンスに対して1つまたは複数の制御フレーズを定義する制御メカニズムが提供されます。ユーザコントロールは、ターゲットレスポンスと実地知識のいくつかの部分の両方に関連する語彙フレーズです。すべての制御フレーズに対して人間が注釈をつけていくのはコストがかかり、かつ拡張できない可能性があるため、制御フレーズは実地化と参照レスポンスの両方に現れる情報量の多いN-gramとし、語彙的マッチングが使用されます。

このような機械学習モデルは、GPT-2機械学習モデルを含むか、またはGPT-2機械学習モデルから派生することができます。GPT-2は、大規模なウェブデータで訓練された変換器ベースの言語モデルであり、各トークンがそのトークンに注目する「セルフアテンション機能」を使用します。これは、定義されたコンテキストウィンドウ内の前の単語のすべてが与えられたときに、次の単語を予測することを目的として訓練されるものです。

CGRG内でGPT-2を適用するために、図5(上)に示すように、X、C(および/またはC-)、GCが入力シーケンスとして連結されます。GCは、Cに関連するGのサブセットです。例えば、本作品では、Careの任意のフレーズを含む実地文をGCと表記している。入力要素を区別するために、Xの各対話発話の終わりには文末トークンeosが、Cの各制御フレーズの終わりにはcトークンが、GCの各文の終わりにはsトークンが挿入されます。

入力シーケンスSと応答シーケンスRは、まず、長いテキストに連結されます。ソース配列はS=(w1, … , wn)と表記され、これを用いてターゲット文Rを生成します。条件付き確率p(R|S)は、条件付き確率の積として書くことができます。

ここで、rm+1は文章生成の終了を示す文末トークンです。

GPT-2は、デフォルトで、連続したテキスト列を入力として受け取ります。上述のアプローチを用いると、X、C、GCの各入力要素はセグメント化された形式であり、これらのセグメントは必ずしも強く接続されていない場合があります。したがって、GPT-2モデルにすべてを単純に連結すると、ノイズが誘発される可能性があります。

そこで、各データ例の潜在的に情報価値のないアテンションリンクは、CとGCの間に予め確立された構造情報を注入することによって除去することができます。

例えば、図5(下)において、CはC1、C2、C3を含むことができ、GCはG1、G2を含むことができる。C1がG1にしかないことが分かっていれば、C1とG1の間のアテンションリンクだけを残し、C1と他の実地文の間には注目(アテンション)しないようにすればよい。GCはGから分割された文の集合であると考えられるので、GCトークン内ではすべての文横断リンクが削除される。同様に、非同一フレーズ間のリンクはすべて削除される。このように、各データ例のアテンションリンクは、C と GC の間の構造情報によってあらかじめ決定される。これを実施するために、各変換層では、除去されたアテンションリンクと将来のトークンへのリンクが値0、その他が値1であるアテンションマスクが適用される。この事前に計算された注意は、誘導的アテンションと呼ばれることがある。各応答トークンは、その左側にあるすべての入力トークンおよび他の応答トークンに引き続き対応していきます。

Sにおけるコントロール句Ci∈Cの開始位置と終了位置をcisとcie、実地文Gi∈GCのそれをgisとgisとする(筆者注:ここはgisとgieの誤記であると思われる)。 そして、アテンションマスクMを以下のように計算します。

次に、各トランスフォーマヘッドについて、積み重ねられた行列Q、K およびVは、

各シーケンス例 (連結されたSおよびT)を表すことができます。そうすると、アテンションマスクは次のように計算できます。

ここで、モデルの有効性は、ユーザーによって提供される検証済みの制約(gold constraintsといいます)が提供されない場合に、2つのコンテンツプランナーで実験することによって評価することができます。

第1のコンテンツプランナは、単純な検索ベースのパイプラインであり、各テスト対話コンテキストについて、
(i)G内の文が、XとのIDF重み付けされた単語重複によってランク付けされ、
(ii)上位50文から統計的フレーズが抽出され、
(iii)50文に最も頻繁に出現する2つの統計的フレーズが、C-として使用されます。

BERT QA は、第2のコンテンツプランナの基礎を形成します。BERT QAモデルは、Xをクエリとして、Gを文書として、Cを回答として、訓練例上で微調整される場合があります。

次に、微調整されたモデルは、テスト例で回答を予測するために使用されます。上位2つの回答は、予測された制御フレーズC-として機能し、2番目は、文字列が1番目と重複する場合に削除されます。

実装の詳細:型と位置の埋め込み

上述したGPT-2ベースラインおよび誘導的アテンション(GPT2IA)モデルにおいて、各入力トークンに対するタイプ埋め込みと位置埋め込みの両方が存在します。GC の各文 X、C の各フレーズ、応答R は、別々のセグメントとして扱われることがあります。GCの文の最大数は20、Cのフレーズの最大数は10に設定すると、タイプ埋め込みとして、Xの「0」、GCの「1-20」、Cの「21-30」、Rのトークンが「31」となります。

<トレーニング>
例として、117Mのパラメータを持つGPT-2の小型版が使用され、入力またはターゲット応答シーケンスの最大長は512となります。

GPT-2に続いて、BPEトークン化が使用され、このモデルとGPT-2に基づく他のすべてのベースラインは、GPT-2に基づいて147MのRedditコメントチェーンでトレーニングされた会話応答生成モデルであるDialoGPTの上でトレーニングすることができます。DialoGPTのRedditのトレーニング例や検証例は、いずれもテスト例と重複していません。バッチサイズ32を使用し、学習率およびウォームアップステップを有効なセットで調整することができます。

<推論>
GPT-2およびGPT2IAセットアップのデコーディング戦略として、グリーディサーチが使用される場合があります。しかし、実験設定では、語彙制約付き復号化および/または他の復号化方法と比較するためにグリッドビーム探索(GBS)を適用することもあります。GBSは推論時にのみ字句制約を使用するため、GBSとの比較は、訓練と推論の両方において制約をハイド状態にエンコードするのに役立つかどうかについての洞察を提供することができます。

データセット178のサブレディットをカバーするウェブページ(例えば、ニュース記事およびWikipedia記事)に関するReddit会話を特徴とする、実地化されたReddit会話データセットが使用されます。このデータセットが制御可能なテキスト生成をサポートするようにするために、参照応答における各N-gram(n≦5)は、各基礎文にマッチングされます。制御語句の一定の情報性を確保するために、ユニグラムのIDF閾値(例えば、8.5)が設定されます。2つのN-gramが機能語や句読点の追加を除いて同一である場合、短い方のバージョンだけが使用されます。また、新しい単語の方が情報量が多いという考えから、対話の文脈に現れる一致したN-gramは削除されます。各データインスタンスについて、残りの一致したN-gramは制御フレーズとなります。

クラウドソーシングワーカーは、抽出された制御フレーズが、対話コンテキストを考慮した参照応答の中心であるかどうかを注釈するために使用されます。例えば、各応答は、複数の審査員(例えば、3人の審査員)によって評定され、平均スコアは、応答を評価するために使用されます。2000個のアノテーションを付けたテストでは、スコアの中央値は4.33で、67.4%の例が4以上のスコアを持っていました。少なくとも1つの一致するフレーズが見つかる例のみが保持されました。このように、対象レスポンスと実地化の語彙的なマッチングを厳密に行うことで、保持された例は実地化の利用比率が高く、レスポンス生成における実地化の活用が促進される可能性が高いと考えられる。処理後、train、dev、testの発話数は減少しました(例:trainは2.36Mから390K、devは0.12Mから6.7K、testは0.34Mから21Kに減少しました)。

テストでは、全参照回答の平均長さが約18.5から26.5に増加し、Cの平均フレーズ数はtrain, dev, testでそれぞれ1.32, 1.27, 1.38, GCの平均文数はtrain, dev, testでそれぞれ 4.37, 4.32, 4.25 となりました。実験では、最大3つの対話ターンが使用されました。

実験セットアップ:評価されたシステム

異なる応答生成モデルと入力設定の比較から洞察を得るために、実験が行われた。モデルは、以下の設定に従って評価されました。

X:これは、非制御的な応答生成のための標準的な設定であり、対話コンテキストのみが与えられます(すなわち、実地も制御もない)。実験は、最先端の生成モデルGPT-2を用いて行われました。

X+G:これは、実地化された応答生成のための標準的な設定です(すなわち、制御なし)。2つのモデルが比較されました:CMRとGPT-2である。CMRは、MRCモデルとLSTMデコーダを組み合わせた最先端の接地型応答生成モデルです。GPT-2は、XとGを入力として連結しています。なお、両モデルとも入力シーケンス長さの制限があるため、ランダムに選ばれた実地文のサブセットのみが各モデルに供給されました。

X+C:これは制御可能な応答生成設定です(すなわち、実地なし)。実験は、GPT-2を用いて、XとCを連結して行いました。

X+GC:この設定は、Cに関連する実地化のみが応答生成に役立つが、Cが明示的に提供されない場合に、どのように役立つかを測定しました。実験は、GPT-2を使用して、XとGCを入力として連結することによって行われました。

X+C+GC:この設定は、実地制御が応答生成にどのように役立つかを測定しました。実験は、GPT-2およびGPT2IAを用いて、X、GC、およびCを入力として連結して実施しました。

X+C+G:この設定は、語彙的制御フレーズが訓練に影響を与えることなく復号化段階でのみ追加されるグリッドビーム探索(GBS)のような他の制約付き生成方法と比較するものです。実験はGPT-2を用いて行われ、XとGは唯一の符号化入力であり、CはGBSを用いた復号化においてのみ適用されます。

実験スコアをより深く確認するために、人間の反応も「システム」として評価されました。各テスト対話コンテクストについて、最大6つのリファレンスが再トレーニングされ、1つは評価用に確保されました。これにより、「人間の反応」は自動評価のために残りのリファレンスに対して評価されるようになりました。比較可能性を確保するため、すべてのシステムは同じ5つのリファレンスに対して評価され、各評価指標について、5つのリファレンスの中で最も高いスコアが報告されました。

<評価>
評価では、BLEU-4、ME-TEOR、NIST-4を含むメトリクスで、生成された応答の全体的な関連性が測定されました。

NISTは、情報利得によってN-gramマッチを重み付けするBLEUの変種であり、情報価値のないN-gramを排除します。生成された回答におけるN-gramの多様性は、Distinct-nを用いて、N-gramの種類の数とN-gramの総数の間の比率として測定されました。また、人間の評価も併用されました。

<結果と分析>
制御可能な実地応答生成フレームワークを、単一参照評価を用いて分析したものを図示します。

図6の表において、行1〜3は制御可能な設定ではなく、入力として制御フレーズを持たないものですが、行4-8は明示的または暗黙的に、入力として制御フレーズを持っているものです。行(1-3)と行(4-8)の間の大きな性能差は、制御を追加することの価値を示しています。

さらに、図6の表の行を比較することにより、以下の結論を導き出すことができます:
(i)1対3:モデル入力に実地語を追加するだけで、限られた範囲で性能が向上する;
(ii)2対3:GPT-2は一般に、最先端の実地モデルCMRよりも性能が良く、これは事前学習と変換器ベースの復号器を持つことの組み合わせがテキスト生成に役立つことを示す。
(iii)4対7-8:制約に敏感な実地を提供することは、すべての実地を持つことに比べて性能を高める;
(iv)5対7-8:明示的な方法で制御フレーズを提供することが重要;
(v)6対7-8:隠れた状態で制御を適用すると、モデルは復号時のみ制御を適用するより質の高い応答を生成するのに役立つ;
(vi)7対8:誘導的アテンションによってノイズを減らしGPT-2の性能が向上する。

<自動応答生成>
完全自動会話シナリオでは、自動応答生成のために本明細書に開示されたフレームワークを活用するために、コンテンツプランナーが制御フレーズを予測するために使用されてもよいでしょう。図7の表は、上述したように制御フレーズを抽出する2つの単純な方法が、生成性能を高めることができることを示しています。

図7の表の最初の部分は、制御なしまたは予測された制御フレーズ(C-)のいずれかがモデルに提供される設定を比較するものです。検索ベースおよびBERT QAベースのコンテンツプランナの両方が良好な結果を達成することがわかります。

図7の表の第2部は、gold constraints設定と切り出された人間の応答について評価することによる上限を示すものです。各テスト対話コンテキストについて、最大5つの参照のうちの1つがランダムに選択され、対応するgold constraintsフレーズは、生成を行い、5つの参照に対して評価するために使用されました。

図7の表の最終行は、人間の応答に関する評価の結果を示しています。多参照の設定では、GPT2IAを用いたX+C+GCが依然として最高の性能を発揮しています。

gold constraints設定に対する図6と図7の表の違いは、NISTやBLEUのようなメトリクスが、単一参照評価よりも多参照で高くなることが期待されるという事実を反映しています。

コンテンツプランナの中間評価として、図8の表は、参照応答に関する、C-とGのトークンの精度とリコールを報告するものです(ストップワードと句読点のトークンのカウントは削除される)。

各テスト対話コンテキストについて、最高のF1スコアを与える参照応答についての値が計算され、各メトリックについてのすべてのテスト例間の平均が報告されます。検索されたベースのコンテンツプランナは、BERT QAよりもわずかに良質なフレーズを予測するが、gold constraints設定のフレーズからはまだ遠いことが指摘されます。

図8の表の上半分と下半分を比較することにより、より良く設計されたコンテンツプランナを使用することで、モデルがより良い品質の応答を生成する結果になる可能性があることが分かります。

<人間による評価>
人間評価は、クラウドソーシングワーカーを使用して実施されました。

先行するダイアログとの関連性と適切性、および背景テキストとの整合性(事実の正しさの指標として)についての結果は、図9の表に示されます。

パネル(審査員)には、各システムからの一対のランダムな出力が提示されました。文書のタイトル、文書の短い断片、2つまでの会話文が文脈として提供されました。判定は5段階のリッカートスケールで入力されました。各ペアの評価は3〜4人の審査員が行い、成績の悪い審査員をブロックするための指標が課されました。評価者間の一致度は、クリッペンドルフα係数が0.32で、「フェア」でした。X+C+GC+GPT2IAは、他のシステムよりも優れており、X+C+GC+GPT2IAとX+C+GC+GPT2、両方の実地化されたシステムとの間には統計的に差がありませんでした。

<定性的な分析>
図10は、X+CシステムとX+C+GCシステムの両方についてトークンレベルの確率をプロットすることにより、実地知識がテキスト生成をどのようにサポートするかを示しています。

事前学習で知識が取り込まれる可能性を排除するために、一般的でないエンティティに関する例が選択されます。対話コンテキスト “Do you know the education background of the new faculty, Sam?”、コントロールフレーズ “University of Toronto” and “neural networks”、

および実地文 “Sam got his bachelor degree in Physics at University of Science and Technology of China. He spent 6 months at University of Tokyo in Japan as a visiting student, when he was a master student in Computer Science at University of Hong Kong from 2010-2012. And he finished his PhD at University of Toronto in Canada with his research focused on interpretability of neural networks on text generation in 2017.” が与えられた場合の応答候補のトークンレベル確率を示します。

実地モデルは、”graduate “や “thesis “などの実地からの文脈上の単語や、”2017 “などの事実上正しいエンティティトークンに対して高い確率を割り当てています。一方、”economics “のような事実と異なる単語には、より低い確率で実地モデルが割り当てられます。これらの事実は、実地知識が、制御可能な生成:(i)制御フレーズの文脈化;および(ii)正しい事実と正しくない事実を区別することを潜在的に支援できることを示唆します。

本明細書で説明する概念は、任意の適切な事前訓練されたテキスト生成モデルに広く適用され得るものです。いくつかの実装では、そのような事前訓練されたテキスト生成モデルは、GPT-1、GPT-2、GPT-3、BERT、およびRobust Bidirectional Encoder Representations from Transformers(RoBERTa)などの変換器ベースのモデルを含み得ます。さらには、事前訓練されたテキスト生成モデルは、長短期記憶(LSTM)ニューラルネットワークモデルなどの異なる種類の基礎アーキテクチャで動作するように構成されてもよいでしょう。

本発明では、記憶サブシステムは、制御可能な実地応答生成フレームワークをインスタンス化するために、論理サブシステムによって実行可能な命令を保持します。このフレームワークは、入力テキストに基づいてコンピュータ生成テキストを出力するように訓練された機械学習モデルと、入力テキストに関連する情報を含む実地ソースにアクセスするために機械学習モデルによって使用可能な実地インターフェースと、制御信号を認識するために機械学習モデルによって使用可能な制御インターフェースとを備え、機械学習モデルは、接地ソースからの情報をコンピュータ生成テキストに含め、制御信号に基づいてコンピュータ生成テキストを集中するように構成されます。

フレームワークは、入力テキスト、実地源、および制御信号に基づいて、ユーザーのために文書を自動的に書く(または書き直す)ためにワードプロセッシングアプリケーションによって使用されます。

本発明は、AIが文章を自動生成するにあたり、検索エンジンやwikipedia等から実地情報を取り出して、その情報を「知識」として生成文書に活かすというものですが、このような方式でのAI文書生成が一般的になると、今度はネットにあるフェイク情報がAIに取り込まれてしまうことによって、さらに事実と外れた情報が連鎖的に生み出されてしまうという懸念も捨てきれません。

今後はこのような「暴走」に歯止めをかける手段や、ネット上のファクト/フェイクを判断できるようなAIが必要になってくるかもしれません。

発明の名称

Controllable grounded text generation

出願番号

US16/817124

公開番号

US2021/0192140A1

出願日

2020.3.12

公開日

2021.6.24

出願人

Microsoft Technology Licensing LLC

発明者

Michel Galley 他
国際特許分類

G06F 40/30

経過情報

USPTOを受理官庁としてPCT出願され、米国、欧州、中国に国内移行している。

発明の名称

顧客顔認識システムを有するカジノ管理システム、およびそれを操作する方法

出願番号

特願2019-136184

公開番号

特開2020-47260

特許番号

特許第6952163号

出願日

2019.7.24

公開日

2020.11.26

登録日

2021.9.29

審査請求日

2020.6.18

出願人

コナミゲーミング インコーポレーテッド

発明者

トーマス イー. スーカプ 他
国際特許分類

G06Q 50/34 (2012.01)
G06Q 50/10 (2012.01)
G06T 7/00 (2017.01)
A63F 9/00 (2006.01)

経過情報

・上記「特許6720392号」を親出願とする分割出願によるもの。



機械翻訳で大活躍のアテンションニューラルネットワークとは


近年、自然言語処理(NLP)と機械翻訳の分野では、アテンションニューラルネットワーク(Attention Neural Network)が大きな注目を浴びています。アテンションメカニズムは、シーケンスデータの中で重要な情報に注目する能力を提供し、特に配列変換タスクにおいて非常に効果的です。

Google翻訳などの機械翻訳システムでも、アテンションニューラルネットワークが活用されており、その成果が目覚ましいものとなっています。今回紹介する技術は、Googleによるアテンションニューラルネットワークに関する基本的な特許です。

ニューラルネットワークを使用する配列変換に対する多くの既存の方法は、エンコーダおよびデコーダの両方においてリカレントニューラルネットワークを使用します。

これらのネットワークは、配列変換タスクに対して良好な性能を達成することができることがわかっていますが、それらの計算は逐次的で、すなわち、リカレントニューラルネットワークは、前の時間ステップにおけるリカレントニューラルネットワークの隠れ状態を条件として現在の時間ステップにおいて出力を生成します。この逐次的な性質は、並列化を妨げ、長いトレーニング及び推論時間を要することを意味し、大量の計算リソースを利用する作業負荷をもたらします。

発明の目的

本発明は上記の問題に鑑みてなされたものです。配列変換ニューラルネットワークのエンコーダおよびデコーダはアテンションベースなので、配列変換ニューラルネットワークは、ネットワークの動作がより容易に並列化され得ます。これにより配列変換をより迅速に処理し、より高速にトレーニングされます。本発明の配列変換ニューラルネットワークは、入力と出力との間においてアテンションメカニズムに完全に依存することで、リカレントニューラルネットワークを使用せず、リカレントニューラルネットワーク層の逐次的な性質によって引き起こされる上述の問題を軽減することができます。

* アテンション(Attention)とは、AIの深層学習など、幅広い分野で使われ、自然言語分野において、必須の技術です。簡単に言えば、入力されたデータのどこに注目すべきかを、動的に特定する仕組みのことをいいます。同様の技術は画像認識にも使われています(例えば撮影された写真から、被写体と背景とを自動的に分離するなど)。

配列変換ニューラルネットワークは、トレーニングおよび推論時間が短くても、既存のネットワークよりも正確に配列を変換することができます。特に、従来のモデルでは、2つの任意の入力または出力位置からの信号を関連付けるために必要とされる演算の数は、位置間の距離とともに、例えば、モデルアーキテクチャに応じて線形又は対数的に増大しますが、これはトレーニング中に離れた位置間の依存性を学習することをより困難にしてしまいます。

本発明ではアテンション(特に、セルフアテンション)を使用することで、一定の演算数に低減されます。セルフアテンションは、イントラアテンションとも呼ばれることもある、配列の表現を計算するために単一の配列の異なる位置を関連付けるアテンション機構のことです。

アテンションの使用は、配列変換ニューラルネットワークがトレーニング中に離れた位置間の依存性を効果的に学習することを可能にし、様々な変換タスク、例えば機械翻訳における配列変換ニューラルネットワークの精度を改善します。本発明の配列変換ニューラルネットワークは、従来の機械翻訳ニューラルネットワークよりもトレーニングが容易で、出力を生成するのが迅速であるにも関わらず、機械翻訳タスクに対して高い結果を達成できます。また、アテンション機構の使用を通して、タスク特有のチューニングを伴わずに、従来の機械翻訳ニューラルネットワークを上回る性能を達成することができました。

発明の詳細

では、本発明の詳細を説明していきます。

図1は、本発明のニューラルネットワークシステム100の一例を示したものです。

ニューラルネットワークシステム100は、入力配列102を受信し、これを処理して、出力配列152に変換するものです。この中に、アテンションベースの配列変換ニューラルネットワーク108を含み、これはエンコーダ110およびデコーダ150を含むものとなります。エンコーダ110は、埋め込み層120と、エンコーダサブネットワーク130の配列を含みます。特に図1に示すように、エンコーダニューラルネットワークは、N個のサブネットワーク130を含みます。

埋め込み層120は、入力配列内の各ネットワーク入力について、ネットワーク入力を埋め込み空間内のネットワーク入力の数値表現として、例えば埋め込み空間内のベクトルとしてマッピングするように構成されます。次いで、埋め込み層120は、ネットワーク入力の数値表現を、エンコーダサブネットワーク130の配列における第1のサブネットワークに提供します。

具体的には、埋め込み層120は、各ネットワーク入力をネットワーク入力の埋め込み表現としてマッピングし、次いで、ネットワーク入力の埋め込み表現を、入力順序におけるネットワーク入力の入力位置の位置埋め込みと組み合わせて、ネットワーク入力の埋め込み表現を生成するように構成されます。ここで、位置埋め込みが学習されます。本発明において「学習された」とは、配列変換ニューラルネットワーク108のトレーニング中に動作または値が調整されたことを意味します。

各エンコーダサブネットワーク130は、エンコーダ自己アテンションサブレイヤ132を含みます。エンコーダ自己アテンションサブレイヤ132は、複数の入力位置のそれぞれについてサブネットワーク入力を受信し、入力順序におけるそれぞれの特定の入力位置について、特定の入力位置におけるエンコーダサブネットワーク入力から導かれる1つまたは複数のクエリを使用して、入力位置におけるエンコーダサブネットワーク入力にアテンションメカニズムを適用して、特定の入力位置のそれぞれの出力を生成するよう構成されます。アテンションメカニズムおよびアテンションメカニズムがエンコーダセルフアテンションサブレイヤー132によってどのように適用されるかは、図2を参照して以下でより詳細に説明します。

エンコーダサブネットワーク130の各々は、エンコーダセルフアテンションサブレイヤーの出力をエンコーダセルフアテンションサブレイヤーへの入力と結合してエンコーダセルフアテンション残差出力を生成する残差接続レイヤーと、エンコーダセルフアテンション残差出力に層正規化を適用する層正規化レイヤーとを含みます。これら2つのレイヤーを総称して、図1では「Add & Norm」オペレーションと呼んでいます。

次に、図2は、エンコーダニューラルネットワーク110およびデコーダニューラルネットワーク150のサブネットワーク内のアテンションサブレイヤによって適用されるアテンション機構を示すものです。

一般に、アテンションメカニズムは、クエリとキーと値のペアのセットを出力にマッピングし、クエリ、キー、および値はすべてベクトルです。出力は値の重み付きの和として計算され、各値に割り当てられた重みは、対応するキーとクエリの互換性関数によって計算されます。

より具体的には、各アテンションサブレイヤーは、スケーリングドットプロダクトアテンション機構230を適用します。スケーリングドットプロダクトアテンションでは、所与のクエリについて、アテンションサブレイヤーは、クエリのドット積を全てのキーで計算し、ドット積の各々をスケーリングファクタ、例えば、クエリとキーのスケールの平方根で割り、次に、スケーリングドット積にソフトマックス関数を適用して値に関する重みを得ます。そして、アテンションサブレイヤーは、これらの重みに従って、値の重み付き和を計算します。このように、スケーリングドットプロダクトによるアテンションでは、互換性関数はドットプロダクトであり、互換性関数の出力はさらにスケーリングファクターによってスケーリングされます。

動作上は、図2の左側に示すように、アテンションサブレイヤーは、クエリのセットに対する注目度を同時に計算します。特に、アテンションサブレイヤーは、クエリを行列Qに、キーを行列Kに、そして値を行列Vにパックします。

次に、アテンションサブレイヤーは、行列Qと行列Kの転置との間で行列乗算(MatMul)を実行し、互換性関数出力の行列を生成します。

次に、アテンションサブレイヤーは、相性関数出力行列をスケーリング、すなわち、行列の各要素をスケーリングファクタで割ることによってスケーリングします。

次に、アテンションサブレイヤーは、スケーリングされた出力行列に対してソフトマックスを適用して重みの行列を生成し、重み行列と行列Vとの間で行列乗算(MatMul)を実行して、値の各々に対するアテンションメカニズムの出力を含む出力行列を生成します。

マスキングを使用するサブレイヤー、すなわちデコーダアテンションサブレイヤーについては、ソフトマックスを適用する前に、スケーリングされた出力行列をマスキングします。すなわち、アテンションサブレイヤーは、現在の出力位置の後の位置に対応するスケーリングされた出力マトリックスのすべての値をマスクアウト(負の無限大に設定)します。

アテンションサブレイヤーが異なる位置で異なる表現サブスペースからの情報に共同してアテンションすることを可能にするために、アテンションサブレイヤーは、図2の右側に図示されるように、マルチヘッドアテンションを採用してもよいでしょう。

特に、マルチアヘッドアテンションを実施するために、アテンションサブレイヤーは、h個の異なるアテンションメカニズムを並行して適用します。言い換えれば、アテンションサブレイヤーは、h個の異なるアテンションレイヤーを含み、同じアテンションサブレイヤー内の各アテンションレイヤーは、同じオリジナルクエリーQ、オリジナルキーK、及びオリジナル値Vを受け取ります。

各アテンション層は、学習された線形変換を使用して元のクエリ、およびキー、および値を変換し、次いで、変換されたクエリ、キー、および値にアテンションメカニズム230を適用するように構成されます。各アテンションレイヤーは、一般に、同じアテンションサブレイヤー内の各他のアテンションレイヤーから異なる変換を学習します。

特に、各アテンションレイヤーは、学習したクエリ線形変換を各オリジナルクエリに適用して、各オリジナルクエリに対するレイヤ固有のクエリを生成し、学習したキー線形変換を各オリジナルキーに適用して、各オリジナルキーに対するレイヤ固有のキーを生成し、学習した値線形変換を各オリジナル値に適用して、各オリジナル値に対するレイヤ固有の値を生成する構成になっています。次に、アテンションレイヤーは、これらのレイヤー固有のクエリ、キー、および値を用いて上述のアテンションメカニズムを適用し、アテンションレイヤーのための初期出力を生成します。

そして、アテンションサブレイヤは、アテンションレイヤの初期出力を結合して、アテンションサブレイヤの最終出力を発生させます。図2に示すように、アテンションサブレイヤーは、アテンションレイヤーの出力を連結し(concat)、連結された出力に学習された線形変換を適用して、アテンションサブレイヤーの出力を生成します。

図3は、入力配列から出力配列を生成するための例示的なプロセスのフロー図です。便宜上、プロセス300は、1つまたは複数の場所に位置する1つまたは複数のコンピュータのシステムによって実行されるものとして説明します。例えば、本明細書に従って適切にプログラムされたニューラルネットワークシステム、例えば、図1のニューラルネットワークシステム100は、プロセス300を実行することができます。

まず、入力配列を受信します(ステップ302)。

システムは、エンコーダニューラルネットワークを使用して入力配列を処理し、入力配列内のネットワーク入力のそれぞれの符号化された表現を生成します(ステップ304)。

システムは、埋め込みレイヤーを通して入力配列を処理して、各ネットワーク入力の埋め込み表現を生成し、次に、エンコーダサブネットワークの配列を通して埋め込み表現を処理して、ネットワーク入力の符号化された表現を生成します。システムは、デコーダニューラルネットワークを用いて符号化された表現を処理して、出力配列を生成します(ステップ306)。

デコーダニューラルネットワークは、自動回帰的に符号化された表現から出力配列を生成するように構成されまる。すなわち、デコーダニューラルネットワークは、各生成時間ステップにおいて、出力配列から1つの出力を生成します。所定の出力が生成される所定の生成時間ステップにおいて、システムは、出力配列における所定の出力の前の出力を、デコーダの埋め込み層を介して処理し、埋め込み表現を生成します。次に、システムは、デコーダサブネットワークのシーケンス、線形層、およびソフトマックス層を介して埋め込まれた表現を処理し、所定の出力を生成します。デコーダサブネットワークは、エンコーダ-デコーダアテンションサブレイヤーだけでなく、デコーダ自己アテンションサブレイヤーも含むので、デコーダは、所定の出力を生成するときに、既に生成された出力と符号化された表現の両方を利用します。

また、システムは、エンコーダおよびデコーダをトレーニングするために、トレーニングデータのセットにおける入力配列、すなわち、システムによって生成されるべき出力配列が既知である入力のセットに対して、プロセス300を実行することができます。工程300は、初期のニューラルネットワーク層を訓練するための従来の機械学習訓練技法の一部として、訓練データのセットから選択された入力に対して繰り返し実行することができることは言うまでもありません。

本発明は、例えば機械翻訳に用いられる配列変換ニューラルネットワークの精度を向上させるものです。従来の逐次的な変換を行うリカレントニューラルネットワークから、学習により入力文字配列の注目点を抜き出して変換していくアテンション型のニューラルネットワークを採用したことで、効率と精度を上げ、リソース使用量を減少させるという効果を得ることができました。

本発明は、ニューラルネットワークによって文章を変換するにあたり、アテンション機構を用いるというものです。冒頭にも述べたとおり、アテンション機構は画像変換にも用いられる技術ですが、膨大なデータ(ビッグデータ)から、機械学習によって着目点(アテンションする部分)を抜き出し、そこを処理することで精度とスピードを向上させます。

これはコンピュータの速度がさらに高速化されると不要な技術となるのかもしれません。しかし、データの蓄積は増える一方なのに対し、コンピュータの速度向上はどこかで頭打ちになることは確実なのですから、今の段階から、こうしたデータを選別する(間引く)情報処理設計を開発しておくことは重要なことといえるでしょう。

発明の名称

Attention-based sequence transduction neural networks

出願番号

US16/021971

公開番号

US2018/0341860A1

特許番号

US10452978B2

優先日

2018.6.28

公開日

2018.11.29

登録日

2019.10.22

出願人

Google LLC

発明者

Noam M. Shazeer 他

国際特許分類

G06N 3/08
経過情報

36のファミリー件数があり、米国、欧州、日本、中国、韓国をはじめとして、各国に出願、特許登録されている。


自分自身で学習していく画像処理AI


画像をどのように解析し、それを何に活用するのか。これは現代AI技術の一つの大きな問いです。しかし、その答えが新たなGoogleの特許技術「自己アテンションニューラルネットワーク」によって一歩前進しました。

この新しい技術は、画像を特徴づけるための出力を生み出すことが可能で、その精度は従来の手法と比べても大幅に向上しています。それは、画像を複数の領域に分割し、それぞれの領域のピクセルを独立して処理することで可能になります。その結果、画像全体をより深く理解することが可能となり、さまざまな応用が期待されています。

しかも、この技術の魅力はそのパフォーマンスだけではありません。従来の畳み込みニューラルネットワークと比べても、自己アテンションニューラルネットワークははるかに少ない計算量で同等、あるいはそれ以上の性能を発揮します。つまり、これはコンピュータの計算リソースを大幅に節約する可能性を秘めた革新的な技術と言えるでしょう。

本発明は、ニューラルネットワークを用いた画像処理に関します。詳しくは、自己アテンションニューラルネットワークを使用して画像を処理するためのシステム、方法、および装置です。これらには、コンピュータ記憶媒体上にエンコードされたコンピュータプログラムが含まれています。

専門用語が多く登場するため、まず、各用語について説明します。

機械学習のうちの1つの手法がニューラルネットワークを使った手法です。ニューラルネットワークは、脳内の神経細胞(ニューロン)および神経細胞の回路網を参考にして、人工ニューロンという数式的モデルで表されたものです。

ニューラルネットワークは、最も上層の入力層、最も下層の出力層、および、中間の隠れ層で構成されます。層と層の間には、ニューロン間の結合強度(つながりの強さ)を示す「重み」があり、「重み」によって情報の伝わりやすさが変わります。

各ニューロンは、入力を受け取って処理して出力を生成します。具体的には、入力は各ニューロンの重みと結合されて関数によって変換された後、次の層のニューロンに伝えられます。重みは、機械学習の間に自動的に調整されます。

ニューラルネットワークの機械学習は、理想的な結果を得るための訓練データを用いて行われます。訓練データに対して、入力と出力との誤差を最小化するように学習アルゴリズムを使用して、ネットワークの重みを調整します。この繰り返しによって、ニューラルネットワークは入力と出力の関係を学習します。その結果、未知の入力に対しても適切な出力を生成できるように自分自身で学習を進めていきます。これが機械学習です。

ニューラルネットワークは、画像認識、音声認識、自然言語処理などの様々な用途で利用されます。具体例で説明しますと、画像認識では、動物が撮影された写真から、撮影された動物がパンダであることを認識できます。このような画像認識では、画像の背景を削除して動物の外形を抜き出す処理も必要であり、抜き出した形がパンダの形であるかどうかを判断する処理も必要です。また、カラダの色パターンからパンダであるかどうかを決定する処理も必要です。このような画像認識にニューラルネットワークが使用されます。

自己アテンションとは、従来のアテンションと異なり、処理の最中にどこに注意(アテンション)を向けるかを外部のデータに依存せず、自身のデータだけで注意を向けるべきポイントを制御できる機構です。いわば、上述した「重み」を自分で計算する機構です。

エンコードとは、信号やデータを一定の規則に基づいて「置き換える」(変換する)という意味です。画像中の特定位置にある赤色の画素(ピクセル)を所定の文字データに変換する操作と似ています。

以上、用語の説明をいたしました。

従来のシステムでは、例えば自然言語処理(NLP)のために自己アテンションニューラルネットワークを使用し、情報を処理します。ニューラルネットワークは、受信された入力から出力を予測するための機械学習モデルです。上述しましたように、ニューラルネットワークの各層は、受信された入力から出力を生成します。一般的に、自己アテンションニューラルネットワークの性能は、ニューラルネットワークのサイズが大きくなるにつれて改善されます。しかしながら、自己アテンションニューラルネットワークを単純に画像に適用した場合、うまく機能しません。例えば、従来のシステムには、入力画像全体にわたって自己アテンションを適用せず、代わりに入力画像の一部のみに自己アテンションを適用するものがあります。従って、入力画像全体にわたってアテンション(注意)できません。

発明の目的

本発明は、画像の特徴に関する出力を生成するために、画像処理の訓練を経た自己アテンションニューラルネットワークを実行するためのシステムです。このシステムは、コンピュータ上にコンピュータプログラムとして実装されます。

自己アテンションニューラルネットワークは、入力時に自己アテンション機構を適用して、出力を生成します。これにより、入力された画像を処理できます。本発明のシステムは、画像をいくつかの画像領域に分割し、各画像領域の画素を処理して、入力の各構成要素を生成できます。これらの構成要素に自己アテンション機構を適用することにより、自己アテンションニューラルネットワークは、画像全体に注目し、出力を生成できます。

本発明のシステムは、自己アテンションニューラルネットワークを用いて画像を直接処理できます。特に、本発明の技術は、大規模なニューラルネットワークの訓練(トレーニング)が可能であるため、画像処理の精度を向上できます。例えば、本発明のシステムは、1400万~3億個の画像を含むデータ上で訓練されます。さらに、自己アテンションニューラルネットワークは、入力画像全体にわたって自己アテンションを適用します。

画像を処理するように構成された自己アテンションニューラルネットワークは、はるかに少ない計算量で、最先端の「畳み込みニューラルネットワーク」と同じ性能を達成できます。つまり、計算予算に対して、自己アテンションニューラルネットワークは、畳み込みニューラルネットワークよりも優れた性能を発揮します。自己アテンションを適用する方が計算効率が良く、自己アテンションメカニズムは、少ない計算量で画像の異なる領域に注目できるからです。本発明の自己アテンションニューラルネットワークは、1/2から1/1000という少ない計算数で、大規模「畳み込みニューラルネットワーク」と同等以上の性能を達成できます。なお、「畳み込みニューラルネットワーク」は、主に画像認識の分野で利用されるアルゴリズムです。データを学習し入力画像から特徴量を抽出し、それらを区別できるため、画像認識の分野では大変重要なアルゴリズムです。

以下に、本発明の概要を説明します。

本発明のシステムおよび方法では、以下のステップを実行します。
(A)多数の画素を含む画像を取得するステップ;
(B)各画像に含まれたいくつかの画像領域を決定するステップ;
(C)上記のいくつかの画像領域を処理して入力要素(入力用のデータ)を生成するステップ;および、
(D)自己アテンションニューラルネットワーク層を含むニューラルネットワークを用いて入力要素を処理して、画像を特徴付けるネットワーク出力を生成するステップ。

具体的なイメージを把握するために、以下のような例を挙げます。
・上述したように動物園で撮影された動物の写真から、写っている「物」がパンダであることを決定するような処理、または、
・人体のX線撮影像から病変部を見つけ出すような処理
上記のような用途で本発明のシステムや方法が適用できると考えられます。

発明の詳細

本発明のシステムの具体例について図面を参照しつつ説明します。

以下の内容は、画像の画素の強度値を処理して、画像を特徴付けるネットワーク出力を生成するように構成された自己アテンションニューラルネットワークを実行するように構成されたシステムであり、コンピュータ上にコンピュータプログラムとして実装されています。

図1は、ニューラルネットワークシステム100の一例を示します。ニューラルネットワークシステム100は、コンピュータ上でコンピュータプログラムとして実行されるシステムです。

ニューラルネットワークシステム100は、画像102を処理し(図1のフローの最初)、画像に関する予測を表すネットワーク出力152(図1のフローの最後)を生成するように構成されています。ニューラルネットワークシステム100は、画像102を使用して適切な機械学習タスクを実行するように構成できます。

入力される画像は、さまざまなタイプの画像です。画像は、例えば二次元画像(例えば、RGB画像 光の三原色によって表現された画像)です。画像の別の例は、医用画像装置によって生成される医療用画像です。具体的には、画像102は、コンピュータ断層撮影(CT)画像、磁気共鳴画像(MM)画像、超音波画像、X線画像、マンモグラム画像、蛍光透視画像、またはポジトロン放射断層撮影(PET)画像などです。

ニューラルネットワークシステム100は、画像102の構成要素を含む画像領域を生成できます。例えば、画像102が点群である場合、画像102の各画像領域は、画素を含みます。

ニューラルネットワークシステム100は、画像領域生成システム110、画像領域埋め込みシステム120、および、ニューラルネットワーク130を含みます。ニューラルネットワーク130は、自己アテンションサブネットワーク140を含む自己アテンションニューラルネットワークです。

自己アテンションニューラルネットワークは、自己アテンションニューラルネットワーク層を含むニューラルネットワークです。

図1に示す例では、ニューラルネットワーク130は、自己アテンションサブネットワーク140を使用して、画像102の入力情報を処理するように構成されています。つまり、ニューラルネットワーク130は、入力要素(入力用のデータ)にアテンション機構を適用して、画像102内の異なる位置の異なる各画像領域に対応できます。画像102の各画像領域は、例えば、並列的に自己アテンションサブネットワーク140によって処理されます。すなわち、処理は並列処理で実行されます。

画像領域生成システム110は、画像102を処理し、画像102中の異なるn個の画像領域112a~112nを生成するように構成されています。一般的に、各画像領域112a~112nは、多数の画素を含みます。

例えば、画像102内におけるすべての各画素が、画像領域112a~112nのいずれかに必ず含まれます。一方、画像領域112a~112nは、一部の画素を重複して含む場合もあります。さらには、画像領域112a~112nのいずれにも含まれない画素が存在する場合もあります。

画像領域112a~112nは、例えば、二次元画像として表せます。一方、画像領域112a~112nが画像102の一次元領域(例えば線状の領域)である場合、画像領域112a~112nは、一次元情報として表せます。

画像領域埋め込みシステム120(図1参照)は、画像10のn個の画像領域112a~112nを取得し、各画像領域122a~122nを生成するように構成されます。各画像領域埋め込み122a~122nは、画像領域112a~112nのピクセルを処理することによって生成できます。「埋め込み」とは、テキスト、画像などのデータを、空間内の点として表現(例えば、ベクトルとして表現)する手法です。言い換えますと、「埋め込み」とは、コンピュータによって認識させるために、物理的計測ができない記号集合をベクトル空間に写し出すための手法です。

図3を参照しつつ例示的な画像領域を詳細に説明します。図3は、画像領域に分割された画像の一例を示します。詳しくは、画像領域に分割された画像310、320、330、340、350、および360の例を示します。

例えば画像310~360は、画像310~360に関する予測を生成するように構成された、上述の図1のニューラルネットワークシステム100への入力として提供されます。ニューラルネットワークシステムは、画像310~360を複数の画像領域に分割する画像領域生成システム110(図1参照)を含みます。次に、画像領域、または画像領域から生成されたネットワーク入力を、自己アテンションニューラルネットワークによって処理して、画像に関する予測を生成します。

画像310、320、330、340、350、および360は、画像を画像領域に分割した例です。特に、図3では、各画像310~360は、視覚的にわかりやすいように、複数の画像領域にセグメント化されて示されています。一般的な画像生成システムは、すべての受信画像を同じ規則に従ってセグメント化するように構成されます。一方、本発明では、画像をセゲメント化する規則が同じではありません。

第1の画像310に例示されるように、画像領域生成システムは、いずれも四角形で同じサイズを有する画像領域を生成できます。別の例では、画像領域は、同じサイズの六角形である場合もあります。
第2の画像320に例示されるように、画像領域生成システムは、異なるサイズの画像領域を生成できます。
第3の画像330に例示されるように、画像領域生成システムは、画像領域の一部が重複するように第3の画像330をセグメント化できます。
第4の画像340に例示されるように、画像領域生成システムは、一部の画素が画像領域に含まれないように、第4の画像340をセグメント化できます。
第5の画像350に例示されるように、画像領域生成システムは、さまざまな形状の画像領域を生成できます。すなわち、画像領域が矩形である必要はありません。
第6の画像360に例示されるように、画像領域生成システムは、画像の各画素を含む一次元曲線を生成できます。次に、画像領域生成システムは、一次元曲線をセグメント化して、一次元画像領域を生成できます。特定の例として、画像領域生成システムは、画像の各列または行を、列または行の画素のn個のサブシーケンス(サブデータ)に分割して、各サブシーケンスを画像領域とすることができます。

図5は、自己アテンションニューラルネットワークを使用して、画像に関する予測を生成するための例示的なプロセス500のフロー図です。便宜上、コンピュータのシステムによって実行されるプロセス500について説明します。例えば、図1に示されたニューラルネットワークシステム100などのニューラルネットワークシステムが、プロセス500を実行できます。

自己アテンションニューラルネットワークは、例えば自己アテンションニューラルネットワーク層(上述した隠れ層)を含みます。例えば、自己アテンションニューラルネットワークは、図1で説明したニューラルネットワーク130です。

システムは、まず、1つ以上の画像を取得します(ステップ502)。各画像には多くの画素(ピクセル)が含まれています。

システムは、各画像に対して、複数の画像領域を決定します(ステップ504)。各画像領域は、画素の集合を含みます。

システムは、各画像に対して、画像領域を処理して、入力要素(入力用の連続情報)を生成します(ステップ506)。入力要素は、各画像領域の入力用情報を含みます。

システムは、各画像領域に対して、例えば画像領域の画素を含む初期入力要素(初期入力エレメント)を生成できます(図1の画像領域生成システム110をご参照)。例えば、初期入力要素は、画像領域の一次元画像領域(線状の画像領域)です。次に、システムは、例えば第2のニューラルネットワークを用いて初期入力要素を処理することによって次の入力要素を生成できます(図1の画像領域埋め込みシステム120をご参照)。第2のニューラルネットワークは、図1で説明した画像領域埋め込みシステム120の構成要素である埋め込みニューラルネットワークです。

システムは、画像領域を処理して、中間入力要素を生成できます。例えば、中間入力要素は、画像領域の一次元画像領域(例えば上記の一次元初期入力要素)、又は処理された一次元画像領域(例えば、上述のように埋め込みニューラルネットワークによって生成された次の入力要素)です。

特定の画像に対応する入力要素(入力用の連続情報)は、画像の画像領域に対応する入力要素以外に、別の入力要素を含みます。例えば、入力要素は、図1に示されたクラス埋め込み124を別の入力要素として含みます。

システムは、自己アテンションニューラルネットワークを使用して入力要素(入力用の連続情報)を処理し、画像を特徴付けるネットワーク出力を生成します(ステップ508)(図1の下部をご参照)。

例えば、システムは、自己アテンションニューラルネットワークの自己アテンションサブネットワーク(例えば、図1で説明した自己アテンションサブネットワーク140)を用いて入力要素を処理し、各入力要素に対してそれぞれの出力要素を生成できます。

続いて、システムは、第3のニューラルネットワークを使用して、出力要素を処理して、ネットワーク出力を生成できます。例えば、第3のニューラルネットワークは、自己アテンションニューラルネットワークの別のサブネットワークと同様に構成されたヘッドサブネットワーク(例えば、図1で説明したヘッドサブネットワーク150)です。

異なる機械学習タスクによって、自己アテンションサブネットワーク140と、ヘッドサブネットワーク150とは、異なるタイプのネットワーク出力をそれぞれ生成します。

なお、特定の操作またはアクションを実行するように構成されるコンピュータのシステムは、システムがコンピュータにソフトウェアなどをインストールし、動作中にシステムが操作を実行するように構成されています。特定の操作を実行するように構成されるコンピュータプログラムは、データ処理装置によってプログラムが実行されると、装置に操作を実行させる命令を含みます。

機能的動作の具体例は、デジタル電子回路またはコンピュータソフトウェアで実現できます。具体的には、データ処理装置による実行のために、またはデータ処理装置の動作を制御するために、記憶媒体上に符号化されたコンピュータプログラム命令によって上記動作を実施できます。

「データ処理装置」は、データ処理ハードウェアを指し、データ処理のための装置、装置、および機械を包含します。

コンピュータプログラムは、さまざまなプログラミング言語で書くことができます。コンピュータプログラムは、コンピュータまたはサイトに配置され、データ通信ネットワークによって相互接続される複数のコンピュータ上で実行されるように配備できます。

コンピュータプログラムの実行に適したコンピュータは、汎用または特殊用途のマイクロプロセッサ、それら両方、または、他の種類の中央処理装置をベースにできます。一般的に、中央処理装置は、読み出し専用メモリまたはランダムアクセスメモリ、または、それら両方から命令およびデータを受信します。コンピュータの必須要素は、命令を実行するための中央処理ユニット、および、命令およびデータを記憶するためのメモリデバイスです。一般的に、コンピュータは、データを記憶するための大容量記憶装置(例えば、磁気光ディスク、磁気光ディスク、または光ディスク)にデータを受信したり、データを転送したりするように構成されます。さらに、コンピュータは、例えば、携帯電話、モバイルオーディオ、グローバルポジショニングシステム(GPS)受信機といった携帯可能な記憶装置に埋め込まれる場合もあります。

コンピュータプログラム命令およびデータの記憶に適したコンピュータ読取可能媒体としては、例えば、フラッシュメモリデバイス、磁気ディスク、内部ハードディスク、リムーバブルディスク、光磁気ディスク、CD-ROM、DVD-ROMディスクといったさまざまな不揮発性メモリや媒体などが挙げられます。

ユーザとの対話は、ユーザに情報を表示するためのディスプレイ装置(例えば液晶ディスプレイモニタ)、並びに、ポインティング装置(例えばマウスまたはトラックボール)を有するコンピュータ上で実施できます。これにより、ユーザはコンピュータに入力できます。ユーザからの入力は、音響入力、音声入力、または触覚入力などの形態で受け取ることができます。さらに、コンピュータは、例えば、ウェブブラウザから受け取った要求に応答して、ユーザのデバイス上のウェブブラウザにウェブページを送信することによって、または、ユーザが使用するデバイスに文書を送受信することによって、ユーザと対話できます。また、コンピュータは、スマートフォンにテキストメッセージなどを送信した後にユーザから応答メッセージを受信することによって、ユーザと対話できます。

機械学習モデルは、機械学習フレームワーク、例えば、Tensor Flowフレームワーク、Microsoft Cognitive Toolkitフレームワーク、Apache Singaフレームワーク、またはApache MXNetフレームワークを使用して実現および展開できます。

システムの構成要素は、例えば通信ネットワークによって相互接続できます。通信ネットワークの例としては、例えばインターネットが挙げられます。

コンピューティングシステムは、クライアントおよびサーバを含むことができます。クライアントおよびサーバは、通常、互いに離れており、通信ネットワークを介して対話します。

以上説明しましたように、本発明の画像処理のためのシステムは、
(A)多数の画素を含む画像を取得するステップ;
(B)各画像に含まれたいくつかの画像領域を決定するステップ;
(C)上記のいくつかの画像領域を処理して入力要素(入力用のデータ)を生成するステップ;および、
(D)自己アテンションニューラルネットワーク層を含むニューラルネットワークを用いて入力要素を処理して画像を特徴付けるネットワーク出力を生成するステップを実行することにより、画像処理を実施するステップ。

上記の本発明では、自己アテンションニューラルネットワークを用いて画像を直接処理できます。大規模なニューラルネットワークの訓練(1400万~3億個の画像を含むデータ上で訓練)が可能であるため、画像処理の精度を向上できます。さらに、自己アテンションニューラルネットワークを用いることによって、入力画像全体にわたって自己アテンションを適用できます。

本特許は、世界的に有名なグーグル社から出願されました。グーグル社はIT関連技術に強いというイメージの通り、画像処理の分野で本発明のようなAI技術を利用した特許出願をしています。

本発明は、例えば、画像に含まれる特徴を抽出するための画像処理に利用できるアイデアです。本発明は、画像を基にしてインターネット検索を行う場合に利用されるかもしれません。本発明の技術は、例えば画像を基にして検索を実施したときに、重くなくサクサク実施できる方法として重宝されると思われます。

発明の名称

ニューラルネットワークを用いた画像処理

出願番号

US.2021 17/492,537

公開番号

US 2022/0108478 A1

出願日

2021.10.01

公開日

2022.04.07

出願人

Google LLC

発明者

Neil Matthew Tinmouth Houlsby, Sylvain Gelly, Jakob D. Uszkoreit, Xiaohua Zhai, Georg Heigold, Lucas Klaus Beyer, Alexander Kolesnikov, Matthias Johannes Lorenz Minderer, Dirk Weissenborn, Mostafa Dehghani, Alexey Dosovitskiy, Thomas Unterthiner

国際特許分類

G06T 7/00
G06N 3/04
G06K 9/62
G06N 3/08
経過情報

本願はアメリカをはじめ、中国、カナダ、ブラジル、韓国、台湾などにも出願されています。


動画入力に基づいて応答するAIプログラム


現在、Chat-GPTのようなAIとのチャット応答プログラムは、テキストベースでの対話型サービスといえます。しかし、実際の人間同士のコミュニケーションは目の前の三次元画像(視覚)と音声とが合わさった複雑な情報から必要な情報を選択して応答するものです。これを機械で再現することは非常に困難な問題です。

今回紹介する発明は、AIと人間の対話に利用される技術です。この研究では、ビデオ(動画入力)に基づく対話において、GPT-2などの事前学習済みの言語モデルを活用して空間・時間的な推論を行います。AIがビデオデータとテキストデータを組み合わせて文脈を理解し、応答を生成するもので、この手法は、AIと人間の対話において、自然で意味のある対話を実現するための重要な技術となります。

ニューラルネットワークと深層学習モデルを用いた人工知能は、人間のような精度で現実世界の情報を自動的に分析する技術として非常に有望であることが示されています。ビデオに基づく対話は、ニューラルネットワークが適用される可能性のあるアプリケーションやタスクの一つです。

このようなビデオに基づく対話タスクでは、コンピューターエージェントに接続されている、または接続可能なニューラルネットワークモデルが、1つまたは複数のビデオに関して、人間のユーザーと自然言語の対話または「会話」を行います。 

発明の目的

ビデオに基づく対話は、ニューラルネットワークが適用できるアプリケーションやタスクの一つです。ビデオに基づく対話タスクでは、エージェント内で実行されるか、またはエージェントに接続されるニューラルネットワークモデルが、1つまたは複数のビデオに関して、人間のユーザーと自然言語の対話または「会話」を行います。

本発明では、ビデオに基づく対話において、ニューラルネットワークモデルが自然言語だけでなく、音声や視覚などの他のモダリティの信号に基づいて人間と対話することができることを説明します。

ビデオに基づく対話タスクは、エージェント(ビデオに基づくニューラルネットワークを使用するもの)が対話の複数のターンにわたって人間からの質問に答えるビデオ質問応答(QA)の拡張として考えられるかもしれません。これは、機械にとって複雑なタスクであり、機械は自然な応答を生成するための強力な言語理解だけでなく、関連するオブジェクト、それらの位置、アクションなどのビデオ情報の高度な推論も必要です。

画像ベースの自然言語処理(NLP)タスクと比較して、ビデオに基づく対話は、ビデオの特徴表現に空間的な情報と時間的な情報の両方が関与するため、より困難です。対話エージェントは、両方の次元で推論を行い、ビデオ内の「どこを見るか」(空間的推論)と「いつ見るか」(時間的推論)という2つの主要な問題に取り組む必要があります。

これらの課題に対処するため、本発明の実施例は、ビジュアルとテキストの表現を構造化されたシーケンスに組み合わせ、ビデオに基づく対話タスクをシーケンス対シーケンスのタスクとして定式化し、大規模な事前学習済みニューラルネットワーク言語モデル(例えば、Generative Pretrained Transformer 2(GPT-2))を微調整する手法またはフレームワークを提供します。

このようなフレームワークによって、言語モデルの微調整が可能となり、ビデオの空間的・時間的レベルや対話コンテキストのトークン-文レベルなど、異なる情報レベルで複数のモダリティ間の依存関係を捉えることができます。

また、本発明のシステムと方法は、GPT-2モデルを拡張して、異なるダイナミクスを持つ複雑な特徴を含むビデオに基づく対話タスクに適用します:(1)ビデオ特徴は、空間的および時間的な次元を横断することができ、(2)対話特徴は、複数の対話ターンにわたる意味的な依存関係を含みます。

なお、本発明で使用される「ネットワーク」または「モデル」という用語は、人工知能ネットワークまたはシステム、ニューラルネットワークまたはシステム、およびそれらに実装されたトレーニングや学習モデルを含む、ハードウェアまたはソフトウェアベースのフレームワークを指すものとして使用されます。

発明の詳細

では、本発明の詳細を説明していきます。まず、本発明の、請求項1を予め把握しておきます。

【請求項1】

  • A method for generating a response by a video-grounded dialogue neural network language model in a video grounded dialogue, the method comprising: receiving, at the video-grounded dialogue neural network language model, a video input and text input, wherein the text input comprises a dialogue history between the video-grounded dialogue neural network language model and a human user and a current utterance by the human user;
  • generating, using a plurality of video encoding layers in the video-grounded dialogue neural network language model, an encoded video input, wherein the encoded video input includes a spatial level encoding and at least one of a modality level encoding, a temporal level encoding, or a position level encoding;
  • generating, using a plurality of text encoding layers in the video-grounded dialogue neural network language model, an encoded text input, wherein the encoded text input includes a token level encoding and at least one of a modality level encoding, a turn-level encoding, or a position level encoding;
  • concatenating the encoded video input and the encoded text input in to a single input sequence; and
  • generating from the single input sequence and using a generative pre-trained transformer model in the video-grounded dialogue neural network language model, the response to the current utterance of the human user.

ビデオに基づく対話のビデオに基づく対話のニューラルネットワーク言語モデルによる応答生成方法であって、以下を含む方法を提供します:

ビデオに基づく対話のニューラルネットワーク言語モデルにおいて、ビデオ入力とテキスト入力を受け取ること、テキスト入力にはビデオに基づく対話のニューラルネットワーク言語モデルと人間のユーザーとの間の対話履歴と、人間のユーザーによる現在の発話が含まれること、

ビデオに基づく対話のニューラルネットワーク言語モデルにおける複数のビデオエンコーディング層を使用して符号化されたビデオ入力を生成すること、符号化されたビデオ入力には、空間レベルの符号化とモダリティレベルの符号化、時間レベルの符号化、または位置レベルの符号化のうち少なくとも一つが含まれること、

ビデオに基づく対話のニューラルネットワーク言語モデルにおける複数のテキストエンコーディング層を使用して符号化されたテキスト入力を生成すること、符号化されたテキスト入力には、トークンレベルの符号化とモダリティレベルの符号化、ターンレベルの符号化、または位置レベルの符号化のうち少なくとも一つが含まれること、

符号化されたビデオ入力と符号化されたテキスト入力を単一の入力シーケンスに連結すること、および

単一の入力配列からビデオに基づく対話のニューラルネットワーク言語モデルにおける事前学習済みトランスフォーマーモデル(筆者注:GPT-2のこと)を使用して、人間のユーザーの現在の発話に対する応答を生成すること。

上記の請求項1の内容は、前述の発明の目的で記載した、ビデオに基づく対話タスクをGPT-2を使用して生成させることを述べています。

図1は、本発明のコンピュータデバイス100の簡略図です。メモリ120に結合されたプロセッサ110があり、ビデオに基づく対話モジュール130があります。このモジュールはハードウェア的にもソフトウェア的にも存在可能ですが、本来的な問題ではありません。入力140はビデオVおよびテキストTのデータを含みます。これも一般的な概念で把握できるものですので、これ以上の説明は省略します。

次に示す図(図2)は、ビデオに基づく対話モデルのアーキテクチャまたはフレームワークの簡略化されたダイアグラムです。モデル200は、ヒューマンユーザーとモデル間の対話をビデオに基づく対話タスクの連続として表現しています。各ビデオに基づく対話タスクは、ビジュアルとテキストの表現を組み合わせた構造化されたシーケンスとして表されます。以下で説明するように、ビジュアルとテキストの組み合わせを含むビデオに基づく対話タスクは、大規模な事前学習済みニューラルネットワーク言語モデル(例えば、Generative Pretrained Transformer 2(GPT-2)モデル)に供給される前に、複数のエンコーディング層を用いて微調整されます。

ビデオに基づく対話モデル200は、入力140として、ビデオデータV 202およびテキストデータT 204を受け取ります。ビデオデータV 202には、1つまたは複数のビデオフレームまたはビデオセグメントが含まれます。テキストデータT 204には、モデル200とヒューマンユーザーとの対話履歴206の一部が含まれます。対話履歴206には、ヒューマン発話とモデル200の応答208の一連のターンが含まれる場合があります。テキスト配列には、モデル200が応答を提供する必要のある現在のヒューマン発話も含まれる場合があります。テキストデータT 204には、ビデオデータV 202に関連する1つ以上のビデオキャプションC 209も含まれる場合があります。

モデル200のフレームワークでは、ビデオの空間的・時間的レベルや対話コンテキストのトークン-文レベルなど、異なる情報レベルで複数のモダリティ間の依存関係を捉えるために、言語モデルを微調整することが可能です。事前学習済みトランスフォーマーモデル250は、GPT-2アーキテクチャを基にしてトレーニングされています。GPT-2モデルは、非常に大規模なテキストデータ上でマスクされたマルチヘッドアテンションの複数(例えば、12〜24)のレイヤーを含むトランスフォーマーネットワークに基づいています。GPT-2モデルは、現在のヒューマン発話に基づいてビデオに基づく対話応答を生成するように適応されており、出力150として提供されます。

ビデオに基づく対話モデル200は、GPTモデル250にエンコーディングを供給する前に、ビデオデータV 202に対してさまざまなエンコーディングを実行するための1つ以上の層210-216、およびテキストデータT 204に対してさまざまなエンコーディングを実行するための1つ以上の層220-226を含んでいます。入力コンポーネントであるテキストデータT 204とビデオデータV 202は、まず、ビデオフレーム(またはビデオセグメント)と対話ターンの長いシーケンスとして変更されます。モデル200は、ビデオデータV 202とテキストデータT 204のビジュアルとテキストの表現を組み合わせて、構造化された配列に変換するための配列対配列のタスクとしてビデオに基づく対話タスクを定式化します。ビデオデータV 202とテキストデータT 204は、モデル200の複数のエンコーディング層210-216および220-226を通じて結合され、層210-220はエンコードされた特徴に異なる属性を注入します。ビデオデータV 202に対して、エンコーディング層210-216は、空間レベルエンコーディング層210、モダリティレベルエンコーディング層212、時間レベルエンコーディング層214、および位置レベルエンコーディング層216を含みます。テキストデータT 204に対して、エンコーディング層220-226は、単語レベルエンコーディング層220、モダリティレベルエンコーディング層222、ターンレベルエンコーディング層224、および位置レベルエンコーディング層226を含みます。

ビデオに基づく対話モデル200の空間レベルエンコーディング層210は、ビデオデータV 202に対して空間レベルのエンコーディングを実行します。

空間レベルエンコーディング層210には、事前学習されたビデオモデル(例:事前学習された2D CNNまたは3D CNNビデオモデル)とRELU活性化層が含まれることがあります。各ビデオフレームまたはビデオセグメントは、事前学習されたビデオモデルを使用して抽出できる空間領域のシーケンスとして構造化されます。

モダリティレベルエンコーディング層212は、ビデオデータV 202に対してモダリティエンコーディングを実行します。モダリティレベルのエンコーディングは、ビデオデータV 202がどのような情報のタイプであるかを示します。例えば、モダリティレベルエンコーディング層212は、モダリティトークン「vis」を使用してビデオデータV 202を均一に表現することがあります。モダリティトークン「vis」は、情報のタイプが視覚であることを示します。

時間レベルエンコーディング層214は、入力ビデオデータV 202に対して時間エンコーディングを実行します。時間エンコーディングは、ビデオデータV 202内の入力特徴のフレームレベル(またはセグメントレベル)の位置に関連します。したがって、ビデオデータV 202内の各フレームは異なる時間エンコーディングを持つ可能性がありますが、各フレーム内のセグメントは同じ時間エンコーディングを持つ場合があります。

位置レベルエンコーディング層216は、ビデオデータV 202に対して位置エンコーディングを実行します。位置レベルのエンコーディングは、各フレーム内のフレームとセグメントの空間レベルの順序を組み込みます。したがって、各フレーム内およびフレーム間の各空間領域は異なる位置レベルのエンコーディングを持つことになります。入力ビデオデータV 202の位置エンコーディングは、BERTベースの言語モデルで見られるトークンの位置エンコーディングと同等である可能性があります。

モダリティレベルエンコーディング層212、時間レベルエンコーディング層214、および位置レベルエンコーディング層216は、モデル200がビデオデータV 202の入力特徴のダイナミクスを学習できるようにするための訓練可能なパラメータとして機能します。

モダリティレベルエンコーディング層212、時間レベルエンコーディング層214、および位置レベルエンコーディング層216は、事前学習モデルと同じ特徴次元dを持つようにモデル化されます。エンコーディング層210-216は、要素ごとの加算を通じて結合され、以下に示すエンコードされたビデオ表現ZVとなります:


ZV=ZVspatial+ZVmod+ZVtemporal+ZVpos


さらに、モダリティレベルエンコーディング層212、時間レベルエンコーディング層214、および位置レベルエンコーディング層216からのいくつかまたはすべてのエンコーディングは、エンコードされたビデオ表現ZVに含まれます。

ビデオグラウンドダイアログモデル200は、テキストデータT 204に対してトークンレベルのエンコーディングを実行することによって、エンコードされたテキスト表現ZTを生成します。エンコーディング層には、単語レベルエンコーディング層220、モダリティレベルエンコーディング層222、ターンレベルエンコーディング層224、および位置レベルエンコーディング層226が含まれます。

単語レベルエンコーディング層220は、対話履歴H 206、応答S 208、およびキャプションC 209を入力として受け取ります。単語レベルエンコーディング層220は、対話履歴H 206を対話ターンのシーケンスH=(H1、H2、…、Ht)(ここでtは現在の対話ターンを表します)に分解します。各対話ターンは、ユーザーの発話Uとシステムの応答S 208のペアとして連結され、順次H=((U1、S1)、(U2、S2)、…、Ut-1))と表されます。Stはモデル200が現在のユーザーの発話に応じて生成する対象の応答です。対象の応答Stは出力150です。

各発話はトークン(単語)のシーケンスxとして表されるため、対話履歴はXH=(x1、x2、…、xL)およびSt(y1、y2、…、yL)として表すことができます。ここで、LHとLYはそれぞれ対話履歴H 206と対象の応答のトークンの総数です。

ビデオキャプションC 209は別のテキスト入力です。ビデオキャプションC 209は通常、ビデオの言語的な要約を1つまたは2つの文で提供します。ビデオキャプションC 209はトークンの配列XC=(x1、x2、…、xL)として表されます。いくつかの実施形態では、テキストデータ204 Tのすべてのテキスト入力配列は、モデル200への入力として単一の配列XT=(XC、XH、Y−1)として結合されます。ここで、Y−1はシフトされた対象の応答を表します。単語レベルエンコーディング層220の出力は、XTの埋め込まれた特徴であり、入力テキストデータT 204のトークンレベルのエンコーディング層であるZTtokenとして示すことができます。

以下、ビデオ特徴と同様に、モダリティレベルのエンコーディング層222、ターンレベルのエンコーディング層224、および位置レベルのエンコーディング層226がビデオグラウンド対話モデル200に追加され、XTの異なる属性が組み込まれます。

モダリティレベルのエンコーディング層222は、モダリティレベルのエンコーディングを実行します。モダリティエンコーディングは、XT内のセグメントを区別します。モダリティレベルのエンコーディング層222は、異なるモダリティトークン(「cap」、「sys」、「usr」など)を使用して、テストデータT 204の対応する位置のトークンがビデオキャプションC 209、システム応答S 208、またはユーザーの発話Uの一部であるかを特定します。

ターンレベルのエンコーディング層224は、ターンレベルのエンコーディングを実行します。ターンレベルのエンコーディングは、対応する位置のトークンのターン番号をエンコードします。例えば、図2では、対話履歴206と応答208が5に設定されており、これはユーザーの発話Uとシステム応答S 208の5つのペアが存在し、現在のターンが5であることを示しています。したがって、ターンレベルのエンコーディング層224は、ターン5の中に含まれる発話Uとシステム応答S 208のトークンを5に設定します。いくつかの実施形態では、ビデオキャプションC 209セグメントのターンレベルのエンコーディングはゼロに設定される場合があります。

位置レベルのエンコーディング層226は、トークンの順序に関連する属性を組み込む位置レベルのエンコーディングを実行します。トークンの順序は、空間レベルのエンコーディング層214で実行された位置レベルのエンコーディングによって生成された空間領域の順序を続ける場合があります。図2に示されているように、トークンの順序は、空間順序から次のトークン番号で継続できます。

図3は、ビデオに基づく対話の方法300の簡略化されたダイアグラムです。方法300のいくつかのプロセスは、少なくとも一部が実行可能なコードとして非一時的で具体的な機械可読メディアに格納され、1つ以上のプロセッサがそれを実行すると、1つ以上のプロセッサが1つ以上のプロセスを実行することが可能です。方法300は、ビデオグラウンド対話モジュール130(FIG. 1)またはモデル200(FIG. 2)の操作に対応し、対話タスクを実行します。

プロセス310では、ビデオ入力とテキスト入力を受け取ります。つまり、ビデオグラウンド対話モデル200は、ビデオデータV202およびテキストデータT204を受け取ります。前述のように、テキストデータT204には、モデル200と人間のユーザーとの対話履歴206が含まれる場合があります。対話履歴には、ビデオグラウンド対話モデル200によって生成された人間の発話と対話エージェントの応答のペアが含まれることがあります。テキストデータT205には、ビデオデータV202に関連するキャプション209が1つ以上含まれる場合もあります。ビデオデータV202には、ビデオグラウンド対話モデル200内または関連するエージェントとの間で行われる会話の対象となるビデオフレーム形式のビデオが含まれることがあります。

プロセス320では、ビデオデータがエンコードされます。たとえば、空間レベルのエンコーディング層210は、ビデオデータV202を空間領域ZVspatialにエンコードします。前述のように、空間領域ZVspatialは、事前にトレーニングされた2D CNNまたは3D CNNビデオモデルを使用して生成され、出力はReLU活性化関数を介した線形変換を経ます。モダリティレベルのエンコーディング層212は、空間領域に視覚情報タイプを持たせるためにモダリティトークン「vis」を使用してエンコードします。モダリティレベルのエンコーディング層212のエンコーディングは、モダリティエンコーディングZVmodです。時間レベルのエンコーディング層214は、空間領域をフレームレベル(またはセグメントレベル)の位置にエンコードします。時間レベルのエンコーディング層214の出力は、時間エンコーディングZVtemporalです。位置レベルのエンコーディング層216は、空間領域を空間レベルの順序にエンコードします。位置レベルのエンコーディング層216の出力は、位置エンコーディングZVposです。空間レベルのエンコーディング層210、モダリティレベルのエンコーディング層212、時間レベルのエンコーディング層214、および位置レベルのエンコーディング層216からの組み合わせのエンコーディングは、エンコーディング表現ZVとして参照されることがあります。いくつかの実施形態では、エンコーディング表現ZVには、空間エンコーディングと少なくとも1つのモダリティエンコーディング、時間エンコーディング、または位置エンコーディングが含まれる場合があります。

プロセス330では、テキストデータがエンコードされます。例えば、ワードレベルのエンコーディング層220は、対話履歴206をユーザーの発話と応答208のペアとして表される対話ターンのシーケンスに分解し、各発話と応答はトークンのシーケンスとして表されます。ワードレベルのエンコーディング層220はまた、ビデオキャプション209をトークンに分解します。さらに、ビデオキャプションC209のトークン、対話履歴206のユーザーの発話、応答208のトークンを1つのトークン配列XTに結合し、システムの応答208を前の応答にシフトします。ワードレベルのエンコーディング層220の出力はトークンのエンコーディングZTtokenです。モダリティレベルのエンコーディング層222は、XTのトークンを「cap」、「sys」、「usr」というモダリティトークンにエンコードし、対応する位置のトークンがキャプション209、応答208、または人間の発話の一部であるかどうかを指定します。モダリティレベルのエンコーディング層222の出力はモダリティエンコーディングZTmodです。ターンレベルのエンコーディング層224は、対話ターン内のトークンにターン番号をエンコードします。ターンレベルのエンコーディング層224の出力はターンエンコーディングZTturnです。位置レベルのエンコーディング層226は、トークンの順序に位置エンコーディングを注入します。位置レベルのエンコーディング層226の出力は位置エンコーディングZTposです。ワードレベルのエンコーディング層220、モダリティレベルのエンコーディング層222、ターンレベルのエンコーディング層224、および位置レベルのエンコーディング層226からの組み合わせのエンコーディングは、エンコーディング表現ZTと呼ばれることがあります。いくつかの実施形態では、エンコーディング表現ZTには、トークンのエンコーディングと少なくとも1つのモダリティエンコーディング、ターンエンコーディング、または位置エンコーディングが含まれる場合があります。

プロセス340では、エンコードされたビデオ入力とエンコードされたテキスト入力が単一の入力シーケンスに連結されます。例えば、ビデオグラウンデッド対話モデル200は、エンコードされたビデオデータ(エンコーディング表現ZV)とエンコードされたテキストデータ(エンコーディング表現ZT)を単一の入力セグメントZVTに連結します。

プロセス350では、応答が決定されます。例えば、GPTモデル250は、プロセス360で生成された単一の入力セグメントZVTを受け取り、単一の入力セグメントからシステムの応答(出力150)を決定します。前述のように、システムの応答は現在のユーザーの発話に対する応答です。

マスクされたマルチモーダルモデリングでは、マスクされた言語モデリング(MLM)損失関数とマスクされたビジュアルモデリング(MVM)損失関数が探求されます。例えば、ビデオに基づく対話モデル200は、空間領域230をマスクし、その後、MVM損失関数とエンコーディング層212-216およびGPTモデル250を使用して、空間領域を再生成し、領域232として使用することができます。同様に、対話モデル200は、トークン234をマスクし、MLM損失関数とエンコーディング層222-226およびGPTモデル250を使用して、トークン234を再生成し、トークン236として使用することができます。MLM損失関数は、ソフトマックス関数を持つ線形層を通過して応答生成と同様に学習されます。MVM損失関数は、マスクされたビジュアル領域の出力表現と元の表現との間のK-Lダイバージェンスを最小化することによって学習されます。

ビデオテキストペアのマッチング(MVT)は、入力シーケンスの最初に特殊トークン[CLS]を追加します。GPTモデル250がCLSトークンの出力表現を生成する際、CLSトークンの出力表現は、ビデオテキストペアが正しいかどうかを予測するために使用されることがあります。

図4は、ビデオに基づく対話モデルがAudio Visual Scene Dialogue(AVSD)モデルやMTNモデルなどの従来のモデルに比べて改善されたことを示す表です。改善点は、BLUE1、BLUE2、BLUE3、BLUE4、METEOR、ROUGE-L、およびCIDErなどのさまざまなデータセットで示されています。図4は、小規模または中規模の事前学習済みGPT-2モデルを使用するビデオに基づく対話モデル(VGD-GPT2)が、AVSDモデルやMTNモデルに比べて改善されていることを示しています。ただし、GPT-2のサイズが小から中程度に増えた場合の改善はわずかです。

本発明は、対話モデルとしてGPT-2を採用することとし、GPT-2にデータを流し込む前に、複数のエンコードを介してビデオデータ(テキストデータに置き換えられるものを含む)を多次元のトークン配列に落とし込むことがポイントです。これにより複数次元を一気に処理する対話モデル(VGD-GPT2)を構築できたことになります。

上記の本発明では、自己アテンションニューラルネットワークを用いて画像を直接処理できます。大規模なニューラルネットワークの訓練(1400万~3億個の画像を含むデータ上で訓練)が可能であるため、画像処理の精度を向上できます。さらに、自己アテンションニューラルネットワークを用いることによって、入力画像全体にわたって自己アテンションを適用できます。

本発明は、人間による認知をAIで再現するにあたってどのように「対話型」に落とし込むかという点をシンプルに提案したものといえます。人間であれば、普段目にする「目の前の三次元情報(音声も含む)」から、注目点や情報の取捨選択を自然に行うことができますが、AIにそれを行わせるのはなかなか高度な処理が必要です。

高速なコンピュータとネット回線が実現された現在だからこそ、実用可能なレベルで実現できたものといえるでしょう。今後はさらにスピードがあがることによって、コミュニケーションにおいて相手が人間であるかAIであるかは問題とならない世界が広がるように思えます。

発明の名称

Spatial-temporal reasoning through pretrained language models for video-grounded dialogues

出願番号

US16/860977

公開番号

US2021/0174162A1

特許番号

US11487999B2

出願日

2020.4.28

公開日

2021.6.10

登録日

2022.11.1

出願人

Salesforce com Inc

発明者

Hung Le, Chu Hong Hoi

国際特許分類

G06N3/04
経過情報

ファミリーなし。USPTOで一発特許査定。


CONCLUSION

待望のAI特集!

個人的にも楽しみにしていた、今話題のAIに関する特許マガジン。

しかし、リサーチしてみるとあまり数がなく、それっぽいものが出てこない。
それもそのはず、重要な特許のほとんどが米国で取得されており、コアな部分はほとんどが「Google」や「Microsoft」が取得していました。

まさに知財戦争とも呼べる、覇権争いが既に繰り広げられているようにも見えます。

日本でもchatGPTを活用した、様々なサービスがリリースされていますがどれも見せ方や使われる分野を少しカスタマイズして活用しているものがほとんどかと思います。

実際に、我々もGPTを使ったり、他の生成系AIを使い本サイトの更新のサポートをAI君にやってもらっています。

今後は活用や応用だけでなく、日本企業のAIのコア技術への本格挑戦も見てみたいものです。

Googleが検索エンジンで世界を変えたように、日本企業にもイノベーションを期待したいですね。AI系の技術解説については、第二弾も計画していますので その中で日本企業の特許も扱いたいと思います。

今回は、情報元が全て英語でかかれていましたので、翻訳も込みでの解説はかなり価値が高いはず!大手の特許を見て、ぜひAI業界の動向をサキヨミしてみてください!