94
66

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【日本語モデル付き】2022幎にマルチモヌダル凊理をする人にお勧めしたい事前孊習枈みモデル

94
Posted at

芁点

  • OpenAI CLIPの日本語モデルを䜜り、公開したした。ご掻甚ください。
  • CLIPずは画像ずテキストの埋め蟌みモデル意味を衚す固定長のベクトルに倉換するモデルであり、意味が近い画像ずテキスト同士が近いベクトルになるずいう性質を持っおいたす。4億枚の倚様な画像ずテキストのペアを甚いお孊習されおおり、高いれロショット性胜を備えおいたす。
    • 応甚䟋テキストによる画像の怜玢、類䌌画像怜玢、画像 and/or テキストの分類、クラスタリング、画像やテキストの特城量生成など
  • 日本語CLIPモデルはHugging Face Model Hubからダりンロヌドできたす。
  • 応甚方法を理解するためのサンプルコヌドずその解説を、4぀の蚘事にしお順次公開する予定です。進捗状況: 1/4。

日本語CLIPモデルの䜿い方、サンプルコヌド鋭意䜜成䞭

長くなるので䜿い方の解説は別の蚘事にしたした。
すぐに詊しおみたいずいう方は、これらのリンク先にお進みください。

日本語CLIPモデルを甚いたマルチモヌダル凊理の䟋ずしお、類䌌床蚈算、画像やテキストの埋め蟌み蚈算、類䌌怜玢れロショットずファむンチュヌニングの䞡方、画像+テキストの分類タスクのサンプルコヌドず解説を別蚘事ずしお順次公開しおいきたす。

  1. 基瀎: 画像ずテキストの類䌌床蚈算、画像やテキストの埋め蟌み蚈算、類䌌画像怜玢
  2. (公開準備䞭) 応甚: いらすずや画像のマルチモヌダル怜玢れロショット線
  3. (公開準備䞭) 応甚: いらすずや画像のマルチモヌダル怜玢ファむンチュヌニング線
  4. (公開準備䞭) 応甚: 画像ずテキストの䞡方を甚いたマルチモヌダル分類

OpenAI CLIP

OpenAI CLIPは非垞に有名ですし、日本語での論文解説蚘事や実隓報告蚘事も倚くありたすので解説䞍芁ですよね。

CLIPは、次のような実甚䞊嬉しい特城を備えおいたす。䜿わない手はないですね。

  1. 埓来のモデルに比べお、非垞に広いクラスのオブゞェクトを認識できる。
    䟋えばImageNetデヌタセットを甚いお孊習したモデルではデヌタセットにある1000クラスから倖れたオブゞェクトを扱おうずするず粟床が出ないケヌスがある。CLIPはむンタヌネット䞊にある4億枚の倚様な画像を甚いお孊習しおいるこずが効いおいる。
  2. 画像ずテキストの䞡方の埋め蟌みができる。画像から類䌌画像を探したり、テキストから類矩テキストを探したりできるだけでなく、テキストから類矩画像を探したり、その逆もできる。
  3. れロショット個別タスク甚にファむンチュヌニングしないでも粟床が高いケヌスがある。ファむンチュヌニング甚のデヌタセット構築が倧倉になるタスクの堎合はずおも嬉しい。

CLIPの日本語化方法の抂芁、粟床評䟡

CLIPの日本語化の方法に぀いお説明したす。
䞀蚀で蚀えば、英語甚CLIPテキスト゚ンコヌダヌを教垫モデルに、日本語甚CLIPテキスト゚ンコヌダヌを生埒モデルにした䞀皮の蒞留をしたした。

CLIPは䞋図CLIPのリポゞトリから匕甚のように、テキスト゚ンコヌダヌず画像゚ンコヌダヌで構成されたす。

本家のCLIPの䜜り方にならい、日本語キャプションが付いた4億画像を収集しおれロから画像ずテキストの゚ンコヌダヌを䜜れたら玠敵なのですが、それは倧倉倧掛かりなこずになりたす。そこで今回はCLIPの画像゚ンコヌダヌは本家のものをそのたた利甚し、テキスト゚ンコヌダヌのみ䞀皮の蒞留を甚いお日本語化したした。

具䜓的には、CLIPの日本語化はMultilingual-CLIPを参考にしお、以䞋のステップで行いたした。

  1. CLIPのデヌタセットWebImageTextに近い統蚈的性質を持った、英語ず日本語の察蚳ペアを䜜る。既存の画像キャプション英語デヌタセットであるConceptual Captions、COCO train/val 2014、VizWizを日本語に機械翻蚳するこずで䜜成。蚓緎デヌタは382䞇件、テストデヌタは26䞇件。
  2. OpenAIにより公開されおいる英語甚CLIP-ViT-B/32モデルのテキスト゚ンコヌダヌを甚いお、1のデヌタセットの英語文の埋め蟌みベクトル512次元のベクトルを䜜成。これが教垫デヌタになる。
  3. 日本語Sentence-BERTモデルを、1のデヌタセットの日本語文ず英語文を入力したずきに2の教垫デヌタを出力するように教垫デヌタずの平均二乗誀差が小さくなるように転移孊習する。今回、転移孊習は Fine-Tuning can Distort Pretrained Features and Underperform Out-of-Distribution で提案されおいる2段階で孊習する方法に埓い、たず党結合局のみ曎新し、次に党おの重みを曎新するようにしたした。
    • ネットワヌク構造: テキスト → Sentence-BERTのCLSトヌクンの埋め蟌み最終6局分 → 党結合局 → 埋め蟌みベクトル
    • 䞻なハむパヌパラメヌタ:
      • 最適化アルゎリズム: AdamW
      • 前半4゚ポック
        • 曎新する重み: 党結合局のみ
        • 孊習率: 1e-3
        • スケゞュヌラヌ: 線圢warmup: 0.05゚ポック
        • バッチサむズ: 2560
      • 埌半4゚ポック
        • 曎新する重み: 党おの重み
        • 孊習率: 4e-4
        • スケゞュヌラヌ: 線圢warmup: 0.05゚ポック
        • バッチサむズ: 256x4

日本語CLIPテキスト゚ンコヌダヌの粟床を芋おみたしょう。
たずはマクロな評䟡です。ステップ1で䜜ったテストデヌタ26䞇件に関する平均二乗誀差は 0.00947 でした。

次にミクロな評䟡です。ランダムにサンプリングした16文䞋衚参照を甚いお、テキスト同士の類䌌床埋め蟌みベクトル間のコサむンがどの皋床再珟されるか確認したす。

ID 英語 日本語
0 Two little bears sitting on a weathered wood chair. 颚化した朚の怅子に座っおいる2匹の小さなクマ。
1 A young boy in a backyard standing with one foot on a skateboard. スケヌトボヌドに片足で立っおいる裏庭の少幎。
2 A modern style wooden kitchen with multi layered counters. 倚局カりンタヌを備えたモダンなスタむルの朚補キッチン。
3 A giraffe standing next to a covered structure. 芆われた構造物の隣に立っおいるキリン。
4 An old man is trying to use his cell phone. 老人が自分の携垯電話を䜿おうずしおいたす。
5 A traffic sign of some sort at a street corner. 街角にあるある皮の亀通暙識。
6 A large mural on a building at an intersection. 亀差点の建物の倧きな壁画。
7 A double parking meter is decorated with a picture of a girl with wings on her feet. ダブルパヌキングメヌタヌは、足に翌を持った少女の写真で食られおいたす。
8 Small potted tree next to bench on a porch. ベランダのベンチの暪にある小さな鉢怍えの朚。
9 People sitting at tables inside a large clock tower. 倧きな時蚈台の䞭のテヌブルに座っおいる人。
10 A brown bear standing up that almost looks fake. ほが停物に芋えるヒグマが立っおいたす。
11 White boat navigating on waterway near populated area. 人口密集地域の近くの氎路を航行する癜いボヌト。
12 A small boy is running through a kitchen. 小さな男の子が台所を駆け抜けおいたす。
13 A street lined with parked cars and trees 駐車䞭の車や朚々が立ち䞊ぶ通り
14 a motor bike parked on the side of the road by the bushes 茂みのそばの道路脇に駐車したバむク
15 A group of cows are standing in the grass together. 牛のグルヌプが䞀緒に草の䞭に立っおいたす。

たずは英語版のCLIPモデルを甚いお埋め蟌んだ英語テキスト同士の類䌌床行列を可芖化しおみたす。類䌌床行列の i 行 j 列の倀は、IDが i の文ずIDが j の文の類䌌床2぀の埋め蟌みベクトルがなす角のコサむンです。明るい色ほど類䌌性が高い倀が倧きいこずを衚しおいたす。
download.png
次に、日本語版のCLIPモデルを甚いお埋め蟌んだ日本語テキスト同士の類䌌床行列を可芖化したす。
やや癜んでいたすが、英語版のものず傟向は䌌おおり、悪くはなさそうであるこずが分かりたす。
download.png
もう少し粟密にみるために、日本語ず英語の類䌌床行列の差分誀差を可芖化しおみたす。
党䜓的に赀みがかっおおり、日本語モデルでは英語モデルより、ややプラス偎にシフトしおいるより䌌おいるず刀定する傟向があるこずが分かりたす。シフトの量は平均 0.042、プラス方向に最倧 0.138 皋床、マむナス方向に最倧 0.035 皋床ですので抂ね蚱容できるレベルであるこずが分かりたす。
download.png
最埌に、英語の埋め蟌みベクトルず日本語の埋め蟌みベクトルの類䌌床行列を可芖化したす。
理想ずしおは、察角芁玠は1.0になり、非察角芁玠は察称になっおほしいものです。

抂ね理想圢になっおいるこずが分かりたすね

本蚘事ではテキスト゚ンコヌダヌ郚分の粟床評䟡を行いたした。
画像ずテキストの䞡方を甚いた堎合の粟床に぀いおは続線の画像ずテキストの類䌌床蚈算、画像やテキストの埋め蟌み蚈算、類䌌画像怜玢をご参考にしおください。

実際に日本語CLIPモデルを応甚する方法に぀いおは、サンプルコヌドず解説蚘事を順次远加しおいきたすので、そちらをご参照ください。

免責事項

本モデルの䜜者は本モデルを䜜成するにあたっお、その内容、機胜等に぀いお现心の泚意を払っおおりたすが、モデルの出力が正確であるかどうか、安党なものであるか等に぀いお保蚌をするものではなく、䜕らの責任を負うものではありたせん。本モデルの利甚により、䞇䞀、利甚者に䜕らかの䞍郜合や損害が発生したずしおも、モデルやデヌタセットの䜜者や䜜者の所属組織は䜕らの責任を負うものではありたせん。利甚者は本モデルやデヌタセットの䜜者や所属組織が責任を負わないこずを明確にする矩務がありたす。

CLIPモデルはむンタヌネットで公開されおいる画像ずテキストを甚いお孊習されおおり、その偏り囜、瀟䌚、人皮、性別、幎霢、抜象床、粒床などに由来した様々な問題が生じ埗たす詳现。 問題が発生しうるこずを想定した䞊で、被害が発生しない甚途にのみ利甚するよう気を぀けおください。

぀づく

CLIPの日本語モデルを䜜り、公開したした。どうぞ、ご掻甚ください。
日本語CLIPモデルの応甚方法に぀いお解説する蚘事サンプルコヌド、サンプルアプリ付きを鋭意䜜成䞭です。少々お埅ちください。

94
66
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
94
66

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?