External Memory

プログラミング周辺知識の備忘録メイン

深層学習

ドロップアウトにおける過学習抑止と学習精度のためのkeep率の設定

ニューラルネットワークを用いた機械学習において、 ドロップアウトは汎用性、つまり学習用データの正答率とテストデータの正答率のギャップを埋めるためのものであり、ニューラルネットワークそのものの学習精度を向上させるものとは言い切れない。テストデ…

TensorFlow exampleプログラムのmnist_deep.pyにあるドロップアウトについて

ドロップアウトの効果を確認したく、過学習状態を無理やり作っていろいろ試してみたが なかなかうまくいかなかった。そこでTensorFlow exampleプログラムの tensorflow/mnist_deep.py at r1.2 · tensorflow/tensorflow · GitHubでドロップアウト処理を行って…

hidden layer(隠れ層)のunit数の違いによる学習制御について

ニューラルネットワークによる機械学習において、 それぞれのhidden layerごとのunit数によって 学習の制御がある程度可能であると直観的には思われる。例えば、以下のようなことを考えた。 unit数が少ないとunitごとに相互作用が大きく(周囲の変化に敏感・…

CIFAR-10データのニューラルネットワーク学習

MNISTに続いてCIFAR-10についても機械学習を行うプログラムを作成した。 CIFAR-10は自動車や飛行機、カエルなど10種類の 各6000*10個の32*32pixel RGBカラー画像データです。画像データは種類に対してほぼランダムのようですが、 一部ある種類の画像が偏って…

MNISTデータのニューラルネットワーク学習

機械学習の練習によく使用されるMNISTの手書き数字データを利用して、 実際にプログラムを作成して学習を行った。モデルは簡単な2つのニューラルネットワーク、 入力と出力のみの2層、及びhidden layerを1層挿入した3層ネットワークです。 import tensorflow…

機械学習におけるハイパーパラメータ最適化自動化について

機械学習においてハイパーパラメータをうまく調節するのは 面倒で時間がかかる作業である。 この最適化を自動化して、良い成果を得ている論文を見つけた。(おそらく有名な論文) https://papers.nips.cc/paper/4522-practical-bayesian-optimization-of-mac…

重み初期設定と活性化関数による学習速度の改善

前回の3層ニューラルネットワーク構造の学習の検討において 学習速度の速度の問題が目についた。 http://taka74k4.hatenablog.com/entry/2017/08/03/120000 今回は学習速度の改善を試みた。過適合による学習速度の低下ではなく、始めから学習速度は遅かった…

以前の機械学習検討の改善(hidden layer追加など)

前回の TensorFlowの機械学習を利用した擬似星の等級の計算 - External Memory でTensorFlowを用いた星の等級の見積りを試しで行ったが、 正答率があまり良くなかった。 今回はhidden layerを追加して前回の2層から3層に変更して見積りを行った。 それぞれの…

ソフトマックス関数とシグモイド関数でのクロスエントロピー誤差関数について

Neural networks and deep learningの前半辺りを読んだときソフトマックス関数の時のクロスエントロピーではどうなるか 気になったので、数式を少しいじって調べシグモイド関数の場合と比較した。 クロスエントロピー誤差関数はそれぞれの活性化関数によって…