ゲームのAIを強くするために、強化学習の関数近似で、深層学習(Deep Learning)を使えるようになりたいと思ってる。
なので、深層学習について、以下の本で勉強中。

- 作者: 岡谷貴之
- 出版社/メーカー: 講談社
- 発売日: 2015/04/08
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (7件) を見る
とりあえず、まずは基本となるニューラルネットワークについて学んでみた。
なお、強化学習については、以下の記事を参照。
ニューラルネットワークの構成
ユニットの出力
ニューラルネットワークでは、ユニット(あるいはニューロン)と呼ばれる部品を互いに接続することで、ネットワークを構成する。
各ユニットは、入力 (
は入力の次元)を受け取り、出力
を返す。
各ユニットには、バイアス と、入力に対する重み
、そして活性化関数
があり、次のように出力を得る。(活性化関数については明日)
図にすると、以下のとおり。
多層ネットワーク
ニューラルネットワークのユニットの結合には、いろんな方法が考えられる。
よく使われるのは、ユニットのいくつかを1つの層にまとめて、複数の層を順番に並べ、一つ前の層の出力を次の層の入力にする構成。
一番最初の層を入力層、一番最後の層を出力層、途中の層を中間層(もしくは隠れ層)と呼び、層目
のユニットの数を
、出力を
で表すことにすると、次のようになる。
そして、入力層の出力 はニューラルネットワークそのものに対する入力
として、出力層の出力
をニューラルネットワークそのものによる出力
とする。
また、層目
の
番目のユニット
の重みを
、バイアスを
、活性化関数を
とすると、各層の出力
は、次のようになる:
図にすると、次のような感じ。
今日はここまで!

- 作者: 岡谷貴之
- 出版社/メーカー: 講談社
- 発売日: 2015/04/08
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (7件) を見る