common.title

Docs
Quantum Circuit
TYTAN CLOUD

QUANTUM GAMING


autoQAOA
Desktop RAG

Overview
Terms of service

Privacy policy

Contact
Research

Sign in
Sign up
common.title

CLIPの巷の記事を見る

Yuichiro Minato

2023/11/19 02:11

CLIPが気になりますよね。調べます。

全体的に物凄く有用でヘビーな予感がするテーマです。

元のブログ記事がものすごく役立ちそうでした。

CLIP: Connecting text and images

https://openai.com/research/clip

CLIP:言語と画像のマルチモーダル基盤モデル

https://trail.t.u-tokyo.ac.jp/ja/blog/22-12-02-clip/

「CLIPの基本的なアイデアは,言語情報(テキスト)とペアになっている画像の対照学習によって,よい言語と画像の表現(embedding)を学習する点にあります」

これが基本みたいです。

「個人的にCLIPがなかなか良いと思っているのは,一回作った分類器の出力結果を見て,失敗しているケースに関する分析をもとに,テキストの方を変更することでモデルの再学習なしに分類結果を変更できるところです。」

一番最初に解説にできてましたが、初級から中級くらいの説明だったと思います。ロボティクスへの応用にも言及されていました。

次を見てみます。

CLIP : 超大規模データセットで事前学習され、再学習なしで任意の物体を識別できる物体識別モデル

https://medium.com/axinc/clip-%E8%B6%85%E5%A4%A7%E8%A6%8F%E6%A8%A1%E3%83%87%E3%83%BC%E3%82%BF%E3%82%BB%E3%83%83%E3%83%88%E3%81%A7%E4%BA%8B%E5%89%8D%E5%AD%A6%E7%BF%92%E3%81%95%E3%82%8C-%E5%86%8D%E5%AD%A6%E7%BF%92%E3%81%AA%E3%81%97%E3%81%A7%E4%BB%BB%E6%84%8F%E3%81%AE%E7%89%A9%E4%BD%93%E3%82%92%E8%AD%98%E5%88%A5%E3%81%A7%E3%81%8D%E3%82%8B%E7%89%A9%E4%BD%93%E8%AD%98%E5%88%A5%E3%83%A2%E3%83%87%E3%83%AB-2ebc5c1666f

こちらもとてもわかりやすいです。

「通常のImage Classificationでは、ImageNetで公開された1000カテゴリから物体を識別しますが、CLIPはWEB上の4億枚という膨大な画像と対応するテキストデータで学習されており、再学習不要で、ImageNetに含まれていない任意のカテゴリで物体識別を行うことが可能です。」

「画像をCLIP Image Encoderに入力すると、512次元の特徴ベクトルを取得可能です。同様にテキストをCLIP Text Encoderに入力すると、512次元の特徴ベクトルを取得可能です。

例えば、ある画像が”cat”か”dog”かを判定したい場合、画像のImage Encoderの特徴ベクトルと、”cat”のText Encoderの特徴ベクトルの内積、”dog”のText Encoderの特徴ベクトルの内積を計算し、距離が近いラベルを正解とします。

そのため、画像の特徴ベクトルを事前に計算しておき、データベースに格納しておくことで、任意のラベルで検索が可能です。」

これは便利ですね。画像とテキストの特徴ベクトル同士を突き合わせて距離を計算することで使えるようです。

「通常のImage Modelsは入力された画像に対してFeature Extractorで特徴抽出を行い、Liner Classifierでラベルを予測します。

CLIPは、Image EncoderとText Encoderを組み合わせて学習を行います。学習データは、(image, text)のバッチとなります。画像をEncodeしたベクトルと、テキストをEncodeしたベクトルの内積が、正しい組み合わせでは1、間違った組み合わせでは0となるように学習を行います。」

通常私たちが画像認識をする際には、データとラベルのセットにして、入力画像の特徴抽出に対してラベルを突き合わせるので答えが1:1になりますね。今回のは画像エンコーダーとテキストエンコーダーをセットにして計算するので、ラベルが一意的にならないんですね。

Learning Transferable Visual Models From Natural Language Supervision

Alec Radford, Jong Wook Kim, Chris Hallacy, Aditya Ramesh, Gabriel Goh, Sandhini Agarwal, Girish Sastry, Amanda Askell, Pamela Mishkin, Jack Clark, Gretchen Krueger, Ilya Sutskever

https://arxiv.org/abs/2103.00020

引用:https://arxiv.org/abs/2103.00020

対照的な事前学習でめんちゃんこ便利ですね。

「CLIPのTokenizer

CLIP Text Encoderはトークン列を受け取るため、テキストをトークン列に変換する必要があります。CLIPでは、英語に限定したSimpleTokenizerを使用しています。SimpleTokenizerではUTF8のテキストを下記の手順でトークン化します。

複数スペースを単一スペースに置換

改行を削除

正規表現で単語分割

単語ごとにbyte encoderを通してUTF8のコードの並び替え

BPEとvocabを使用して単語2つを再起的に結合してバイグラム化

vocab(辞書ファイル)を使用してトークンIDに変換」

トークン化に関しても工夫がありそうです。

CLIPの概要とAttentionとの関りについて解説!

https://developers.agirobots.com/jp/clip/#google_vignette

こちらも概要通りに説明がされており、最後にCLIPとAttentionの類似に関して考察をされていました。

話題のOpenAIの新たな画像分類モデルCLIPを論文から徹底解説!

https://deepsquare.jp/2021/01/clip-openai/

こちらもめちゃくちゃ詳しく解説されていました。

【日本語モデル付き】2022年にマルチモーダル処理をする人にお勧めしたい事前学習済みモデル

https://qiita.com/sonoisa/items/00e8e2861147842f0237

こちらは日本語モデルを作ってました。検証などが面白かったのでちょっとまた別の機会に深掘りしたいと思います。

Zero-shot Learning網羅的サーベイ:CLIPが切り開いたVision & Languageの新しい世界

https://techblog.exawizards.com/entry/2023/05/10/055218

もう全体的なサーベイでとんでもない量の記事となっていて読み切るのが大変そうです。こちらも後で気になるので、フォローの勉強会を入れたいと思います。

次です。

【論文解説】自然言語処理と画像処理の融合 – OpenAI 『CLIP』を理解する

https://data-analytics.fun/2021/03/24/understanding-openai-clip/#google_vignette

こちらも時々お世話になるブログです。とても詳しく書かれています。

次です。

画像分類の革命児、CLIPによる画像分類サンプル解説

https://zenn.dev/yagiyuki/articles/clip_rinna_sample

こちらは実際にコードを使ってCLIPの使い方が詳しく書かれていました。

ということで、CLIP自体も大変人気があるテーマでものすごいたくさんの解説記事がありました。

画像とテキストを組み合わせることで可能性がとても広がるということで楽しかったです。以上です。

© 2025, blueqat Inc. All rights reserved