2017-09-01から1ヶ月間の記事一覧

ハイパーパラメータの自動最適化

ハイパーパラメータ MNISTコード XORコード 結論 ハイパーパラメータ ニューロンの数や学習係数などをハイパーパラメータと言います。これらは幾通りもあり、なおかつ値によって結果がかなり異なることがあります。ハイパーパラメータをランダムに選び、実験…

誤差逆伝播法

誤差逆伝播法 加算ノード 定義 コード 乗算ノード 定義 コード Affineノード 定義 コード ReLU 定義 コード SoftmaxWithLoss コード レイヤの生成 順伝播 逆伝播を追加 誤差逆伝播法 前回までは、勾配の計算は数値微分で行いました。数値微分は、実行に時間…

重みの初期値

重みの初期値 Xavier 定義 コード He 定義 コード 他にも 標準偏差0.01 間違ったら良くなった初期値 出力 Xavier He 標準偏差0.01 間違ったら良くなった初期値 結論 重みの初期値 ハイパラメータとして他にも重要なのが、重みの初期値です。ここでは、Xavier…

MomentumとAdaGrad

MomentumとAdaGrad SGD 定義 コード Momentum 定義 コード AdaGrad 定義 コード mainプログラム 出力 Momentum AdaGrad 結論 MomentumとAdaGrad 前回まではパラメータの更新に確率的勾配降下法(SGD)を使いました。精度は30%ぐらいだったので、今回はMomentum…

NumPyだけでXOR回路

XOR回路 多層パーセプトロン ニューラルネットワークを作成する パラメータの宣言 学習 推論 損失の計算 勾配の計算 パラメータの更新 推論 ソースコード 出力 改良点 XOR回路 XOR回路は入力x1,x2に対して、出力yを行います。 | x1| x2| y | |:-:|:-:|:-:| |…

NumPyだけでAND回路

AND回路 単純パーセプトロン ニューラルネットワークを作成する パラメータの宣言 学習 学習データの推論 損失の計算 パラメータの更新 テストデータの推論 ソースコード 出力 AND回路 AND回路は入力x1,x2に対して、出力yを行います。 | x1| x2| y | |:-:|:-…

NumPyの基本

NumPy NumPyのインポート NumPy配列の作成 NumPyの加減乗除 NumPyの行列積 NumPyのライブラリ 三角関数 指数関数 対数関数 最大値 NumPy配列の行ごと(列ごと)の合計 ランダム値の生成 NumPy NumPyは数値計算を簡単に行うためのライブラリです。 特に強力な…

Pythonの基本

Pythonの基本 Pythonの基本 データ型 リスト スライシング ディクショナリ データ型 今のディープラーニングのフレームワークのほとんどが、Pythonで書かれています。ここでは、必要最低限の知識を書いていきたいと思います。 Pythonでは、変数への代入の際…

jupter notebookの使い方

jupter notebook jupter notebookの起動 jupter notebookの使い方 jupter notebook jupter notebookの起動 jupter notebookの使い方を最低限学んでおく必要があります。簡単に説明するため、あまり画像を用いないで説明します。 とりあえず起動しましょう。 …

ディープラーニングを始めるための環境構築

環境構築 Anacondaのインストール インストーラの起動 Anaconda Navigatorの起動 jupyter notebook 環境構築 ディープラーニングでは主にPythonが使われます。そのための環境構築を行っていきます。 Anacondaのインストール AnacondaはPythonを含め、ディー…

確率の基礎

確率変数 確率分布 同時確率 周辺確率 条件付確率 ベイズの定理 確率変数 コインの表、裏やサイコロの1,2,3,4,5,6など各値に対して、確率が与えられている変数を 確率変数 といいます。 確率分布 ある確率変数 の値が離散であるとき 、確率分布は以下のよう…