やること
エンコーダ部分とデコーダ部分をまとめて学習させると、どうも学習が安定しない気がします。今日は、学習を工夫した「Stacked Auto-Encoder」でケーキ画像の次元圧縮を試してみましょう。
使うもの
Google Colaboratoryが利用可能です。
Google Colab
AIワークショップ|初心者だけどCNNで次元圧縮できちゃった (2019/02/25 19:00〜)
# 「そうだ、次元を圧縮しよう」 中高生のなりたい職業ランキング1位「次元圧縮師」(大きな声で嘘をつく) ## オンラインコミュニティ 情報交換・質問・クレームなどはAI FASHIONのSlack(自由参加)でお願いします。 ## コンセプト CNNで画像の次元圧縮をしてみる。期待しすぎてはいけない。初心者...
Stacked Auto-Encoderのアルゴリズム
プログラムを実行する
配布された「autoencoder_2.py」を上手に実行すると、「cake_AE2_para/」フォルダが生成され、各ステップごとの重みとバイアスが保存されます。
結果
以下の画像は、上側が0エポック時、下側が十分に学習が進んだ後、オートエンコーダの性能を確認したものです。 100次元まで絞ってもなんとなく重要な情報は保持できているように見えます。しかし、2次元はやはり絞りすぎでした。実際の活用法として、ニューラルネットでは100次元までの圧縮にとどめ、そこから主成分分析などを用いてさらに圧縮・解析することもあるようです。