はじめてのディープラーニング -Pythonで学ぶニューラルネットワークとバックプロパゲーション- (Machine Learning) (日本語) 単行本 – 2018/8/28
我妻 幸長
(著)
著者の作品一覧、著者略歴や口コミなどをご覧いただけます
この著者の 検索結果 を表示
あなたは著者ですか?
著者セントラルはこちら
|
この商品には新版があります:
-
本の長さ340ページ
-
言語日本語
-
出版社SBクリエイティブ
-
発売日2018/8/28
-
ISBN-104797396814
-
ISBN-13978-4797396812
よく一緒に購入されている商品
この商品をチェックした人はこんな商品もチェックしています
- つくりながら学ぶ! PyTorchによる発展ディープラーニング単行本(ソフトカバー)
- 高校数学からはじめるディープラーニング 初歩からわかる人工知能が働くしくみ (ブルーバックス)新書
- 図解即戦力 機械学習&ディープラーニングのしくみと技術がこれ1冊でしっかりわかる教科書株式会社アイデミー単行本(ソフトカバー)
- 人工知能プログラミングのための数学がわかる本単行本
- PythonとKerasによるディープラーニングFrancois Chollet単行本(ソフトカバー)
- 深層学習 (機械学習プロフェッショナルシリーズ)単行本
Kindle 端末は必要ありません。無料 Kindle アプリのいずれかをダウンロードすると、スマートフォン、タブレットPCで Kindle 本をお読みいただけます。
Kindle をお持ちでない場合、こちらから購入いただけます。 Kindle 無料アプリのダウンロードはこちら。
商品の説明
内容(「BOOK」データベースより)
著者について
「ヒトとAIの共生」がミッションの会社、SAI-Lab株式会社の代表取締役。AI関連の教育と研究開発に従事。
東北大学大学院理学研究科修了。理学博士(物理学)。興味の対象は、人工知能(AI)、複雑系、脳科学、シンギュラリティなど。
プログラミング / AI講師として、教室で1000人以上を、オンラインで2万人近くをこれまでに指導。
世界最大の教育動画プラットフォーム、Udemyで「はじめてのPython」、「実践データサイエンス&機械学習」、「みんなのディープラーニング」、「みんなのAI講座」などを開講中。
エンジニアとして、VR、ゲーム、SNSなど、ジャンルを問わず数々のアプリを開発。
Twitter: @yuky_az
著者略歴 (「BOOK著者紹介情報」より)
SAI‐Lab株式会社の代表取締役。AI関連の教育と研究開発に従事。東北大学大学院理学研究科修了。理学博士(物理学)。興味の対象は、人工知能(AI)、複雑系、脳科学、シンギュラリティなど。プログラミング/AI講師として、教室で1000人以上を、オンラインで2万人近くをこれまでに指導。エンジニアとして、VR、ゲーム、SNSなど、ジャンルを問わず数々のアプリを開発(本データはこの書籍が刊行された当時に掲載されていたものです)
出版社より

本書は、可能な限り多くの方がディープラーニングの本質を学ぶことができるように、プログラミングと数学から畳み込みニュートラルネットワークに至まで、手を動かしながら少しづつ丁寧に学べるように設計されています。また扱うコードは直感的な分かりやすさを重視しています。変数名やコメントにも注意を払い、可能な限りシンプルで可読性高いコードを心がけています。本書が、多くの方々のAIに取り組むきっかけになれば嬉しい限りです。
|
|
|
---|---|---|
ニュートラルネットワークニュートラルネットワークには、複数の入力と複数の出力があります。多数のパラメーターを持っており、これらを調整することで豊かな表現力を発揮します。ディープラーニングにおいては、これらのパラメータが最適化されることで、学習が行われます。学習が最適に行われると、入力に対して適切な判断を行った結果が、出力として得られるようになります。 |
Pythonの文inは「x in y」という形式で使い、yの中にxが含まれる場合にtrueを返します。yには後述するリストやタプルを指定します。また、+演算子は文字列や後述するリストの結合に利用するできます。 |
軸とtransposeメソッドNumPyには、軸(axis)という概念があります。軸とは文字通り座標軸のことで、配列において数値が並ぶ方向のことです。軸は次元の数と同じ数存在します。例えば一次元配列には1つの軸があり、2次元配列には2つの軸が、3次元配列には3つの軸があることになります。軸にはそれぞれインデックスがあります。2次元配列の場合、縦方向の軸はaxis=0で、横方向の軸はaxis=1となります。 |
|
|
|
---|---|---|
行列の行と列行がm個、列がn個並んでいる行列を、m×nの行列と表現します。従って、上記の1の行列は3×4の行列になります。なお、縦ベクトルは列の数が1の行列と、横ベクトルは行の数が1の行列と考えることもできます。本書における数式では、アルファベット大文字のイタリックで行列を表します。上記は行列の表記の例です。 |
勾配降下法この際の各重みの変化量は、この曲線の傾き、すなわち勾配で決まります。バイアスの場合も同様です。従って、ニュートラルネットワークのすべての重みとバイアスを更新するためにまず必要なことは、すべての重みとバイアスに対する、誤差の勾配を求めることになります。このような最小値を局所最適解といいます。それに対して、真の最小値を最大最適解といいます。 |
ドロップアウト(Dropout)ドロップアウトは、出力層以外ニューロンを一定の確率でランダムに消去するテクニックです。次の図にドロップアウトの概略を示しますが、入力層、中間層のニューロンがいくつか消去(×がついているもの)されて、ネットワークがまばらになっています。消去されるニューロンは、重みとバイアスの更新ごとに入れ替わります。層のニューロンが消去されずに残る確率をpとした場合、中間層にはp=0.5が、入力層にはp=0.8~0.9などの値が用いられる場合が多いようです。 |
登録情報
- 出版社 : SBクリエイティブ (2018/8/28)
- 発売日 : 2018/8/28
- 言語 : 日本語
- 単行本 : 340ページ
- ISBN-10 : 4797396814
- ISBN-13 : 978-4797396812
-
Amazon 売れ筋ランキング:
- 32,233位本 (の売れ筋ランキングを見る本)
- - 26位ネットワーク入門書
- - 58位情報学・情報科学全般関連書籍
- - 108位人工知能
- カスタマーレビュー:
こちらもおすすめ
- 最短コースでわかる ディープラーニングの数学単行本
- 人工知能プログラミングのための数学がわかる本単行本
- 深層学習教科書 ディープラーニング G検定(ジェネラリスト)公式テキスト 第2版猪狩 宇司単行本(ソフトカバー)
- ディープラーニング活用の教科書日本ディープラーニング協会単行本
- [第3版]Python機械学習プログラミング 達人データサイエンティストによる理論と実践 (impress top gear)単行本(ソフトカバー)
- scikit-learn、Keras、TensorFlowによる実践機械学習 第2版Aurélien Géron単行本(ソフトカバー)
カスタマーレビュー
上位レビュー、対象国: 日本
レビューのフィルタリング中に問題が発生しました。後でもう一度試してください。
数学をそれなりに学んだことがある人は、δや∂といった変数や記号は誤解を生まないように扱うと思いますが、この本でのそれらの扱い方がよろしくないです。
例えば、この本では∂E/∂bk を単に∂bkと定義しています。
数学や理論物理をされた方であれば、微分される側の変数を省略するような書き方は普通しません。
やるなら∂Eと書いて、微分した変数を∂の右下に小さな添字で記入します。
そしてアインシュタインの縮約の記法を使って、同じ添字の場合は和をとって、そうでない場合は別の変数として扱うなど、そういった扱い方をします。
そして、上記のような成分計算を行う際はクロネッカーのデルタ(δij)がよく出てくるものです。
しかしこの本では、そんな中、ある変数で微分したものをδkと定義したり、紛らわしい事この上ないです。
そのようなわけで、理工系学部で数学をまともに勉強したことがある人は結構アレルギー反応を示すと思いました。
特にバックプロパゲーションの部分がひどい。結果は合ってるのですが、数学の初心者が読むと理解ではなく誤解するかも?独自の略記号がかえってわかりずらくしています。また、異なる層における変数、重み、バイアスの記号を成分添字だけで区別しているのですが、これはまずいですねえ。例えば出力層にy_k(k=1,2,...)とし中間層にy_j(j=1,2,...)として、それらを成分添字k,jだけで区別していますが、そうすると例えば出力層のy_1と中間層のy_1が同じものと誤解を受けます。明らかに記号法の間違いですね。そのようなことを全てのパラメータについてやっているものだから、この本を素直に読んで理解できたと思っているひとは、多分誤解してるのだと思います。
また、何気なく偏微分連鎖律を適応しているところに、「それはたまたま結果は合うが、その変形をいきなりやってはダメだろ?」というところも見受けられます。先に結果が分かっていて、横着してそうしいるのか、(著者が)理解していないのに変形して結果オーライしてるのか、どちらかでしょう。本当に物理学の博士号持っているのか疑問ですね。物理屋はもっと丁寧にやりますね。
数式(特にバックプロパゲーションのところ)はまずいですが、あとは読みやすいです。数式のところは飛ばすか、自分で計算し直して読むことをおすすめします。
内容が分かりやすく、変数の名前の付け方も全体を理解する上で分かりやすかったです。
是非、RNNやLSTM、GRU等を記載した続編を要望致します。
また、数学を数式とプログラミングで理解できるようなディープラーニングの数学のみの本も出版いただけると
非常に助かります。
とにかく、この本を基にして、他の書籍の内容を追加しながら知識を習得していきたいと思います。
Udemyの講座も受講しておりますが、書籍がやっぱり一番でした。
一部レビュアーは,数学的表現に関して苦言を呈しているようだが,私はこれは誤った見方であると思う.なぜならば,前提として,この本は「ディープラーニングを学びたい全ての方」を対象としている.したがって,「厳密な理解よりもイメージの把握を重視」したレベルの数学を扱っている.したがって,Einstein の既約などが必要となるような,数学的な定式化この本で取り扱う内容ではなく,”beyond the scope of this book” である.また,特に数学的厳密性は欠いていない.しかし,読者は微分する変数と,損失関数Eの引数に注意しないと,連鎖率が出てくる場合とそうでない場合を,区別できないかもしれない.そこは数学的準備の章をよく読んでみてもらえばフォローできるだろう.
また,「添え字が 1 つしかなく入力,中間層,出力層を区別できない」とあるが,そこで添え字を増やしてしまうと,それこそ添え字の扱いに慣れていない読者は,行列成分なのかベクトルの成分なのか,大きな混乱を招くことになる.そしてまた,繰り返しになるが,この本では比較的シンプルなニューラルネットワークのみを扱っており,数式で厳密に入出力層などの区別が必要となるような一般化は用いておらず,言葉で「この添え字はこの層に対応する」と断ってさえ入れば,十分フォローできるレベルである.
また,微分記号などについても苦言を呈している人がいるが,数学的に式変形する際には,それらをちゃんと元の形に(つまり∂w = ∂E/∂w)と戻している.ではなぜ省略した記号を書く必要があるのか?それは,ニューラルネットワークをダイアグラムとして書いたときに,煩雑さを避けるためである.〇と→で書かれたニューラルネットワークのダイアグラムを見たことがあると思うが,この → の近くに,誤差逆伝播法の情報の流れを説明する際には,微分の連鎖率を記載する.ここで微分記号をたくさん用いてしまうと,可読性が下がるため,この本で用いているような略記法が有効である.
以上,私の見解を述べた.
この本の内容は,非常に well-organize されており,明快かつ教育的である.このレベルで文章と数学,プログラムをまとめ上げるのは,非常に骨が折れる作業であると察する.しかし,著者が物理系の出身であることから,やはりニューラルネットワークは物理の考え方を多く含むものであるからこそ,このような明快な本を書けるのではないかとも考えさせられた.
この本で導入された数学的道具立てをより深く,一般化して理解したい人には「ディープラーニングと物理学」という本を薦めたい.ディープラーニングの一般論と最近の発展をより広く深く学ぶことが出来ると思う.
・必要最小限の事項を積み上げ式で進めていくので、わかりやすく、また章ごとに達成感が得られる
・バックプロパゲーションも含め、類書と比べて正確な取り扱いであるため混乱が少ない
・長いコードを部分ごとに説明する著者の工夫と、そもそも印刷や色分けによって、コードが読みやすい
ディープラーニング自体が何をやっているのか基礎的な事項に関心が出たときに通読すると、かなり理解の助けになると思います。分量も適度です。
ここにレビューを載せている他の方達は、ある程度、学のある方達かと思います。
論理と公式が冗長的に続いて、訳も分からず読み進めてサンプルコードを入力している状態です。
まだ1回目なので、何度か読めば理解が深まるのでしょうけれども、その気になるか心配です。
公式がこれでもかと言うくらい掲載されていますが、その都度、繰り返してでも記号の意味を脇に書いていて欲しいです。前のページに埋もれた、記号の解説や意味を探さなければなりません。
1つ1つの記号の意味が分からない、ただの公式の羅列を見せられているようで、タメになっているとは思えません。
それから、ギリシャ文字にルビ(読みガナ)をつけて欲しいです。δ(デルタ)、η(エータ)
まだ見えていない者が言うことですが、もっと易しくできなかったのでしょうか。
コードは分かりやすく、かつ変更しやすくなっているのでデータセットを変えたり、パラメータをいじって遊べます。
とても勉強になり、もっと機械学習を学びたくなりました。ぜひ、強化学習の本も書いて頂きたいです!