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