Deep Insider の Tutor コーナー
>>  Deep Insider は本サイトからスピンオフした姉妹サイトです。よろしく! 
書籍転載:Thinking Machines ― 機械学習とそのハードウェア実装

書籍転載:Thinking Machines ― 機械学習とそのハードウェア実装

初の機械学習ハードウェア専門書! 機械学習ハードウェアの現在と未来の社会に与える影響を探る。

高野 茂幸
  • このエントリーをはてなブックマークに追加

書籍転載について

 本コーナーは、インプレスR&D[Next Publishing]発行の書籍『Thinking Machines ― 機械学習とそのハードウェア実装』の中から、特にBuild Insiderの読者に有用だと考えられる項目を編集部が選び、同社の許可を得て転載したものです。

 『Thinking Machines ― 機械学習とそのハードウェア実装』(Kindle電子書籍もしくはオンデマンドペーパーバック)の詳細や購入はAmazon.co.jpのページもしくは出版元のページをご覧ください。

 近年その研究と活用が活発に行われている機械学習ですが、GPUなど既存のハードウェア上での実装がほとんどです。本書は機械学習のためのハードウェア開発にスポットをあてた、初めての専門書です。機械学習全般の基礎知識や機械学習ハードウェアの最新動向と事例のまとめだけでなく、その実装に伴う課題なども詳細に検討しています。機械学習の基礎知識がある方はもちろん、現在の機械学習全般の動向を知りたい方におすすめの一冊です。

【目次】

はじめに

第1章 イントロダクション

1.1 機械学習の認知

1.2 機械学習と応用範囲

1.3 学習と性能

1.4 機械学習の位置づけ

第2章 従来のアーキテクチャ

2.1 ハードウェア実装の現実

2.2 特定用途向け集積回路(ASIC)

2.3 ハードウェア実装のまとめ

第3章 機械学習と実装方法

3.1 ニューロモルフィックコンピューティング

3.2 ニューラルネットワーク

第4章 機械学習ハードウェア

4.1 実装プラットフォーム

4.2 性能指標

4.3 性能向上方法

第5章 機械学習モデルの開発

5.1 ネットワークモデルの開発プロセス

5.2 コードの最適化

5.3 Python言語と仮想機械(Virtual Machine)

第6章 ハードウェア実装の事例

6.1 ニューロモルフィックコンピューティング

6.2 ディープニューラルネットワーク

6.3 その他の事例

6.4 事例のまとめ

第7章 ハードウェア実装の要点

7.1 市場規模予測

7.2 設計とコストのトレードオフ

7.3 ハードウェア実装の戦略

7.4 まとめ:ハードウェア設計に要求されること

第8章 結論

付録A 深層学習の基本

A.1 数式モデル

A.2 機械学習ハードウェアモデル

A.3 深層学習と行列演算

A.4 ネットワークモデル開発時の課題

付録B Advanced Network Models

B.1 CNN Variants

B.2 RNN Variants

B.3 Autoencoder Variants

B.4 Residual Networks

付録C 国別の研究開発動向

C.1 中国

C.2 米国

C.3 欧州

C.4 日本

付録D 社会に与える影響

D.1 産業

D.2 機械学習と人の共存

D.3 社会と個人

D.4 国家

 


 

はじめに

 近年、深層学習に代表される機械学習(ML; Machine Learning)システムは画像認識で高い認識能力を示し、チェスや囲碁で機械学習システムがプロに勝利した事からさらに注目を集めている。 半導体技術の進歩により計算機が機械学習で要求される処理能力の閾値を超え、さらに情報通信上のサービスの発展と利用者増加との相乗効果により大量のデータが収集され、これが機械学習の研究に利用され始めたという背景がある。 つまり、計算能力とデータ量が揃ったことで機械学習の研究でブレークスルーが起こったのである。

 そして現在では様々な用途への応用が広がり始めており、機械学習を基にしたサービスがビジネスや社会基盤等へ利用され始めている。 その機械学習の研究開発は高速処理が可能かつ必要な開発基盤を提供しているGPUを中心とした計算機システムで行われている。 しかしながらGPUは消費電力が高く、その高い運用コストが潜在的利用者の採用決定判断を鈍らせている。 また、機械学習用プラットフォームは 現在一部のCPUベンダー、DSPベンダーそしてGPUベンダー企業のみが提供しているが、特定のGPUベンダー製品に事実上依存しており機械学習の研究開発者にとって選択肢がない状態である。 機械学習システム市場における競争原理促進の意義もあり、機械学習専用ハードウェアを開発する企業が現れ始めており、エネルギー効率の高さで圧倒的に優位な機械学習に特化したハードウェアアクセラレータの研究開発が盛んに行われ始めている。

 本書では機械学習ハードウェアを調査し、これまでのハードウェアアーキテクチャの傾向をまとめることで、これからの機械学習システムのハードウェア実装の方向性を示す。 そのために機械学習で用いられる主な機械学習モデルとそれを実装するアプローチをそれぞれまとめた。 また今日一般に機械学習の実装方法で利用されている一般的なプラットフォームにおける機械学習(ニューラルネットワーク)の開発過程を紹介する。 そして実際にハードウェア実装された機械学習ハードウェアの事例をまとめ、実装方法として代表的なFPGAとASICとしてハードウェア実装する場合の要点について検討する。

 本書で取り上げるハードウェア実装対象の機械学習モデルの分野は、現在主流になっている ニューロモルフィックコンピューティング(Neuromorphic Computing)と深層学習(Deep Learning)とも呼ばれているディープニューラルネットワーク(Deep Neural Network)である。

 今後機械学習ハードウェアを設計開発する為の方向性を検討するのにあたって、ソフトウェアプログラムを実行するマイクロプロセッサや GPU といったユニット、ハードワイヤード回路である特定アプリケーション用集積回路 (ASIC) 等を中心にその変遷を俯瞰し、その上で現状の機械学習モデルを実行するプラットフォームも紹介する事で、現状どのような点に対して機械学習ハードウェアアーキテクチャの研究開発が行われているかや、今後のハードウェア化の方向性や実装に伴う課題や要件を検討している。

 付録では、深層学習モデルと計算機上での処理モデルを順伝播型ニューラルネットワーク(Feedforward Neural Network)モデルを利用して説明しており、深層学習の基本知識が不足している読者でも機械学習モデルの処理と機械学習ハードウェア上での実行の対応が確認できるように説明した。 さらに、基本的な機械学習モデルを応用した先進的なネットワークモデルも紹介しているので、先進的な機械学習ハードウェアを設計開発する際にどのような事項が求められるか、検討の一助になると思う。 加えて各国の機械学習関連の研究開発動向や、機械学習を中心とした新しい技術による社会への影響を考察している。

本書の構成

 第1章は機械学習が注目されるきっかけとなった事例をいくつか取り上げ、機械学習の定義からその応用・適用を簡単に説明する。 そして機械学習の学習とその評価について触れ、学習方法の分類や性能評価・検証方法も紹介している。 また、機械学習と直接関係はないがブロックチェーン(Block Chain)も取り上げる。 Block Chain技術は有形無形の資産の台帳システムであり、今後様々な用途に応用されることが予想されており、機械学習との組み合わせの可能性が十分にあり得る。

 第2章では従来の計算機アーキテクチャの主要な要素の一つであるプロセッサ、計算機システムにGPUが使用されている事や、さらに最近の動向としてFPGAが計算機システムに使用されるようになった事も説明する。 また、本書で取り上げる機械学習ハードウェアの多くは機械学習用アクセラレータであり、特定用途向け集積回路(ASIC; Application-Specific Integrated Circuit)に属する。 ASICは名前の通り、特定の問題・課題を直接解決するために設計された専用回路である。 アプリケーションがアルゴリズム等で表現される際に現れる依存性(Dependency)、一般的にアルゴリズムを処理する際の特性である局所性(Locality)を説明する。 この2点をより良い方法で利用・応用したハードウェアが性能やエネルギー効率の良いハードウェアと言える。 さらに、実際にシリコンチップとして製造されるまでに考慮すべき制約なども取り上げる。

 第3章は脳の神経細胞とそれをモデル化した形式ニューロンに触れている。 そこから2種類のハードウェア実装アプローチであるニューロモルフィックコンピューティング(Neuromorphic Computing)とディープニューラルネットワーク(Deep Neural Netwrok)を取り上げ、それぞれのハードウェア実装する際の基本的な構造(アーキテクチャ)を説明している。

 第4章は機械学習をハードウェア実装するためのハードウェアプラットフォームである、CPUを含むメニーコアプロセッサ、DSP、GPU、FPGAのアーキテクチャを説明している。 読者がすでにアーキテクチャを知っているのであれば読み飛ばすことをお勧めする。 ハードウェアの性能評価指標、そしてハードウェアとして性能を向上させるための方法としてモデル最適化、モデル圧縮、パラメータ圧縮、符号化、データーフロー最適化、ゼロスキッピング演算を説明する。

 第5章では現在の機械学習モデルの開発プロセスと一般的な開発言語やその動作の仕組み、プログラムのハードウェアプラットフォームに対する基本的な最適化方法も紹介する。 この基本的な最適化方法も重要な要素であり、ハードウェア実装により最適な方法が異なる。 今回はCPUにおける最適化方法を取り上げているが、他のハードウェアアーキテクチャへも適用可能な基本的な方法なので一度確認しておくことをお勧めする。 プログラミング言語のPythonについては簡単に説明しているだけであり、その言語が実行されるプラットフォーム層である仮想機械も簡単に説明することにとどめている。

 第6章は機械学習ハードウェアの実装事例を説明する。 ニューロモルフィックコンピューティングハードウェアは既にサーベイ論文があるので、本書では詳細な説明は割愛している。 アナログ回路実装とデジタル回路実装でも分類説明している。 ディープニューラルネットワークのハードウェア実装に関しては他に、DSP、FPGA、そしてASIC実装も取り上げている。 最後にまとめとしてそれぞれの実装の特徴と比較も取り上げている。

 第7章は6章までの結果からハードウェア実装する場合の要点を検討する。

 第8章の結論では本書のまとめを述べたのち、付録として機械学習の主要なアプローチである深層学習の基本的知識を紹介し、さらに基本ネットワークモデルを応用した先進的なネットワークモデルを紹介する。 加えて、各国の機械学習ハードウェア研究開発動向を俯瞰して、最後に機械学習を中心として先進技術が社会に与える影響を考察する。

謝辞

 この本の査読において詳細な指摘をしていただいた、冨田教幸氏とtkysktmt氏に感謝します。 編集で尽力いただいた山城敬氏に感謝します。

高野 茂幸(たかの しげゆき)

2008年三洋半導体株式会社に入社。その後株式会社ドワンゴを経て、現在は電気・電子機器メーカー研究所勤務。業務としてデジタル信号処理プロセッサーの設計開発からビデオトランスコーダーの開発などの傍ら、次世代プロセッサーの一つである自立型再構成可能プロセッサーの個人研究に携わる。最近は機械学習プロセッサーを個人研究中。

サイトからのお知らせ

Twitterでつぶやこう!