関連サイト
本書の関連ページが用意されています。
内容紹介
数学がニガテでも大丈夫! 今度はディープラーニングをやさしく学ぼう
「ディープラーニングをライブラリで実装できるけれど、よく意味が分かっていない」
「ディープラーニングの背景にある数式を理解して、何が行われているか知っておきたい」
本書はそんな人のための本です。
勉強中のプログラマ「アヤノ」と、友達の「ミオ」の会話を通じて、ディープラーニングでどんなふうに入力値から出力値までの計算がされているのか、楽しく学んでいきます。
※本書は『やさしく学ぶ 機械学習を理解するための数学のきほん』の続刊となりますが、前作を読んでいない人でも問題なく読むことができます。
本書では、
・ニューラルネットワークでは何ができるのか
・単層のパーセプトロンではどのような計算が行われているのか
・パーセプトロンではどうやって問題を解いているのか
・パーセプトロンにはどんな欠点があるのか
などの基本的な部分から解説を始めます。
パーセプトロンが理解できたら、続いて多層のニューラルネットワークについて学んでいきます。
・ニューラルネットワークではどうやって問題を解いているのか
・問題を正しく解くためのパラメーターはどうやって学習しているのか
といったことについて、1つずつ数式を理解して、時には具体的な数値を当てはめて実際に計算しながら理解していきます。
ニューラルネットワークが理解できたら、いよいよ画像の分類などに向いている「畳み込みニューラルネットワーク」について学習を進めます。
何をやっているのか、図解と数式で確認しつつ学習し、どのようにして「畳み込みニューラルネットワーク」が分類のタスクを行っているのか丁寧に解説します。
そして最後の章では、ここまでの章で学習した数式をもとに、Pythonでプログラムを書いていきます。ライブラリとしてはNumPyだけを使用し、学習した数式を振り返りながらプログラムを書いていきます。ディープラーニング用のライブラリでは数行で書ける部分ですが、1行1行理解しながら動かしていくことで、理解を深めることができます。
【各章の概要】
Chapter1 ニューラルネットワークを始めよう
ニューラルネットワークがどんな構造をしていて、どういうことができるのかについて、図や簡単な数式を使って解説します。
Chapter2 順伝播を学ぼう
パーセプトロンというニューラルネットワークを構成する小さなアルゴリズムについて、どんな風に計算が行われるかを解説します。
Chapter3 逆伝播を学ぼう
ニューラルネットワークで、適切な重みとバイアスをどのように計算して求めればよいかについて説明します。
Chapter4 畳み込みニューラルネットワークを学ぼう
畳み込みニューラルネットワーク特有の仕組みや計算を取り上げながら、重みとバイアスの更新方法まで説明します。
hapter5 ニューラルネットワークを実装しよう
ここまでの章で学んだニューラルネットワークの計算方法を踏まえ、Pythonでプログラミングしていきます。
ppendix
Chapter1からChapter5までには入りきらなかった数学の知識と、環境構築、PythonとNumPyの簡単な説明を入れています。
総和の記号/微分/偏微分/合成関数/ベクトルと行列/指数・対数/Python環境構築/Pythonの基本/NumPyの基本
書誌情報
- 著者: スマートニュース株式会社 立石 賢吾
- 発行日: 2019-07-31 (紙書籍版発行日: 2019-07-31)
- 最終更新日: 2019-07-31
- バージョン: 1.0.0
- ページ数: 352ページ(PDF版換算)
- 対応フォーマット: PDF
- 出版社: マイナビ出版
対象読者
著者について
スマートニュース株式会社 立石 賢吾
スマートニュース株式会社 機械学習エンジニア。佐賀大学卒業後にいくつかの開発会社を経て、2014年にLINE Fukuoka株式会社へ入社。同社にてデータ分析及び機械学習を専門とする組織を福岡で立ち上げ、レコメンドやテキスト分類など機械学習を使ったプロダクトを担当。同組織の室長を経て2019年にスマートニュース株式会社へ入社、以後機械学習エンジニアとして現職に従事。
目次
CONTENTS
Chapter1 ニューラルネットワークを始めよう
- 1 ニューラルネットワークへの興味
- 2 ニューラルネットワークの立ち位置
- 3 ニューラルネットワークについて
- 4 ニューラルネットワークができること
- 5 数学とプログラミング
- Column ニューラルネットワークの歴史
Chapter2 順伝播を学ぼう
- 1 まずはパーセプトロン
- 2 単純パーセプトロン
- 3 パーセプトロンとバイアス
- 4 パーセプトロンによる画像の長辺判定
- 5 パーセプトロンによる画像の正方形判定
- 6 パーセプトロンの欠点
- 7 多層パーセプトロン
- 8 ニューラルネットワークによる画像の正方形判定
- 9 ニューラルネットワークの重み
- 10 活性化関数
- 11 ニューラルネットワークの実体
- 12 順伝播
- 13 ニューラルネットワークの一般化
- Column 活性化関数って一体なに?
Chapter3 逆伝播を学ぼう
- 1 ニューラルネットワークの重みとバイアス
- 2 人間の限界
- 3 誤差
- 4 目的関数
- 5 勾配降下法
- 6 小さな工夫デルタ
- 7 デルタの計算
- 7-1 出力層のデルタ
- 7-2 隠れ層のデルタ
- 8 バックプロパゲーション
- Column 勾配消失って一体なに?
Chapter4 畳み込みニューラルネットワークを学ぼう
- 1 画像処理に強い畳み込みニューラルネットワーク
- 2 畳み込みフィルタ
- 3 特徴マップ
- 4 活性化関数
- 5 プーリング
- 6 畳み込み層
- 7 畳み込み層の順伝播
- 8 全結合層の順伝播
- 9 逆伝播
- 9-1 畳み込みニューラルネットワークの逆伝播
- 9-2 誤差
- 9-3 全結合層の更新式
- 9-4 畳み込みフィルタの更新式
- 9-5 プーリング層のデルタ
- 9-6 全結合層に接続される畳み込み層のデルタ
- 9-7 畳み込み層に接続される畳み込み層のデルタ
- 9-8 パラメータ更新式
- Column クロスエントロピーって一体なに?
Chapter5 ニューラルネットワークを実装しよう
- 1 Pythonで実装してみよう
- 2 アスペクト比判定ニューラルネットワーク
- 2-1 ニューラルネットワークの構造
- 2-2 順伝播
- 2-3 逆伝播
- 2-4 学習
- 2-5 ミニバッチ法
- 3 手書き数字画像識別畳み込みニューラルネットワーク
- 3-1 データセットの用意
- 3-2 ニューラルネットワークの構造
- 3-3 順伝播
- 3-4 逆伝播
- 3-5 学習
- Column 後日談
Appendix
- 1 総和の記号
- 2 微分
- 3 偏微分
- 4 合成関数
- 5 ベクトルと行列
- 6 指数・対数
- 7 Python環境構築
- 8 Pythonの基本
- 9 NumPyの基本