Posts for: #ディープラーニング

「Hidden in plain sight: VLMs overlook their visual representations」の論文紹介

「Hidden in plain sight: VLMs overlook their visual representations」の論文紹介

今回紹介するのは Hidden in plain sight: VLMs overlook their visual representations です.

テキストの生成というよりも画像が中心となるタスクに対し、オープンソースのVisual Language Modelの性能について調査した論文になっています. DINOやCLIPをLLMに組み込んだマルチモーダルモデルは、単体のViT系のモデルよりも性能が大きく下がることを示しています.

拡散言語モデルのLLaDA

拡散言語モデルのLLaDA

BERTを拡張した生成モデル?拡散型LLM「LLaDA」の概要と可能性

2025年に入り、拡散モデルを用いた大規模言語モデル(LLM)が注目されています.特に「Gemini Diffusion」や「LLaDA(Large Language Diffusion with mAsking)」といった新しいアプローチは、従来の自己回帰型(autoregressive)モデルとは異なる性質を持ち、今後のLLMのあり方を変える可能性すらあります. 提案手法のLLaDAとLLaMAを比較したものが以下で、提案手法は遜色ない性能が出ています.

Label StudioのAPIを利用したデータ連携のメモ

Label StudioのAPIを利用したデータ連携のメモ

Label StudioのAPIを利用するとき用のメモになります.下記で出てくる例は物体検出を例にしています.

Taskの一覧の取得

import os
import requests

LABEL_STUDIO_HOST = os.environ["LABEL_STUDIO_HOST"]
LABEL_STUDIO_PROJECT_ID = os.environ["LABEL_STUDIO_PROJECT_ID"]
LABEL_STUDIO_TOKEN = os.environ["LABEL_STUDIO_TOKEN"]

# page_sizeとpageによって取得できるタスクの範囲が変わるため、必要に応じて変更.
tasks = requests.get(
    f"{LABEL_STUDIO_HOST}/api/tasks/?project={LABEL_STUDIO_PROJECT_ID}&page_size=1000&page=1",
    headers={"Authorization": f"Token {LABEL_STUDIO_TOKEN}"},
).json()

Taskの新規登録

task_info = requests.post(
    f"{LABEL_STUDIO_HOST}/api/tasks/?project={LABEL_STUDIO_PROJECT_ID}",
    headers={"Authorization": f"Token {LABEL_STUDIO_TOKEN}"},
    json={
        "data": {"image": str(storage_file_path)}, # storage_file_pathはlocalならlocalのパス、Cloud上ならばCloud上のパス.
        "project": LABEL_STUDIO_PROJECT_ID,
        "file_upload": 1, # sync済みのdata source上のデータを読み込む場合は1
    },
).json()

Pre-Annotationの登録

案件によっては、既存のモデルやシステムからラフなアノテーションが得られるときがあります.このときにはPre-Annotationを利用すると良いでしょう.

回転しているBounding Box向けのIoUのKFIoU

回転しているBounding Box向けのIoUのKFIoU

従来手法の問題点

回転しているBounding Box向けの微分可能なIoUの計算というのは簡単ではありません.既存手法としてGWDやKLDがありますが、問題ごとにハイパーパラメータの調整が必要になります.これを解決してより扱いやすく性能が高い手法になったのがKFIoUになります.

特徴量の次元の柔軟性が高いマトリョーシカ表現学習

特徴量の次元の柔軟性が高いマトリョーシカ表現学習

一般には、分類問題向けに学習させたディープラーニングモデルから得られる特徴量の次元はあとから変更することはできず、学習のときに固定されてしまいます. もしも、学習後に精度をあまり落とさずに次元を小さくできるのであれば、計算リソースやサービスの要求に応じた次元を選択できるため非常に便利です. それを実現するための方法としてMatryoshka Representation Learning(マトリョーシカ表現学習)があります.
なお、マトリョーシカ表現学習はAzureのAI Searchのベクトル検索で利用可能になっています.