クーの自由研究

素朴な疑問を実験します。ボクと一緒に螺旋階段を頂上まで登ってみませんか?貴方の影についていきます。

自己符号化器の自由研究(その4) 関数が線形でも学習できる?

おおまかな内容

いろいろな活性化関数がありますが、一般的には非線形関数です。線形関数を使うとどうなるのでしょうか。線形関数では何がだめなのか(適さない)のか実験します。

なぜやるのか・どうなると思うか

活性化関数が非線形であることは、学習に対してどのような効果があるか確認します。これもおおかた予想がつきますが、やってみないと実証できません。ボクすこしだけ気になります。

準備と実験のやり方 

機械学習界隈では全く人気のない線形(Liner)関数を準備します。

f:id:np2LKoo:20160820110830p:plain

そう!学校(?)で最初にならうグラフはこれだった気がします。

{ y = x }

実験の結果

以下のようになりました。

f:id:np2LKoo:20160820105452p:plain

まとめ

最初は「へぇ~線形関数でも学習になるんだぁ。」と感じましたが、いろいろダメダメなことがわかりました。

活性化関数が線形なので、どの重みも一様に差が乗って行く感じで、特徴の分離性がとても悪いです。初期値が悪いとすぐ発散する。学習がすぐ頭打ちになる。比較表を書くまでもなくSigmoidのよいところの完全に裏返しです。

でも y=abs(x) よりはましですよね。。。

感想・思ったこと・考えたこと

共通的な特徴(平均画像での特徴?)とそれぞれの画像での特徴(個性?分散?)は分かれて学習されいったほうが応用性がある気がします。線形(Liner)は共通的な特徴を分離せず、すべて「そのまま覚える」「抽象化/一般化しない」で学習している「感じ」がします。それならアルゴリズムの補助で特徴がおのずと分離しながら積みあがっていく方法はないものかと思案してみます。

自己符号化器は蛇につけた足のようにふらふら「バカ歩き」しながら学んでいく

おしい!実に惜しい!

f:id:np2LKoo:20170321031042j:plain

これは完全にネタだよ

もし「オートエンコーダ」の部分が「自己符号化器」もしくは「AutoEncoder」で背中に中間「1層」のこんなグラフィック

f:id:np2LKoo:20160820105358p:plain

があれば、まとめ買いしてたのに!!

ちなみに紹介文は以下のとおりです

----------------------------------------------------------

オートエンコーダのオリジナルTシャツ: オートエンコーダ(自己符号化器、英: autoencoder)とは、機械学習において、ニューラルネットワークを使用した次元圧縮のためのアルゴリズム。2006年にジェフリー・ヒントン(Geoffrey Everest Hinton)らが提案した。線形の次元圧縮としては主成分分析があるが、オートエンコーダはニューラルネットワークを使用する。中間層が2層以上ある場合はディープ・オートエンコーダ(英: deep autoencoder)と呼び、深層学習(英: deep learning)の研究の始まりとなった。オートエンコーダはフィードフォワードニューラルネットにおいて、入力と出力を同じにして教師あり学習をさせて作る。その際、中間層は1層にする。学習方法は、バックプロパゲーションで行うため非線形最適化問題となる。スパース・オートエンコーダ(英: sparse autoencoder)とは、フィードフォワードニューラルネットワークの学習において汎化能力を高めるため、正則化項を追加したオートエンコーダのこと。ただし、ネットワークの重みではなく、中間層の値自体を0に近づける。中間層が2層以上あるニューラルネットワークをディープ・ニューラルネットワーク(英: deep neural network)と呼ぶが、バックプロパゲーションでは、中間層が2層以上ある場合、通常、不適切な極小解に収束してしまうため、うまく行かない。なので、中間層を2層以上積み上げる場合は、まず、中間層1層だけで作り、次に、出力層を取り除き、中間層を入力層と見なし、もう1層積み上げる。これを繰り返して作る方法をジェフリー・ヒントンらが2006年に提案した。積層自己符号化器(英: stacked autoencoder)とも言う。ジェフリー・ヒントンらの2006年の論文では、画像の次元を 2000 → 1000 → 500 → 30 と圧縮し、30 → 500 → 1000 → 2000 と復元した事例が紹介されている。スパースオートエンコーダにドロップアウトを施して学習させたもの。

----------------------------------------------------------

よく見ると、自分でデザインできるらしいです。買おうか思案中。。。