paint-brush
CLIP: コンピュータ ビジョンと NLP の間の革新的な水路@sanjaykn170396
1,204 測定値
1,204 測定値

CLIP: コンピュータ ビジョンと NLP の間の革新的な水路

Sanjay Kumar10m2023/01/19
Read on Terminal Reader

長すぎる; 読むには

CLIP 別名「Contrastive Language Image Pre-training」は、「Learning Transferable Visual Models From Natural Language Supervision」という名前のホワイト ペーパーで説明されている有名なアルゴリズムの 1 つです。 「Dall-E 2」という名前のアルゴリズム この記事では、実際の例を通して、目的、作業手順、および CLIP の長所と短所について説明します。
featured image - CLIP: コンピュータ ビジョンと NLP の間の革新的な水路
Sanjay Kumar HackerNoon profile picture

目次

  • 序章
  • CLIPアルゴリズムの目的と必要性
  • CLIPアルゴリズムの作業手順
  • 制限事項
  • リアルタイム アプリケーション


序章

CLIP 別名「Contrastive Language Image Pre-training」は、人工知能研究所である OpenAI の研究者によって発行された「Learning Transferable Visual Models From Natural Language Supervision」というホワイト ペーパーで説明されている有名なアルゴリズムの 1 つです。 CLIP の主な消費は、同じく Open AI チームによって開発された「Dall-E 2」という名前のアルゴリズムを使用するコンピューター ビジョンに基づくユース ケースで行われます。より正確には、CLIP は「Dall-E 2」アルゴリズムのヘルパー モデルとして使用されています。ただし、ヘルパー モデルとして消費されるため、CLIP は強力ではないことを誤解しないでください :)


ヘルパー モデルであるにもかかわらず、CLIP はディープ ラーニング研究における重要なステップと見なされています。 「Dall-E 2」がなくても、個別の問題解決のためにCLIPを実装できます。この記事では、CLIP の目的、作業手順、およびいくつかの長所と短所について、いくつかの実際の例と、深層学習プロジェクトの生活を簡素化する方法について説明します。


CLIPアルゴリズムの目的と必要性

CLIP アルゴリズムの背後にある主な目的は、指定された画像により類似しているテキストのリストから特定のテキストを見つけることです。


例えば、

次の画像を入力として考えてみましょう-

参照 1 の画像


そして、特定のリストにいくつかのテキストがあるとしましょう-

  • 飛行機の写真です。
  • 鳥の写真です。
  • クマの写真です。
  • キリンの写真。
  • 車の写真です。


CLIP モデルの主なタスクは、以下に示すように、指定されたリストから最も適切なテキストを入力画像に一致させることです。

参照 1 の画像


基本的に、これはリスト内の各テキストをクラスと見なし、画像に対応する各テキストに確率値を割り当てる人工ニューラル ネットワークです。論理的には、最大の確率値を取得するテキストを出力と見なすことができます。


CLIP の大きな利点の 1 つは、「英語」言語のすべての単語を既に知っていることです。他の同様のアルゴリズムと比較した場合に特別な CLIP モデルの特徴のいくつかは次のとおりです。


  • CLIP モデルは、テキスト内の 1 つの単語に限定されません。代わりに、入力文のすべての単語と画像のすべてのピクセルからすべての情報を抽出しようとします。背景のオブジェクト、色、形状など、入力画像のすべての側面を忘れることはありません。


    例えば、

    次の入力画像を考えてみましょう-

参照 1 の画像


最後のテキストを除く、指定されたリスト内のすべてのテキストは、入力に対して論理的に一致するように見えます。他のモデルでは、特定のクラスで高い確信度の値に到達するのに苦労したでしょう。ただし、CLIP は、犬小屋、細胞、犬など、この画像のすべての側面のパターンを分析します。


太陽の光が外側から内側に差し込んでいるように見えます。したがって、それは屋内構造でなければなりません。また、人間の代わりに動物の存在があります。したがって、それは刑務所であってはなりませんが、犬小屋である可能性があります。


画像とテキストのすべての側面を考慮したこの種の高度な分析は、同じリーグの他のモデルでは不可能な場合があります。


  • CLIP は、同様のモデルでは不可能な光学式文字認識のユースケースでもうまく機能していることが確認されています。


参照 1 の画像


参照 1 の画像



  • ジオローカリゼーション、顔の感情認識などのコンピューター ビジョンの他の分野も、CLIP モデルでうまく機能しているようです。


参照 1 の画像


参照 1 の画像


参照 1 の画像


  • CLIPは見えない入力でも優れたゼロショット性能を発揮します。また、テキストが「猫」、「犬」、「鳥」、「車」などの 1 つの単語であるとは想定していません。代わりに、文を論理的に構成する単語のグループを理解できます。この機能は、他のモデルでは一般的に見られません。


参照 1 の画像


参照 1 の画像


参照 1 の画像


CLIPアルゴリズムの作業手順

CLIP アルゴリズムは、4 億枚の画像と対になったテキストの説明でトレーニングされており、宇宙に関する高度な知識を持ち、複雑な画像やテキストを使用して複雑なタスクを解決することに自信を持っています。


Imagenet データセットは、わずか 120 万の画像で構成されています。 4 億は 120 万のほぼ 300 倍です。 4 億枚の画像のほとんどはインターネットから直接スクレイピングされたものであり、パターン検出能力を高める高度に多様で大規模なコレクションになっています。


CLIP アーキテクチャを開発するには、画像と対応するテキストの両方を数学的ベクトルにエンコードする必要があります。これは、情報が視覚的またはテキスト形式である場合、機械学習アルゴリズムが情報を推測できないためです。したがって、それらを数値に変換する必要があります。


画像入力は、Transformer または Resnet アルゴリズムを使用して数学的ベクトルに変換されます

参照 2 の画像



テキスト入力は、Transformer アルゴリズムを使用して数学的ベクトルになります。

参照 2 の画像


画像とテキストのペアのリストがあるため、特定のアルファベットを使用してそれを表す必要があります。


各画像は、I1、I2、I3...IN などで表されます。

各テキストは、T1、T2、T3…TN などと区別されます。

作者描き下ろし画像

その後、各画像を行、各テキストを列として、類似度マトリックスを作成する必要があります。

参照 2 の画像


上の画像で述べたように、斜めの画像とテキストのペアは、同じコンテキストを参照しているため、より類似性があります。非対角要素は、同じコンテキストに属さないランダムなペアです。したがって、それらの類似値は低くなります。


最適化関数の目標は、対角線のペアの類似度の値を可能な限り増やし、非対角線の画像とテキストのペア間の類似度を下げることです。


学習のある時点で、モデルは同じコンテキストに属する画像とテキストに一致する隠れたパターンを学習し、異なるコンテキストに属する画像とテキストを区別することができます。


この手順は、専門的には「対照的なプレトレーニング」と呼ばれます。


CLIP は「計算効率の高い」アルゴリズムと見なされています。これは、トランスフォーマー アルゴリズムを使用して、データに並行してアクセスする画像とテキストをエンコードするためです。 LSTM や RNN などの他のアルゴリズムを使用すると、エンコードのためにデータに順次アクセスする傾向があり、多くの時間とスペースを消費する可能性があります。

参照 2 の画像


CLIP は画像と長い文章を照合できるため、研究者は通常、「_____ の写真」のようなテキスト プロンプトを作成します。次に、テキストのリストを繰り返し処理しながら、コンピューター プログラムは、リストのすべての単語を次のようなテキスト プロンプトに自動的に適合させます。

  • 飛行機の写真
  • 車の写真
  • 犬の写真など

次に、このテキストはエンコードされ、類似値を計算するために入力画像のエンコードされたベクトルと照合されます。


制限事項


スケーラビリティに関する課題

トレーニング スプリットを含むデータセットでは、ゼロ ショット CLIP のパフォーマンスは平均して、ResNet-50 機能に基づく線形分類器の単純な教師付きベースラインと競合します。これらのデータセットのほとんどで、このベースラインのパフォーマンスは現在、全体的な最新技術をはるかに下回っています。 CLIP のタスク学習機能と転送機能を改善するには、まだかなりの作業が必要です。スケーリングはこれまでのところ着実にパフォーマンスを改善しており、継続的な改善への道筋を示唆していますが、ゼロショット CLIP が全体的な最先端のパフォーマンスに到達するには、約 1000 倍のコンピューティングの増加が必要であると研究者は見積もっています。これは、現在のハードウェアではトレーニングできません。 CLIP の計算効率とデータ効率を改善するためのさらなる研究が必要になります。


ゼロショット性能に関する課題

CLIP のゼロ ショット パフォーマンスは、いくつかの種類のタスクで依然として非常に弱いことがわかります。タスク固有のモデルと比較すると、CLIP のパフォーマンスは、車のモデル、花の種、航空機のバリアントの区別など、いくつかの種類のきめの細かい分類で劣っています。 CLIP は、画像内のオブジェクトの数を数えるなど、より抽象的で体系的なタスクにも苦労しています。最後に、写真で最も近い車までの距離を分類するなど、CLIP の事前トレーニング データセットに含まれる可能性が低い新しいタスクの場合、CLIP のパフォーマンスはほぼランダムになる可能性があります。


トレーニング セット (分布) から外れた画像を理解する上での課題

調査したように、ゼロショット CLIP は多くの自然な画像分布によく一般化されますが、研究者は、ゼロショット CLIP は、真に分布外のデータにはまだ一般化できないことを観察しました。


たとえば、CLIP は、レンダリングされた SST2 でのパフォーマンスによって証明されるように、事前トレーニング データセットで一般的な、デジタル レンダリングされたテキストで適切に機能する高品質のセマンティック OCR 表現を学習します。


ただし、CLIP は MNIST の手書き数字で 88% の精度しか達成できません。恥ずかしそうに

生のピクセルに対するロジスティック回帰の単純なベースラインは、ゼロショット CLIP よりも優れています。セマンティックおよびほぼ重複した最近傍検索の両方により、トレーニング前のデータセットに MNIST 数字に似た画像がほとんどないことが確認されます。


これは、CLIP が深層学習モデルの脆弱な一般化という根本的な問題にほとんど対処していないことを示唆しています。代わりに、CLIP はこの問題を回避しようとし、このような大規模で多様なデータセットでトレーニングすることにより、すべてのデータが効果的に分散されることを期待しています。これは単純な仮定であり、MNIST が示しているように、簡単に破ることができます。


キャプションを生成できません

CLIP はさまざまなタスクやデータセットに対してゼロ ショット分類器を柔軟に生成できますが、CLIP は依然として、特定のゼロ ショット分類器の概念のみから選択することに制限されています。これは、斬新な出力を生成できる画像キャプションのような真に柔軟なアプローチと比較して、重大な制限です。


CLIP は深層学習のデータ効率の悪さに対処していません

CLIP は、ディープ ラーニングのデータ効率の悪さにも対処していません。代わりに、CLIP は、数億のトレーニング例にスケーリングできる監視のソースを使用して補償します。 CLIP モデルのトレーニング中に見られるすべての画像が 1 秒あたり 1 つの割合で表示される場合、32 のトレーニング エポックで見られる 128 億の画像を反復処理するには 405 年かかります。 CLIP を自己監督および自己トレーニング方法と組み合わせることは、標準的な教師あり学習よりもデータ効率を向上させる能力が実証されていることを考えると、有望な方向性です。


リアルタイム アプリケーション

リアルタイムのユースケースを解決するためにCLIPが使用された分野のいくつかは次のとおりです。


  • 「paint.wtf」というサイトがあり、ピクショナリーが遊べます。ここにいるプレイヤーはCLIPによって審査されます。

  • CLIP は「NSFW (Not safe for work)」などのフィルターの実装に使用できます。

  • Open AI によるアルゴリズム「DALL-E」は、前述のように CLIP をヘルパー モデルとして使用しています。

  • CLIP は、 Unsplashなどの Web サイトで写真のインデックスを作成するために使用されます。

  • CLIP は、詩、なぞなぞ、韻、小説などの複雑な言語に適した画像を見つけるために使用できます。

  • CLIP を使用して、破損または歪んだ画像を選択することもできます。 「Inverse Problems Leveraging Pre-trained Contrastive Representations 」というタイトルの新しい研究論文は、教師あり反転法を使用して破損した画像の効果的な表現を取得する方法を示しています。

    参照 3 の画像


  • 2021 年にリリースされた、CLIP+VQGAN または Vector Quantized Generative Adversarial Network と呼ばれる生成モデルは、テキストから画像へのパラダイム内で使用され、一連のテキスト プロンプトが与えられた場合に可変サイズの画像を生成します。ただし、VQGAN とは異なり、CLIP は生成モデルではなく、画像とテキストの両方を効果的に表現するようにトレーニングされているだけです。



参照 4 の画像


結論

CLIP が、画像処理と NLP に関連する複雑なユース ケースを解決する高度なアルゴリズムの開発への道を開いたということは、ディープ ラーニング業界では否定できない事実です。


CLIP は、コンピューター ビジョンと NLP の間の革新的な水路と見なすことができます。また、タスク固有のトレーニング データを必要としないため、膨大な量のテキスト データをフィードすることが可能であり、関連のないタスクで徐々に良くなっていきます。


私たちは、CLIP が将来提供する画期的な進歩を熱心に待つことができます。 CLIP アルゴリズムの背後にある概念の基本的な紹介が明快に得られたことを願っています。


詳細な実装を参照する必要がある場合に使用できる参照セクションに、研究論文へのリンクを追加しました。


参考文献

  1. Open AIの CLIP ドキュメント

  2. 「自然言語教師からの伝達可能な視覚モデルの学習」 - アレック・ラドフォード、キム・ジョンウク、クリス・ハラシー、アディティア・ラメッシュ、ガブリエル・ゴー、サンディーニ・アガルワル、ギリッシュ・サストリー、アマンダ・アスケル、パメラ・ミシュキン、ジャック・クラーク、グレッチェン・クルーガー、イリヤ・サツケーバー

  3. 「事前トレーニング済みの対照表現を活用する逆問題」 - Sriram Ravula*、Georgios Smyrnis*、Matt Jordan、Alexandros G. Dimakis、テキサス大学オースティン校、NeurIPS 2021

  4. 「VQGAN-CLIP: Open Domain Image Generation and Editing with Natural Language Guidance」- Katherine Crowson、Stella Biderman、Daniel Kornis、Dashiell Stander、Eric Hallahan、Louis Castricato、Edward Raff

  5. ラドフォード、アレック。ナラシンハン、カーシック。サリマン、ティム。 Sutskever、イリヤ (2018 年 6 月 11 日)。 「ジェネレーティブ プレトレーニングによる言語理解の向上」 (PDF)。オープンAI 。 p。 12. 2021 年 1 月 26 日時点のオリジナルよりアーカイブ(PDF)。2021 年 1 月 23 日閲覧。

  6. ジョンソン、ハリ (2021 年 1 月 5 日)。 「OpenAI がテキストから画像を生成する DALL-E をデビュー」 .ベンチャービート。 2021 年 1 月 5 日に元の場所からアーカイブされました。2021 年 1 月 5 日に取得されました。

  7. ラメシュ、アディティア。ダリワル、プラフラ。ニコル、アレックス。チュー、ケーシー。チェン、マーク (2022 年 4 月 12 日)。 「CLIP Latents を使用した階層的テキスト条件付き画像生成」 . arXiv : 2204.06125 .