2024-10-17 機械学習勉強会
今週のTOPIC[slide] Graph Database と Generative AI の素敵な関係[slide]An Introduction to Search and Recommender Systems for Product Manager[Document]Model Distillation[blog] Genie: Uber’s Gen AI On-Call Copilot[slide] 拡散モデルの基礎とその応用 ~ Diffusion Models入門 ~[論文] DocTr: Document Image Transformer for Geometric Unwarping and Illumination Correction[blog] How Salesforce Builds Reproducible Red Teaming InfrastructureメインTOPIC[論文] LayoutDM: Discrete Diffusion Model for Controllable Layout Generation(CVPR2023)概要Introduction既存のレイアウト生成手法の課題本論文の貢献LayoutDMレイアウトの離散的表現離散拡散プロセス条件付きレイアウト生成実験結果まとめと展望
今週のTOPIC
※ [論文] [blog] など何に関するTOPICなのかパッと見で分かるようにしましょう。
出典を埋め込みURLにしましょう。
@Naoto Shimakoshi
[slide] Graph Database と Generative AI の素敵な関係
- Graphとは何か、Graphをどうやって管理されるか、LLMのGraph RAGとどう関係あるか、実際にどのように実装するかなどが詳しくまとまっている。
- Graph Databaseとは
- Neo4jとかが有名だが、各クラウドサービスでもNoSQL DBの一機能としてGraphが搭載されている。

- レコメンデーション、マネーロンダリング、BoM Tree (製品とその部品の依存関係)、ソーシャルメディア分析などのユースケースがある。
- RDBとGraph Databaseとの違い
- Graph Databaseはパス検索とかは得意だが、Aggregation処理などは苦手

- LLMとの関係性
- 従来のRAGは離れた点の関係性を結びつけて回答するのが苦手、横断的なリソースを検索できるGraph RAGが注目
- Vector Storeよりも情報の正確性や、原因の特定などがやりやすい

- Graph RAG
- Knowledge Graphをどうやって作成するか
- 長文ドキュメントなどで価値を発揮する
- LangChainで簡単に実装できる
- Graph Queryをどのように実装するか
- 質問文とスキーマからCypherを生成したりもLangChainでできる


@Yuya Matsumura
[slide]An Introduction to Search and Recommender Systems for Product Manager
- 情報検索と情報推薦についてお気持ちを知るにはちょうど良さそうな資料。
- 私はもう検索と推薦を分けて説明することに無理がある気がしてる。
- 推薦の説明、見た覚えたのある構成!よき。
[Document]Model Distillation
- OpenAIの新機能(?)で、GPT-4oなどの大規模モデルの出力を用いてGPT-4o mini などの比較的小さなモデルのファインチューニングが行える(蒸留)。
- つまり合法的にGPT-4系でアノテーションしたデータでモデル作れる。
- モデルのホスティングとかもOpenAIなので(逆に手元には持ってこれない)、複数モデル作って運用するのも楽かも。管理はちゃんと考えないとだが。
@Tomoaki Kitaoka
[blog] Genie: Uber’s Gen AI On-Call Copilot
- GPT o1-preview 3行サマリー
- Uberは、社内のオンコールエンジニアへの質問対応を最適化するために、ジェネレーティブAIを活用した「Genie」というコパイロットを開発しました。
- Genieは社内ドキュメントを利用してユーザーの質問に即座に答え、生産性を向上させています。
- 導入以来、154のSlackチャンネルで70,000以上の質問に回答し、約13,000時間のエンジニアリング時間を節約しています。
- アーキテクチャー
- データ収集と前処理:社内Wiki、社内Stack Overflow、エンジニアリング要件ドキュメントなどからデータを収集し、テキストをチャンク化する。
- Embeddingの生成:OpenAIのEmbeddingモデルを使用して、テキストチャンクからベクトルを生成する。
- ベクトルデータベースへの保存:生成したEmbeddingをベクトルデータベースに保存する。
- 質問応答プロセス:
- ユーザーの質問を受け取り、その質問をEmbeddingに変換。
- ベクトルデータベースから関連するチャンクを検索。
- 検索結果をLLMにプロンプトとして渡し、応答を生成。

@Yuta Kamikawa
[slide] 拡散モデルの基礎とその応用 ~ Diffusion Models入門 ~
- 拡散モデルの入門スライドとしてわかりやすかった
- ざっくり拡散モデルとは
- 背景としてGANやVAEなどはノイズをデータに変換する過程を学習しているが難しい
- データからそれに含まれるノイズを予測し、それを取り除いて綺麗なデータにする
- 順拡散プロセス
- 画像にガウシアンノイズを複数回付与していく
- 逆拡散プロセス
- 画像に含まれるガウシアンノイズを予測するニューラルネットワークを学習し、ガウシアンノイズを予測
- ノイズに対して、逆拡散プロセスを複数回繰り返し画像を生成
@Shun Ito
[論文] DocTr: Document Image Transformer for Geometric Unwarping and Illumination Correction

- ACM Multimedia 2021
- 写真に撮られた書類のOCRは、シワ (warping) や影などで読み取りづらいことがある
- OCRが読み取りやすいように補正するための機械学習モデル(Document Unwarping)の提案

- 処理の流れ
- unwarping
- warpした画像を入力し、CNNで特徴量抽出
- Transformerのencoderに抽出した特徴量を入力し、decoder + CNNで補正メッシュ(ピクセル単位の変位)を生成
- 元の画像と補正メッシュを合わせて、unwarpingした画像に変換
- 色補正
- 画像をパッチに分割し、特徴量抽出
- Transformerのencoderに抽出した特徴量を入力し、decoderで変換
- 得られた特徴量をCNNで元の画像にreshape


- 実験
- 評価指標
- 画像補正に関する指標
- Local Distortion (LD): 補正されたピクセルの位置がどれだけ正解の画像に近いか
- Multi-Scale Structural Similarity (MS-SSIM): 輝度・コントラスト含めて正解の画像にどれだけ近いか
- OCRに関する指標
- Edit Distance (ED): OCR結果の文字列と正解文字列との編集距離
- Character Error Rate (CER): OCR結果と正解文字列との間のエラー率
- 結果


@qluto (Ryosuke Fukazawa)
[blog] How Salesforce Builds Reproducible Red Teaming Infrastructure
SalesforceはAI製品の安全性を確保するため、再現可能な「レッドチーミング」(脆弱性検証)を行うためのインフラ構築について紹介しています。AIは誤情報生成(ハルシネーション)や偏見のある出力をすることがあり、また外部からの攻撃にも脆弱です。このため、同社はテストの質を高めるために高品質なデータ、プログラムによる製品へのアクセス、評価基準(タクソノミー)、テスト計画の4つの要素を柱にしています。
- 高品質なデータの必要性
- テスト対象に合った具体的なデータを用意することが重要です。顧客サポート電話の要約を目的とする場合、トランスクリプト(書き起こし)や音声データが役立ちますが、それらは必ず顧客サポートの通話から取得されたものである必要があります。営業電話のデータが代替になる場合もありますが、YouTubeの料理動画のトランスクリプトは適していません。
- データを生成する手段も重要で、人間の確認を伴うAI生成や内部テストなどが推奨されています。コスト、時間、効果の面で長所短所を考慮した上で適切なデータ生成手段を一つは持つことを推奨すると言っています。
- プログラムによる製品アクセス
- 数百以上のデータポイントに対しても自動テストが拡張性高く行えるようにするため、APIやPythonクライアントのようなプログラム的アクセスが必要です。これにより迅速かつ再現可能なテストが可能になります。
- タクソノミー(分類基準)の作成
- モデル出力を正確に評価するため、定義と基準を明確化します。これにより、関係者全員が「同じ言語」で会話でき、評価の一貫性が保たれます。
- たとえば、有害性(toxicity)テストを行う場合、そのユースケースに応じて「有害性とは何か」を定義する必要があります。最初の段階で具体的な概念化を行えば、後の再調整が少なくなり効率的です。
- 可能な限りのエッジケースを特定すること、タクソノミーに照らし合わせたテストの閾値をきちんと定義することが大事であると言うことも強く主張されています。
- テスト計画の重要性
- 製品チームと連携し、テスト計画を作成することでリスクを予測し、具体的なテスト作業を整理します。計画には、倫理ガイドラインやリスク軽減策も含まれます。
Red Teaming と言うことで、場合によっては”精度”よりもクリティカルな問題に発展しそうなリスクを扱う取り組みの話でした。水準のおき方こそ扱う対象によって大きく違えど、LLMと付き合うにあたってのプラクティスとして大事な項目だと思います。
メインTOPIC
[論文] LayoutDM: Discrete Diffusion Model for Controllable Layout Generation(CVPR2023)
概要
LayoutDMは、レイアウト生成タスクに特化した新しい離散拡散モデル
- 条件付きのレイアウト生成による高度な制御性
- 離散的なトークン表現によるレイアウトの表現
- 基本の拡散モデルは画像にガウシアンノイズを使って連続空間で表現
- レイアウト情報は位置とカテゴリの情報を要素数個分持つので、その要素のシーケンスとしてレイアウトを表現
- 高品質かつ多様なレイアウト生成能力
- 複雑なレイアウトや新しいスタイルへの優れた適応性

Introduction
既存のレイアウト生成手法の課題
- GANベースの手法
- 生成結果の多様性が失われるモード崩壊の問題
- 敵対的学習による収束の難しさと学習の不安定性
- 潜在空間の解釈が困難で、細かな制御が難しい
- 自己回帰モデル
- 要素ごとの逐次生成による非効率性
- 要素の順序依存性問題
- ユーザーによる細かな制御の難しさ
- 要素の配置、サイズ、色などの詳細な指定が困難
- 生成後の部分的な編集や修正が容易でない
- 多様性と品質のトレードオフ
- 多様性を高めると個々のレイアウトの品質が低下する傾向
- 品質を重視すると生成されるレイアウトのバリエーションが限られる
本論文の貢献
- 離散拡散モデルを用いた新しいレイアウト生成手法の提案
- 離散的なトークン表現によるレイアウトのモデリング
- 効率的かつ高品質な生成を実現する新しいアプローチ
- 条件付き生成による柔軟な制御性の実現
- ユーザーの意図を正確に反映できる詳細な制御機構
- グローバルとローカルの条件を統合した生成プロセス
- 高品質かつ多様なレイアウト生成の達成
- FIDスコアとIOUの両面で既存手法を上回る性能
- 多様性と品質のバランスを効果的に取る生成アルゴリズム
- 複雑なレイアウトや新しいスタイルへの優れた適応能力の実証
- 100要素以上の複雑なレイアウトでも高い生成品質を維持
- 学習データにないデザインパターンへの汎化能力
LayoutDM
レイアウトの離散的表現
- 各要素を離散的なトークンで表現
- 要素の種類(テキスト、画像、背景など)
- 10〜20種類程度の要素カテゴリを定義
- 属性情報(色、サイズなど
- 色:離散化されたカラーパレット
- サイズ:small, medium, largeなどの離散的カテゴリ
- 位置情報:グリッド上の座標をトークンに埋め込み
- キャンバスを格子状に分割
- 典型的に32x32または64x64のグリッドを使用
- 解像度とモデルの複雑さのトレードオフを考慮して決定
- ↓はc(category), x, y, w, hの情報をもつ要素2つで構成されるレイアウトの例

離散拡散プロセス
- 拡散過程: 元のレイアウトにノイズを加えて破壊するプロセス
- 各ステップで配列のトークンをランダムに入れ替えたり、[MASK]に置換
- ノイズスケジュール:線形、コサイン、指数など様々な方式を検討
- 逆拡散過程:わかっている情報を手掛かりに、ノイズから徐々にレイアウトを復元するプロセス
- あるステップのトークンをそれっぽいトークンに変換するプロセスを学習
- 双方向Transformerにトークンのシーケンスを入力し、クロスエントロピー損失を用いた最適化
- 1000ステップ程度の逆拡散過程で高品質なレイアウトを生成

条件付きレイアウト生成
- LayoutDMでは条件付き生成による制御された生成が可能となっている
- データセットによるが条件の種類としては以下のようなものが挙げられる
- 要素のカテゴリ
- 要素の配置
- 要素のサイズ、色
- 逆拡散過程のステップの中でこれらのトークン初期値にしたり、途中でマスクしたり、入れ替えることで逐次レイアウトの修正が可能
実験
データセット
- Rico
- モバイルアプリケーションのUIデザインデータセット
- 25種類のカテゴリ
- 訓練: 35,851サンプル、検証: 2,109サンプル、テスト: 4,218サンプル
- PubLayNet
- 研究論文のレイアウトデータセット
- 5種類の要素カテゴリ
- 訓練: 315,757サンプル、検証: 16,619サンプル、テスト: 11,142サンプル
評価指標
- FID (Fréchet Inception Distance)
- 生成されたレイアウトの品質と多様性を評価
- Maximum IoU
- 生成されたレイアウトと実際のレイアウトの条件付き類似性を測定
タスクと比較対象
- タスク(Ablationではもう少し色々やっている)
- カテゴリ→サイズ+位置 (C→S+P)
- カテゴリ+サイズ→位置 (C+S→P)
- Completion(C+S+P)
- 比較対象
- LayoutTrans、MaskGIT*、BLT、BART、VQDiffusion*など
結果

- カテゴリ→サイズ+位置 (C→S+P)
- 両データセットで、LayoutDMは他のモデル(LayoutVAE, NDN-none)を大きく上回るFIDとMax IoUスコア
- カテゴリ+サイズ→位置 (C+S→P)
- LayoutDMは両データセットにおいて最良のFIDとMax IoUスコア
- Completion
- PubLayNetデータセットでは、LayoutDMが最良のFIDスコア、Ricoデータセットでは、FIDでは2番目だが良いスコア

- 定性評価
- LayoutDMは与えられた条件(カテゴリ、サイズ、位置)に忠実に従いながら、自然なレイアウトを生成している
- また要素間の空間関係や全体的なバランスを良好に保持
- 部分的に与えられたレイアウト情報を基に、LayoutDMは残りの要素を自然に補完
- 補完された要素は、既存の要素との整合性を保ちつつ、全体的な設計の一貫性
まとめと展望
- LayoutDMは、離散状態空間の拡散モデルを用いた新しいレイアウト生成手法を提案
- 様々な条件付きレイアウト生成タスクを単一のモデルで処理できる柔軟性を示した
- 実験結果から、LayoutDMは多くのタスクで既存の手法を上回る性能を達成し、条件付き生成タスクで優れた結果を示した
- モデルの設計上の特徴(モダリティ別の離散拡散、パディングアプローチ、レイアウトの量子化など)が性能向上に寄与した
- モデルの推論速度や計算効率の改善が今後の課題