やさしく学ぶ ディープラーニングがわかる数学のきほん

ヤサシク マナブ ディープラーニングガ ワカル スウガクノ キホン

アヤノ & ミオと学ぶ ディープラーニングの理論と数学、実装

やさしく学ぶ ディープラーニングがわかる数学のきほんの表紙
プログラミング
著者:
スマートニュース株式会社 立石 賢吾(タテイシケンゴ)
出版社:
マイナビ出版
出版日:
2019年07月31日頃
ISBN:
9784839968373
在庫:
在庫あり
3(1 件 / 楽天ブックス)
初級者向け
深層学習ニューラルネットワーク数学機械学習ネットワーク

なぜ注目されているか

総合1102位 ↑ 3 ランクアップ

書籍紹介

「ディープラーニングをライブラリで実装できるけれど、よく意味が分かっていない」
「ディープラーニングの背景にある数式を理解して、何が行われているか知っておきたい」

本書はそんな人のための本です。
勉強中のプログラマ「アヤノ」と、友達の「ミオ」の会話を通じて、ディープラーニングでどんなふうに入力値から出力値までの計算がされているのか、楽しく学んでいきます。

※本書は『やさしく学ぶ 機械学習を理解するための数学のきほん』の続刊となりますが、前作を読んでいない人でも問題なく読むことができます。

本書では、

・ニューラルネットワークでは何ができるのか
・単層のパーセプトロンではどのような計算が行われているのか

・パーセプトロンではどうやって問題を解いているのか

・パーセプトロンにはどんな欠点があるのか

などの基本的な部分から解説を始めます。
パーセプトロンが理解できたら、続いて多層のニューラルネットワークについて学んでいきます。

・ニューラルネットワークではどうやって問題を解いているのか
・問題を正しく解くためのパラメーターはどうやって学習しているのか

といったことについて、1 つずつ数式を理解して、時には具体的な数値を当てはめて実際に計算しながら理解していきます。

ニューラルネットワークが理解できたら、いよいよ画像の分類などに向いている「畳み込みニューラルネットワーク」について学習を進めます。

何をやっているのか、図解と数式で確認しつつ学習し、どのようにして「畳み込みニューラルネットワーク」が分類のタスクを行っているのか丁寧に解説します。

そして最後の章では、ここまでの章で学習した数式をもとに、Python でプログラムを書いていきます。ライブラリとしては NumPy だけを使用し、学習した数式を振り返りながらプログラムを書いていきます。ディープラーニング用のライブラリでは数行で書ける部分ですが、1 行 1 行理解しながら動かしていくことで、理解を深めることができます。

【各章の概要】

Chapter1 ニューラルネットワークを始めよう

Chapter2 順伝播を学ぼう

Chapter3 逆伝播を学ぼう

Chapter4 畳み込みニューラルネットワークを学ぼう

Chapter5 ニューラルネットワークを実装しよう

Appendix

技書の森解説

ライブラリを使えばディープラーニングのモデルは動かせるのに、その中で何が計算されているのかは説明できない。そうした人のために、ニューラルネットワークの入力から出力までの計算を数式で 1 つずつ確かめていくのが『やさしく学ぶ ディープラーニングがわかる数学のきほん』 (立石賢吾 著、マイナビ出版、2019 年 7 月 31 日発売) です。副題は「アヤノ & ミオと学ぶ ディープラーニングの理論と数学、実装」で、勉強中のプログラマのアヤノと友達のミオの会話を追う形で進みます。版元は本書を『やさしく学ぶ 機械学習を理解するための数学のきほん』の続刊と位置づけつつ、前作を読んでいない人でも問題なく読めると案内しています。著者は刊行時のプロフィールでスマートニュース株式会社の機械学習エンジニアと紹介されています。

パーセプトロンから畳み込みまで、全 5 章と Appendix の構成

本文は全 5 章と Appendix です。Chapter1「ニューラルネットワークを始めよう」で立ち位置とできることを整理したあと、Chapter2「順伝播を学ぼう」は単純パーセプトロンとバイアスから始めて、画像の長辺判定や正方形判定を題材にパーセプトロンの欠点を確かめ、多層パーセプトロン、活性化関数、順伝播、ニューラルネットワークの一般化へと進みます。Chapter3「逆伝播を学ぼう」は誤差、目的関数、勾配降下法を経て、出力層と隠れ層のデルタの計算からバックプロパゲーションに至ります。Chapter4「畳み込みニューラルネットワークを学ぼう」は畳み込みフィルター、特徴マップ、プーリングといった部品に加えて、畳み込み層やプーリング層のデルタとパラメーターの更新式まで節を立てています。Chapter5「ニューラルネットワークを実装しよう」では、アスペクト比を判定するニューラルネットワークと、手書き数字の画像を識別する畳み込みニューラルネットワークを Python で組み立てます。5 つの章の末尾にはそれぞれコラムがあり、Chapter2 から Chapter4 のコラムは活性化関数、勾配消失、クロスエントロピーを取り上げています。

逆伝播の式を自分で追えると何が変わるか

ニューラルネットワーク の学習は、出力と正解のずれを目的関数で測り、そのずれが小さくなる向きへ重みを少しずつ動かす作業の繰り返しです。どの向きへ動かすかは目的関数を重みで偏微分して求めますが、層が深くなるほど式が入れ子になり、まともに展開すると手に負えなくなります。逆伝播は、合成関数の微分の連鎖をデルタという中間の量にまとめ、出力層の側から順に再利用することでこの計算を整理する方法です。畳み込み層は重みをフィルターとして画像の上で共有するため、逆伝播の式も全結合層とは形が変わります。本書はこの部分を 9-1 から 9-8 までの節に分け、プーリング層のデルタや、畳み込み層どうしをつなぐ箇所のデルタを経てパラメーター更新式に至る順で扱っています。Chapter5 では NumPy だけを使い、版元はディープラーニング用のライブラリなら数行で書ける部分を 1 行ずつ理解しながら動かすと説明しています。

前提となる数学と Python、付録で補える範囲

Appendix は総和の記号、微分、偏微分、合成関数、ベクトルと行列、指数と対数に加えて、Python の環境構築と基本、NumPy の基本までを収めています。機械学習の数学をどこまで学び直すかを先に決めておきたい人には、機械学習に必要な数学の本の選び方 も参考になります。一方で、扱う題材はパーセプトロンから畳み込みニューラルネットワークまでで、目次には再帰型のネットワークや自然言語処理、生成モデルの章はありません。

数式を見ると手が止まってしまうけれど、ディープラーニングの仕組みは自分の言葉で説明できるようになりたい。そうしたエンジニアや学生にとって、会話で問いを立て、具体的な数値を当てはめて計算し、最後にコードで確かめる本書は、ライブラリの使い方を覚えた人の次の一歩に向く一冊です。

この本に興味がある方におすすめ

関連する本

関連記事

関連用語

共有: