Console(ニューラルネットワークコンソール)についてるサンプルプロジェクトで「AUTO_ENCODER」を試してみます。AUTO_ENCODERとは簡単に言えば。単純にコピーするのではなくて、途中の隠れ層に自己学習させておいて、その学習結果を元に復元する・・みたいなことをする感じです。特徴を学習させる「エンコーダー」と、特徴を元に復元する「デコーダー」という部分から構成します。学習だけさせておいて切り離して、デコーダーの部分だけ動かせば「学習結果を元に画像を生成する」・・みたいにも使えるわけです。詳しく知りたい時は、こちらの画像にリンクをはってますので、どうぞ。これは見てみるのが一番よくわかります。Console)を立ち上げます。サンプルのままで何も変更することはありません。28✕28サイズの二次元データの入力が、隠れ層にあたるAffineレイヤーで、256サイズの一次元データに次元圧縮され、出力でまた二次元に戻されているのが、わかります。学習の実行さて、学習をします。学習曲線はこんな感じです。分類問題ではないのですけど、きっちり特徴を学習している感じはわかります。評価すると、元データ画像(X:image)と、学習済の出力(X')を比較してみることができます。横にならべて比較してみます。特徴を学習することでハッキリした画像になってる!?明らかに学習をして、より特徴のはっきりした画像として出力しているのが、よくわかりますよね。下2つの「9」なんか見事じゃないですか?完全に穴がつぶれてたり、一部が切れたりしているのを、整形してきれいな「9」の形になっていますものね。いうのを見ると、イメージわきますね。ディープラーニングで画家の絵を学習させて、その画家の特徴をもった絵をかかせるとか、作曲家の楽曲を学習させて、その特徴をもった音楽を作曲させるみたいなアプローチも、この延長線上に(もちろん、全然別物の技術でしょうけど)あるという感じが。AUTO_ENCODERは実用用途としては使われていない?上記の結果を見れば、「AUTO_ENCODERで事前学習させた結果を、分類問題を解くニューラルネットワークのインプットに使うといいんじゃないか?」っていうのは、すぐに思いつきます。上で紹介した記事を見ても、実際にされてたみたいです。残念ながら、そういう用途では今はほとんど使われないっぽいんですね。記事をちょっと引用してみます。オートエンコーダが今のディープラーニングを支えているのかというと、そうでもなさそうだ。深層学習ライブラリKerasのオートエンコーダのチュートリアルには、もう今では実用的な用途としてはめったに使われてないと書かれている。オートエンコーダは画像のノイズ除去や可視化程度でしか利用目的がないとされている。実は、その後ディープラーニングのアルゴリズムは改良を重ね、事前学習をせずにランダム値を採用しても十分な精度が出るようになったのだ。やって遊ぶより他に何の約にもたたないのか?というと、そんなことはありません。オートエンコーダの研究は進み、生成モデルで活用されはじめた。いう発展系の事例が紹介されています。deepage.netそれを使えば、こんな感じに学習データにないセレブっぽい顔を、学習して生成することができるというんですね。AutoEncoderなかなか恐るべしです。いう発展系を見せられても、ピンとこないんですが、今回みたいにシンプルなAutoEncoderを体験した後なら、感覚的に、ちょっと身近な気がします。検索スポンサーリンク最近のアクセスTOP5ブクマ数TOP3IT的なTIPS・ノウハウイベントログから抽出したログオン・オフ時刻を見やすいように整形するEXCELのVBAマクロなど。Google検索は利用するけど、アクティビティを保存させたくない時もある文字コードで悩まされるなんて久しぶり/JIS7(ISO-2022-JP)とJIS8の話もっと見る作業時によく参照する「まとめ」djangoテンプレート内でforループで回す時の整理とデフォルト辞書利用時の注意など。djangoテンプレート内ので条件分岐(IF文)で注意することなどをまとめておくdjangoテンプレート/変数の値の参照の仕方が、Pythonと違う所があるので整理しておく。service」とサーバーレスコンピューティング関係をまとめてみる。PWA・SPA・・など「最近のWEBアプリケーションの種類」をざっくりまとめる。文系的まとめディープラーニング(ニューラルネットワーク)の「学習」の肝は「微分」らしいよ。Consoleもっと見るディープラーニングのデモをやってみるWord2Vecで「単語の足し算・引き算の結果(単語)を取得する」デモをやってみる。API」で入力文の疑わしい部分をAIが指摘するデモを作る。classで事前学習済のVGG16モデルを使った画像識別クラス/tensorflow2.0(tf.keras)ランダムフォレストで回帰してみる/気象情報と電力データその2もっと見るPythonでWebアプリやってみるviews.py(python)からデータを渡して、Chart.jsでRaderチャートを描く/Chart.js+djangoWEBブラウザ上にドラッグ&ドロップした画像ファイルをBase64に変換して表示するWEBブラウザで手描きしたイメージをJPEG・PNG変換後Base64エンコードするもっと見るPythonで自動化やってみるWebアプリケーションで自動的に値を参照、スクロール他Tips/Selenium&pythonWebアプリケーションで自動的に何かをクリックするTips/Selenium&pythonWebアプリケーションへの自動入力・選択のTipsあれこれ/Selenium&pythonもっと見るPythonで数学・グラフィックスやってみるモンティ・ホール問題で、ちょっと暇つぶし。最近、台風が怖すぎる!!!生産性向上しろと言いながら、片方で足をひっぱるなんて・・と呆れてます。/軽減税率のニュースを見てもっと見るBOKU62歳の文系SE”BOKU”です。<arakan_no_boku@yahoo.co.jp>興味の向いたものを、つまみ食い的に勉強してます。自分が消化した内容を、頭の整理と備忘を兼ねてブログに書いてます。IT系・・特に機械学習・プログラムネタが中心ですが、IT以外のネタになる時もあります。(43)スポンサーリンクはてなブログをはじめよう!arakan_no_bokuさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。