DeepLearning なり機械学習を使ったサービスアイデアを思いついたので、こちらを読み進めていきます。
ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装
- 作者: 斎藤康毅
- 出版社/メーカー: オライリージャパン
- 発売日: 2016/09/24
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (17件) を見る
2章:パーセプトロン
- パーセプトロンはニューラルネットワークの期限となるアルゴリズム。 電流を流す(1)か流さないか(0)の二値を返す。 b をバイアスと予備、発火するかどうかのしきい値を示す。 w を重みと予備、各変数の重要性を表す
y = 0 (if b + w1 * x1 + w2 * x2 <= 0) y = 1 (if b + w1 * x1 + w2 * x2 > 0)
- ANDやORなどを表すパーセプトロンを実装できるが、XORは一層のパーセプトロンでは表すことができない。一層のパーセプトロンは線形関数になるので、XORのような直線でしきい値を表せない場合は定義できない。そこで、多層のパーセプトロンとして定義する。(AND、NAND、ORのパーセプトロンを重ね合わせる
- コンピュータはNANDゲートの組み合わせで作ることができる。
3章:ニューラルネットワーク
・2章で登場した h( b + w1 * x1 + w2 * x2 )
のような、入力信号の総和を出力信号に変換する関数を活性化関数と呼ぶ
・パーセプトロンでは、活性化関数として「ステップ関数」を用いているが、この活性化関数を別の関数に変更することで、ディープラーニングの世界に突入する。
・適切な重みパラメータをデータから自動で学習できるというのがニューラルネットワークの重要な性質のひとつです。
・活性化関数には非線形関数を用いる。多層にできない(する意味がない)ため。
・ReLU関数:入力が負なら0、0以上ならその値はそのまま出力する