SlideShare a Scribd company logo
Vector Quantized AutoEncoder を用いた
教師なしクラスタリング手法の提案
作成者 下村晏弘
作成日 8/25/2021
図 1 基本的なモデル
1.概要
ここでは、
Vector Quantized AutoEncoder を用いた教師なしクラスタリング手法を提案する。
2.
提案 で
モデル定義の大枠や距離の測り方を提案し、3.実験 で MNIST 手書き数字データセットを使用した具体
的な方法・事例を示す。またそれらの実験から考えられることを4.考察 にて書いている。
本提案は AutoEncoder を学習しながらクラスタリングをしたいという目的から行われている。
本提案は以下の URL に実験する際のソースコードが載っている。
ソースコード: https://github.com/Geson-anko/VQ_AutoEncoder
2.提案
2.1.提案目的
この提案は、VQ_VAE (7.引用1) の Encoder の出力を用意した重みによって量子化するという点に触
発されている。
以下に提案目的を示す。
・入力データのみを用いた教師なし学習によって、入力データにクラスラベルを与えるため。
・AutoEncoder の学習と同時に行うため。またそれにより再学習を容易にするため。
・教師なし学習クラスタリングの既存手法としては K-means 法が存在するが、重心を移動させるという
更新方式のため損失関数に組み込みにくいため。
・ユークリッド距離やコサイン距離など様々な距離の概念を使用可能にするため。
また、本提案は VQ_VAE を参考にして行っているため、クラス数を量子化数と呼ぶ。
2.2.手法
2.2.1.用語解説
𝑋 :入力データ
𝐸𝑜𝑢𝑡 :Encoder の出力
𝑋
̂ :出力データ。入力データと同形状。
𝑊 :量子化重みのこと。𝐸𝑜𝑢𝑡と同次元数のベクトルを n 個持つ 2 階テンソル
𝑤𝑘 :𝑊の中の k 番目のベクトル。またこれを量子化ベクトルと呼ぶ。
𝑄𝑜𝑢𝑡 :𝐸𝑜𝑢𝑡ともっとも近い量子化ベクトル。
Quantizing Weight :量子化重み𝑊のこと。
2.2.2.手順
1.AutoEncoder を用意。
2.量子数×Encoder の出力次元数 の量子化重み𝑊をもつ量子化層を用意。
3.量子化層の重みの分布を Encoder の出力分布に合わせる必要があるため、実際のデータセットからラ
ンダムに取得して Encoder に通し、それを初期重みとする。
4.AutoEncoder の再構成誤差と、𝐸𝑜𝑢𝑡と𝑄𝑜𝑢𝑡との距離を、最小化するように学習する。
2.2.3.量子化ベクトル𝑄𝑜𝑢𝑡を選ぶ例
距離の測り方によって𝑄𝑜𝑢𝑡の選ばれ方は変わるため、いかに2つの例を示す。
・ユークリッド距離(ソースコード:quantizing_layers.py の Quantizing クラス)
𝑄𝑜𝑢𝑡 = argmin
𝑤𝑖 ∈ 𝑊
( ‖𝐸𝑜𝑢𝑡 − 𝑤𝑖‖ )
・コサイン距離(ソースコード:quantizing_layers.py の Quantizing_cossim クラス)
𝑄𝑜𝑢𝑡 = argmax
𝑤𝑖∈ 𝑊
{ 𝐶𝑜𝑠𝑖𝑛𝑒𝑆𝑖𝑚𝑖𝑙𝑎𝑟𝑖𝑡𝑦(𝐸𝑜𝑢𝑡, 𝑤𝑖) }
𝐶𝑜𝑠𝑖𝑛𝑒𝑆𝑖𝑚𝑖𝑙𝑎𝑟𝑖𝑡𝑦(𝑥, 𝑦) =
𝑥 ∙ 𝑦𝑇
max (‖𝑥‖ ∙ ‖𝑦‖ 𝑇
, 𝜖)
(𝜖 = 1 × 10−8
)
2.2.4.損失の定義
𝐿𝑜𝑠𝑠 = 𝑅𝑒𝑐𝑜𝑛𝑠𝑡𝑟𝑢𝑐𝑡𝑖𝑜𝑛𝐸𝑟𝑟𝑜𝑟(𝑋, 𝑋
̂) + 𝑄𝑢𝑎𝑛𝑡𝑖𝑧𝑖𝑛𝑔𝐸𝑟𝑟𝑜𝑟(𝑆𝐺(𝐸𝑜𝑢𝑡), 𝑄𝑜𝑢𝑡)
𝑅𝑒𝑐𝑜𝑛𝑠𝑡𝑟𝑢𝑐𝑡𝑖𝑜𝑛𝐸𝑟𝑟𝑜𝑟(𝑋, 𝑋
̂) =
‖𝑋 − 𝑋
̂‖
2
𝑋𝑑𝑖𝑚
𝑋𝑑𝑖𝑚 :入力データの次元数。
SG :Stop Gradient の略。重み更新のための勾配計算を停止する。
𝑅𝑒𝑐𝑜𝑛𝑠𝑡𝑟𝑢𝑐𝑡𝑖𝑜𝑛𝐸𝑟𝑟𝑜𝑟(再構成誤差)は平均二乗誤差で良いが、𝑄𝑢𝑎𝑛𝑡𝑖𝑧𝑖𝑛𝑔𝐸𝑟𝑟𝑜𝑟(量子化誤差)は量子化
する際の距離の測り方によって変わる。以下に例を示す。
・ユークリッド距離
𝑄𝑢𝑎𝑛𝑡𝑖𝑧𝑖𝑛𝑔𝐸𝑟𝑟𝑜𝑟(𝐸𝑜𝑢𝑡, 𝑄𝑜𝑢𝑡) = ‖ 𝑆𝐺(𝐸𝑜𝑢𝑡) − 𝑄𝑜𝑢𝑡‖
・コサイン距離(最小距離を0にしている)
𝑄𝑢𝑎𝑛𝑡𝑖𝑧𝑖𝑛𝑔𝐸𝑟𝑟𝑜𝑟(𝐸𝑜𝑢𝑡, 𝑄𝑜𝑢𝑡) = − 𝐶𝑜𝑠𝑖𝑛𝑒𝑆𝑖𝑚𝑖𝑙𝑎𝑟𝑖𝑡𝑦( 𝑆𝐺(𝐸𝑜𝑢𝑡), 𝑄𝑜𝑢𝑡) + 1
𝐶𝑜𝑠𝑖𝑛𝑒𝑆𝑖𝑚𝑖𝑙𝑎𝑟𝑖𝑡𝑦(𝑥, 𝑦) =
𝑥 ∙ 𝑦𝑇
max(‖𝑥‖ ∙ ‖𝑦‖𝑇 , 𝜖)
( 𝜖 = 1 × 10−8
)
3.実験
3.1.データセット
本実験では、MNIST 手書き数字データセット(7.引用2)の Validation データセット 10000 枚を使用
した。またモデルに入力する際にはランダムに順番を並び替えながらミニバッチを生成した。
3.2.モデルの作成
図 2 モデル
図2に示す通り、
3層の全結合層を持つ Encoder と Decoder を用いて AutoEncoder のモデルを作成した。
また Encoder の出力𝐸𝑜𝑢𝑡は量子化層(Quantizing Layer)にも通され、量子化ベクトル𝑄𝑜𝑢𝑡が出力されるよ
うにした。
3.3.実験手順
本実験は Python3.8.10、
PyTorch1.9 を使い行った。
また適宜ライブラリなどを使用して効率化を図った。
すべての実験において最適化アルゴリズムは Adamを使用し学習率は0.001 にした。
学習率以外は Pytorch
のデフォルトの値を使用した。バッチサイズは 1024 とし、データセットから取り出した際にバッチサイズ
に満たない場合は学習に使わなかった。(DataLoader の drop_last=True)
すべての実験において以下の項目を記録した。
・1STEP ごとに記録したもの(MNIST_model.py の VQ_AutoEncoder.training_step を参照)
損失(𝐿𝑜𝑠𝑠)
、 再構成誤差、量子化誤差
再構成量子化誤差 :入力𝑋と、𝑄𝑜𝑢𝑡を Decoder に通した出力との平均二乗誤差
・10EPOCH ごとに記録したもの(MNIST_model.py の VQ_AutoEncoder.on_epoch_end を参照)
入力画像、再構成画像、
量子化再構成画像 :𝑄𝑜𝑢𝑡を Decoder に通した出力画像
Quantizing Layer の n は量子化数。
入力:𝑋, 出力:𝐸𝑜𝑢𝑡,𝑄𝑜𝑢𝑡, 𝑋
̂
ソースコード:MNIST_model.py を参照
量子化ヒストグラム :量子化ベクトルそれぞれのデータ割り当て数をカウントしたヒストグラム
・学習ごとに記録したもの
VQ_AutoEncoder 全体の重みパラメータ
3.3.1.実験1 量子化層の重みの初期化法について
1.量子化ベクトルと損失の取り方を、2.2.で提案したユークリッド距離にした。
・未学習初期化(Encoder の重みは乱数で初期化されている)
2.データセットからランダムに取得し、Encoder に通したものを初期量子化重みとした。
3.学習世代数(EPOCH)を 500 にして学習させ結果を TensorBoard に記録した。
・学習済初期化(Encoder の重みは既に訓練されている)
4.2で 500EPOCH 学習させた Encoder の重みを使い、1と同様に量子化重みを初期化した。
5.500EPOCH 学習させ、結果を TensorBoard に記録した。
6.未学習と学習済のそれぞれの初期重みの平均と標準偏差を、3回初期化して計測し記録した。
7.未学習初期化と学習済初期化の 2 つの結果を比較した。
3.3.2.実験2 量子化数の変化
1.量子化ベクトルと損失の取り方を、2.2.で提案したコサイン距離にした。
2.実験1の2で 500EPOCH 学習させた Encoder、Decoder の重みを使用した。
3.データセットからランダムに取得し、Encoder に通したものを初期の量子化重みとした。
4.量子化数を 8 にし、100EPOCH 学習させた。
5.使われている量子化ベクトルの数と学習結果を TensorBoard に記録した。
6.量子化数を 32, 128, 512, 2048, 8096 に変えて、2~5 を繰り返した。
7.それぞれの結果を比較した。
3.3.3.実験3 コサイン距離とユークリッド距離の比較
1.量子化ベクトルと損失の取り方を、2.2.で提案したコサイン距離にした。
2.実験1の2で 500EPOCH 学習させた Encoder、Decoder の重みを使用した。
3.データセットからランダムに取得し、Encoder に通したものを初期の量子化重みとした。
4.量子化数を 32 にし、100EPOCH 学習させた。
5.使われている量子化ベクトルの数と学習結果を TensorBoard に記録した。
6.量子化数を 128, 512 にして 2~5 を繰り返した。
7.実験 2 の量子化数が 32, 128, 512 の場合と比較した。
図 4 出力画像
図 5 量子化ヒストグラム
3.4.結果
3.4.1.実験1 量子化層の重みの初期化法について
表 1 最終誤差・損失
ケース \ 値 量子化誤差 再構成誤差 再構成量子化誤差 損失
未学習 0.08034 0.01134 0.09655 0.09168
学習済 0.03612 0.007367 0.05409 0.04349
表 2 平均と標準偏差
項目 \ 回数 1回目 2回目 3回目 平均値
未学習:平均 0.0130 -0.0021 0.0023 0.0058
学習済:平均 -0.0102 -0.0220 -0.0349 -0.0224
未学習:標準偏差 0.0729 0.0648 0.0611 0.0663
学習済:標準偏差 0.7000 0.7011 0.7009 0.7007
表1より、すべてにおいて学習済の方の値が小さかった。
図 3 より、未学習の量子化誤差と再構成量子化誤差は大きなバタつきがあった。
図 4 より、
未学習は𝑄𝑜𝑢𝑡を Decoder に通しても数字のような画像は生成されなかったが、
学習済は数字と
認識可能なものを生成した。
図 5 より、未学習は一つの量子化ベクトルにクラスタリングされていたが、学習済は全ての量子化ベクト
ルに一様にクラスタリングされた。
表2より、未学習と学習済の平均と標準偏差は大きく離れていた。
図 3 誤差・損失グラフ
未学習(橙色)
、学習済(茶色)
横軸:STEP 数、縦軸:値
上から、入力画像𝑋、再構成画像𝑋
̂、量子化再構成画像。
すべての値は小さい方が良い。
図 6 誤差・損失のグラフ
図 7 出力画像
図 8 量子化ヒストグラム
3.4.2.実験 2 量子化数の変化
表 3 最終誤差・損失
量子化数\値 量子化誤差 再構成誤差 再構成量子化誤差 損失 使用数/量子化数
8 0.0514 0.0102 0.0688 0.0617 8/8
32 0.0369 0.00981 0.0529 0.0467 32/32
128 0.0261 0.00992 0.0419 0.0360 128/128
512 0.0191 0.00988 0.0349 0.0290 512/512
2048 0.0116 0.0101 0.0266 0.0217 2028/2048
8192 0.00183 0.0101 0.0124 0.0120 7674/8192
表 3 より、量子化誤差と再構成量子化誤差は量子化数を大きくすると単調に小さくなった。
表 3 より、量子化数を 2048、8192 にした場合は使用数が量子化数に満たなかったため、使われない量子
化ベクトルが存在した。
表 3 より、量子化数を大きくしていくと、再構成量子化誤差は再構成誤差に近づいていった。
図 7 より、量子化数が8の時の量子化再構成画像は0のような画像が5になっていた。
図 7 より、
量子化数を 512 より大きくすると、入力画像とほとんど変わらない量子化再構成画像が出力さ
れた。
横軸:STEP 数, 縦軸:値
上から、入力画像𝑋、再構成画像𝑋
̂、量子化再構成画像
誤差・損失は小さい方が良い。
Weight Index は Quantizing Vector Index
図 9 誤差・損失のグラフ
図 10 出力画像
図 11 量子化ヒストグラム
3.4.3.実験3 コサイン距離とユークリッド距離の比較
表 4 最終誤差・損失
量子化数\値 量子化誤差 再構成誤差 再構成量子化誤差 損失 使用数/量子化数
ユークリッド距離
32 0.0369 0.00981 0.0530 0.0467 32/32
128 0.0261 0.00992 0.0419 0.0360 128/128
512 0.0191 0.00988 0.0486 0.0290 512/512
コサイン距離
32 0.0412 0.0101 0.0565 0.0514 32/32
128 0.0287 0.00989 0.0441 0.0386 128/128
512 0.0199 0.00997 0.0356 0.0299 512/512
※量子化誤差と損失は距離の定義が違うため比較することができない。
表 4 より、ユークリッド距離とコサイン距離との違いによる、誤差や損失の値に大きな変化は見られなか
った。
図10 より、コサイン距離の量子化数が 512 の場合において、入力画像が 7 なのに対し、量子化再構成画
像は 0 となっていた箇所があった。
横軸:STEP 数, 縦軸:値
上から、入力画像𝑋、再構成画像𝑋
̂、量子化再構成画像
誤差・損失は小さい方が良い。
Weight Index は Quantizing Vector Index
4.考察
4.1.実験1 量子化層の重みの初期化法について
学習済の方が未学習に比べて量子化誤差が小さく量子化ヒストグラムも一様に分布しているため、
ある程
度同じデータセットで学習させた Encoder、Decoder の重みを使用して量子化重みを初期化した方が良いと
考えた。
また未学習の量子化ヒストグラムが偏った理由としては、
学習初期の急激な重みの更新によって、
Encoder
の出力分布が初期の量子化重みの分布と大きく離れたことが原因だと考えた。
学習済の方がうまく量子化ベクトルを獲得し、クラスタリングできたと考えた。
4.2.実験2 量子化数の変化
量子化数を大きくすると使用数が量子化数に満たなくなるため、
量子化数はデータ全体に対して適切な値
が存在すると考えた。
量子化数を大きくすると量子化ベクトル 1 つに対して近いデータが 1 つや 2 つ程度になるため、
量子化ベ
クトルがデータそのもののベクトルを表すと考えた。
よって再構成量子化誤差が再構成誤差に近づいたと考
えた。量子化誤差が量子化数を増やすと単調に減少した理由も同様だと考えた。
量子化数が 8 のときに0の画像の量子化再構成画像が5の画像に近かった理由として、10 個の数字クラ
スに対し 8 クラスと満たないため、距離が近いデータは同じクラスに丸め込まれたためと考えた。
4.3.実験3 コサイン距離とユークリッド距離の比較
結果に大きな違いは存在しないため、
コサイン距離に変えてもクラスタリングとして使うことが可能だと
考えた。
5.まとめ
本提案では、Vector Quantized AutoEncoder による教師なしクラスタリング手法を提案した。
(2.
)その
過程で、重みの初期化法(3.3.1.
)
、量子化数の変化(3.3.2.
)
、距離の定義の違いについて(3.
3.3.
)それぞれ実験し、考察した。
実験を通し、本手法はデータセットの傾向からクラスタリングすることができると考えた。
提案目的のほかにも、AutoEncoder を作成しつつデータに対し傾向から ID を割り当てたいといったタス
クに有効だと考えた。
6.用語解説
EPOCH :学習世代数。学習に用いられるデータセットすべてを使った回数。
STEP :更新回数。重みを更新した回数。
量子化 :連続値を離散値に変えること。本提案ではn個のベクトルから 1 つを割り当てること。
7.引用
1:VQ_VAE https://arxiv.org/abs/1711.00937
2:MNIST 手書き数字データセット https://pytorch.org/vision/stable/datasets.html#mnist

More Related Content

Similar to Mnist vq auto_encoder_report

Lect24-Efficient test suite mgt - IV.pptx
Lect24-Efficient test suite mgt - IV.pptxLect24-Efficient test suite mgt - IV.pptx
Lect24-Efficient test suite mgt - IV.pptx
vijay518229
 
Bayesian Autoencoders for anomaly detection in industrial environments
Bayesian Autoencoders for anomaly detection in industrial environmentsBayesian Autoencoders for anomaly detection in industrial environments
Bayesian Autoencoders for anomaly detection in industrial environments
Bang Xiang Yong
 
Huong dan cu the svm
Huong dan cu the svmHuong dan cu the svm
Huong dan cu the svmtaikhoan262
 
Telecom Churn Analysis
Telecom Churn AnalysisTelecom Churn Analysis
Telecom Churn Analysis
Vasudev pendyala
 
Practical Data Science: Data Modelling and Presentation
Practical Data Science: Data Modelling and PresentationPractical Data Science: Data Modelling and Presentation
Practical Data Science: Data Modelling and Presentation
HariniMS1
 
Overfitting.pptx
Overfitting.pptxOverfitting.pptx
Overfitting.pptx
PerumalPitchandi
 
German credit score shivaram prakash
German credit score shivaram prakashGerman credit score shivaram prakash
German credit score shivaram prakash
Shivaram Prakash
 
Binary Class and Multi Class Strategies for Machine Learning
Binary Class and Multi Class Strategies for Machine LearningBinary Class and Multi Class Strategies for Machine Learning
Binary Class and Multi Class Strategies for Machine Learning
Paxcel Technologies
 
Solution manual for design and analysis of experiments 9th edition douglas ...
Solution manual for design and analysis of experiments 9th edition   douglas ...Solution manual for design and analysis of experiments 9th edition   douglas ...
Solution manual for design and analysis of experiments 9th edition douglas ...
Salehkhanovic
 
機会学習レポート
機会学習レポート機会学習レポート
機会学習レポート
taishimotoda
 
Day 4
Day 4Day 4
Day 4
HuyPhmNht2
 
Ml2 train test-splits_validation_linear_regression
Ml2 train test-splits_validation_linear_regressionMl2 train test-splits_validation_linear_regression
Ml2 train test-splits_validation_linear_regression
ankit_ppt
 
Codecamp Iasi 7 mai 2011 Monte Carlo Simulation
Codecamp Iasi 7 mai 2011 Monte Carlo SimulationCodecamp Iasi 7 mai 2011 Monte Carlo Simulation
Codecamp Iasi 7 mai 2011 Monte Carlo SimulationCodecamp Romania
 
Presentation 1 trail.pptx
Presentation 1 trail.pptxPresentation 1 trail.pptx
Presentation 1 trail.pptx
Gnanesh12
 
Validation Is (Not) Easy
Validation Is (Not) EasyValidation Is (Not) Easy
Validation Is (Not) Easy
Dmytro Panchenko
 
Statistics project2
Statistics project2Statistics project2
Statistics project2shri1984
 
MODULE 2-Sources Types of error.pptx
MODULE 2-Sources  Types of error.pptxMODULE 2-Sources  Types of error.pptx
MODULE 2-Sources Types of error.pptx
JudylynTam2
 
COSMOS_IDETC_2014_Souma
COSMOS_IDETC_2014_SoumaCOSMOS_IDETC_2014_Souma
COSMOS_IDETC_2014_Souma
MDO_Lab
 

Similar to Mnist vq auto_encoder_report (20)

Lect24-Efficient test suite mgt - IV.pptx
Lect24-Efficient test suite mgt - IV.pptxLect24-Efficient test suite mgt - IV.pptx
Lect24-Efficient test suite mgt - IV.pptx
 
Bayesian Autoencoders for anomaly detection in industrial environments
Bayesian Autoencoders for anomaly detection in industrial environmentsBayesian Autoencoders for anomaly detection in industrial environments
Bayesian Autoencoders for anomaly detection in industrial environments
 
Guide
GuideGuide
Guide
 
Huong dan cu the svm
Huong dan cu the svmHuong dan cu the svm
Huong dan cu the svm
 
Telecom Churn Analysis
Telecom Churn AnalysisTelecom Churn Analysis
Telecom Churn Analysis
 
Practical Data Science: Data Modelling and Presentation
Practical Data Science: Data Modelling and PresentationPractical Data Science: Data Modelling and Presentation
Practical Data Science: Data Modelling and Presentation
 
Overfitting.pptx
Overfitting.pptxOverfitting.pptx
Overfitting.pptx
 
German credit score shivaram prakash
German credit score shivaram prakashGerman credit score shivaram prakash
German credit score shivaram prakash
 
Binary Class and Multi Class Strategies for Machine Learning
Binary Class and Multi Class Strategies for Machine LearningBinary Class and Multi Class Strategies for Machine Learning
Binary Class and Multi Class Strategies for Machine Learning
 
Solution manual for design and analysis of experiments 9th edition douglas ...
Solution manual for design and analysis of experiments 9th edition   douglas ...Solution manual for design and analysis of experiments 9th edition   douglas ...
Solution manual for design and analysis of experiments 9th edition douglas ...
 
unit_tests_tutorial
unit_tests_tutorialunit_tests_tutorial
unit_tests_tutorial
 
機会学習レポート
機会学習レポート機会学習レポート
機会学習レポート
 
Day 4
Day 4Day 4
Day 4
 
Ml2 train test-splits_validation_linear_regression
Ml2 train test-splits_validation_linear_regressionMl2 train test-splits_validation_linear_regression
Ml2 train test-splits_validation_linear_regression
 
Codecamp Iasi 7 mai 2011 Monte Carlo Simulation
Codecamp Iasi 7 mai 2011 Monte Carlo SimulationCodecamp Iasi 7 mai 2011 Monte Carlo Simulation
Codecamp Iasi 7 mai 2011 Monte Carlo Simulation
 
Presentation 1 trail.pptx
Presentation 1 trail.pptxPresentation 1 trail.pptx
Presentation 1 trail.pptx
 
Validation Is (Not) Easy
Validation Is (Not) EasyValidation Is (Not) Easy
Validation Is (Not) Easy
 
Statistics project2
Statistics project2Statistics project2
Statistics project2
 
MODULE 2-Sources Types of error.pptx
MODULE 2-Sources  Types of error.pptxMODULE 2-Sources  Types of error.pptx
MODULE 2-Sources Types of error.pptx
 
COSMOS_IDETC_2014_Souma
COSMOS_IDETC_2014_SoumaCOSMOS_IDETC_2014_Souma
COSMOS_IDETC_2014_Souma
 

More from Naoya Tosaka

Vq auto encoder
Vq auto encoderVq auto encoder
Vq auto encoder
Naoya Tosaka
 
20210827 lt kanzaki_chinatsu
20210827 lt kanzaki_chinatsu20210827 lt kanzaki_chinatsu
20210827 lt kanzaki_chinatsu
Naoya Tosaka
 
CDLE Lt甲子園予選会 2021 #1 0527 01(itok)
CDLE Lt甲子園予選会 2021 #1 0527 01(itok)CDLE Lt甲子園予選会 2021 #1 0527 01(itok)
CDLE Lt甲子園予選会 2021 #1 0527 01(itok)
Naoya Tosaka
 
CDLE Lt甲子園予選会 2021 #1 0527 04(masashi kameyama)
CDLE Lt甲子園予選会 2021 #1 0527 04(masashi kameyama)CDLE Lt甲子園予選会 2021 #1 0527 04(masashi kameyama)
CDLE Lt甲子園予選会 2021 #1 0527 04(masashi kameyama)
Naoya Tosaka
 
210128 cdle lt甲子園予選会#2
210128 cdle lt甲子園予選会#2210128 cdle lt甲子園予選会#2
210128 cdle lt甲子園予選会#2
Naoya Tosaka
 
201222 CDLE LT甲子園予選会#1 発表資料
201222 CDLE LT甲子園予選会#1 発表資料201222 CDLE LT甲子園予選会#1 発表資料
201222 CDLE LT甲子園予選会#1 発表資料
Naoya Tosaka
 
201222 CDLE LT甲子園予選会#1
201222 CDLE LT甲子園予選会#1201222 CDLE LT甲子園予選会#1
201222 CDLE LT甲子園予選会#1
Naoya Tosaka
 
200930 cdle lt#2
200930 cdle lt#2200930 cdle lt#2
200930 cdle lt#2
Naoya Tosaka
 
【Python】初学者にとってわかりにくい言葉を?わかりやすく解説してみた
【Python】初学者にとってわかりにくい言葉を?わかりやすく解説してみた【Python】初学者にとってわかりにくい言葉を?わかりやすく解説してみた
【Python】初学者にとってわかりにくい言葉を?わかりやすく解説してみた
Naoya Tosaka
 

More from Naoya Tosaka (9)

Vq auto encoder
Vq auto encoderVq auto encoder
Vq auto encoder
 
20210827 lt kanzaki_chinatsu
20210827 lt kanzaki_chinatsu20210827 lt kanzaki_chinatsu
20210827 lt kanzaki_chinatsu
 
CDLE Lt甲子園予選会 2021 #1 0527 01(itok)
CDLE Lt甲子園予選会 2021 #1 0527 01(itok)CDLE Lt甲子園予選会 2021 #1 0527 01(itok)
CDLE Lt甲子園予選会 2021 #1 0527 01(itok)
 
CDLE Lt甲子園予選会 2021 #1 0527 04(masashi kameyama)
CDLE Lt甲子園予選会 2021 #1 0527 04(masashi kameyama)CDLE Lt甲子園予選会 2021 #1 0527 04(masashi kameyama)
CDLE Lt甲子園予選会 2021 #1 0527 04(masashi kameyama)
 
210128 cdle lt甲子園予選会#2
210128 cdle lt甲子園予選会#2210128 cdle lt甲子園予選会#2
210128 cdle lt甲子園予選会#2
 
201222 CDLE LT甲子園予選会#1 発表資料
201222 CDLE LT甲子園予選会#1 発表資料201222 CDLE LT甲子園予選会#1 発表資料
201222 CDLE LT甲子園予選会#1 発表資料
 
201222 CDLE LT甲子園予選会#1
201222 CDLE LT甲子園予選会#1201222 CDLE LT甲子園予選会#1
201222 CDLE LT甲子園予選会#1
 
200930 cdle lt#2
200930 cdle lt#2200930 cdle lt#2
200930 cdle lt#2
 
【Python】初学者にとってわかりにくい言葉を?わかりやすく解説してみた
【Python】初学者にとってわかりにくい言葉を?わかりやすく解説してみた【Python】初学者にとってわかりにくい言葉を?わかりやすく解説してみた
【Python】初学者にとってわかりにくい言葉を?わかりやすく解説してみた
 

Recently uploaded

在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
obonagu
 
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Dr.Costas Sachpazis
 
Gen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdfGen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdf
gdsczhcet
 
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdfTop 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Teleport Manpower Consultant
 
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理
zwunae
 
DESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docxDESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docx
FluxPrime1
 
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
AJAYKUMARPUND1
 
Student information management system project report ii.pdf
Student information management system project report ii.pdfStudent information management system project report ii.pdf
Student information management system project report ii.pdf
Kamal Acharya
 
ethical hacking-mobile hacking methods.ppt
ethical hacking-mobile hacking methods.pptethical hacking-mobile hacking methods.ppt
ethical hacking-mobile hacking methods.ppt
Jayaprasanna4
 
Architectural Portfolio Sean Lockwood
Architectural Portfolio Sean LockwoodArchitectural Portfolio Sean Lockwood
Architectural Portfolio Sean Lockwood
seandesed
 
AP LAB PPT.pdf ap lab ppt no title specific
AP LAB PPT.pdf ap lab ppt no title specificAP LAB PPT.pdf ap lab ppt no title specific
AP LAB PPT.pdf ap lab ppt no title specific
BrazilAccount1
 
Railway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdfRailway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdf
TeeVichai
 
The role of big data in decision making.
The role of big data in decision making.The role of big data in decision making.
The role of big data in decision making.
ankuprajapati0525
 
Cosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdfCosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdf
Kamal Acharya
 
block diagram and signal flow graph representation
block diagram and signal flow graph representationblock diagram and signal flow graph representation
block diagram and signal flow graph representation
Divya Somashekar
 
WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234
AafreenAbuthahir2
 
Fundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptxFundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptx
manasideore6
 
H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
H.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdfH.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdf
H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
MLILAB
 
Final project report on grocery store management system..pdf
Final project report on grocery store management system..pdfFinal project report on grocery store management system..pdf
Final project report on grocery store management system..pdf
Kamal Acharya
 
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
thanhdowork
 

Recently uploaded (20)

在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
 
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
 
Gen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdfGen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdf
 
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdfTop 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
 
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理
 
DESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docxDESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docx
 
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
 
Student information management system project report ii.pdf
Student information management system project report ii.pdfStudent information management system project report ii.pdf
Student information management system project report ii.pdf
 
ethical hacking-mobile hacking methods.ppt
ethical hacking-mobile hacking methods.pptethical hacking-mobile hacking methods.ppt
ethical hacking-mobile hacking methods.ppt
 
Architectural Portfolio Sean Lockwood
Architectural Portfolio Sean LockwoodArchitectural Portfolio Sean Lockwood
Architectural Portfolio Sean Lockwood
 
AP LAB PPT.pdf ap lab ppt no title specific
AP LAB PPT.pdf ap lab ppt no title specificAP LAB PPT.pdf ap lab ppt no title specific
AP LAB PPT.pdf ap lab ppt no title specific
 
Railway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdfRailway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdf
 
The role of big data in decision making.
The role of big data in decision making.The role of big data in decision making.
The role of big data in decision making.
 
Cosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdfCosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdf
 
block diagram and signal flow graph representation
block diagram and signal flow graph representationblock diagram and signal flow graph representation
block diagram and signal flow graph representation
 
WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234
 
Fundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptxFundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptx
 
H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
H.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdfH.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdf
H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
 
Final project report on grocery store management system..pdf
Final project report on grocery store management system..pdfFinal project report on grocery store management system..pdf
Final project report on grocery store management system..pdf
 
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
 

Mnist vq auto_encoder_report

  • 1. Vector Quantized AutoEncoder を用いた 教師なしクラスタリング手法の提案 作成者 下村晏弘 作成日 8/25/2021
  • 2. 図 1 基本的なモデル 1.概要 ここでは、 Vector Quantized AutoEncoder を用いた教師なしクラスタリング手法を提案する。 2. 提案 で モデル定義の大枠や距離の測り方を提案し、3.実験 で MNIST 手書き数字データセットを使用した具体 的な方法・事例を示す。またそれらの実験から考えられることを4.考察 にて書いている。 本提案は AutoEncoder を学習しながらクラスタリングをしたいという目的から行われている。 本提案は以下の URL に実験する際のソースコードが載っている。 ソースコード: https://github.com/Geson-anko/VQ_AutoEncoder 2.提案 2.1.提案目的 この提案は、VQ_VAE (7.引用1) の Encoder の出力を用意した重みによって量子化するという点に触 発されている。 以下に提案目的を示す。 ・入力データのみを用いた教師なし学習によって、入力データにクラスラベルを与えるため。 ・AutoEncoder の学習と同時に行うため。またそれにより再学習を容易にするため。 ・教師なし学習クラスタリングの既存手法としては K-means 法が存在するが、重心を移動させるという 更新方式のため損失関数に組み込みにくいため。 ・ユークリッド距離やコサイン距離など様々な距離の概念を使用可能にするため。 また、本提案は VQ_VAE を参考にして行っているため、クラス数を量子化数と呼ぶ。 2.2.手法 2.2.1.用語解説 𝑋 :入力データ 𝐸𝑜𝑢𝑡 :Encoder の出力 𝑋 ̂ :出力データ。入力データと同形状。 𝑊 :量子化重みのこと。𝐸𝑜𝑢𝑡と同次元数のベクトルを n 個持つ 2 階テンソル 𝑤𝑘 :𝑊の中の k 番目のベクトル。またこれを量子化ベクトルと呼ぶ。 𝑄𝑜𝑢𝑡 :𝐸𝑜𝑢𝑡ともっとも近い量子化ベクトル。 Quantizing Weight :量子化重み𝑊のこと。 2.2.2.手順
  • 3. 1.AutoEncoder を用意。 2.量子数×Encoder の出力次元数 の量子化重み𝑊をもつ量子化層を用意。 3.量子化層の重みの分布を Encoder の出力分布に合わせる必要があるため、実際のデータセットからラ ンダムに取得して Encoder に通し、それを初期重みとする。 4.AutoEncoder の再構成誤差と、𝐸𝑜𝑢𝑡と𝑄𝑜𝑢𝑡との距離を、最小化するように学習する。 2.2.3.量子化ベクトル𝑄𝑜𝑢𝑡を選ぶ例 距離の測り方によって𝑄𝑜𝑢𝑡の選ばれ方は変わるため、いかに2つの例を示す。 ・ユークリッド距離(ソースコード:quantizing_layers.py の Quantizing クラス) 𝑄𝑜𝑢𝑡 = argmin 𝑤𝑖 ∈ 𝑊 ( ‖𝐸𝑜𝑢𝑡 − 𝑤𝑖‖ ) ・コサイン距離(ソースコード:quantizing_layers.py の Quantizing_cossim クラス) 𝑄𝑜𝑢𝑡 = argmax 𝑤𝑖∈ 𝑊 { 𝐶𝑜𝑠𝑖𝑛𝑒𝑆𝑖𝑚𝑖𝑙𝑎𝑟𝑖𝑡𝑦(𝐸𝑜𝑢𝑡, 𝑤𝑖) } 𝐶𝑜𝑠𝑖𝑛𝑒𝑆𝑖𝑚𝑖𝑙𝑎𝑟𝑖𝑡𝑦(𝑥, 𝑦) = 𝑥 ∙ 𝑦𝑇 max (‖𝑥‖ ∙ ‖𝑦‖ 𝑇 , 𝜖) (𝜖 = 1 × 10−8 ) 2.2.4.損失の定義 𝐿𝑜𝑠𝑠 = 𝑅𝑒𝑐𝑜𝑛𝑠𝑡𝑟𝑢𝑐𝑡𝑖𝑜𝑛𝐸𝑟𝑟𝑜𝑟(𝑋, 𝑋 ̂) + 𝑄𝑢𝑎𝑛𝑡𝑖𝑧𝑖𝑛𝑔𝐸𝑟𝑟𝑜𝑟(𝑆𝐺(𝐸𝑜𝑢𝑡), 𝑄𝑜𝑢𝑡) 𝑅𝑒𝑐𝑜𝑛𝑠𝑡𝑟𝑢𝑐𝑡𝑖𝑜𝑛𝐸𝑟𝑟𝑜𝑟(𝑋, 𝑋 ̂) = ‖𝑋 − 𝑋 ̂‖ 2 𝑋𝑑𝑖𝑚 𝑋𝑑𝑖𝑚 :入力データの次元数。 SG :Stop Gradient の略。重み更新のための勾配計算を停止する。 𝑅𝑒𝑐𝑜𝑛𝑠𝑡𝑟𝑢𝑐𝑡𝑖𝑜𝑛𝐸𝑟𝑟𝑜𝑟(再構成誤差)は平均二乗誤差で良いが、𝑄𝑢𝑎𝑛𝑡𝑖𝑧𝑖𝑛𝑔𝐸𝑟𝑟𝑜𝑟(量子化誤差)は量子化 する際の距離の測り方によって変わる。以下に例を示す。 ・ユークリッド距離 𝑄𝑢𝑎𝑛𝑡𝑖𝑧𝑖𝑛𝑔𝐸𝑟𝑟𝑜𝑟(𝐸𝑜𝑢𝑡, 𝑄𝑜𝑢𝑡) = ‖ 𝑆𝐺(𝐸𝑜𝑢𝑡) − 𝑄𝑜𝑢𝑡‖ ・コサイン距離(最小距離を0にしている) 𝑄𝑢𝑎𝑛𝑡𝑖𝑧𝑖𝑛𝑔𝐸𝑟𝑟𝑜𝑟(𝐸𝑜𝑢𝑡, 𝑄𝑜𝑢𝑡) = − 𝐶𝑜𝑠𝑖𝑛𝑒𝑆𝑖𝑚𝑖𝑙𝑎𝑟𝑖𝑡𝑦( 𝑆𝐺(𝐸𝑜𝑢𝑡), 𝑄𝑜𝑢𝑡) + 1 𝐶𝑜𝑠𝑖𝑛𝑒𝑆𝑖𝑚𝑖𝑙𝑎𝑟𝑖𝑡𝑦(𝑥, 𝑦) = 𝑥 ∙ 𝑦𝑇 max(‖𝑥‖ ∙ ‖𝑦‖𝑇 , 𝜖) ( 𝜖 = 1 × 10−8 )
  • 4. 3.実験 3.1.データセット 本実験では、MNIST 手書き数字データセット(7.引用2)の Validation データセット 10000 枚を使用 した。またモデルに入力する際にはランダムに順番を並び替えながらミニバッチを生成した。 3.2.モデルの作成 図 2 モデル 図2に示す通り、 3層の全結合層を持つ Encoder と Decoder を用いて AutoEncoder のモデルを作成した。 また Encoder の出力𝐸𝑜𝑢𝑡は量子化層(Quantizing Layer)にも通され、量子化ベクトル𝑄𝑜𝑢𝑡が出力されるよ うにした。 3.3.実験手順 本実験は Python3.8.10、 PyTorch1.9 を使い行った。 また適宜ライブラリなどを使用して効率化を図った。 すべての実験において最適化アルゴリズムは Adamを使用し学習率は0.001 にした。 学習率以外は Pytorch のデフォルトの値を使用した。バッチサイズは 1024 とし、データセットから取り出した際にバッチサイズ に満たない場合は学習に使わなかった。(DataLoader の drop_last=True) すべての実験において以下の項目を記録した。 ・1STEP ごとに記録したもの(MNIST_model.py の VQ_AutoEncoder.training_step を参照) 損失(𝐿𝑜𝑠𝑠) 、 再構成誤差、量子化誤差 再構成量子化誤差 :入力𝑋と、𝑄𝑜𝑢𝑡を Decoder に通した出力との平均二乗誤差 ・10EPOCH ごとに記録したもの(MNIST_model.py の VQ_AutoEncoder.on_epoch_end を参照) 入力画像、再構成画像、 量子化再構成画像 :𝑄𝑜𝑢𝑡を Decoder に通した出力画像 Quantizing Layer の n は量子化数。 入力:𝑋, 出力:𝐸𝑜𝑢𝑡,𝑄𝑜𝑢𝑡, 𝑋 ̂ ソースコード:MNIST_model.py を参照
  • 5. 量子化ヒストグラム :量子化ベクトルそれぞれのデータ割り当て数をカウントしたヒストグラム ・学習ごとに記録したもの VQ_AutoEncoder 全体の重みパラメータ 3.3.1.実験1 量子化層の重みの初期化法について 1.量子化ベクトルと損失の取り方を、2.2.で提案したユークリッド距離にした。 ・未学習初期化(Encoder の重みは乱数で初期化されている) 2.データセットからランダムに取得し、Encoder に通したものを初期量子化重みとした。 3.学習世代数(EPOCH)を 500 にして学習させ結果を TensorBoard に記録した。 ・学習済初期化(Encoder の重みは既に訓練されている) 4.2で 500EPOCH 学習させた Encoder の重みを使い、1と同様に量子化重みを初期化した。 5.500EPOCH 学習させ、結果を TensorBoard に記録した。 6.未学習と学習済のそれぞれの初期重みの平均と標準偏差を、3回初期化して計測し記録した。 7.未学習初期化と学習済初期化の 2 つの結果を比較した。 3.3.2.実験2 量子化数の変化 1.量子化ベクトルと損失の取り方を、2.2.で提案したコサイン距離にした。 2.実験1の2で 500EPOCH 学習させた Encoder、Decoder の重みを使用した。 3.データセットからランダムに取得し、Encoder に通したものを初期の量子化重みとした。 4.量子化数を 8 にし、100EPOCH 学習させた。 5.使われている量子化ベクトルの数と学習結果を TensorBoard に記録した。 6.量子化数を 32, 128, 512, 2048, 8096 に変えて、2~5 を繰り返した。 7.それぞれの結果を比較した。 3.3.3.実験3 コサイン距離とユークリッド距離の比較 1.量子化ベクトルと損失の取り方を、2.2.で提案したコサイン距離にした。 2.実験1の2で 500EPOCH 学習させた Encoder、Decoder の重みを使用した。 3.データセットからランダムに取得し、Encoder に通したものを初期の量子化重みとした。 4.量子化数を 32 にし、100EPOCH 学習させた。 5.使われている量子化ベクトルの数と学習結果を TensorBoard に記録した。 6.量子化数を 128, 512 にして 2~5 を繰り返した。 7.実験 2 の量子化数が 32, 128, 512 の場合と比較した。
  • 6. 図 4 出力画像 図 5 量子化ヒストグラム 3.4.結果 3.4.1.実験1 量子化層の重みの初期化法について 表 1 最終誤差・損失 ケース \ 値 量子化誤差 再構成誤差 再構成量子化誤差 損失 未学習 0.08034 0.01134 0.09655 0.09168 学習済 0.03612 0.007367 0.05409 0.04349 表 2 平均と標準偏差 項目 \ 回数 1回目 2回目 3回目 平均値 未学習:平均 0.0130 -0.0021 0.0023 0.0058 学習済:平均 -0.0102 -0.0220 -0.0349 -0.0224 未学習:標準偏差 0.0729 0.0648 0.0611 0.0663 学習済:標準偏差 0.7000 0.7011 0.7009 0.7007 表1より、すべてにおいて学習済の方の値が小さかった。 図 3 より、未学習の量子化誤差と再構成量子化誤差は大きなバタつきがあった。 図 4 より、 未学習は𝑄𝑜𝑢𝑡を Decoder に通しても数字のような画像は生成されなかったが、 学習済は数字と 認識可能なものを生成した。 図 5 より、未学習は一つの量子化ベクトルにクラスタリングされていたが、学習済は全ての量子化ベクト ルに一様にクラスタリングされた。 表2より、未学習と学習済の平均と標準偏差は大きく離れていた。 図 3 誤差・損失グラフ 未学習(橙色) 、学習済(茶色) 横軸:STEP 数、縦軸:値 上から、入力画像𝑋、再構成画像𝑋 ̂、量子化再構成画像。 すべての値は小さい方が良い。
  • 7. 図 6 誤差・損失のグラフ 図 7 出力画像 図 8 量子化ヒストグラム 3.4.2.実験 2 量子化数の変化 表 3 最終誤差・損失 量子化数\値 量子化誤差 再構成誤差 再構成量子化誤差 損失 使用数/量子化数 8 0.0514 0.0102 0.0688 0.0617 8/8 32 0.0369 0.00981 0.0529 0.0467 32/32 128 0.0261 0.00992 0.0419 0.0360 128/128 512 0.0191 0.00988 0.0349 0.0290 512/512 2048 0.0116 0.0101 0.0266 0.0217 2028/2048 8192 0.00183 0.0101 0.0124 0.0120 7674/8192 表 3 より、量子化誤差と再構成量子化誤差は量子化数を大きくすると単調に小さくなった。 表 3 より、量子化数を 2048、8192 にした場合は使用数が量子化数に満たなかったため、使われない量子 化ベクトルが存在した。 表 3 より、量子化数を大きくしていくと、再構成量子化誤差は再構成誤差に近づいていった。 図 7 より、量子化数が8の時の量子化再構成画像は0のような画像が5になっていた。 図 7 より、 量子化数を 512 より大きくすると、入力画像とほとんど変わらない量子化再構成画像が出力さ れた。 横軸:STEP 数, 縦軸:値 上から、入力画像𝑋、再構成画像𝑋 ̂、量子化再構成画像 誤差・損失は小さい方が良い。 Weight Index は Quantizing Vector Index
  • 8. 図 9 誤差・損失のグラフ 図 10 出力画像 図 11 量子化ヒストグラム 3.4.3.実験3 コサイン距離とユークリッド距離の比較 表 4 最終誤差・損失 量子化数\値 量子化誤差 再構成誤差 再構成量子化誤差 損失 使用数/量子化数 ユークリッド距離 32 0.0369 0.00981 0.0530 0.0467 32/32 128 0.0261 0.00992 0.0419 0.0360 128/128 512 0.0191 0.00988 0.0486 0.0290 512/512 コサイン距離 32 0.0412 0.0101 0.0565 0.0514 32/32 128 0.0287 0.00989 0.0441 0.0386 128/128 512 0.0199 0.00997 0.0356 0.0299 512/512 ※量子化誤差と損失は距離の定義が違うため比較することができない。 表 4 より、ユークリッド距離とコサイン距離との違いによる、誤差や損失の値に大きな変化は見られなか った。 図10 より、コサイン距離の量子化数が 512 の場合において、入力画像が 7 なのに対し、量子化再構成画 像は 0 となっていた箇所があった。 横軸:STEP 数, 縦軸:値 上から、入力画像𝑋、再構成画像𝑋 ̂、量子化再構成画像 誤差・損失は小さい方が良い。 Weight Index は Quantizing Vector Index
  • 9. 4.考察 4.1.実験1 量子化層の重みの初期化法について 学習済の方が未学習に比べて量子化誤差が小さく量子化ヒストグラムも一様に分布しているため、 ある程 度同じデータセットで学習させた Encoder、Decoder の重みを使用して量子化重みを初期化した方が良いと 考えた。 また未学習の量子化ヒストグラムが偏った理由としては、 学習初期の急激な重みの更新によって、 Encoder の出力分布が初期の量子化重みの分布と大きく離れたことが原因だと考えた。 学習済の方がうまく量子化ベクトルを獲得し、クラスタリングできたと考えた。 4.2.実験2 量子化数の変化 量子化数を大きくすると使用数が量子化数に満たなくなるため、 量子化数はデータ全体に対して適切な値 が存在すると考えた。 量子化数を大きくすると量子化ベクトル 1 つに対して近いデータが 1 つや 2 つ程度になるため、 量子化ベ クトルがデータそのもののベクトルを表すと考えた。 よって再構成量子化誤差が再構成誤差に近づいたと考 えた。量子化誤差が量子化数を増やすと単調に減少した理由も同様だと考えた。 量子化数が 8 のときに0の画像の量子化再構成画像が5の画像に近かった理由として、10 個の数字クラ スに対し 8 クラスと満たないため、距離が近いデータは同じクラスに丸め込まれたためと考えた。 4.3.実験3 コサイン距離とユークリッド距離の比較 結果に大きな違いは存在しないため、 コサイン距離に変えてもクラスタリングとして使うことが可能だと 考えた。 5.まとめ 本提案では、Vector Quantized AutoEncoder による教師なしクラスタリング手法を提案した。 (2. )その 過程で、重みの初期化法(3.3.1. ) 、量子化数の変化(3.3.2. ) 、距離の定義の違いについて(3. 3.3. )それぞれ実験し、考察した。 実験を通し、本手法はデータセットの傾向からクラスタリングすることができると考えた。 提案目的のほかにも、AutoEncoder を作成しつつデータに対し傾向から ID を割り当てたいといったタス クに有効だと考えた。 6.用語解説 EPOCH :学習世代数。学習に用いられるデータセットすべてを使った回数。 STEP :更新回数。重みを更新した回数。 量子化 :連続値を離散値に変えること。本提案ではn個のベクトルから 1 つを割り当てること。 7.引用 1:VQ_VAE https://arxiv.org/abs/1711.00937 2:MNIST 手書き数字データセット https://pytorch.org/vision/stable/datasets.html#mnist