"機械学習","信号解析","ディープラーニング"の勉強

読者です 読者をやめる 読者になる 読者になる

HELLO CYBERNETICS

深層学習、機械学習、強化学習、信号処理、制御工学などをテーマに扱っていきます

今更ながら深層学習の書籍

 

 

深層学習の書籍は何冊か所持していますが、深層学習の勉強が進み、今改めて見ると本に対する印象がだいぶ変わったように思います。今回は、理解が進んだ今だからこそ見える書評してみます。

 

 

 深層学習の書籍

私が所持している深層学習の書籍達です。

今回は、私が特によく参照している上2つの本を紹介します。

 深層学習(機械学習プロフェッショナルシリーズ)
深層学習 (機械学習プロフェッショナルシリーズ)

深層学習 (機械学習プロフェッショナルシリーズ)

 

 

 深層学習(人工知能学会)
深層学習 Deep Learning (監修:人工知能学会)

深層学習 Deep Learning (監修:人工知能学会)

  • 作者: 麻生英樹,安田宗樹,前田新一,岡野原大輔,岡谷貴之,久保陽太郎,ボレガラダヌシカ,人工知能学会,神嶌敏弘
  • 出版社/メーカー: 近代科学社
  • 発売日: 2015/11/05
  • メディア: 単行本
  • この商品を含むブログ (1件) を見る
 

 

進化計算と深層学習 創発する知能 
進化計算と深層学習 -創発する知能―

進化計算と深層学習 -創発する知能―

 

 

 機械学習と深層学習 C言語によるシミュレーション
機械学習と深層学習 ―C言語によるシミュレーション―

機械学習と深層学習 ―C言語によるシミュレーション―

 

  

 深層学習(機械学習プロフェッショナルシリーズ)

深層学習 (機械学習プロフェッショナルシリーズ)

深層学習 (機械学習プロフェッショナルシリーズ)

 

 

おすすめポイント

普通のニューラルネットワークの話題から始まり、次第に深層学習の話題に入ります。

個々の手法を述べる前に、ニューラルネットワークの基本的なところから話が進むので今までニューラルネットを勉強していなかったという方にも読みやすいです。

私自身も、ニューラルネットワークの勉強を腰を据えて真面目にしたのはこの本が最初でした。良くも悪くも教科書的という感じです。真面目に基礎からやっていこうという場合には最もおすすめできる一冊となっています。

 

注意点

やはり深層学習の教科書としては最初に出版されただけあって、最新の話題については当然触れられていません。しかし、最新の手法を知るのも、基本があってこそです。基本からしっかり抑えようということでこの本を手に取るべきでしょう。もしも最新技術である深層学習に触れたい!と思うのであれば期待はずれにはなってしまいます。

 

 

深層学習(人工知能学会)

深層学習 Deep Learning (監修:人工知能学会)

深層学習 Deep Learning (監修:人工知能学会)

  • 作者: 麻生英樹,安田宗樹,前田新一,岡野原大輔,岡谷貴之,久保陽太郎,ボレガラダヌシカ,人工知能学会,神嶌敏弘
  • 出版社/メーカー: 近代科学社
  • 発売日: 2015/11/05
  • メディア: 単行本
  • この商品を含むブログ (1件) を見る
 

 

おすすめポイント

深層学習の教科書として使えるレベルであり、当時最新の内容を目一杯含んでいる。さすが学会誌を編集した本であると言えます。

特に私自身、昨年の時点では、ニューラルネットの基礎からしっかり抑えていこうという思いが強かったために、応用的な分野の話題に関してはあまり関心を持っていませんでした。しかし今、実際にプログラムを動かして識別などをするという段階になって、初めてこの本の素晴らしさに気づきました。

 

現在でも現役で使われている(言わば最新の手法と言える)内容が、普通に載っているのです。

 

例えば、深層学習で現在でも高精度を達成している「ladder network」に関する識別率について言及してあったり、万能性のある最適化手法として威力を発揮しているAdamに関する記述もあります(記述どころかアルゴリズムまで書いてあります)。

もしも当時現役でこの本を読みこなすことができたならば、かなりリードできたのだろうと思えるレベルの内容です。今更基本的なことは分かっているという方で、実際に動かしている人たちにもおすすめできる一冊です。

また、定性的な日本語分での説明もたくさんあり、数式が分からずとも「なるほどそういうことか」と思えるところがたくさんあります。

 

注意点

機械学習では確定的なモデルで議論する場合と、確率的なモデルで議論する場合があります。通常のニューラルネットは前者であり、普通にニューラルネットワークを関数として取り扱います。しかしこの本では確率的なモデルであるボルツマンマシンから入り、普通のニューラルネットワークで構成される自己符号化器は、確率的モデルに対する一種の近似であるという話の進め方をしています。

要するに、深層学習=ニューラルネットという感覚で読み始めると痛い目を見る本です。確率的なモデルを数式で議論できないと、基礎編ですでに数式が厳しいという状態に陥りかねません。

また、各章異なる著者が書いているため、記法や論調が揃っているとは言えません。すでにある程度の知識がある人向けという感じでしょう。

 

残りの2つ

進化計算と深層学習 
進化計算と深層学習 -創発する知能―

進化計算と深層学習 -創発する知能―

 

 進化計算とは具体的には遺伝アルゴリズムや粒子群最適化など、生物の多様性・適応性を模倣した最適化アルゴリズムの一種です。これらの手法は特定の目的関数のために設計されたものではなく、生物が適応的に振る舞いを変えられることを真似て、それが幅広い分野にも応用できるのではないかという発想に基づいています。したがって考えうる様々な最適化問題に適応しうるメタヒューリスティックな手法となっており、コンピュータ・サイエンスの代表的な研究の1つです。

一方でご存知の深層学習も、様々なタスクに応用されており、非常に高い学習能力を有しています。

これら2つの話題性のある手法を掻い摘みながらまとめた本という印象です。

この本を読んで、そういう手法があるのかと思ったならば、更に深く学ぶ。そういう使い方がいいかなと思います。これ一冊で進化計算も深層学習も分かるようになるというものではないので注意してください。

 

機械学習と深層学習 C言語によるシミュレーション
機械学習と深層学習 ―C言語によるシミュレーション―

機械学習と深層学習 ―C言語によるシミュレーション―

 

 この本は、C言語を使って、深層学習の実装を行うことで、プログラミングを通して機械学習や深層学習の基本を学ぼうという姿勢の本です。(なぜか)この本にも進化計算の話題が含まれており、もちろんC言語での簡単な実装もあります。

数式はほとんど出現せず、プログラムを見て書いていくことで、実際の動作を把握するというところに重点が置かれています。もしも数式からしっかり理解したいという場合には他の本を当たったほうが良いかと思います。

深層学習に関する話は全体の4分の1程度とかなり少なめです。

今はプログラミングを通して深層学習を理解したい場合にはPythonを使った評判の良い本もあるようなので、そちらも是非検討してからで良いと思います。(例えば以下)

言語としてもPythonの方が機械学習の開発は盛んですし、恐らくプログラミング自体の敷居も低いでしょう。

以下の書籍を昨日購入いたしました。私自身pythonは普段使いませんがこれを気に慣れていこうと思っています。普段はmatlabを用いています。) 

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

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