ゼロから作るDeep Learning: Pythonで学ぶディープラーニングの理論と実装(斎藤康毅)

 

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

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

 

 

技術書を取り上げることは少ないのだが、ホットな話題をたまたまいい時期に呼んでいたので。本書は今もまだ数少ないDeep LearningPythonで実装することを目的とした解説書。Deep Learningは昨今のAIブームの中で特に脚光を浴びている技術である。Alphabet傘下のDeepMindが開発したAlpha Goが次々と世界のトップ棋士を破ったことは大きなニュースになった。この記事を書いたつい最近もAlphaGo zeroという新しいAIが以前のAlphaGoの性能をはるかに超えてAIにおける最強棋士となったばかりだ。
 

“日本开发的人工智能围棋软件DeepZenGo与赵治勋九段对局,赵治勋执黑中盘胜利,DeepZenGo,仅使用2个多核心CPU,性能与AlphaGo差距较大。AlphaGo采用的是分布式的版本,拥有1920个CPU和280个GPU,计算能力强大,每下一局棋,电费就要花3000美元。”

Pythonはプログラム言語の名前であり、今やもっとも多くのプログラマが使っている言語と言われる。私は医師でありプログラマではないのだが、臨床データの解析を行ったりするときにはプログラムを書く。Rを主に使うのだが、Pythonも調べながらならなんとかかける。STATAなどの統計解析ソフトは非常に高価だがRやPythonならば無料で使えるし、さまざまなパッケージを入手すれば意外と手軽に目的の処理を行えたりする。
 
医療の分野でもDeep Learningが注目されている。画像診断や内視鏡診断など、今後AIが担う医療の中での役割が高まることが期待されている。真に有用なAIは、医療の質を高めることであったり、人出を減らす可能性があるものと考えられているため、将来(医療分野は他の分野よりも難しいと考えられているが)医療者が職を失う可能性なども指摘されている。
 
本書の話題に戻ると、本書はPythonを用いてDeep Learningを実装するために必要なDeep Learningの基礎的な話から実際のプログラム例について紹介していることだ。話はDeep Learningの発想の元になったコグニトロンや、細かい構成単位であるパーセプトロンの紹介から始まる。パーセプトロンはある入力に対して出力を与えるものであるが、Deep Learningパーセプトロンを多層にすることでより複雑な問題に対して解を与えるものだ。バックプロパゲーション微分を使用して計算に用いる因子を求めたり、最適な因子を求めるためにどのようにデータを繰り返し読んで行くかなどの技術的な話もわかりやすく書いてある。理論的なところは置いておいて、本書の最大の特徴はDeep Learningの各処理をNumpyやMatplotlibなどのPythonの代表的なライブラリを用いて実装を試みていることだろう。PythonにもDeep Learning用のライブラリが用意されているが、各処理を実際にプログラムしていることでどのような処理をしているのかは理解しやすい。
 
最大の問題は「Deep Learningをどの分野でどうやって利用するか」だと思う。本書ではMNISTという文字画像ライブラリを認識させることを目的とした操作を行なっている。Deep Learning自体は画像分野での開発が話題になることが多いが、現時点ではまだDeep Learningを活躍させるために必要なデータ自体がそろっていない。ビッグデータの時代とはいわれているが、まだまだデータを手に入れることも難しく、それが開発者にとっての大きな悩みになっているだろう。それでも本書は明快に書かれており、今後発展させて行く上での足がかりになると感じた。
 
・Webの入門書に最適

drkernel.hatenablog.com

 

・理系の人間には朗報?成毛さんが進めるこれからの生き方のススメ

 

drkernel.hatenablog.com

 

・IT系が好きな人はAIのこれからを考えるのに読んでおきたい本。

 

drkernel.hatenablog.com

 

コメント