3Dスキャンした葉で学習データを用意し,深層学習による生成ネットワークで葉の生成器を構築した論文の解説. latent variableの概念や3Dモデルの精度評価に使えるloss関数など,勉強になった.
目次
概要
- ピーマンの葉っぱを3Dスキャン
- 3Dスキャンしたデータをダウンサンプリングして学習データ準備
- 様々な深層学習ネットワークとLOSS関数でピーマンの葉っぱの生成器を構築
- latent variableの足し算引き算や内挿によって多様な形態の葉っぱを出力できた!
深層学習ネットワークの比較
生成器の構築にはautoencoder (AE), variational autoencoder (VAE), 敵対的生成ネットワーク (GAN), L-GANが使用されており,それらを比較していた.
AEとVAEは何が違う
ともに入力したデータをencoderを経てlatent spaceにlatent variableとしてマッピングしてdecoderを通して画像を生成するのは同じ.
latent spaceやlatent variableとは
元画像の情報が圧縮された空間,あるいはそこに含まれる数値情報 .
今はやりのbingのchat AIに投げてみて返ってきた答えも載せてみる.
Latent variables are random variables that are hard to observe or measure directly, but are assumed to affect the observed data[1]. In generative models, latent variables are used to capture the underlying structure or patterns of the data and generate new data like it[2][3]. For example, in a text classification task, latent variables can represent topics or sentiments that influence how words are chosen[4].
らしい.調べてみたところ,特徴としては,,,
数値情報なので,足し算や引き算で複数の画像を融合した形質が表現できる.
例えばこちらの
笑顔の女性 - 普通の顔の女性 + 普通の顔の男性 = 笑顔の男性
となる顔画像がわかりやすかった.
How to Explore the GAN Latent Space When Generating Faces - MachineLearningMastery.com複数の画像の中間的な形質も表現できる
こちらにある椅子が変化していく画像が概念をつかみやすかった.
GANについて概念から実装まで ~DCGANによるキルミーベイベー生成~ - Qiita
異なるのは,AEでは点としてデータをlatent spaceにマッピングするが,VAEでは確率分布(ガウス分布)に従ってデータをlatent spaceに落とし込むという点.
つまり,後者の方が確率分布からサンプリングを行って生成をするように学習がされるので,連続画像など互いに関連性のあるデータに強い.
GANとL-GANは何が違う
GANとは,入力データの偽物をつくりだすGeneratorとその偽物を判別するDiscriminatorが競い合うことにより,精密な偽物が生成できるようになるもの.
後者ではlatent spaceが用いられている点が異なる.
LOSS関数の比較
次の3つの指標がモデルのパフォーマンス評価に使われ,比較された.
Chamfer distance
Chamfer distanceは,ある集合の各点と別の集合のその最も近い点との間の平均最小距離を計算する指標.
0に近いほど2つの分布はより類似しており,局所的な密度の不一致が少ない.
似ている画像であれば,0に近い.
EMD
Earth Mover's Distance (EMD)は,各点を対応する点に直線で移動させ,ある点集合を別の点集合に変換する際の最小コストを計算する尺度.
本来,n個の砂山をn個の穴に移動させる際にどうすれば移動距離が最小になるかの問題を解くのに使われていたらしい.
0に近いほど2つの分布はより似ている.
似ている画像であれば,0に近い.
Jensen-Shannon divergence
Jensen-Shannon Divergenceは,2つの分布の間の類似性を測定する.
分布間の類似度を測るKullback-Leibler Divergenceを平滑化して対称性を持たせることで改良したもの.
0に近いほど2つの分布はより似ており,その情報量の差は小さい
似ている画像であれば,0に近い.
生成する葉の形態の多様化
こちらの仕組みで,L-GAN内のlatent variablesを活用することで,様々な大きさ,角度,曲面を持つ葉を出力した.
参考文献
Autonomous construction of parameterizable 3D leaf models from scanned sweet pepper leaves with deep generative networks | in silico Plants | Oxford Academic (oup.com)
CS 3750 Advanced Topics in Machine Learning (ISSP 3535)
The theory behind Latent Variable Models: formulating a Variational Autoencoder
Latent-Variable Generative Models for Data-Efficient Text Classification
How to Explore the GAN Latent Space When Generating Faces - MachineLearningMastery.com
Variational AutoEncoder( VAE ) - アルゴリズム解説 (octopt.com)
今さら聞けないGAN(1) 基本構造の理解 - Qiita
【Python】Chamfer Distanceを実装した - Qiita
Earth Mover's Distance(1)古くて新しいアルゴリズム - "Truth of the Legend" Notes (hatenablog.com)
Jensen Shannon Divergence (opengenus.org)
機械学習で用いられるDivergence(KL-Divergence)やらEntropy (Cross-Entropy)の世界へ入門する