2024-09-12 機械学習勉強会
今週のTOPIC[blog] B-trees and database indexes[blog] HALVA: Hallucination Attenuated Language and Vision Assistant[demo] SoftMatcha[Video&Slide] 【学会聴講報告】CVPR2024からみるVision最先端トレンド[blog] Navigating Anaconda Licensing Changes: What You Need to Know[論文]ODAM: GRADIENT-BASED INSTANCE-SPECIFIC VISUAL EXPLANATIONS FOR OBJECT DETECTIONLMMs-Eval: Reality Check on the Evaluation of Large Multimodal Models[Model] finegrain/finegrain-box-segmenterメインTOPICLanguage Modeling on Tabular Data: A Survey of Foundations, Techniques and Evolution概要1. Introduction2. Foundations in Tabular Data2.1 データ構造の分類2.2 データ型の分類2.3 タスク2.4 データセット3. 言語モデルの適用方法3.1 Input Processing3.2 Intermediate Modules3.3 Training Objectives5. 課題とFW
今週のTOPIC
※ [論文] [blog] など何に関するTOPICなのかパッと見で分かるようにしましょう。
出典を埋め込みURLにしましょう。
@Tomoaki Kitaoka
[blog] B-trees and database indexes
- B-treeの入門ブログ
- ビジュアルライズが直感的理解に役立ちそうで良かった
[blog] HALVA: Hallucination Attenuated Language and Vision Assistant
- HALVA(Hallucination Attenuated Language and Vision Assistant)は、マルチモーダルな大規模言語モデル(MLLMs)におけるハルシネーションを軽減しながら、全体的な性能を維持するためのコントラストチューニング戦略
- Data augmented contrastive tuningは以下の2つのステップで構成されています。
- generative data augmentation:視覚と言語の指示とそれに対応する正解ペアに対して、データ増強を行い、ハルシネーションぽい回答を生成する。正解から実在の物体や属性を選んで変更し、入力画像には存在しないハルシネーションの概念を導入する。
- contrastive tuning:事実トークンとハルシネーショントークンのペア間でコントラスト損失を計算し、ハルシネーショントークンの生成確率を最小化、事実トークンの生成確率を最大化する。モデルの一般的な視覚と言語タスクでの性能が基盤モデルから逸脱しないように、KLダイバージェンス正則化を用いてモデルを訓練することで、モデルは基本性能を維持しつつ、ハルシネーションを抑えている。
- results
- 画像記述タスク
- CHAIRメトリクスを用いてハルシネーションをインスタンスレベルと文レベルの2つのレベルで測定。このタスクでは、HALVAは「画像を詳細に説明してください」と指示され、詳細な画像説明を生成する。
- 視覚的質問応答(VQA)タスク
- MMEベンチマークを使用してHALVAの性能を測定。特に、MMEの幻覚に関連するサブセット(MME-Hall)を利用し、MME-Hallは、存在、数、位置、および色の4つの物体に関連するサブタスクで構成される。
- 視覚的錯覚など、物体に限定されない他の形態の幻覚をテスト
- HallusionBenchベンチマークを使用して性能を評価。これは、視覚と言語が連携する際に生じる様々な幻覚をテストするためのベンチマーク。
@Yuta Kamikawa
[demo] SoftMatcha
- テキストのパターンマッチングの手法
- 既存の方法は、表面的な文字一致に基づいているので、表記揺れや同義語に対応できない
- ベクトル検索は意味的な比較ができるが、似たトピックの異なる文章まで荒く検出することがある
- SoftMatchでは単語のEmbeddingを用いて、柔らかく厳密な高速な文字列探索を実現している
- 1億語検索だと0.02秒らしい
@Ryosuke Fukazawa / qluto
[Video&Slide] 【学会聴講報告】CVPR2024からみるVision最先端トレンド
やや日が経ってるのですが、最近CVへの関心が高まってきているのでピックアップ。トレンドや概要を把握するのに良い資料でした。
この発表では、そのほかに3Dに関する話題もピックアップされていました。
@Hiroshi Nishijima
[blog] Navigating Anaconda Licensing Changes: What You Need to Know
Anacondaのライセンス要件が(特にアカデミックで)厳しくなったという話。
Anaconda
- パッケージ管理、環境管理ができる
- 利便性の高さ(すぐに始められる、初心者に比較的やさしい)
- 再現性の高さ
注意
- Anacondaというエコシステムの中で動作するのが、Conda
- condaはパッケージマネージャー(オープンソース)
- conda-forgeはパッケージリポジトリで、これをcondaに登録してconda-forgeからパッケージを引っ張ってこれる
- これとは別に、Anacondaの保有するパッケージリポジトリもある (default)
- Anacondaはディストリビューション
料金プラン
何が変わった?
- 従業員数200人以上の組織は、利用にあたって有料ライセンスを購入する必要がある
ここでいう組織は、営利非営利・政府機関・組織を問わない
- 唯一、組織のなかでは教育機関のみが無料で利用できた
→ これが “カリキュラムベースのコースにおいて使用されること” に限定されるようになった、教育目的の利用でも注意する必要がある
2.1 Organizational Use. Your registration, download, use, installation, access, or enjoyment of all Anaconda Offerings on behalf of an organization that has two hundred (200) or more employees or contractors (“Organizational Use”) requires a paid license of Anaconda Business or Anaconda Enterprise. For sake of clarity, use by government entities and nonprofit entities with over 200 employees or contractors is considered Organizational Use. Purchasing Starter tier license(s) does not satisfy the Organizational Use paid license requirement set forth in this Section 2.1. Educational Entities will be exempt from the paid license requirement, provided that the use of the Anaconda Offering(s) is solely limited to being used for a curriculum-based course. Anaconda reserves the right to monitor the registration, download, use, installation, access, or enjoyment of the Anaconda Offerings to ensure it is part of a curriculum. Utilizing Miniconda to pull package updates from the Anaconda Public Repository without a commercial license (if required by the conditions set forth in Section 2 of this Terms of Service) is considered a violation of the Terms of Service.
- Minicondaを利用する場合にも注意する必要アリ(ライセンスなしにAnacondaのリポジトリからパッケージ引っ張ってくると規約違反)
つまり?
- conda 自体はオープンソースなので引き続きタダ
- Anacondaリポジトリを利用するとライセンス違反
- 従業員数200人未満の組織は無料で使える
- 組織が教育機関の場合はカリキュラムベースのコースにおいて使用されるなら無料で使える
- それ以外の組織(教育機関含む)は、ライセンスを購入する必要がある
どうする?
- conda-forgeを使う
- condaにこだわらない
Ref
@Shinnosuke Hirano
[論文]ODAM: GRADIENT-BASED INSTANCE-SPECIFIC VISUAL EXPLANATIONS FOR OBJECT DETECTION
Chenyang Zhao & Antoni B. Chan
背景
説明性手法は複数あるが、いずれも複数物体検出のに適用するには性能が不十分である。
CAM-family: いずれの手法もクラス分類タスクの説明性のための手法である。Grad-CAMは物体検出にも適応することが可能であるが、手法の性質上「なぜそのクラスなのか」を説明してしまう。物体検出タスクでは「なぜその位置でその物体を検知したのか」を説明したいため、これは不十分である。
D-RISE: RISE(ランダムにマスクを生成し、画像と重ね合わせて出力の変化を見ることで説明を生成する手法)を物体検出のために拡張した手法。ランダムに生成されたマスクの精度に依存する上、大量のマスクを生成するため計算量が大きくなってしまう問題がある。
提案:ODAM
- クラス分類確率、bboxの各座標の座標に対して、勾配を空間情報を保持したままの特徴量と掛け合わせることで特定物体に対する説明を生成
- この時、勾配をそのまま掛け合わせるとノイズが大きくなるため、ガウシアンフィルタでノイズを抑制
- 各物体に対する説明を改善する学習方法、ODAM-Trainを提案
定性的結果
x_1, y_1, x_2, y_2はそれぞれbboxの座標、S_cはクラス分類に対するheat mapを表す。bbox各座標がなぜその位置なのかを視覚的に説明できている。
所感
- 物体検出タスクの説明性手法はいくつかあるが、bboxの各座標の説明まで生成してくれるのは斬新で面白い
- ODAM-Trainで再学習しないと説明を生成できないのは実用上使いづらい
@MatsudaKazuki
LMMs-Eval: Reality Check on the Evaluation of Large Multimodal Models
Kaichen Zhang*, Bo Li*, Peiyuan Zhang*, Fanyi Pu*, Joshua Adrian Cahyono, Kairui Hu, Shuai Liu, Yuanhan Zhang, Jingkang Yang, Chunyuan Li, Ziwei Liu
VLM関連のイロイロをやっているLMMs-Labというところが出しているVLMの評価を楽にやろうよというプロジェクト(論文あり)。MLLM評価をかなりいい視点で捉えているなと思い選ばせていただきました。(‣)
背景
MLLM評価にはWide Coverage(広いカバレッジ), Zero Contamination(ゼロ汚染), Low Cost(低コスト)のトリレンマがあると主張。
Wide Coverage…現状、大量のMLLMと大量の評価ベンチマークがあり、それらのより多くで勝てていれば「より良いMLLM」と言えるものの、それらを広くカバーしようとすると他の二つのレベルが落ちる。
Zero Contamination…ここではleakを指していると考えられる。ベンチマークをMLLM学習データセットに入れることで、(評価そのものの?データセットの?)汚染が起きている。
Low Cost…ベンチマークをさまざまな場所からかき集め、動作確認する必要があるが、de-factoがない上、数がとにかく多いので高コスト。
提案
- 統一された評価フレームワーク(データ準備、モデル、評価)と、汚染がされていないデータセットを一箇所に集めたLMMs-Eval
- 10+モデル、50+ベンチマークを一箇所に集めて、評価も同一パイプラインで可能
- (図は割愛)モデルの評価、ランキングづけも論文内で行なっている
- ベンチマークのデータセット内でk-center問題に基づき、全体のパフォーマンスを予測可能にな代表的なサンプルの抽出を行うLMMs-Eval Lite、要は信頼性を保った縮小版ベンチマーク
- 論文内で信頼性が評価されている
- デカいモデルほど恩恵が大きい
- フルセット評価時と高い相関
- ベンチマークでのtrainingを許さない。最新のニュースやフォーラムから動的なベンチマークを作り、VLMを評価するLiveBench
- 訓練データには含まれない最新のニュースやフォーラムの情報を使って評価データを作成。これにより、評価データがモデル訓練時に見られる可能性を低減し、ゼロ汚染を実現。
- 従来の静的なベンチマークではなく、定期的に更新される動的データセットを使用して、モデルの一般化能力を評価。
- アノテーションはGeminiでやっている(しゃーない)
所感
- やってること自体はデータセットかき集めてきました、ということだけだが研究者からしたらこれ以上ありがたいことはなくしっかり使われていた(すごい)
- 現状VLM系の論文はN個のベンチマークを取り出し、「ほら、全部で勝ってるでしょ」をしている印象(下図はQwen-VL)、de-factoを作るなり、全ベンチマークでの評価を楽にできるようにするなりここを全ての論文で統一してほしい、そういう意味で価値のある研究と感じた
- 汚染の観点がとても面白い。確かにあるVLMを皮切りに様々なVLMが「Flickr8kのvalとかもtrainingに使っていいでしょ!」みたいなことをすると評価そのものが不可能になる時代が来てしまう。そういう意味でズルができない動的ベンチマーク(LiveBench)はとてもいいアイデア
@Masamune Ishihara
[Model] finegrain/finegrain-box-segmenter
- プロンプトで書かれたオブジェクト以外を削除するモデル。
- MITライセンス
- Huggingface Spacesにツールとして使える形で公開されている。
- ‣
- レシート(成功)
- 扇風機(成功)
- イヤホン(失敗)
- ワイヤーとすると成功
- 開発元のfinegrainとは
- ‣
- AI画像フィルターの会社
- サービスだけでなく開発した技術も売ってそう。
Can I use Finegrain? If you are a site or app owner displaying images to your users, Finegrain will be a great fit!
Can I get a custom generative AI filter?Of course, we're happy to craft custom filters for you. Just note it's a paying feature though. You can choose to either keep them private, or to publish them in our public filter store.
- そもそも開発のモチベーション
- 背景除去は便利だが、ユーザーごとに違ったオブジェクトを切り抜きたい。
- プロンプトとして、何だけを残すかを決められるように
- 新しいプロンプトベースのアプローチであるSAMやSAM2だと品質が足りない。
- SAMやSAM2だと、内部的には256x256の低画質でマスクを行なっている。
- どの部分のことかわからなかったのでわかる人は教えて欲しいです🙏
- Image encoderが256 channelsだから?
they are generating internally a 256x256 low resolution mask - with built-in upscaling mechanisms that create artefacts and struggle with complex masks (a la Eiffel Tower).
Following standard practices (e.g., [40]), we use an input resolution of 1024×1024 obtained by rescaling the image and padding the shorter side. The image embedding is therefore 64×64. To reduce the channel dimension, following [62], we use a 1×1 convolution to get to 256 channels, followed by a 3×3 convolution also with 256 channels.
From: Segment Anything
- 訓練
- 自分たちの2つのプロダクトからデータを集め学習
- Nfinite: 画像生成AIを利用した製品画像生成サービス
- 7769枚の画像
- インテリアなどの画像
- Finegrain: AI画像フィルター
- 1184枚の画像(hard negative mining)
- 一般的なオブジェクト
- 評価
- 自分たちでテストデータセットの作成
- ‣
- e-コマースでよく取引される製品
メインTOPIC
Language Modeling on Tabular Data: A Survey of Foundations, Techniques and Evolution
Yucheng Ruan, Xiang Lan, Jingying Ma, Yizhi Dong, Kai He, Mengling Feng
表形式データに適用する言語モデルに関するサーベイ論文。表形式データなんもわからんのでピックアップ。github repoも存在。表形式データに関する言語モデルを今後もアップデートしていく気概が伺えるので応援(今はあまりない)。
‣
LLM系の手法は以下のほうがまとまっている。
‣
概要
- 目的
- 様々な領域で利用されている(もちろんバクラクの領域でも!)表形式データ特有の課題に言語モデルを適用するに際して周辺領域を体系的にまとめたい。
- 以下の要素について体系的にまとめられている。
- 表形式データのデータ構造および要素として持つデータタイプの分類
- モデルの学習に用いられる主要なデータセットおよびタスクの分類
- モデリング技術の概要説明
- 従来の事前学習/事前学習済み言語モデルからの進化
- 課題とFW
1. Introduction
- 表形式データにおける言語モデルは下の年表からも分かるように発展が目覚ましい。
2. Foundations in Tabular Data
2.1 データ構造の分類
「1D Tabular Data」と「2D Tabular Data」の大きく2つに分類している。
1D Tabular Data
- ひとつのテーブルからなり、行単位をサンプルとみなしたデータセット。
- 行ごとに特定のタスクに伴うラベルを有する。サンプル(行)ごとに分類や回帰を行うタスクが主。
- 要するに一般的なテーブルデータ。
2D Tabular Data
- 複数のテーブルからなり、テーブル単位をサンプルとみなしたデータセット。
- 複数のテーブルにまたがる質問応答やテーブルに基づく情報検索タスクなど。
- テーブルデータだけではなく、質問内容やメタデータ、関連するフリーテキストなどもセットになっていることも。
2.2 データ型の分類
テーブルデータの個々の要素に入る値のデータ型を以下の6つに分類
- Numerical data
- Categorical data
- Binary data
- Text data
- 構造化されたテキストとフリーテキストの両方が存在。
- 「名前」や「住所」などは構造化されたものの例とのこと。
- Hyperlinks
- Webサイトや文書など外部ソースへのリンク。テーブルデータにコンテキストを補足する。タスクを解くに際してはリンク先の内容も参照する。
- Timestamps
2.3 タスク
全体感は表を参照。
Table Question Answering (TQA)
- テーブルに含まれる情報に関する質問応答タスク
- 質問文とテーブル内容の両方を理解する必要がある。
- タスク分類
- Simple TQA:テーブルのセル内から回答を探す
- Complex TQA:テーブル情報に基づいた集計や推論を行なって回答する
- In: 質問、テーブル → Out: 回答
- 評価指標
- 完全一致の正解率
- execution accuracy: 生成されたクエリを実行した結果が期待と一致するかどうか
Table Retrieval (TR)
- 与えられたクエリに基づき、ひとつまたは複数のテーブルから関連情報を抽出するタスク
- In: 質問、テーブル → Out: 最も関連性の高いセルまたはテーブル
- 評価指標
- NDCGなどランキング指標
Table Semantic Parsing (TSP)
- 自然言語をSQLに変換するタスク
- In: 質問、テーブル → Out: 実行可能なSQL
- 評価指標
- 正解率: 生成されたクエリの実行結果が標準的な回答と
- locigal form accuracy(AccLF): 生成されたクエリの論理形式が標準的な論理形式と一致するのか
Table Metadata Prediction (TMP)
- テーブルに関する様々なメタデータを推論するタスク
- In: 質問、テーブル → Out: 回答
- タスク分類
- Column Type Annotation
- Table Type Classification
- Table Relation Prediction
- Table Relation Extraction
- Table Entity Linking
- Entity-based Relation Retrieval
- Cell Entity Recognization
Table Content Population (TCP)
- テーブルの一部から全体を推測したり、欠落した情報を埋めるタスク
- 行単位、列単位、セル単位
Table Prediction (TP)
- 回帰や分類などのタスク
- 最も一般的なやつ。
Table Fact-checking (TFC)
- テーブルの内容をもとに、入力文章の正確性や真実性を検証するタスク
- In: テーブル、検証したいテキスト → Out: binary
Table Generation (TG)
- テーブルの説明文章からテーブルを生成するタスク
- 評価指標
- BLEU
- ANED: 生成されたテキストと参照する正解テキストとの編集距離で評価
2.4 データセット
代表的な1D / 2D Tabular Dataとそのタスク
3. 言語モデルの適用方法
「Input Processing」「Intermediate Modules」「Training Objectives」の大きく3つに分けて整理
3.1 Input Processing
transformer につっこむためにtext sequenceに変換する必要がある。
Data Retrieval
以下のような整理
3.2 Intermediate Modules
3.3 Training Objectives
5. 課題とFW
- 一般的な問題が多い
- バイアスはテーブルデータ特有の課題
- テーブルとしては列の順序を入れ替えても意味としては基本的に変わらないが、言語モデルはその順序を重要視する。
- LLMのプロンプトは頭のほうと後ろのほうで重みが異なると言われる。