paint-brush
よりスマートな AI 推奨のための特徴抽出の新しい方法@yaml

よりスマートな AI 推奨のための特徴抽出の新しい方法

YAML4m2025/02/16
Read on Terminal Reader

長すぎる; 読むには

Ducho のアーキテクチャは、効率的なマルチモーダル特徴抽出のために設計された 3 つの主要モジュール (データセット、抽出、ランナー) で構成されています。TensorFlow、PyTorch、Transformers をサポートし、柔軟なデータセット処理、モデル選択、YAML ベースの構成を可能にして、推奨システムへのシームレスな統合を実現します。
featured image - よりスマートな AI 推奨のための特徴抽出の新しい方法
YAML HackerNoon profile picture
0-item

著者:

(1) イタリア、バーリ工科大学のダニエレ・マリテスタ、および daniele.malitesta@poliba.it、対応著者:ダニエレ・マリテスタ (daniele.malitesta@poliba.it) およびジュゼッペ・ガッシ (g.gassi@studenti.poliba.it)。

(2) イタリア、バーリ工科大学の Giuseppe Gassi、および g.gassi@studenti.poliba.it、対応著者: Daniele Malitesta (daniele.malitesta@poliba.it) および Giuseppe Gassi (g.gassi@studenti.poliba.it)。

(3) Claudio Pomo、イタリア、バーリ工科大学、claudio.pomo@poliba.it。

(4) Tommaso Di Noia、イタリア、バーリ工科大学、tommaso.dinoia@poliba.it。

概要と1 はじめにと動機

2 アーキテクチャと 2.1 データセット

2.2 抽出器

2.3 ランナー

3 抽出パイプライン

4 DockerアプリケーションとしてのDucho

5 デモと 5.1 デモ 1: ビジュアル + テキスト項目の機能

5.2 デモ2: オーディオ+テキストアイテム機能

5.3 デモ3: テキスト項目/インタラクション機能 6

結論と今後の課題、謝辞と参考文献

2 アーキテクチャ

Ducho のアーキテクチャは、データセット、抽出、ランナーという 3 つの主要モジュールに基づいて構築されています。最初の 2 つのモジュールは、考慮される特定のモダリティ (オーディオ、ビジュアル、テキストなど) に応じて異なる実装を提供します。また、その他の補助コンポーネントの中でも構成に注目してください。アーキテクチャは高度にモジュール化されるように設計されており、新しいモジュールを統合したり、既存のモジュールをカスタマイズしたりすることができます。以下では、概説した各モジュール/コンポーネントについて詳しく説明します。

2.1 データセット

データセットモジュールは、ユーザーが提供する入力データの読み込みと処理を管理します。このモジュールは、利用可能なすべてのモダリティの一般的な共有スキーマから始めて、オーディオ、ビジュアル、およびテキストデータセットの 3 つの個別の実装を提供します。文献の一般的なアプローチとして、オーディオ データセットとビジュアル データセットには、画像/オーディオ ファイルが読み込まれるフォルダーへのパスが必要ですが、テキスト データセットは、すべてのテキスト特性を入力にマッピングする tsv ファイルを介して機能します。


注目すべきは、他の既存のソリューションとは異なり、Ducho は、特定のモダリティがアイテム(製品の説明など) を記述しているのか、ユーザーとアイテム間のインタラクション(レビュー [1] など) を記述しているのかに応じて、各モダリティを 2 つの方法で処理できることです。具体的には、アイテムは一意の ID (ファイル名または tsv ファイルから抽出) にマッピングされますが、インタラクションは参照するユーザーとアイテムのペア (tsv ファイルから抽出) にマッピングされます。前処理と抽出のフェーズはアイテム レベルとインタラクション レベルでは変わりませんが (後述)、このスキーマは、あらゆる種類の入力ソース (ユーザーも含む) を記述するモダリティを備えた新しいマルチモーダル対応のレコメンデーション システムに最適であると考えています。


データセット モジュールのもう 1 つの重要なタスクは、データ入力の前処理段階を処理することです。関連する特定のモダリティに応じて、Ducho は次の機能を提供します。


• オーディオ:波形とサンプルレートを抽出して入力オーディオを読み込み、事前トレーニング済みモデルがトレーニングされたサンプルレートに従って再サンプリングします。


• 視覚:入力画像を RGB に変換し、事前トレーニング済みの抽出モデルに合わせてサイズ変更/正規化します。


• テキスト: (オプション) 入力テキストをクリーンアップして、句読点や数字などのノイズの多いテキストパターンを削除または修正します。


抽出フェーズ (後述) の後、データセット モジュールは、前回のマッピングのファイル命名スキームに従って、生成されたマルチモーダル機能をnumpy配列形式で保存する役割を最終的に担います。


2.2 抽出器

抽出モジュールは、事前トレーニング済みのネットワークから抽出モデルを構築し、ロード/事前処理済みの各入力サンプルを処理して、そのマルチモーダル機能を抽出します。データセット モジュールと同様に、抽出モジュールは、各モダリティに対して 3 つの異なる実装、つまりオーディオ、ビジュアル、およびテキスト抽出を提供します。Ducho は、TensorFlow、PyTorch、および Transformers の 3 つの主要なバックエンドから、幅広い事前トレーニング済みモデルを公開します。現在、次のモダリティ/バックエンドの組み合わせが利用可能です。


オーディオ: PyTorch (Torchaudio) および Transformers


ビジュアル: Tensorflow および PyTorch (Torchvision);


• テキスト: Transformers (および SentenceTransformers)。


特徴抽出を実行するために、Ducho は事前学習済みモデルの抽出層(のリスト)を入力として受け取ります。各バックエンドはネットワーク内の隠れ層の抽出を異なる方法で処理するため、ユーザーが同じ層の命名/インデックス付けスキームに従い、選択した事前学習済みモデルの構造を事前に知っていることを前提として、公式ドキュメントで提供されているガイドラインに従います。興味のある読者は、各モダリティ/バックエンド設定で抽出層を設定する方法の詳細な説明については、GitHub の config/ フォルダーの下にある README[2] を参照してください。


最後に、テキストの場合、各事前トレーニング済みネットワークにはトレーニング戦略に応じて異なるバージョンが付属する可能性があるため、ユーザーは事前トレーニング済みモデルをトレーニングする特定のタスク(感情分析など)を指定することもできます。


2.3 ランナー

ランナーモジュールはDuchoのオーケストレーターであり、その目的は、記述されたすべてのモジュールをインスタンス化し、呼び出し、管理することです。このモジュールは、APIメソッドを使用して、1つのモダリティまたは関連するすべてのモダリティの完全な抽出パイプライン(後述)を同時にトリガーできます。


ランナー モジュールは、抽出パイプラインを構成するためのすべてのパラメータを保存および公開する補助構成コンポーネントを介して便利にカスタマイズできます。ユーザーのためにデフォルトの構成がすでに利用可能になっている場合でも、Ducho では、コマンドラインからスクリプトを実行する場合に、外部構成ファイル (YAML 形式) や入力引数としてのキーと値のペアを使用して、一部 (またはすべて) のパラメータをオーバーライドできます。繰り返しになりますが、YAML 構成ファイルの一般的なスキーマを理解するには、GitHub の config/ フォルダーの下にある README を参照することをお勧めします。



この論文は、CC BY 4.0 DEED ライセンスの下でarxiv で公開されています