ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装

著者 :
  • オライリージャパン
4.40
  • (61)
  • (40)
  • (13)
  • (1)
  • (0)
本棚登録 : 765
レビュー : 38
  • Amazon.co.jp ・本 (320ページ)
  • / ISBN・EAN: 9784873117584

作品紹介・あらすじ

実際にシステムを作りながらディープラーニングを学ぶ!
ディープラーニングの本格的な入門書。外部のライブラリに頼らずに、Python 3によってゼロからディープラーニングを作ることで、ディープラーニングの原理を楽しく学びます。ディープラーニングやニューラルネットワークの基礎だけでなく、誤差逆伝播法や畳み込みニューラルネットワークなども実装レベルで理解できます。ハイパーパラメータの決め方や重みの初期値といった実践的なテクニック、Batch NormalizationやDropout、Adamといった最近のトレンド、自動運転や画像生成、強化学習などの応用例、さらには、なぜディープラーニングは優れているのか? なぜ層を深くすると認識精度がよくなるのか? といった“Why”に関する問題も取り上げます。

感想・レビュー・書評

並び替え
表示形式
表示件数
  • ディープラーニングよくわからないから、なんとなくわかる。まで確実連れて行ってくれる一冊。

    Pythonがわからなくても十分に読める本であり、自分の得意な環境に応用していくのも難しくない。確実にディープラーニングの基礎を習得できます。

  • 実践的にディープラーニングを説明しているがゆえか、変に難しい理屈もなくすんなり理解できました。
    やっとDeep Learningというのがなんなのか、うっすら見えてきた思いです。

  • 2017ソフトウェア情報学部貸出ランキング第12位
    <図書館の所在、貸出状況はこちらから確認できます>
    https://libipu.iwate-pu.ac.jp/mylimedio/search/book.do?target=local&bibid=322217

  • ディープラーニングの入門書として、最適な1冊と思う。まず、基礎理論の解説が非常にわかりやすい。また、すぐに使えるソースコードも多数掲載されているため、手を動かしながら覚えることができた。

  • ニューラルネットワーク(NN)に学習データを与えてパラメータ更新されていく過程がかなり詳しく説明されており、一読すればNNの仕組みを理解することができる。過去にNNが普及に至らなかった問題をどのように解決してきたかといった実践的なテクニックについても解説されていて、最近のトレンドも押さえることができる。数式も少なく、これからディープラーニングを勉強しようとしている初学者にお勧めしたい1冊。
    肝心のディープなNNの部分は、畳み込み層やプーリング層がどういった処理をしているかは詳しく解説されているものの、その処理をすることによってなぜ画像を認識できるようになるかといった点にはあまり触れられていないので、そのあたりを解説している書籍を他で探してみたい。

  • 初心者には、わからないところも何箇所かあったが、比較的わかりやすかった。
    Pythonを知っている+機械学習に興味がある、人は間違いなくこの本は読んで損はないはずです。

  • ニューラルネットワークの基礎的な知識を学ぶことができます。

  • 理論を固めた後に,実装目的で読んでみました.

    これを読めば,少なくともディープラーニングの実装はできるようになります.
    特に,「ゼロから作る」は嘘偽りなく,0からのコーディングで作り上げられます.
    加えて,Adam,Batch Normalizationといった最近の話題も平易な解説,実装がなされている点は良いと思います.


    統計的モデリングや誤差逆伝播の細かな解説は,本書の意図とは異なります.多くの技術をより一般的な見地で眺めたいときは,本書を読んだ後,他書をあたるのが良いでしょう.

    何にせよ,細かな理論は置いといてディープラーニングを使ってみたいという人にとっては,これ以上ない良い本だと思います.

  • 人工知能を卒研テーマに選んだ学生が出てきたので,学習用に書籍を探したところ本書を見つけて購入.単にニューラルネットワークを組むだけならばTensorFlowで十分だが,ちょっと突っ込んだところを学ぶのに本書は向いており十分役になってくれる.オススメ.

  • (用語とその意味をサマリ)

    損失関数:ある指標を基準として最適な重みパラメータの探索を行う。

    2乗和誤差:損失関数として用いられる関数の一つ。ニューラルネットワークの出力と、正解となる教師データの各要素の差の二乗を計算し、その総和を求める。値が小さいものが教師データにより適合することを意味する。

    交差エントロピー誤差:損失関数の一つとして用いられる関数。

    ミニバッチ学習:機会学習の問題は、訓練データを使って学習を行う。訓練データに対する損失関数を求め、その値をできるだけ小さくするようなパラメータを探し出す。

    この計算により教師データがいくつあっても、1個あたりの平均の損失関数を求めることができる。

    一部のデータを全体の近似として利用する。
    例えば60000のデータの中から100を無作為に選び出してそれを使って学習を行うような学習方法をミニバッチ学習という。
    (テレビの視聴率算出などと同じ)

    認識精度ではなく損失関数を指標に利用する理由:認識精度を使うと微分がほとんどの場所で0になってしまい、パラメータの更新ができなくなるため。パラメータを少し変更させても、美文に変化が表れにくい。細かい変化をとらえにくい。

    微分:ある瞬間の変化の量

    数値微分:微小な差分によって微分を求めること。
    解析的微分:数式の展開によって微分を求めること。

    偏微分:式の中に変数が二つ以上あった場合に、変数が一つだけの関数を定義してその関数について微分を求めること。

    勾配:全ての変数の偏微分をベクトルとしてまとめたもの。

    勾配法:各地点において関数の値をもっとも減らす方向を示すのが勾配。勾配が示す先が本当に関数の最小値なのかどうかは保証できない。(最小値でないことがほとんど)

    学習率:一回の学習でどれだけ学習すべきか、どれだけパラメータを更新するかを決める。

    学習アルゴリズムの実装

    ステップ1:ミニバッチ
    ステップ2:勾配の算出
    ステップ3:パラメータの更新
    ステップ4:繰り返す

    訓練データ以外のデータを正しく認識できるのかどうか?過学習を起こしていないかの確認。

全38件中 1 - 10件を表示

斎藤康毅の作品

この本を読んでいる人は、こんな本も本棚に登録しています。

有効な左矢印 無効な左矢印
デール カーネギ...
ジェームス W....
ベン・ホロウィッ...
有効な右矢印 無効な右矢印

ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装を本棚に登録しているひと

ツイートする