機械学習のハードウェアからのアプローチ – FPGA・光コンピューティング・量子コンピューティング

機械学習技術 人工知能技術 自然言語処理技術 確率的生成モデル アルゴリズム デジタルトランスフォーメーション技術 ICT技術 ITインフラストラクチャ技術 深層学習 機械学習における数学 本ブログのナビ
機械学習のハードウェアからのアプローチ – FPGA・光コンピューティング・量子コンピューティング

コンピューターは「数学で表された情報を扱う機械」ということができる。

ここでの数学とは「1」とか「2」などの記号ではなく、それらが表している抽象的な概念となる。つまり「1」とか「2」の世界の話で言うと、「1」とか「2」は「数字」であってそれが表している「数」は見ることができないもの(抽象的な概念)となる。

ここでドゥニ・ゲージの「数の歴史」の中で数について以下のように述べられている。

「人間の目は5つより多いものの数を一度に把握できない。幼い子供の数の概念が「1」「2」と「たくさん」だと聞いて笑うような人でも、人目見ただけで5個と6個の区別がつかない。おそらく人間は、目にこのような弱点があったために、数を発明したのだろう」

これは、つまり人間が自分の感覚だけで捉えられないことを扱うために、数が必要だったということとなる。数が誕生する前は、人々は、ものの多さや大きさを、自分達の感覚でわかるぶんだけ理解したり、伝えたりするしかなかった。

これに対して数という他人と共通で利用できる概念を得たことによって、細かな(数の)概念、つまり自分の感覚を超える知識や情報を得ることができるようになった。このような数によって表される情報は、現在や過去のことだけでなく、数の計算をするこど、未来のことや、仮定したことまで、予測をすることができるようになった。

現在のコンピューターは、この数を表し、計算するのには制御の容易性から電気を使った処理が主流となっているが、電気以外の媒体としてはこれまでに、蒸気、光、磁気、量子等さまざまなものが利用され、それぞれの特徴を持っている。

本ブログでは、コンピュータのしくみから始まる計算機の基本原理について述べた後、計算の対象を機械学習に絞り、最もシンプルな機械であるRaspberry Piでの機械学習について述べ、次に機械学習専用のコンピューターとしてFPGAやASICを用いたケースについて述べる。さらに次世代のコンピューターとして量子コンピューティングや光コンピューターについても述べたいと思う。

以下に詳細について述べる

イギリスの数学者チューリングは、ヒルベルトの「決定問題」解決のために、万能計算機の数学的モデル「チューリング・マシン」のアイディアに至った。この「チューリング・マシン」こそが、コンピュータの万能性を保証する数学的基礎になった。
 チューリングは、「チューリング・マシン」を使って、計算という行為を徹底的に検証した。そして、手順を示すことと、計算ができることが同じであることを示した。その手順はアルゴリズムと呼ばれ、いまではソフトウェアと言われている。
 本書は、コンピュータの原理としてのチューリング・マシンを解説するとともに、決定問題を解決した有名な「チューリング・マシンの停止問題」も分かりやすく説明し、さらに計算量と、7大難問の一つ「P=NP問題」についても、わかりやすく解説する。

  • 思考する機械コンピューター

  • Raspberry Piで始める機械学習

“コンピューターを構成する計算要素と半導体チップについて“で述べた半導体チップを設計するプロセスと、”ソフトウェア技術者のため のFPGA入門 機械学習編“から一歩進めたAIアプリケーションに特化した半導体チップについて述べたいと思う。

FPGAとはField Programmable Gate Arrayの略で、再構成可能なハードウェアを指す。FPGAの中身は回路を構成するためのロジック、DSP、RAMや専用のハードウェア・マクロなどがあり、現在のFPGA業界はXillinx社とIntel社(旧Altera社、2015年にIntel社が買収)の二社のデバイスが市場の大半を占めている。

ソフトウェアからFPGAやASICなどのハードウェアを開発する手法は古くからあり、ハードウェア業界では一般に高位合成と呼ばれている。

近年、AIやディープラーニングの勉強会でFPGA関連のコミュニティベースでの勉強会などで、ソフトウェアから高位合成でもFPGAを開発する発表が行われている。高位合成が目立つようになってきたのは、高位合成ツール本体の価格が下がってきていること、またC言語からの高位合成だけでなく、Java・Python・bubyといった言語からも高位合成できるツールなども登場し、FPGAを使うためにわざわざ専用の言語(従来のVerilogやHDL、VHDL等)を使う必要性がなくなりつつあるところにある。

従来の計算機アーキテクチャ、特にマイクロプロセッサアーキテクチャはムーアの法則(半導体技術の向上に伴い、1.8年毎にダイに実装されるトランジスタ数が2倍になるとした予想)を前提に単位面積辺実装できる論理回路の規模がスケールでき、結果としてトランジスタのゲート長が短くなるので動作時のクロックサイクル時間を短縮できて、要求される実行性能(実行に要する時間の短さ)もそれとともにスケールができていた。つまり何年後にこれだけダイ面積が利用でき、配線遅延もこれだけだから動作クロック周波数もこれだけになるので、これだけの機能を実装したプロセッサはこれだけの性能になるというのが大体見積もれていた。

  • ソフトウェア技術者のためのFPGA入門 機械学習編

量子アニーリング方式で動く量子コンピュータに着目。新しい方式の量子コンピュータがどのようにして動き、どんな計算を行っているのか、どうやって人工知能に応用できるのかを、わかりやすく解説する。

Googleの研究チームによる「量子超越性の実証」が報じられて以来、改めて注目を集めつつある量子コンピュータ。それは私たちの世界をどのように変えうるのだろうか。本特集ではその歴史や理論的な基礎から最新の成果まで、量子情報科学の現在形を一望するとともに、政治経済や哲学、文学など多様な観点から量子時代の行く末を考える。

光コンピュータは、従来の電子ではなく、光を用いた計算を行うコンピュータのことを指す。これまでのコンピュータと比較した利点としては、熱を発生し膨大な電力を消費する原因となる電子での処理と比べて光での処理は圧倒的に低消費電力な点となる。また空間的な並列処理が可能で大幅な処理速度の向上が見込まれるという利点がある。

その反面、電子情報のように論理回路を大規模に組むことが困難なため、実用的な光コンピューターは実現されていないという課題もある。

SFの世界でこの光コンピューターが実現されている著名なものとしては、スーパーマンの母星であるクリプトン星人の持つ光コンピューター技術となる。これは情報処理、画像表示、音声入出力から自己増幅機能まで持ったクリスタルを使うというもので、スーパーマンの北極の孤独の基地を作るシーンでは、それらの技術をベースにクリスタルが自己増殖し基地を作り上げるシーンが描かれている。これらの技術は、理論的には現実に存在する。以下にそれの個々の要素技術について述べてみたい。

2017年に発表され、2つのベンチャーLightintelligenceLightmatterが設立された光ニューラルネットチップの技術紹介。通常のチップに比べて数桁少ないエネルギー消費量と数十〜数百倍早いスピードが特徴で、実際に動作するチップが作られている。

1978年に発表されたフォトリフラクティブ結晶(入力光により内部の電場が変化/保持)を用いて体積方向に多層学習させるアイデアの論文。フォトリフラクティブ結晶としては、強誘電体、化合物半導体、有機ポリマー(液晶等)がある。内部での電荷の移動を伴うため、応答速度は遅い(ms〜s)

2020年にNatureに掲載されたColloidal diamondの論文の解説。光の伝搬をナノ単位で制御するフォトニック結晶をDNAを使って自己成長させて生成制御する。

コメント

  1. […] アルゴリズム ICT技術 デジタルトランスフォーメーション コンピューターアーキテクチャ ITインフラストラクチャ 深層学習 機械学習における数学 […]

  2. […] デジタルトランスフォーメーション技術 アルゴリズム ICT技術 コンピューターアーキテクチャ ITインフラストラクチャ技術 機械学習における数学 深層学習 […]

  3. […] アルゴリズム ICT技術 デジタルトランスフォーメーション技術 コンピューターアーキテクチャ ITインフラストラクチャ技術 深層学習 機械学習における数学 […]

  4. […] デジタルトランスフォーメーション技術 アルゴリズム ICT技術 コンピューターアーキテクチャ ITインフラストラクチャ技術 機械学習における数学 深層学習 […]

  5. […] “機械学習のハードウェアからのアプローチ – FPGA・光コンピューティング・量子コンピューティング“でも述べている量子コンピュータを利用することで、”量子力学と人工 […]

タイトルとURLをコピーしました