ニューラルネットワーク自作入門
ニューラルネットワークジサクニュウモン
数学と Python の優しい旅
- 著者:
- Tariq Rashid / 新納 浩幸(タリク ラシド / シンノウ ヒロユキ)
- 出版社:
- マイナビ出版
- 出版日:
- 2017年04月28日頃
- ISBN:
- 9784839962258
- 在庫:
- 在庫あり
なぜ注目されているか
書籍紹介
ニューラルネットワークで使われる数学の最もやさしい入門書
ー さらにコンピュータ言語 Python を使って自分自身で作ってみよう!
本書はニューラルネットワークで必要となる数学について、一歩一歩、旅する気分で触れていきながら、コンピュータ言語: Python を使いニューラルネットワークを自作します。今日ニューラルネットワークは深層学習と人工知能の重要な鍵であり、大きな実績をあげています。しかし、実際にニューラルネットワークがどのように機能するかを本当に理解している方は極少数でしょう。
本書では極カンタンなところからスタートし、ニューラルネットワークがどのように機能するかを理解していくーゆっくりと楽しい旅のお手伝いします。
読者の方には中学・高校で学んだ以上の数学の知識を必要としません、本書を通して微積分へ入門することも可能です。
本書の目的はできるだけ多くの読者に・できるだけ理解しやすくニューラルネットワーク自作をお手伝いすることです (さらに発展した課題が欲しい読者には、既にたくさんの教科書があると思います)。
Python でコードを作成し、独自の畳み込みニューラルネットワークを作成。「手書きによる数字」を認識してみます。
Part 1 は数学的考え方に関するものです。我々は、ニューラルネットワークの基礎となる数学的考え方を、多くのイラストや例を使って丁寧に紹介していきます。
Part 2 は実践編です。人気があり習得しやすいプログラミング言語: Python を紹介しつつ、人間が手書きした「数字」を認識し、容易に実行できるニューラルネットワークを構築していきます。
Part 3 では、これらのアイデアをさらに拡張。シンプルなアイデアやコードを使用し、認識率 98%のニューラルネットワークへと改良を進めます。自分で書いた手書き文字でニューラルネットワークをテストし、さらに"制作者の特権"を活かしミステリアスなニューラルネットワークの心の中を覗き見してみよう。
最後に制作物を Raspberry Pi で動かしてみます。
本書で紹介するすべてのコードは、Raspberry Pi で動くことを確認しています。
イントロダクション: 本書の対象者 / この本で何ができるが / どのようにして行うのか
Part 1:どうやって動くのか
Part 2:Python でやってみよう
Part 3:さらに楽しもう
付録 A:とってもやさしい微積分入門
付録 B:Raspberry Pi でやってみよう
技書の森解説
『ニューラルネットワーク自作入門』 (Tariq Rashid 著、新納 浩幸 監訳、マイナビ出版、2017 年 4 月刊) は、原書 Make Your Own Neural Network の日本語版で、ニューラルネットワークで使われる数学を一歩ずつ確かめながら、Python で手書きの数字を認識するネットワークを自分で組み上げる入門書です。副題は「数学と Python の優しい旅」です。版元は、読者に中学 / 高校で学んだ以上の数学の知識を求めず、本書を通して微分へ入門することもできると案内しています。著者は刊行時のプロフィールで物理学の学位と機械学習とデータマイニングの修士号を持つと紹介され、監訳者は同じく刊行時に自然言語処理を専門とする茨城大学の教授と紹介されています。
3 つの Part の構成、予測マシンから手書き数字の認識まで
目次はプロローグとイントロダクションのあと、3 つの Part と付録 2 本、エピローグの順に並びます。Part 1「どうやって動くのか」は 16 節あり、単純な予測マシンと分類器の学習から始めて、自然界のニューロン、行列の掛け算を使った 3 層の例、出力層や多層への誤差逆伝播、重みの更新の実行例、データの準備へと進みます。Part 2「Python でやってみよう」は Python と対話型の IPython の紹介、やさしい Python 入門から入り、Python でのネットワークの実装と、手書き数字の MNIST データセットへの適用を扱います。Part 3「もっと楽しく」は自分で書いた手書き文字での試験、ネットワークの内部をのぞく節、回転による新しい訓練データの作成の 3 節です。版元の紹介文では、Part 3 で認識率 98% のネットワークへ改良を進めると説明されています。
誤差逆伝播を手で追うことの意味
深層学習 の道具を使えば、誤差逆伝播は 1 行の呼び出しで済みます。その手軽さの裏で、出力の誤差がどの重みにどれだけ責任を負うのかを分配する計算は見えなくなります。学習が進まない、値が発散するといった不調に出会った時に原因の見当を付けられるかどうかは、この分配の仕組みを一度でも自分で組んだ経験に左右されます。本書の Part 1 は、誤差逆伝播を複数のノードからの重みの学習から、出力層、多層へと広げ、最後に行列の掛け算でまとめて書き直す並びです。ネットワークの計算が行列の積として書けるという見方は、Part 2 の実装をそのまま短くする鍵でもあります。付録 A は平らな直線と傾斜のある直線から始めて微分の規則と関数の関数へ進むため、高校で微分を学ばなかった読者も、勾配に沿って重みを動かす考え方の土台をここで補えます。
中学 / 高校の数学から入りたい読者と、物足りない読者
向いているのは、数式の多い専門書で手が止まった経験があり、ネットワークが数字を見分ける仕組みを自分のコードで確かめたい人です。付録 B は IPython のインストールから学習とテストまでを扱い、版元は本書のすべてのコードが小型コンピューターの Raspberry Pi で動くことを確認したと案内しています。一方で、目次には畳み込みや系列を扱う節も、深層学習フレームワークの名前も見当たりません。版元自身も、さらに発展した課題が欲しい読者には既に多くの教科書があると書いています。画像認識の実務や大規模なモデルの扱いを学びたい人は、本書を原理の確認に使い、次の本を別に用意するのが近道です。数学の学び直しをどこまで広げるかは 機械学習に必要な数学の本の選び方 が、原理を手で理解する本の次に何を読むかは ディープラーニング本の選び方 が手がかりになります。
一度は自分の手でネットワークを組み、誤差が重みへ戻っていく様子を数式とコードの両方で見ておきたい人にとって、中学 / 高校の数学から入れる本書は最初の 1 冊として元が取りやすい本です。Part 1 の予測マシンから順に読み進めてみてください。
言及した記事 (8 件)
【読書の夏?】各分野のおすすめ技術書を75冊まとめてみた
♡ 127AWS, Security, 初心者, 技術書, AI第1回 AI実装検定【A級】に合格したので色々まとめてみた
♡ 18Python, 機械学習, DeepLearning, 資格, ニューラルネットワーク20211003分割 更新中止) 特許SDI用AI: 複数の自然言語深層学習モデルにおいて見られた個性とその解釈 および認知的観点に基づく知識構造の多様性を評価した価値共創の展望と、創造性
♡ 17自然言語処理, NLP, word2vec, 認知, bert一口馬主の出資馬選定を機械学習で行う(第1回)
♡ 6機械学習, 競馬更新中 中) 特許SDI用AI: 複数の自然言語深層学習モデルにおいて見られた個性とその解釈 および認知的観点に基づく知識構造の多様性を評価した価値共創の展望と、創造性
♡ 5自然言語処理, NLP, word2vec, 認知, bert機械学習の理解-はじめの一歩
♡ 1C++, ニューラルネットワーク, 機械学習入門, 予測器Python×深層学習の実装重視4選
♡ 0機械学習, DeepLearning, Python, ニューラルネットワーク, 書籍Swiftで行列を扱うために自作
♡ 0Swift, ニューラルネットワーク
この本に興味がある方におすすめ
関連する本
関連記事
ネットワーク本ガイド - TCP/IP の教科書からプロトコル各論や実務書までの選び方
ネットワークを学ぶ技術書の選び方を 3 段階 (全体像の教科書 → HTTP や DNS のプロトコル各論 → 実務と運用) で整理。マスタリング TCP/IP や図解入門 TCP/IP などの定番書の使い分けと、ネットワーク本の賞味期限の考え方を解説します。
OS / 低レイヤー本ガイド - コンピューターの仕組みを学ぶ技術書の選び方
OS、コンパイラー、ネットワークなど低レイヤーを学べる技術書の 4 ジャンルと、どこから始めるべきかの指針、賞味期限の見極め方を紹介します。
ゼロから作る Deep Learning シリーズの読む順番 - 全 6 巻の内容と選び方を整理
ゼロから作る Deep Learning シリーズ全 6 巻 (基礎 / 自然言語処理 / フレームワーク / 強化学習 / 生成モデル / LLM) の読む順番を解説。各巻の内容 / 発売年 / 前提知識を一覧表で整理し、目的別にどの巻から読むべきかを案内します。