アドバンストビジョン

第10回: 画像と言語、ロボット制御の融合II

千葉工業大学 上田 隆一


This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

アドバンストビジョン第10回

今日やること

  • 本題の前に
    • flow matching
    • LoRA(low-rank adaptation)
  • VLA(vision-language-action model)、ロボット基盤モデル
アドバンストビジョン第10回

Flow matching(FM)[Lipman 2022]

  • 拡散モデルとは別のアプローチで分布の変換を実現
  • 拡散モデル(下図。再掲)
    • 現実(実際には訓練データ)の分布をガウス分布に変換・逆変換
      • 変換にはノイズを乗せていく方法が取られた
  • FL: 別にノイズを乗せなくても変形していけばいいんじゃないか?

アドバンストビジョン第10回

前ページのアイデアの問題

  • 任意の時刻のノイズ画像が生成できない
    • 下図(再掲)
    • 各時刻の学習に支障
  • FMはこれをなんとかした
アドバンストビジョン第10回

FMのアイデア

  • ガウス分布と画像の分布など意味のある分布の相互変換
    • ベクトル場)で考える
      • 各時刻で分布をひっぱる速度場を仮定
    • このベクトル場を再現する関数をANNが学習
    • の差(2乗誤差)を損失関数に
  • 問題としては最適輸送問題をANNに解かせることに
    • 最適輸送問題: 分布を一番楽な方法で変形する問題
アドバンストビジョン第10回

問題の分解: 条件つきフローマッチング

  • 拡散モデル同様、途中のの画像(やデータ)が必要
    • 分布全体で考えると難しい
  • を条件付き確率に分解
      • : 訓練データの分布
        • の添え字: データの番号ではなく時刻
        • 訓練データごとに損失関数を最小化しても全体の損失関数を最小化できる
  • ベクトル場も計算できる(重み付き平均)
アドバンストビジョン第10回

フローの設計

  • ひとつの条件付き確率に対し、途中の経路(分布)の定式化が必要
  • とりあえずガウス分布を選択
      • 境界条件
    • フローはこうなる:
      • の様々な箇所のに向かう(右図)
      • まだの形は決まっていない
        • 補足: いずれもではなく時間の関数
アドバンストビジョン第10回

最適輸送による設計

  • この図のような一番素直なフローで分布を移したい最適輸送問題
  • 条件つき最適輸送パス
    • フロー:
  • このときのベクトル場
  • 損失関数
アドバンストビジョン第10回

FMでできること

  • [Lipman 2022]の図1、6、11〜
    • アルゴリズムの説明のための図だけど図4も面白い
  • Stable Diffusion 3
  • ロボットの制御(今回の後半にやります)
  • 補足
    • 最適輸送の場合しか説明しませんでしたが、他にもいろいろ設計の余地があります
アドバンストビジョン第10回

Low-Rank Adaptation(LoRA)[Hu2021]

  • 高効率なファインチューニング方法
  • アイデア(一般的にアダプターと呼ばれるもの)
    • 事前学習された行列状のパラメータを固定
    • 横にファインチューニング用のモデルを
      用意してパラメータの差分だけ計算
      • 下のモデルよりパラメータ数を小さく
        • 誤差逆伝搬の計算量が減る
      • どうやって少なくするかは次ページ
アドバンストビジョン第10回

パラメータの削減方法

  • 事前学習された行列に対し
    次の行列を準備
    • 行列
    • 行列
  • ファインチューニングされた行列:
    • のパラメータ数:
    • のパラメータ数:
      • 小さいでパラメータ数削減
  • 入力の次元がで落ちてで元通りに
    • 潜在空間による次元圧縮のようなもの
アドバンストビジョン第10回

Robotics Transformer 2(RT-2)[Brohan2023]サイト

  • この論文の概要: "We refer to such category of models as vision-language-action models (VLA) and ..."ということで、ここでVLAという言葉が出現
  • 構造(2種類ある)
    • PaLIにいろいろくっつけたもの(RT-2-PaLI-X)
    • PaLM-Eベースのもの(RT-2-PaLM-E)
      • 以後はPaLM-Eの使用を前提に話します
      • なんでもトークンにして突っ込めてトークンを話すモデル
だとしたらPaLM-EとRT-2の違いはなに?
アドバンストビジョン第10回

PaLM-Eとの違い(VLAと呼ぶ理由)

  • ロボットの動作(言語レベルではなく数値レベルのもの)も一緒に学習
    • 数値レベル: 関節の回転角や移動量などのこと
      • 例: 論文の図1の訓練データのペア(一番下のやつ)
        • Q: What should the robot do to <task>?
        • A: 変位: 、回転:
  • PaLM-Eと違って直接的にロボットの動作を出力可能
    • 制御のレイヤーを考えるとRT-1の後継と考えることが妥当
アドバンストビジョン第10回

OpenVLA[Kim2024]

  • その名の通りオープンなVLA
  • オープンにするときの要件
    • ユーザーのロボットが違うのでファインチューニングしやすくすると便利
      • (補足: 多種のロボットの訓練データで学習したVLAは、ファインチューニングなしでも少しのロボットの違いをある程度吸収)
        LoRAが使えるようになっている
アドバンストビジョン第10回

構造([論文]の図2)

  • 画像処理の部分SigLIPとDINOv2という2つのモデルからそれぞれ独立にトークンを生成
    • SigLIP[Zhai2023]: ゼロショットで画像分類するモデル
      • softmaxでの多数のものから物体を分類をするのではなく、画像と短文がどれだけ合っているか確率で出力
      • 何が写っているかをトークンに
    • DINOv2[Oquab2023]: 画像の基盤モデル
      • 画像の特徴量を抽出してトークンに
  • LLMのパート: Llama(Large Language Model Meta AI)
    • 下のAction De-tokenizerに入力するトークンを出力
  • 行動の生成: 「Action De-tokenizer」(どんな実装か不明。コードを読め?)
アドバンストビジョン第10回

訓練データ・訓練方法

  • 事前学習の訓練データ: Open X-Embodiment dataset
    • 70台、200万のロボットの軌道
  • ファインチューニング
    • 訓練データはユーザーが用意
    • 先述のようにLoRAが使える
アドバンストビジョン第10回

[Black 2024]サイト

  • Physical Intelligence社が開発したVLAモデル
  • 片腕、双腕、移動マニピュレータなど多種のロボットのデータを一度に学習
    • 68種のタスクの独自データセットとOpen X-Embodiment dataset
      • それぞれ7種+22種のロボットのデータを含む
      • 1万時間超の長さ
  • ACTで使われていたaction chunking architectureで50Hzの制御周期を達成
    • ただし、CVAEではなくconditional flow matching(CFM)を使用
  • 使用例: 上記のサイトにいろいろ
    • 洗濯物を洗濯機から取り出して畳むなど複雑で細かい動作を実現
アドバンストビジョン第10回

構造(このページの図3)

  • PaliGemma
    • オープン、軽量なGoogleのVLM(30億パラメータ)
    • 入力: 画像と作業の指示
    • 出力: トークン
  • action expert
    • ロボットの動作のシーケンスを出力(3億パラメータ)
    • 入力: PaliGemmaからのトークンとロボットの状態
    • 出力: 動作シーケンス
      • フローマッチングで
アドバンストビジョン第10回

フローマッチングの使い方

  • ニューラルネットの作るベクトル場の変数に観測データも入れて学習
    • 損失関数:
      • がFMの時刻(
        • は実際の時刻(ロボットの動作のステップ)
        • が小さいときの損失関数を重視したい
          ベータ分布でバイアスをかけて重み付き平均で評価
      • (時刻での動作シーケンス)が訓練データ
        • 観測や指示と対になっている
      • (最適輸送パス)
  • 使用(推論)時
    • に雑音を入れるとに条件づけられたに導かれてが生成される
アドバンストビジョン第10回

まとめ

  • VLAというものができた
    • この2, 3年でロボットが人間の指示が分かるようになってしまった
    • しかも相当細かい作業もできる
    • 今は性能が出ないタスクでもそのうち出るようになる
  • 今後
    • 自身の研究テーマについてもういっぺんよく考えてみましょう
      • 自身はロボットの何を解決したいのか、それは未解決なのかもういっぺん考えてみる
アドバンストビジョン第10回