0
0
画像分類の際に画像以外の説明変数を扱えるのか?
EfficientNetやViTを使って画像分類できるのは承知しており,実際に使っていますが,このモデルに画像とは直接には関係ない説明変数を追加できるものでしょうか.
例えば,その時の天気や撮影条件などを説明変数として追加して分類してみたいです.
今何となく考えている方法
最後の出力層に説明変数を無理やり追加する
- 正規化はどうするのか
- 変数の数が違う過ぎるのではないか
- そもそも,そのやり方どうなの
もっともよい回答
論文に記載されている方法
よろしくお願いいたします.
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
回答7件
#1
総合スコア1329
投稿2023/05/08 14:47
編集2023/05/08 14:56過去の質問でもそれを実装している人を見かけています.
正規化はどうするのか
[-1, 1]
の範囲に正規化もしくは分散1, 平均0に標準化すると良いでしょう.
変数の数が違う過ぎるのではないか
いくつの変数を利用しようとしているのでしょうか?
最終的に得られた特徴量はほぼ同じ次元まで落とし込めるはずです.
そもそも,そのやり方どうなの
抽出した各特徴量を結合して分類するのは一般的です.
論文ではありませんが
Medium - Integrating image and tabular data for deep learning
を紹介しておきます.Kaggleコンペで画像+他説明変数で予測した精度が高いから最早ライブラリ作っちゃったよという話です.
#2
総合スコア7638
投稿2023/05/08 22:18
マルチモーダル 機械学習
とかでググってみてください
#3
回答いただきありがとうございます.
ps_aux_grep さん
動画とその他の変数をConcatしてもいいという情報ありがとうございます.
Libraryをご提示いただいたので,さっそく実行してみようと思います.
jbpb0 さん
マルチモーダル学習というものを存じ上げなかったのですが,調べてみるとPytorchにデモっぽい実装があるようなので,確認してみます.(まだGithubがあることしか確認していません)
#4
総合スコア7638
投稿2023/05/08 23:17
最後の出力層に説明変数を無理やり追加する
#5
総合スコア7638
投稿2023/05/08 23:17
最後の出力層に説明変数を無理やり追加する
回答いただきありがとうございます.
ConcatとFusionの違いがよくわかりませんが,
提示いただいたリンクからintermediate fusionを実装してみたので,今後実行してみます.
#6
総合スコア7638
投稿2023/05/09 13:13
編集2023/05/09 13:25ConcatとFusionの違いがよくわかりません
参考
マルチモーダルモデルによる不正出品の検知 の「2. 商品画像を用いたマルチモーダルモデル」の「特徴量合成について」
Multimodal Information Fusion for Prohibited Items Detection の「Preliminaries」
#7
総合スコア7638
投稿2023/05/09 13:13
編集2023/05/09 13:25
ConcatとFusionの違いがよくわかりません
参考
マルチモーダルモデルによる不正出品の検知 の「2. 商品画像を用いたマルチモーダルモデル」の「特徴量合成について」
Multimodal Information Fusion for Prohibited Items Detection の「Preliminaries」
さらなる回答ありがとうございます.ConcatとFusionの違いが多分理解できました.
ただ,今回は画像の出力次元(1792次元)と追加の説明変数の次元(12次元)が違いすぎるのでMax-poolingを使用することができるのか分からないので,よく文献を調べようと思います.
同じタグがついた質問を見る
Kerasは、TheanoやTensorFlow/CNTK対応のラッパーライブラリです。DeepLearningの数学的部分を短いコードでネットワークとして表現することが可能。DeepLearningの最新手法を迅速に試すことができます。
PyTorchは、オープンソースのPython向けの機械学習ライブラリ。Facebookの人工知能研究グループが開発を主導しています。強力なGPUサポートを備えたテンソル計算、テープベースの自動微分による柔軟なニューラルネットワークの記述が可能です。
機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。
Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。