自己符号化器(AE:オートエンコーダ)
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
「[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfras...
-戻る([[ニューラルネットワーク]]、[[画像処理とコンピュー...
--一般的なフツーの[[ニューラルネットワーク]]
---[[順伝播型ニューラルネットワーク(FNN)>ニューラルネッ...
---[[ディープニューラルネットワーク(DNN)>ニューラルネッ...
---[[畳み込みニューラルネットワーク(CNN)]]
--[[再帰型ニューラルネットワーク(RNN)]]
---[[長短期記憶ニューラルネットワーク(LSTM)]]
---[[RNN Encoder-Decoder(Sequence-to-Sequence)]]
--[[生成モデル>機械学習の理論#p3f4e303]]系の[[ニューラル...
---自己符号化器(AE:オートエンコーダ)
---[[テキスト生成系(Transformer系)]]
---[[敵対的生成ネットワーク(GAN)]]
*目次 [#ka4e8507]
#contents
*概要 [#b2d7f0fb]
自己符号化器(AE:オートエンコーダ)、自己識別機とも呼ば...
-入力データを低次元の潜在表現にエンコードし、~
その後デコードして元のデータを再構築するためのモデル
-データの次元削減や特徴抽出などのタスクに使用される。
-入力データの再構築誤差を最小化することで訓練される。
-(余談だがVAEと違って、確率的生成モデルではない。)
**歴史 [#n519f0fb]
-元々、(入出力兼務の)可視層と隠れ層の2層の[[ニューラル...
-[[勾配消失問題>#id252e38]]を[[事前学習>深層学習のテクニ...
-AEのポイントは、可視層より隠れ層の次元(数)を少なくして...
-このAEを積み重ね、ディープAE、正確には、積層AEを作成(ジ...
層の積み重ねは、[[事前学習>深層学習のテクニック#ebe9edcc]...
--はじめに[[事前学習>深層学習のテクニック#ebe9edcc]]を行...
--最上部に層を足し、教師あり学習にする(?)
---ロジスティク回帰層~
---回帰問題の場合、線形回帰層
--最後の仕上げに[[ファイン・チューニング>深層学習のテクニ...
**特徴 [#j32b07ab]
***教師あり、なし [#k104eb7b]
-教師なし学習
--エンコーダーで主成分分析と同じ次元削減を行う。
--中間層の次元削減されたデータを潜在変数と呼ぶ。
--デコーダーで入力データと一致するデータを出力する。
--(データ作成の観点では)教師なしだが(、学習の観点では...
--出力データと入力データの誤差を再構成誤差(Reconstruct E...
-モデルの構造~
入力層、中間層、出力層の3層のAEの場合、
y = f2(W2 f1(W1x + b1) + b2)
--入力層より中間層の方が小さいAEを不完備(undercomplete)...
--出力層の活性化関数f2は[[恒等関数>#ea439f39]](別に分類...
***入出力を一致させる。 [#wd3475df]
-入出力が一致するように各エッジの重みを調整~
-出力と入力に対して誤差を算出し、その差が小さくなるように...
***特徴表現の獲得 [#l1ca8724]
隠れ層の次元を小さくして情報量を小さくした特徴表現を獲得...
(入力の情報を圧縮される。→ 学習の結果、重みとして要約さ...
-入力したデータをEncoderで潜在空間上の特徴量([[潜在変数...
-潜在空間上の特徴量([[潜在変数z>#wbd82034]])からDecode...
-潜在空間:何かしらの分布を仮定した潜在空間を学習
※ EncoderもDecoderも[[ニューラルネットワーク]]
**種類 [#i6d2c6b3]
様々な種類があるもよう。
***[[変分AE(VAE : Variational auto-encoder)>#scfd6dd7]]...
***[[ベクトル量子化変分オートエンコーダ(VQ-VAE)>#r30224...
***スタック型AE [#q31bd6c7]
***スパースAE [#s9123927]
***ディープAE [#r10b8379]
***デノイジングAE [#ef099ad3]
***, etc. [#r79bada1]
**できること [#m200a83f]
様々な用途で利用されている。
***[[自然言語処理>言語処理(AI)#a5995dbe]] [#tc292ad4]
***[[ロボティクス>人工知能(AI):ロボティクス#o1cea037]]...
***[[異常検知>AIの活用例#o6ad8a75]] [#p61cb6cc]
***[[需要予測>AIの活用例#j8f8a628]] [#g91436e7]
*詳細 [#d4622d02]
**変分オートエンコーダ(VAE) [#scfd6dd7]
変分AE(VAE:Variational Autoencoder)
-画像生成、音声生成、異常検知などのタスクでは[[AE>#b2d7f0...
--VEと異なり、確率的生成モデルの一種で、データの潜在表現...
--入力データが何らかの分布(一般的には多変量正規分布や正...
--データを低次元の潜在空間にエンコードし、その後デコード...
---エンコーダー~
・入力データを潜在空間の平均と分散の[[潜在変数z>#wbd8203...
・入力データが潜在空間内のどの位置に分布するかを表す確率...
・マッピングは厳密な分布ではなく、平均と分散のパラメタを...
---デコーダー~
・潜在空間からサンプリングされた[[潜在変数z>#wbd82034]]...
・潜在空間からサンプリングされた[[潜在変数z>#wbd82034]]...
・
--生成される画像は鮮明ではなく、ぼやけた画像になる。
***仕組み [#g2c513ed]
-Encoder・Decoder
--Encoder
---入力データが多次元ガウス分布として符号化され、その分布...
---つまり、多次元ガウス分布を記述する平均 μ と分散 σ^2 を...
--Decoder
---サンプリングされた[[潜在変数z>#wbd82034]]から、元々の...
-学習~
損失関数(「再構築誤差」と「潜在表現の分布」)を最小化す...
--損失関数
---一般的にKLダイバージェンス(Encoderによる誤差)や再構...
---これらの損失関数は、再構築誤差を最小化し、同時に潜在表...
--以下のように学習
---入力をエンコードした潜在変数をサンプリングしたzをデコ...
---エンコードの分布が平均 0、標準偏差 Iのガウス分布に近く...
--潜在変数のサンプリング処理が入るため誤差逆伝播を行うこ...
---これをReparameterization Trick(再パラメタ化トリック)...
---Encoderによってサンプリングに利用する変数μ,σを出力
---新たにサンプリング変数εを導入し潜在変数zを「z=μ+εσ (ε...
---ネットワーク全体が微分可能になり、確率的な変数の勾配を...
-「D KL(N(μ,σ)∣N(0,I))」を正則化項として加えると集合の中...
--KLダイバージェンスは事前分布と事後分布の情報量の差を表...
--D KL(事前分布|事後分布)
--事前分布:平均 μ、標準偏差 σ
--事後分布:平均 0、標準偏差 I
***潜在変数z [#wbd82034]
-潜在空間上の特徴量、潜在変数z
--潜在変数zにガウス分布を仮定し、潜在変数zを(ガウス分布...
--潜在変数zは入力x1, x2を、異なる潜在変数の領域に正規分布...
--潜在変数zが連続的な分布(正規分布)になっているので調整...
-層
--Encoder
---μ,σ^2 = encoder(x)
--中間層
---z~N(μ, σ^2)
---ノイズ : ϵ~N(0, I)
---z = μ+σϵ
--Decoder
---X=decoder(z)
***最適化 [#z408764b]
x をより良く表現する p(X) のパラメタを学習するには、周辺...
|記号|説明|h
|X|再構成されるデータ|
|p(X)|再構成されるデータの確率分布|
|z|[[潜在変数z>#wbd82034]]|
|p(z)|[[潜在変数z>#wbd82034]]の確率分布|
|p(X|z)|[[潜在変数z>#wbd82034]]が与えられた時のxの確率...
|q(z|X)|データXが与えられた時のzの確率分布(Encoder)|
**ベクトル量子化変分オートエンコーダ(VQ-VAE) [#r3022418]
***... [#jcf76cc5]
*参考 [#e1a7b1f5]
-深層学習についてのレポート(画像系、CNN画像認識以外)~
https://www.osscons.jp/joy1y64w3-537/#_537
-YouTube
--[[AI教室 AIRS-Lab>深層学習(deep learning)#o49c1a2e]]
---AIによる画像生成を学ぼう! 【VAE、GAN】~
https://www.youtube.com/playlist?list=PLcd5jOpoEDGBDqiRMS...
終了行:
「[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfras...
-戻る([[ニューラルネットワーク]]、[[画像処理とコンピュー...
--一般的なフツーの[[ニューラルネットワーク]]
---[[順伝播型ニューラルネットワーク(FNN)>ニューラルネッ...
---[[ディープニューラルネットワーク(DNN)>ニューラルネッ...
---[[畳み込みニューラルネットワーク(CNN)]]
--[[再帰型ニューラルネットワーク(RNN)]]
---[[長短期記憶ニューラルネットワーク(LSTM)]]
---[[RNN Encoder-Decoder(Sequence-to-Sequence)]]
--[[生成モデル>機械学習の理論#p3f4e303]]系の[[ニューラル...
---自己符号化器(AE:オートエンコーダ)
---[[テキスト生成系(Transformer系)]]
---[[敵対的生成ネットワーク(GAN)]]
*目次 [#ka4e8507]
#contents
*概要 [#b2d7f0fb]
自己符号化器(AE:オートエンコーダ)、自己識別機とも呼ば...
-入力データを低次元の潜在表現にエンコードし、~
その後デコードして元のデータを再構築するためのモデル
-データの次元削減や特徴抽出などのタスクに使用される。
-入力データの再構築誤差を最小化することで訓練される。
-(余談だがVAEと違って、確率的生成モデルではない。)
**歴史 [#n519f0fb]
-元々、(入出力兼務の)可視層と隠れ層の2層の[[ニューラル...
-[[勾配消失問題>#id252e38]]を[[事前学習>深層学習のテクニ...
-AEのポイントは、可視層より隠れ層の次元(数)を少なくして...
-このAEを積み重ね、ディープAE、正確には、積層AEを作成(ジ...
層の積み重ねは、[[事前学習>深層学習のテクニック#ebe9edcc]...
--はじめに[[事前学習>深層学習のテクニック#ebe9edcc]]を行...
--最上部に層を足し、教師あり学習にする(?)
---ロジスティク回帰層~
---回帰問題の場合、線形回帰層
--最後の仕上げに[[ファイン・チューニング>深層学習のテクニ...
**特徴 [#j32b07ab]
***教師あり、なし [#k104eb7b]
-教師なし学習
--エンコーダーで主成分分析と同じ次元削減を行う。
--中間層の次元削減されたデータを潜在変数と呼ぶ。
--デコーダーで入力データと一致するデータを出力する。
--(データ作成の観点では)教師なしだが(、学習の観点では...
--出力データと入力データの誤差を再構成誤差(Reconstruct E...
-モデルの構造~
入力層、中間層、出力層の3層のAEの場合、
y = f2(W2 f1(W1x + b1) + b2)
--入力層より中間層の方が小さいAEを不完備(undercomplete)...
--出力層の活性化関数f2は[[恒等関数>#ea439f39]](別に分類...
***入出力を一致させる。 [#wd3475df]
-入出力が一致するように各エッジの重みを調整~
-出力と入力に対して誤差を算出し、その差が小さくなるように...
***特徴表現の獲得 [#l1ca8724]
隠れ層の次元を小さくして情報量を小さくした特徴表現を獲得...
(入力の情報を圧縮される。→ 学習の結果、重みとして要約さ...
-入力したデータをEncoderで潜在空間上の特徴量([[潜在変数...
-潜在空間上の特徴量([[潜在変数z>#wbd82034]])からDecode...
-潜在空間:何かしらの分布を仮定した潜在空間を学習
※ EncoderもDecoderも[[ニューラルネットワーク]]
**種類 [#i6d2c6b3]
様々な種類があるもよう。
***[[変分AE(VAE : Variational auto-encoder)>#scfd6dd7]]...
***[[ベクトル量子化変分オートエンコーダ(VQ-VAE)>#r30224...
***スタック型AE [#q31bd6c7]
***スパースAE [#s9123927]
***ディープAE [#r10b8379]
***デノイジングAE [#ef099ad3]
***, etc. [#r79bada1]
**できること [#m200a83f]
様々な用途で利用されている。
***[[自然言語処理>言語処理(AI)#a5995dbe]] [#tc292ad4]
***[[ロボティクス>人工知能(AI):ロボティクス#o1cea037]]...
***[[異常検知>AIの活用例#o6ad8a75]] [#p61cb6cc]
***[[需要予測>AIの活用例#j8f8a628]] [#g91436e7]
*詳細 [#d4622d02]
**変分オートエンコーダ(VAE) [#scfd6dd7]
変分AE(VAE:Variational Autoencoder)
-画像生成、音声生成、異常検知などのタスクでは[[AE>#b2d7f0...
--VEと異なり、確率的生成モデルの一種で、データの潜在表現...
--入力データが何らかの分布(一般的には多変量正規分布や正...
--データを低次元の潜在空間にエンコードし、その後デコード...
---エンコーダー~
・入力データを潜在空間の平均と分散の[[潜在変数z>#wbd8203...
・入力データが潜在空間内のどの位置に分布するかを表す確率...
・マッピングは厳密な分布ではなく、平均と分散のパラメタを...
---デコーダー~
・潜在空間からサンプリングされた[[潜在変数z>#wbd82034]]...
・潜在空間からサンプリングされた[[潜在変数z>#wbd82034]]...
・
--生成される画像は鮮明ではなく、ぼやけた画像になる。
***仕組み [#g2c513ed]
-Encoder・Decoder
--Encoder
---入力データが多次元ガウス分布として符号化され、その分布...
---つまり、多次元ガウス分布を記述する平均 μ と分散 σ^2 を...
--Decoder
---サンプリングされた[[潜在変数z>#wbd82034]]から、元々の...
-学習~
損失関数(「再構築誤差」と「潜在表現の分布」)を最小化す...
--損失関数
---一般的にKLダイバージェンス(Encoderによる誤差)や再構...
---これらの損失関数は、再構築誤差を最小化し、同時に潜在表...
--以下のように学習
---入力をエンコードした潜在変数をサンプリングしたzをデコ...
---エンコードの分布が平均 0、標準偏差 Iのガウス分布に近く...
--潜在変数のサンプリング処理が入るため誤差逆伝播を行うこ...
---これをReparameterization Trick(再パラメタ化トリック)...
---Encoderによってサンプリングに利用する変数μ,σを出力
---新たにサンプリング変数εを導入し潜在変数zを「z=μ+εσ (ε...
---ネットワーク全体が微分可能になり、確率的な変数の勾配を...
-「D KL(N(μ,σ)∣N(0,I))」を正則化項として加えると集合の中...
--KLダイバージェンスは事前分布と事後分布の情報量の差を表...
--D KL(事前分布|事後分布)
--事前分布:平均 μ、標準偏差 σ
--事後分布:平均 0、標準偏差 I
***潜在変数z [#wbd82034]
-潜在空間上の特徴量、潜在変数z
--潜在変数zにガウス分布を仮定し、潜在変数zを(ガウス分布...
--潜在変数zは入力x1, x2を、異なる潜在変数の領域に正規分布...
--潜在変数zが連続的な分布(正規分布)になっているので調整...
-層
--Encoder
---μ,σ^2 = encoder(x)
--中間層
---z~N(μ, σ^2)
---ノイズ : ϵ~N(0, I)
---z = μ+σϵ
--Decoder
---X=decoder(z)
***最適化 [#z408764b]
x をより良く表現する p(X) のパラメタを学習するには、周辺...
|記号|説明|h
|X|再構成されるデータ|
|p(X)|再構成されるデータの確率分布|
|z|[[潜在変数z>#wbd82034]]|
|p(z)|[[潜在変数z>#wbd82034]]の確率分布|
|p(X|z)|[[潜在変数z>#wbd82034]]が与えられた時のxの確率...
|q(z|X)|データXが与えられた時のzの確率分布(Encoder)|
**ベクトル量子化変分オートエンコーダ(VQ-VAE) [#r3022418]
***... [#jcf76cc5]
*参考 [#e1a7b1f5]
-深層学習についてのレポート(画像系、CNN画像認識以外)~
https://www.osscons.jp/joy1y64w3-537/#_537
-YouTube
--[[AI教室 AIRS-Lab>深層学習(deep learning)#o49c1a2e]]
---AIによる画像生成を学ぼう! 【VAE、GAN】~
https://www.youtube.com/playlist?list=PLcd5jOpoEDGBDqiRMS...
ページ名: