Beginners"の解説を読みプログラムを実行してみました。Experts"の解説を読みプログラムを実行してみます。TensorFlow前回のBeginners編と今回のExperts編の一番大きな違いは、Beginners編では画像のローカル構造を無視してしまい、1次元のベクトルに展開してしまいましたが、Exprets編では2次元の画像の2次元のまま扱う手法としてCNNを用いているところです。CNNを用いることで数字の形の特徴をとらえることができ、認識率が大きく向上することが期待されます。全結合層Softmax層となっています。2回の畳み込み層により画像のローカルな構造とよりグローバルな構造をとらえることができます。regressionという前回と同じような構造になっています。version."という将来のバージョンでこのコマンドは使えなくなりますよという警告ですので、当面は無視しておいても問題なさそうです。0.9913今度は、testデータで99%の精度を超えてきます。簡単なCNNですがかなりの精度がでますね。scaleなので1)の畳み込みフィルターが32種類あるということを示しています。64])となっており、5x5x32のフィルターが64種類あることを意味しています。ここでの32や64はネットワークの途中で学習して特徴量の数に対応しています。と順次スケールされていきます。poolingが終わった時点では7x7の画像が64枚出力されています。7*7*64])です。W_fc1とバイアスb_fc1をこれに作用させることで、全結合層計算ができます。b_fc1)このネットワークでは過学習を防止するためにdropout、つまり適当にネットワークの重みWをゼロにするという操作を行います。keep_prob)初めの行はdropoutの際に接続が保持される確率を格納するためのplaceholderで学習時には0.5で推論時にはdropoutしないように1.0にセットしています。最後に10種類の数値に対応するように単層のsoftmax回帰に相当する層を追加しています。tf.train.AdamOptimizer(1e-4).minimize(cross_entropy)とAdamを使用しています。GradientDescentとAdamで結果がどれくらいちがうのかちょっと実験してみました。0.2062まあ、予想通りですが、SGDに比べるとADAMの方がかなり収束が早いです。パーセプトロンで線形分離を実装してみる今度は、パーセプトロンを使って線形分離をしてみます。読者になるmathJaxはてなブログをはじめよう!wshinyaさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。