投稿

CLIP -- Contrastive Representation Learning

【 「似ているもの」は近くに、「違うもの」は遠くに 】 「テキストとイメージの」結合を目指したOpenAIのプロジェクトCLIPを紹介しています。 これまで、第一に、"natural language supervision" という、ことばで画像の意味を伝えるというアプローチと、第二に、人手によるラベル付は行わず、インターネット上のテキストとイメージのペアを見つけて巨大な訓練用データセットを作ったという話をしてきました。 今回のセッションでは、CLIP ( "Contrastive Language-Image Pre-training" ) という名前の元となった "Contrastive Representation Learning" というCLIP の訓練法を紹介します。 contrastive というのは、日本語の「コントラスト」の形容詞形です。「コントラストのはっきりした」という意味です。"Contrastive Representation Learning" を「対比的表現学習」と訳していいと思います。 この訓練法は、画像認識での定番のCNNの訓練法とも、大規模言語モデルのTransformerの訓練法とも、少し違ったものです。では何故、これらの「実績」のある訓練法ではなく、CLIPは別の訓練法を選んだのでしょう? それは、「最先端のコンピュータビジョン・システムは、非常に大量の計算を使用する。」からです。インターネットから沢山のテキストと画像のペアを集めて、巨大なデータセットを作ったとしても、現実的には計算能力が追いつかないのです。 CLIPが選択した "natural language supervision" は非常に魅力的なアプローチです。ただ、OpenAIのCLIPチームは、いろいろな試行錯誤の中で、このアプローチをスケールさせる成功の鍵は、やはり、その学習効率であることに気づきます。 そこで選択されたのが、"Contrastive Representation Learning" だったのです。 直観的には、対比的表現学習は、比較することによって学習します。何と何を比較するのでしょう?  比較は「似ている」入力のペア(

CLIPのデータセットと予測サンプル

【 CLIPの性能を見る 】 このセッションでは、CLIPがどのようなデータセットを訓練用データを構築したのか、また、CLIPがどのような性能を持つかを、いくつかのサンプルで見ていこうと思います。 CLIPの基本的なアイデアの一つは、さまざまな画像認識タスクをを訓練する大規模なデータセットを、インターネット上に大量に存在するテキストと画像のペアから構築しようということです。そこでは、natural language supervision によるテキストが与える画像の解釈が重要な役割を果たします。 【 従来の研究で利用されたデータセット 】 既存のコンピュータビジョンの研究では、主にMS-COCO、Visual Genome、YFCC100M の3つのデータセットを使用しています。 MS-COCOとVisual Genomeは高品質のクラウドラベル付きデータセットですが、それぞれ約10万枚のトレーニング写真からなり、現代の基準からすると小規模です。 YFCC100Mは1億枚の写真からなります。ただ、各画像のメタデータはまばらで、品質も様々です。英語の自然言語のタイトルや説明文を持つ画像だけを残すようにフィルタリングした結果、 YFCC100Mデータセットは6分の1に縮小され、わずか1500万枚の写真になりました。これはImageNetとほぼ同じサイズです。 それら以外にも、画像認識で利用されたデータセットは沢山あります。この論文では、27個のデータセットを紹介して、それをCLIPの性能評価用に利用しています。 【 CLIPはどのようなデータセットで 訓練されたのか? 】 「natural language supervisionの主な動機は、インターネット上で公開されている大量のデータである。既存のデータセットはこの可能性を十分に反映していないため、それらのデータセットのみでの結果を考慮することは、この研究分野の可能性を過小評価することになる。」 「この問題に対処するため、我々はインターネット上の様々な公開ソースから収集した4億組の(画像、テキスト)データセットを新たに構築した。」 「可能な限り幅広い視覚的概念をカバーするため、構築プロセスの一環として、テキストが50万件のクエリのいずれかを含む(画像、テキスト)ペアを検索した。」 「クエリごとに最大2万件の(画像、

CLIPのアプローチ

【 natural language supervision とは何か? 】 CLIP (Contrastive Language–Image Pre-training) は、テキストとイメージを結合することを目指したOpenAIのプロジェクトです。 CLIPは、大規模言語モデルをマルチモーダルな人工知能に展開する上での、OpenAIの中心的なプロジェクトと考えていいと思います。 OpenAIは、CLIPを次のように紹介しています。 https://openai.com/research/clip 「CLIPと呼ばれるニューラルネットワークを導入し、natural language supervision から視覚概念を効率的に学習する。CLIPは、GPT-2やGPT-3の「ゼロショット」機能と同様に、認識すべき視覚カテゴリの名前を与えるだけで、あらゆる視覚分類ベンチマークに適用できる。」 ここでのキー・コンセプトは、“natural language supervision” です。その意味は、すぐ後で説明します。先の文は、それを視覚概念の学習に活かすと言っています。 【 CLIP登場の背景 】 “natural language supervision” の説明の前に、CLIPの登場の背景を見ておきましょう。その背景を、OpenAIは、とても率直に語っています。 「ディープラーニングはコンピュータ・ビジョンに革命をもたらしたが、現在のアプローチにはいくつかの大きな問題がある。」 最大のものは、データセットの問題だとOpenAIは言います。 「また、ベンチマークでは優れた性能を発揮するモデルも、ストレス・テストでは失望するほど低い性能しか発揮できず、コンピュータ・ビジョンへのディープラーニング・アプローチ全体に疑問を投げかけている。」 データセットには、どういう問題があるのでしょう? 先に見た Vision Transformer は、”Inductive Bias Free”なシンプルなアーキテクチャーでも、データセットの規模を拡大すると、画像認識の性能を上げられることを強調し、「大規模訓練が帰納的バイアスに勝ることを発見した。」と豪語していたのですが、OpenAIのCLIPのアプローチは、すこし違ったものです。 「典型的なビジョン・データセットは、作成に労力と

Vision Transformer 内部表現の分析

【 Attention の働きを「見える化」する 】 前回に引き続き、Vision Transformer 論文の概要の紹介の二回目です。基本的には、論文の展開にそった説明を行うようにしています。 前回は、「 Vision Transformerの画像embedding 」を取り上げたのですが、今回のセッションでは、「 Vision Transformer 内部表現の分析 」をトピックとして取り上げようと思います。概要の最後に、この論文全体の「結論」を紹介しています。 「 内部表現の分析 」というのは、システムの内部で、入力に与えられたデータが出力に至るまでどのように変化するのかを追いかける分析です。 ディープラーニングのニューラル・ネットワークは、膨大な量のデータが、多数の「層」を通り抜け、かつそれらが相互に作用するので、アーキテクチャーの構成をみただけでは「なぜ、このシステムで、こういう働きが可能になるの?」という疑問の答えは得られません。 一つ一つのデータの動きを追いかけても(実際には、それは無理なのですが)、それぞれの層でのデータを表現する数式を眺めても(それは抽象的すぎます)、システムの「ふるまい」は、さっぱり見えてきません。 でも、いい方法があるのです。それは、複雑なものを一瞬・一瞥で理解・把握する人間の視覚の力を利用することです。 データではなく各層でもっとも活発に呼び出されている「ふるまい」に注目します。そのふるまいが各層でデータをどのように変えているかを、そのふるまいの結果の全部をデータの画像として表示します。 そうすれば、その層のふるまい全部ではないけど、もっとも頻繁に呼び出されているふるまいの結果を画像として可視化することができます。これが、重要な情報を与えてくれることになります。 2013年の  Zeiler , Fergusの  "Visualizing and Understanding Convolutional Networks"   https://arxiv.org/pdf/1311.2901.pdf  は、この分野を切り拓いた画期的な論文です。お時間があったら、ぜひ、お読みください。画像を見るだけでも楽しいです。 今回のセッションの隠れたテーマの一つは、前回も触れた Vision Transformer の「

Vision Transformer の画像embedding

【 Vision Transformerの画像embedding 】  大規模言語モデルがMulti-Modal なAI に展開して上で、大きな役割を果たしたシステムがあります。それが、2021年に Google が発表した Vision Transformer です。 自然言語処理の世界では、Transformerベースの大規模言語モデルが大きな成功を収めていたのですが、画像情報処理の世界では、近年に至るまで CNN ( Convolution Neural Network )が主流でした。 それに対して、GoogleのVision Transformer は、大規模な画像情報処理の世界でも、CNNを全く利用せずに、Transformer だけで最先端のCNNのシステムを上回る性能を発揮できることを示しました。 このことは、Transformerをエンジンとする一つのシステムで、自然言語処理と画像処理のタイプの異なる二つの処理が同時に可能になることを意味しています。Vision Transformer が、Multi-ModalなAIへの突破口となったというのは、そういうことです。 【 Vision Transformer 論文、二回に分けて紹介します 】  今回のセミナーに向けて、この論文を二回に分けて紹介したいと思います。 今回のセッションでは、大規模言語モデルの自然言語処理のエンジンであるTransformer が、どのように画像処理のエンジンに転用できたかを、画像のembeddingを中心にお話しします。 次回のセッションでは、Vision Transformer を用いた画像処理では、Attentionがどのような役割を果たしているのかを考えてみたいと思います。 【 Vision Transformer のアーキテクチャー 】 Vision Transformerが自然言語だけではなく、画像も処理できるのは、次のような手法を用いているからです。 「元の画像を小さな画像パッチに分割し、これらのパッチの線形なembeddingのシーケンスをTransformerへの入力として提供する。」 画像パッチは、自然言語処理アプリケーションにおけるトークン(単語)と同じように扱われ、教師あり方式で画像分類モデルを学習します。論文タイトルの "An Image

Show, Attend and Tell

【 Show, Attend and Tell ! 】 現代の大規模言語モデルのエンジンは、「意味の分散表現」と「Attention Mechanism」を中核とするTransformerなのですが、Attention Mechanism を提唱した最初の論文は、2016年のBahdanauらによる次の論文です。  "Neural machine translation by jointly learning to align and translate"   https://arxiv.org/pdf/1409.0473.pdf このアーキテクチャーは、Googleの「ニューラル機械翻訳システム」に直ちに取り入れられ、機械翻訳のブレークスルーを引き起こしました。 これらの二つのシステムは、いずれも、RNNをエンジンとするものでしたが、「意味の分散表現」と「Attention Mechanism」を技術的中核とする点では、現代のTransformer エンジンと大きな共通点があります。この二つのシステムを、Transfomerの「祖型」と考えることができると僕は考えています。 実は、2016年のBahdanauらの論文より前に、Attentionの重要性を指摘した論文があるのです。それは、2015年のKelvin Xu らの次の論文です。  "Show, Attend and Tell: Neural Image Caption Generation with Visual Attention"   http://arxiv.org/pdf/1502.03044v2.pdf   BahdanauもKelvin Xuも、Bengioの研究グループに属する人で、Attentionについてのこの二つの先駆的な論文には、いずれにも、Bengio が Last Author として名を連ねています。 興味深いことは、ここで提唱されているのは、画像に対するAttentionを利用することで、画像からCaptionを生成することができるというシステムでした。 このシステムは、画像認識のエンジンにCNNを利用し、Caption生成にはRNNをエンジンとして利用するという混合エンジンのシステムでしたが、二つのエンジンの間をつなぐのが、Atten

次回マルレク「大規模言語モデルの展開」へのお誘い

 【 次回マルレク「大規模言語モデルの展開」へのお誘い 】 ChatGPTの急速な普及を転換点として、かってない規模とエネルギーで、多くの研究者・開発者・企業が人工知能の分野に参入しようとしています。 セミナーでは、第一に、現在進行中のこの変化がどのような技術的背景を持つのかを考えてみたいと思っています。第二に、現時点での現実的な技術的焦点がどの辺にあるのかを考えようと思います。 【 大規模言語モデルの展開 】 第一点の現在の急激な変化の技術的背景についてですが、僕は、次のように考えています。 それは、自然言語処理だけではなく、コード生成、視覚情報の処理、分子構造と反応のモデリング等の様々な領域においても、大規模言語モデルが極めて優秀な能力を発揮できることが明らかになったことだと思います。 登場しつつある新しい人工知能技術が、現在の自然言語ベースの大規模言語モデルを超えるものだというイメージを持っている人も少なくないと思いますが、それは少し違うと思います。現在の展開には、技術的連続性があります。セミナーのタイトルを、「大規模言語モデルの展開」としたのはそのためです。 【 現在の技術的焦点 】 もっとも、技術に連続性があると言っても、技術は変化します。現時点での技術的焦点は何かを考えることは大事なことです。 僕は、それは「テキストの世界とイメージの世界の統合」だと考えています。 こうした動きの先駆となったのは、Transformerのエンジンで画像認識も可能であることを明らかにした、2021年のGoogleの論文 " An Images Is Worth 16 x 16 Words : Transformer For Image Recognition At Scale"  だったと思います。 https://arxiv.org/abs/2010.11929 OpenAIのGPT-4でのMultimodalな機能の追加は、とても印象的なものでした。Googleも、それに追従しようとしています。 今回のセミナーでは、人工知能技術の現在の技術的焦点の一つが、「Multimodalな人工知能」 にあると考えて、その分野でのいくつかの基本的な技術を紹介しようと思います。 【 セミナーで取り上げるトピックス 】 セミナーでは、次のような技術の概要を紹介をしよ