読者です 読者をやめる 読者になる 読者になる

不確定特異点

広く深く、ところどころ超深く

Ubuntu 14.04.3 LTS に Chainer をインストールする

Deep learning のフレームワークである Chainer を試用してみたところ、サンプルの MNIST の学習に時間がかかりすぎて、これは CPU に計算させる代物ではないことを悟りました。そこで、GPU を使って計算するための環境を整えることにしました。 環境 CPU In…

学習とニューラルネットワーク (5)

ボルツマンマシン 今回はボルツマンマシンのシミュレーションを実装してみました。 Simple Boltzmann Machine Simulation エネルギー関数として を仮定すると、エネルギーの極小点は の 1 点になります。これを実際にシミュレーションにより再現できるかを見…

学習とニューラルネットワーク (4)

誤差逆伝播法 前回、入力層と出力層からなる、単一ニューロンによる関数近似を実装してみました。特定の関数はうまく近似できましたが、XOR のような関数は学習が収束せず、近似することができませんでした。 今回は中間層を加えてフィードフォワード型の 3 …

誤差逆伝播法を計算中(続き2)

誤差逆伝播法で学習ができるようになったのですが、コードが手元にないので載せられません。(涙)というわけで明日に持ち越し。 現状は入力層、中間層、出力層の 3 層からなる最も単純なネットワークで学習してますが、以下の make-network のような関数に…

誤差逆伝播法を計算中(続き)

やっとの計算ができた!何でこんなに苦戦してるんだろう。たった 40 行のルーチンの実装に 2 日かかっている、というか、ほとんどの時間、式をこねくり回してました。今なら誤差逆伝播の導出がスラスラできる気がする。 あとは勾配法で重みを更新すれば学習…

誤差逆伝播法を計算中

前回の続きを実装しているのですが、ニューラルネットワークの計算を順伝播も逆伝播も行列演算で書き直すことで形式的に整理するため、サンプルプログラムの行列版を実装中。逆伝播の計算が少しややこしい。

学習とニューラルネットワーク (3)

ニューロンを使った関数近似 前回使った勾配法をニューロンの学習に応用してみます。例として、2入力1出力の関数 f(x1, x2) を考え、これを単一のニューロンで近似することを考えます。f の入出力関係は以下のように6サンプル定義します。 入力値 : (0 1) (1…

学習とニューラルネットワーク (2)

勾配法 勾配法とは最適解をある関数の極値という形で求める手法です。関数 f(x) というのがあって、これの極小値を探索する場合、ある初期値 x0 から始めて、 のように x を次々と更新していきます。これ以上、x が変動しなくなったら、その時の x の値が求…

学習とニューラルネットワーク (1)

時代は知的情報処理です。というわけで、巷で噂の機械学習や深層学習の勉強を進めてます。そもそも機械学習や深層学習で何ができるのか?その限界は何か?このブームは一過性のものなのか?というあたりを見極められればよいと思ってます。(未だに深層学習…