Beyond the State-of-the-Art

最先端を超えたいと思ってる(大嘘)エンジニアのブログ

Deep Learningをゼロから作ることにした(その1)

最近Kerasを使って試しにLSTMでcos曲線を予測するというのをやってみたのですが、deep learningについては雲を掴むような感じで何もわかりませんでした。 そこで、deep learningの原理から実装までをひと通り知るために、次の本を読みながらdeep learningを実装することにしました。

このシリーズ記事では上の本で勉強した事について適当に書こうと思います。今回は1〜2章について書きます。

1章 Python入門

Pythonは普段からよく触っているので、基本的に軽く目を通しただけです。Numpyに慣れていないので、Numpyのところを重点的に読みました。ブロードキャストの有効活用例はいまいちイメージできないですね。Numpy配列のflattenメソッドは便利そうだなと思いました。

2章 パーセプトロン

ニューラルネットワークの前身?であるパーセプトロンについて。AND・NAND・ORといった単純な論理回路パーセプトロンで表現。実装例を見ると、Numpyのelement-wise productは便利だなと思いました。

本章では線形分離性について説明されていて、XORは単一のパーセプトロンで表現できず、AND・NAND・ORを使って多層のパーセプトロンで表現できることが書かれていました。多層パーセプトロンを表す図がニューラルネットっぽい図だと思いました。

次章

次章はニューラルネットワーク入門。