トランスフォーマーと注意メカニズムの理解

注意してもらえますか?さて、あなたの注意を引くとはどういう意味ですか?注意とは、「誰かまたは何かに注目し、誰かまたは何かを興味深い、または重要なものと見なすこと」と定義されています。人間である私たちは、例えば画像のさまざまな側面に選択的に集中することができ、同時に結論を導き出すと同時に、文脈を効率的に理解することができます。人間の脳は、画像のすべてのピクセル/細部を見るよりも、まず重要なオブジェクトに焦点を合わせることを選択します。

この人間の「注意力」の特徴は、コンピュータビジョンのタスクでも真似されています。コンピュータービジョンでは、画像全体をスキャンする必要がなく、コンピューターが関連する領域に焦点を合わせることができます。

上記では、強調表示された領域に注意が向けられ、特定の単語が出力されます。「女性が公園でフリスビーを投げている。」

この注意の概念は、機械学習の他の分野にも適用できます。小学校の理科の教科書を考えてみてください。もし誰かが「岩石の三大分類は何?」と聞かれたら、答えを見つけるには、教科書全体を最初から最後まで読むのではなく、岩に関する章を参照してください。これにより、今読んだ本全体に基づいて一般化するのではなく、特定の答えを見つけることができます。これと同じ論理が、自然言語処理タスクにおける注意メカニズムの仕組みです。

2017年、Google BrainチームのAshish Vaswaniらは、「必要なのは注意だけ」というタイトルの論文で、「トランスフォーマーネットワーク」と呼ばれる新しい言語処理方法を発表しました。トランスフォーマーは、こうした注意メカニズム(「Attention is All You Need」という名の由来)を利用して、長いデータシーケンス、つまり長いテキスト文字列を、以前よりも高速かつ正確に処理します。

Googleのチームは、各単語を1つずつ処理するという一般的なレンズから言語にアプローチするのではなく、畳み込みニューラルネットワーク(CNN)の注意メカニズムからインスピレーションを得て、テキスト本体をまるで画像そのもののように見ました。「アテンション・イズ・オール・ユー・ニード」では、CNN の注意という重要な考え方を用いて、人間の言語 (自然言語処理 (自然言語処理) をこれまで以上に効率的かつ正確に読み取り、記述し、理解する方法をマシンに教えました。Transformer は、言語の操作、解釈、生成に使用される、より優れた計算ツールになることを目指していました。

注意メカニズムによって対処される問題

以前の解決策(RNN)の長期依存問題

Recurrent Neural Network (RNN) は、もともと、各単語を順番に処理することで、テキストのシーケンス/文字列のタイムリーな依存関係を捉えるために使用されていた構造です。RNN にはエンコーダー/デコーダー構造があります。エンコーダーとデコーダーは 2 つの言語を話すものと考えてください。1 つは固有の言語、もう 1 つは共通の言語です。エンコーダーはテキストを取り込み、要約を共有言語に翻訳し、デコーダーはそれを元の言語に翻訳し直します。

ここで問題となるのは、「要約」が悪いと、翻訳も悪くなるということです。RNN には「長期的な依存問題」があります。テキストが長くなるほど (教科書の例を思い出してください)、要約は悪くなります。RNN は各単語を一度に処理するので、この文章の前半で出てきた重要な情報を思い出すのに苦労します。これは消失勾配問題と呼ばれます。例えば、ある一節の冒頭に「ある男性がアメリカ出身だ」と書かれていて、後で「彼は_______を話す」という文になったとします。RNNは、覚えておくべき重要なことを特定する方法がないため、以前の情報を空欄に埋めるのに苦労します。一方、答えは「英語」である可能性が高いことを人間は知っているでしょう。

トランスフォーマーが注意メカニズムを用いて長期依存問題を解決しようとする方法

Transformerが以前のNLPの方法よりも先を行くためのブレークスルーは、これらの注意メカニズムの使用です。アテンション・メカニズムは、すべての単語を同じ重みで見るのではなく、テキスト本文の中のキーワードに焦点を合わせていることを以前に思い出してください。では、「その男性はアメリカ出身で、何語を話しますか?」という場合、アテンション・メカニズムがあれば、「アメリカ」という単語に注目し、それを文脈として使って彼が英語を話していることがわかるでしょう。この追加は、RNN が抱えていた「グラデーションの消失問題」の解決に役立ちます。RNN による明らかな改善ではありますが、調査によると、トランスフォーマーはまだ長期的な依存関係をうまく処理できていません。明らかに改善の余地があります。

並列計算

トランスフォーマーとRNNのもう1つの違いは、それぞれのメソッドが言語を処理する方法です。これまでは、人間が読むのと同じように、単語を 1 つずつ処理するのが解決策でした。しかし、トランスフォーマーはすべての単語をまったく同時に、つまり並列に処理します。これを並列計算と呼びます。これにより、処理時間が大幅に短縮され、とてつもなく大量のデータでめちゃくちゃ大きなモデルをトレーニングするのが簡単になります。

コンテキスト

以前の言語処理ソリューションは非効率的であることが判明し、言語に見られるタイムリーな依存関係(つまり、ある単語が文中に出現すると意味に影響する)を考慮していませんでした。言い換えると、ある単語が連続して出現する回数を数えるだけでは文章を理解できないということです。これは「言葉の袋」法と呼ばれ、かつては言語処理の手法として試みられていた。

人間にとって、上の図の2つの文は大きく異なる意味を持っています。しかし、Bag of Words メソッドでは、両者は同じように見えます。次のステップは、単語の出現頻度に加えて単語の順序も考慮した解を見つけることでした。

以前のモデルでは、各単語を1つずつ渡していたため、その単語が文のどこにあるかを知る問題はありませんでした。しかし、トランスフォーマーは単語を並行して渡すため、単語のコンテキストを提供する新しいソリューションが必要でした。各単語を処理する際、トランスフォーマーはその単語をコンピューターが理解できる内容に変換し、さらにその単語に位置参照を追加します。そのため、「オムネキー」という単語の出現箇所が複数ある場合、位置参照は、それぞれの語句がテキスト内のどこにあるかをコンピュータに知らせます。この単語+位置の方程式は、コンピュータにコンテキストを作成します。

現在の事前学習済み言語モデル

多くのモデルが、Googleの「必要なのは注意だけ」で示された最初のトランスフォーマーをベースに構築されています。どの大手企業も独自の大規模言語モデルをトレーニングしています。OpenAI には GPT/GPT-2/GPT-3、グーグルには BERT/Albert/XLNet/T5、Facebook には Roberta/XLM/Bart、マイクロソフトには Turing-NLG などがあり、時が経つにつれ、企業はより大きなモデルを開発し続けています。しかし、コモディティハードウェア上で効率的に動作し、より広いコミュニティがアクセスできるモデルの作成にも重点が置かれています。

Huggingfaceでは、オープンソースで事前にトレーニングされたモデルをここで試すことができます。

https://transformer.huggingface.co/

トランスフォーマーの未来

OpenAI の GPT-3 API をめぐっては多くの誇大宣伝が行われています。OpenAI の GPT-3 API により、ウェブ全体でトレーニングされた OpenAI/Microsoft の巨大なトランスフォーマーモデルを通常の開発者が利用できるようになりました。ユーザーは新しいモデルのクリエイティブなアプリケーションを紹介するためにTwitterに集まりました。たとえば、ウェブ開発者のシャリフ・シャミーム (@sharifshameem) は GPT-3 を微調整して HTML コードを生成し、その結果をツイートしました。GPT-3 は、プロンプトのみを使用して Web ページのレイアウトを作成することを学習しました。創造性への応用は無限大です。

言語トランスフォーマーとオムネキー

Omnekyの目標は、ディープラーニングを活用して、大企業と中小企業の間の「デジタルマーケティングの競争の場」を平準化することです。SalesforceのチーフサイエンティストであるRichard Socherは、「Omnekyは、マーケティングでAIを活用したいと考えているすべての企業にとって、トランスフォーマーが役立つようにしている」と述べています。Omneky は NLP と言語トランスフォーマーを使用して、会話を促進することが保証されたパーソナライズされた広告コピーを作成します。予測分析ツールとテキスト生成ツールを統合したOmnekyのソフトウェアは、ボタンをクリックするだけでパーソナライズされたFacebook広告クリエイティブを作成するのに役立ちます。これにより、Omnekyは従来のマーケティング会社の4分の1の費用で広告キャンペーンを作成し、管理することができます。現在、サービスを無料でお試しいただくための2週間の無料トライアルを提供しています。デモをご予約ください。 ここに!

もっと詳しく知りたいですか?

営業に問い合わせる
Subscribe to our mailing list
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.