機械系エンジニアの備忘録

20代独身社会人。仕事では機械・機構の研究開発を行っているエンジニアが、自分の専門分野ではないpythonを扱って楽しむブログです。

MENU

これは買い!ニューラルネットワークを自作したいpython初心者向け図書「ニューラルネットワーク自作入門」

【情報共有】ニューラルネットワークを自作したいpython初心者向け図書

 

1. はじめに

昨今、1日1回はAIという単語を聞く方も多いと思います。

AIの代表的な処理方法としてニューラルネットワークがあります。

ニューラルネットワークとは何か一言で言うと、「入力と目標値だけ人間が決めてあげれば、後はコンピュータが勝手に学習して両者の関係を導き出してくれる仕組み」です。

ここで入力とは測定できるデータ(手元にあるデータ)などです。例えば電流・電圧値、温度、圧力、画像のピクセル値などです。

対して出力とは判定・判断したいものです。例えば制御したい位置座標、定常状態での温度、手で書いた文字、人の顔などです。

例えばAさんの顔を判断したい場合、Aさんの顔を画像のピクセル値を用いてニューラルネットで学習させれば、Aさんとそれ以外の人の顔を瞬時に判断してくれるようになります。

今回ニューラルネットワークの自作をしたいpython初心者に非常におすすめの図書をシェアしたいと思います。

 

2. おすすめの図書「 ニューラルネットワーク自作入門」

ニューラルネットワーク自作入門

ニューラルネットワーク自作入門

 

 原著は英語で、それを大学教授の方が訳して日本語版として売られているものです。レビューでは「訳がおかしい」などありますがあまり気にしないで大丈夫です。

全ページ読みましたが、確かに直訳的な部分もありますが、何を言いたいのかしっかりと理解できます。むしろ多忙であろう中、英語が苦手な人のために、このような海外の良書を日本語で読めるよう翻訳して下さったことに非常に感謝しています。

また難しい数式等はほとんど出てきません、最低限必要な行列や微分についても中・高校生でも分かるように説明されているし付録に詳細な解説もあります。

また私はpythonの基本的な書き方くらいしか分からない状態で読みましたが、それでも理解できました。

ちなみに 原著はこちらになります、英語の方が得意な方はこちらを読んでも良いと思います。

Make Your Own Neural Network (English Edition)
 

 

3. 感想ー勉強してみて

主に以下の2点「ニューラルネットワークがどういう理屈で動いていて文字を認識しているのか」、「またそれをpythonで書こうとしたらどういうコードが必要なのか」について非常に丁寧に書かれており、この本1冊で基本的な理論から実装までを理解することができます。今後、より高難易度の認識に挑戦したい人にとって基礎を固めるのに適した本だと思います。

具体的にはこの書籍で勉強すると0~9の手書き数字を約95%という高精度で認識するニューラルネットワークを自作することができます。

例えば、以下のような28×28の手文字を入力として入れます。

f:id:stjun:20190616165155p:plain

するとこのように、

f:id:stjun:20190616165410p:plain

ちゃんと数字は9だと認識されています。

 

4. 最後に

本著を読んで機械学習について非常に興味を持ちました。

良い参考書を知っている方はぜひ教えてください。