自己学習チップ「loihi -...

15
自己学習チップ「Loihi松岡 宏明 藤原 侑亮 廣安 知之 日和 悟 2018 4 28 IS Report No. 2018042116 Report Medical Information System Laboratory

Upload: others

Post on 20-Jun-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 自己学習チップ「Loihi - Doshisha...で汎用性を持ったAIチップが求められている.そこでIntelでは1個目の課題の解決として,ニュー ロモーフィック・チップに着目した.そして,2個目の課題の解決の為に自己学習機能を実装したAI

自己学習チップ「Loihi」   

松岡 宏明 藤原 侑亮 廣安 知之 日和 悟   

2018年 4月 28日   

IS Report No. 2018042116   

ReportMedical Information  System Laboratory  

Page 2: 自己学習チップ「Loihi - Doshisha...で汎用性を持ったAIチップが求められている.そこでIntelでは1個目の課題の解決として,ニュー ロモーフィック・チップに着目した.そして,2個目の課題の解決の為に自己学習機能を実装したAI

Abstract

近年,画像や音声などの構造化されていない様々な自然なデータから収集/分析/意思決定をする必要

性が高まっている.その為,従来のCPUやGPUとは異なる計算能力が求められている.intelでは

このような用途に適する新たなハードディスクの開発/研究が行われている.そこで,従来の機械学

習とは異なった方法で深層学習を可能にした archificial intelligence (AI)チップ「Loihi」を作成した.

キーワード: ニューロモーフィック・チップ,Spiking neural networks,自己学習

Page 3: 自己学習チップ「Loihi - Doshisha...で汎用性を持ったAIチップが求められている.そこでIntelでは1個目の課題の解決として,ニュー ロモーフィック・チップに着目した.そして,2個目の課題の解決の為に自己学習機能を実装したAI

目 次

第 1章 はじめに . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.1 深層学習 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

第 2章 「Loihi」の概要 . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.1 ニューロモーフィック・チップについて . . . . . . . . . . . . . . . . 4

2.2 自己学習 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.2.1 プログラミングモデル . . . . . . . . . . . . . . . . . . . . . . 6

2.2.2 SNNトポロジー . . . . . . . . . . . . . . . . . . . . . . . . 6

2.2.3 SNNダイナミクス. . . . . . . . . . . . . . . . . . . . . . . . 6

2.2.4 学習ルール . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.2.5 メッシュ状の時間同期 . . . . . . . . . . . . . . . . . . . . . . 8

2.3 「Loihi」の論理構造 . . . . . . . . . . . . . . . . . . . . . . . 8

2.3.1 コンパートメント . . . . . . . . . . . . . . . . . . . . . . . . 9

2.3.2 軸索 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.3.3 シナプストレース . . . . . . . . . . . . . . . . . . . . . . . . 9

2.3.4 シナプス . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.3.5 樹状突起 . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.4 ニューロンコア内の構造 . . . . . . . . . . . . . . . . . . . . . . 10

第 3章 「Loihi」と既存のニューロモーフィック・チップの機械学習の違い . . . . . 11

第 4章 課題と展望 . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

4.1 課題 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

4.2 展望 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

第 5章 まとめ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

Page 4: 自己学習チップ「Loihi - Doshisha...で汎用性を持ったAIチップが求められている.そこでIntelでは1個目の課題の解決として,ニュー ロモーフィック・チップに着目した.そして,2個目の課題の解決の為に自己学習機能を実装したAI

第 1章 はじめに

近年,AIという言葉をよく見聞きする.将棋やチェスよりはるかに難しいとされる囲碁で,AIの

「AlphaGo」が世界最強のイ・セドル棋士に勝った,という話題も記憶に新しい.他にも,コールセ

ンターの自動対応,受付窓口ロボット,製造や物流の高度な自動化など,これまで人間が対応せざる

を得なかった様々な場において AIの活用が進み始めている.citelabel10.また,ビックデータの普

及と深層学習の開発により,機械学習のハードウェア化(AIチップ)が注目されている [?].しかし

AIチップには大きな 2個の課題がある,1個目は「ダークシリコン」問題である.近年,シリコン

チップ上のコア数を増加させることが出来ているが,多くのワークロードはこれらのコアすべてを活

用できておらず従来の CPUやGPUではコアを構成するトランジスタに常時電力を消費させるのは

非効率的でエネルギ消費量が増加するという課題である [?].2個目は「汎用性」の課題である.現在

のAIの進歩は特定の問題を解くという限られた分野で達成されている.つまり既存のAIは,オスス

メの楽曲の選曲や,ドライバーの運転のクセから安全度を診断するといった,特定のタスクに関して

は素晴らしい能力を発揮しているが,特定のタスクに以外では機能しない [?].そこで,低消費電力

で汎用性を持ったAIチップが求められている.そこで Intelでは 1個目の課題の解決として,ニュー

ロモーフィック・チップに着目した.そして,2個目の課題の解決の為に自己学習機能を実装したAI

チップ「Loihi」を開発した.

1.1 深層学習

AIは人間の脳が行っている知的な作業をコンピュータで模倣したシステムであり,機械学習はAI

の手法の一つである.また,深層学習は機械学習の一つである.つまり,AIと機械学習と深層学習

は Fig. 1.1の様な関係になっている [?].

Fig. 1.1 AIと機械学習と深層学習の関係(自作)

2

Page 5: 自己学習チップ「Loihi - Doshisha...で汎用性を持ったAIチップが求められている.そこでIntelでは1個目の課題の解決として,ニュー ロモーフィック・チップに着目した.そして,2個目の課題の解決の為に自己学習機能を実装したAI

1.1深層学習 第 1 章 はじめに

機械学習は,大量のデータから規則性や関連性を見つけ出し,判断や予測を行う手法である.その

ためには,「色と形」など着目する特徴を人間が指定する必要がある.深層学習は,その機械学習を発

展させている.人間の脳神経回路をモデルにした多層構造アルゴリズム「ディープニューラルネット

ワーク」を用い、特徴量の設定や組み合わせをAI自ら考えて決定する.機械学習では,「色と形」な

どの着目する特徴を指示する必要があったが,深層学習の場合は指示をしなくても自動で学習する.

精度を高めるには大量のデータが必要になり,読み込ませるデータによって学習の方向性も変わるの

で学習データを慎重に選ぶ必要がある [?].そこで,従来と異なった機械学習を可能にしたチップが

「Loihi」である.

3

Page 6: 自己学習チップ「Loihi - Doshisha...で汎用性を持ったAIチップが求められている.そこでIntelでは1個目の課題の解決として,ニュー ロモーフィック・チップに着目した.そして,2個目の課題の解決の為に自己学習機能を実装したAI

第 2章 「Loihi」の概要

Fig. ??は「Loihi」である.「Loihi」は,デジタル回路で作られており,14nmプロセスを採用した 2

つのチップで実現している.1つはさまざまな前処理(データを受け取り,ニューラルネットワーク

を発火させるためのフォーマットにエンコード処理を行い,ニューロモーフィック・チップにそれを

転送する)を実行するシンプルな「x86」プロセッサであり,もう 1つはニューロモーフィック・メッ

シュである.これら 2つのチップが同じパッケージに封入されている.「Loihi」は補助処理装置ではな

く,x86チップにはブート環境と軽量OSが搭載されており,ホストとして動作する.ニューロモー

フィック・メッシュは 1024個のニューロンからなり,ニューロモーフィック・コアが 128個メッシュ

状に配置され,全部で 13万のニューロンと 1億 3000万のシナプスがある.また,「Loihi」は初めて

各ニューロコア内にマイクロコードベースの学習ルールエンジンを実装し,単一チップ上でのシナプ

ス荷重状態の更新機能を搭載している.「Loihi」は,自己学習を行うことができ従来の機械学習に比

べて優れたエネルギー効率と処理速度を持っている [?].

2.1 ニューロモーフィック・チップについて

深層学習は行列演算の集合体であり,この行列演算とメモリアクセスの特性に合った実行時間の短

い高性能でかつ高エネルギー効率なハードウェアが求められている.しかし,既存のハードウェアに

はそれぞれ問題がある.CPUは行列演算の際にその繰り返し演算にループ処理といった無駄な命令の

繰り返し実行が必要である.加えて基本的に単純なスカラ演算に特化した演算器しか持っていないの

で,行列という大量のデータを繰り返し同じ演算を行う処理に向いていない.複雑な制御を行うのに

CPUは向いているが,機械学習で相対的にそれほどの複雑な制御は不要である。また,CPUのチッ

プ面積の半分はキャッシュメモリが占めているが局所性を活用するこのキャッシュメモリのアーキテク

チャは深層学習の処理に向いていない.GPUはもともと座標変換や座標計算向けのハードウェアを

起源としており、同じ演算の繰り返しで構成されている行列演算処理に向いている.しかし,余分な

回路や機能が実装されており効率化されていない.また深層学習におけるニューラルネットワークモ

デルが必要とするメモリアクセス特性に合ったメモリアクセス制御を持っていない.従って 600mm2

以上という大規模なチップ面積で,かつ 1GHz以上という高い動作周波数で実行するため,消費電力

は 200Wを超え大量に電力を消費する.このため,演算性能はあるがメモリアクセス特性の不一致と

消費電力の高さにより深層学習に向いていない.そこで,既存のCPUやGPUと異なったハードウェ

アが求められている [?].そこで,人間の脳が注目されている脳は極めて効率的にものごとを処理で

き,高い計算速度と並列処理能力を持っている.さらに,脳にはおよそ 1000億のニューロンが存在

しており,それぞれに最大で 1万ものシナプス接続が存在すると見積もられている.つまり合計する

とおよそ 1000兆にも及ぶシナプスが,電球 1個分よりも少ないエネルギーで動作している.そこで,

スパイクの仕組み等の脳の構造を模倣することでハードウェア実装したのがニューロモーフィック・

コンピューティングであり,Spiking Neural Network(SNN)とも呼ばれる.ニューロモーフィック・

4

Page 7: 自己学習チップ「Loihi - Doshisha...で汎用性を持ったAIチップが求められている.そこでIntelでは1個目の課題の解決として,ニュー ロモーフィック・チップに着目した.そして,2個目の課題の解決の為に自己学習機能を実装したAI

2.1ニューロモーフィック・チップについて 第 2 章 「Loihi」の概要

チップは SNNを実装したチップである.

SNNでは,Fig. 2.1の様にして形式ニューロンで情報を伝達しており,形式ニューロンの数式モデ

ルは式 (2.1)式 (2.2)のように表される.

out′ = (X1・W1 +X2・W2 +・・・+Xn・Wn) (2.1)

out = f(out′ − θ) (2.2)

入力層にある複数のニューロンXから出された入力信号とそれぞれの重みの積が出力層にあるニュー

ロンの閾値 θを超えたとき入力信号の合計から θを引いた値 out’を,活性化関数 f(x)に代入して得

られる値が情報として出力される.SNNでは,通常ローパスフィルタを用いてスパイクを統合する.

各ユニットは,前ユニットからスパイクを受け取り,シナプス荷重に応じた大きさでユニットの内部

電位を変化させる.内部電位がある一定の値θを最初に超えたとき,そのユニットは発火し,次のユ

ニットへスパイクを出力する.また,各ユニットは最低 1回は発火する.発火したユニットはしばら

く発火しにくくなる不応期と呼ばれる期間がある [?].

Fig. 2.1 形式ニューロンモデル(自作)

既存のAIチップではノイマン型アーキテクチャを使用していたので,同期の為にチップ全体にク

ロック信号を流し,全ての演算をクロックに合わる必要があった.その為,常にトランジスタで電力

を消費している.しかし SNNでは,入力ニューロンと出力ニューロンが独立しており同期が不必要

なイベント駆動型である.イベント駆動型では,信号の入力を受けた回路だけが起動し,情報を処理

する.必要な回路しか駆動せず,チップ全体にクロック信号を流す必要がないため,エネルギー効率

が高い.これにより,イベント駆動型では常時駆動している従来のチップに比べての様に消費電力や

稼働環境の温度を抑えることが出来る [?].

「Loihi」では,Fig. 2.2の様に入力に対し発火したコア(赤)が周囲の休止中のコア (青)に,チッ

プ上の物理的なルーターを通して入力を行っている [?].「Loihi」では,一般的なCPUで動作する従来

の表演算処理ソフト(excel)などの計算と比較して,Lasso最適化問題を解決するときのエネルギー

効率が最大 1000倍である [?].

5

Page 8: 自己学習チップ「Loihi - Doshisha...で汎用性を持ったAIチップが求められている.そこでIntelでは1個目の課題の解決として,ニュー ロモーフィック・チップに着目した.そして,2個目の課題の解決の為に自己学習機能を実装したAI

2.2自己学習 第 2 章 「Loihi」の概要

Fig. 2.2 イベント駆動(自作)

2.2 自己学習

自己学習とは,機械学習における学習(情報から将来使えそうな知識を見つけること)と推論(学

習をもとに結果を予想すること)を単一チップ上で行う事である [?].自己学習のための SNNの概念

について以下で説明する.

2.2.1 プログラミングモデル

SNNがプログラマに提示する抽象化と,このプログラミングモデルのために選択したコアは,SNN

トポロジーを定義する手段としてのニューロンコンパートメントとシナプス接続を使用し,SNNダ

イナミクスを記述するために SNNトレースと,シナプス学習のルールを用いている.

2.2.2 SNNトポロジー

最も基本的な抽象レベルでは,SNNの頂点がコンパートメント(2.4.1に記述)を表し,重み付き

エッジがシナプスを表す重み付き有向グラフとなっている.このプログラミングモデルは,ツリート

ポロジーで編成されたコンパートメントがニューロンのより高度な抽象化をサポートし,コンパート

メントのシナプスはスパイクを放出することができます.一つのコンパートメントにあるすべてのシ

ナプスは,ニューロンの状態値を親に出力し,子からの入力を統合して内部状態を更新することがで

きます.このメカニズムは,非線形の入力/出力マッピングの豊富なセットを構築する方法を提供し

ます。

2.2.3 SNNダイナミクス

コンパートメントとシナプスの両方が内部状態を維持し,離散時間スパイクインパルスを介しての

み情報を伝達し,スパイク情報の相対的なタイミングを計算に組み込んでいる.これは,計算におい

て異なる時間からの事象を結合するための形式を必要とする.「Loihi」は時間間隔スパイクの指数平

滑化(得られた過去データのうち,より新しいデータに大きなウェイトを置き,過去になるほど小さ

なウェイトを掛けて移動平均を算出する加重平均法)によってこれを達成し,その結果をトレースと

いう.コンパートメントについては,シナプスのために入力スパイクと出力スパイクのトレースを区

別しながら,更新前と更新後のトレースを維持する.コンパートメント状態とシナプス状態が時間と

ともに変化し,スパイクに応答する具体的な方法は,ニューロンの結合状態によって決定される.

2.2.4 学習ルール

SNNの学習の本質は、入力と出力のスパイクパターンに応じたシナプス荷重の調整である.シナ

プス荷重の評価には活動電位タイミング依存性シナプス可塑性 (STDP)が用いられる.STDPは,シ

ナプス前ニューロンが発火してから次の瞬間にシナプス後ニューロンが発火したとき,シナプス前

6

Page 9: 自己学習チップ「Loihi - Doshisha...で汎用性を持ったAIチップが求められている.そこでIntelでは1個目の課題の解決として,ニュー ロモーフィック・チップに着目した.そして,2個目の課題の解決の為に自己学習機能を実装したAI

2.2自己学習 第 2 章 「Loihi」の概要

ニューロンからシナプス後ニューロンへのシナプス荷重が強くなる.シナプス前ニューロンが発火す

る前にシナプス後ニューロンが発火していたとき,シナプス前ニューロンからシナプス後ニューロン

へのシナプス荷重が弱くなる.という,神経の可塑性である [?].シナプス荷重が更新される方法は,

学習規則によって決められている.「Loihi」のプログラミングモデルでは,シナプス荷重は式 (2.3)で

表される.

Z(t) = Z(t− 1) + ΣmSmΠnFn (2.3)

Zは,ニューロン対に対して定義されたシナプス荷重.tは離散時間.Smは桁数の規模を小さくする

ためのスケーリング定数.Fnは,出力先のシナプスの内部状態をそれぞれ表している.式 (2.3)で求

められたシナプス荷重はコア内のメモリに 9bitで保存されている.

7

Page 10: 自己学習チップ「Loihi - Doshisha...で汎用性を持ったAIチップが求められている.そこでIntelでは1個目の課題の解決として,ニュー ロモーフィック・チップに着目した.そして,2個目の課題の解決の為に自己学習機能を実装したAI

2.3「Loihi」の論理構造 第 2 章 「Loihi」の概要

2.2.5 メッシュ状の時間同期

Fig. 2.3は Fig. 2.5がメッシュ状に並んだものである.SNNモデルを実行するメッシュ構造の動作

について述べる.すべてのコアのアルゴリズムは時間ステップ tで始まりまる.各コアは,独立して

ニューロンコンパートメントのセットを反復処理し,発火状態に入るニューロンは,シナプス対を含

むすべてのコアに物理ルータ―が送信するスパイク情報を生成する.コア Aおよび Bにおけるこの

ような 2つのニューロン(赤)および(黄)のスパイク分布が左から 2個目のボックスに示され,他

の発火ニューロンからの追加のスパイク分布が左から 3個目のボックスの様に物理ルーターにより増

加する.物理ルーターは,コア間でデータを送信する際に,宛先アドレスの情報を元に作成した最適

な送信経路に従ってスパイク(および他のすべての)メッセージを配信する.物理ルーター自体は,

特定の宛先を指定したときのみサポートする.複数の宛先へのスパイクの場合,各コアの出力過程は,

発火ニューロンのファンアウト分布の宛先コアのリストを反復処理し,コアごとに 1つのスパイクを

送信する.読み取りおよびチップ間の通信に関するデッドロックを起こさないために,メッシュは 2

つの独立した物理ルーターネットワークを使用する.帯域幅効率のために,コアは 2つの物理ネット

ワークを介してスパイク情報を交互に送信する.これは,SNNの計算が時間間隔内の入力スパイク

の順序に依存しないため可能である.また時間を計算に組み込む為,処理の最後にすべてのスパイ

クが確実に送信され,コアが時間スステップ t+1に進めることを保証するメカニズムが必要である.

ネットワーク活動を準備する必要がある場合は,左から 4個目のボックスに示すバリア同期装置(橙)

を使用する.各コアは,時間ステップ t時のコンパートメントの動作を終了すると,隣接するコアと

のバリアメッセージ(黒)を交換します.バリアメッセージはスパイクを記録し,次に,すべてのコ

アに時間ステップが進んだことを示す信号(黒)を伝える.コアがその信号をを受信すると,時間ス

テップを進め,時間 t+1の間にコンパートメントを更新する.[?].

Fig. 2.3 メッシュ構造(自作)

2.3 「Loihi」の論理構造

「Loihi」の論理システムは Fig. 2.4の様になっている.各ボックスは,シナプスまたはコンパー

トメントなどを表し,矢印はそれらの関連性を表す.

8

Page 11: 自己学習チップ「Loihi - Doshisha...で汎用性を持ったAIチップが求められている.そこでIntelでは1個目の課題の解決として,ニュー ロモーフィック・チップに着目した.そして,2個目の課題の解決の為に自己学習機能を実装したAI

2.3「Loihi」の論理構造 第 2 章 「Loihi」の概要

Fig. 2.4 「Loihi」の基礎的な論理構造(自作)

それぞれ,Cはコンパートメント,Arは軸索,X・Yはシナプストレース,SYNqはシナプス,DA

は樹状突起を指している.

2.3.1 コンパートメント

コンパートメントは,複数のシナプスを一括りにまとめるところである.コンパートメントは入力

スパイクと他のコンパートメントからの入力を統合します.コンパートメントは活性化閾値を超えた

ときにスパイクを生成する.学習が可能になると,スパイクはシナプス後のスパイクトレースを更新

するために出力軸索に伝搬する [?].

2.3.2 軸索

軸索はニューロンとシナプスをつなぐ.出力軸索と入力軸索を区別する.「Loihi」のモデルでは,ス

パイクはネットワーク内または外部刺激源から入力軸索に到達する.入力軸索は,シナプスに情報を

伝える.学習が可能になると,複数のシナプス前トレースを取り出す [?].

2.3.3 シナプストレース

シナプストレースとはスパイクの時間を表している.各入力軸索およびコンパートメントごとに,

複数のシナプス前トレースおよびシナプス後トレースが存在する.それらはすべて異なる指数平滑化

されたパラメータを使用している.これらのトレースは,スパイクタイミング依存性可塑性(STDP)

のためのスパイク間の経過時間の代わりとして、またはシナプス前の活動と相関するように学習エン

ジンに入る [?].

2.3.4 シナプス

シナプスは,ニューラルネットワークにおける接続性を表す.それらは目的コンパートメントと樹

状突起を参照し,重みとシナプス遅延とシナプスのプログラムをサポートする.学習エンジン内でプ

ログラムが更新されるまでの間,シナプス遅延により到着スパイクの蓄積を遅らせることによって映

像や音声などの同期の為の時間,時刻情報を符号化した電気信号の作成を可能にする.全てのシナプ

ス状態は,シナプス状態及びシナプス前/シナプス後トレースの関数として,学習エンジンによって

修正される [?].

2.3.5 樹状突起

入力スパイクは,コンパートメントによって活動電位を起こす.これをシナプスの活性化と呼ぶ.

樹状突起は,スパイクがシナプス遅延に基づいて更新されたプログラムで処理されるようにデータを

9

Page 12: 自己学習チップ「Loihi - Doshisha...で汎用性を持ったAIチップが求められている.そこでIntelでは1個目の課題の解決として,ニュー ロモーフィック・チップに着目した.そして,2個目の課題の解決の為に自己学習機能を実装したAI

2.4ニューロンコア内の構造 第 2 章 「Loihi」の概要

一時的に蓄えておく記憶装置や記憶領域となる.また,対応するコンパートメントへの現在のシナプ

スの内部状態を伝達する.

2.4 ニューロンコア内の構造

各コアは限られたメモリ容量しか持たず,限られた数の論理構造しか保持できない.その為,ニュー

ロンコアがメッシュ状に配置されている.ニューロンコア内では Fig. 2.5の様にメモリが実装されて

いる.それぞれのカラーブロックはメモリを表しており,赤色は学習ルールによるシナプス荷重の更

新を行う処理装置とその為のシナプストレース,青色はシナプス荷重のパラメータ,黒色はスパイク

情報を表している.[?].

Fig. 2.5 ニューロコアの内部の処理(自作)

シナプスは,すべての入力スパイクを処理し,関連するシナプス荷重をメモリから読み出す.樹状

突起は,コア内のすべてのニューロンの状態変数を更新する.軸索は,各発火ニューロンのすべての

出力スパイクを生成する.学習は,プログラムされた学習ルールを使用してシナプス荷重を更新する.

SNNの実行中,コアのシステムは,各アルゴリズムタイムステップ内で 3つの連続したフェーズで

動作する [?].

• ニューロン更新およびスパイク処理:ニューロンおよびシナプス状態は,オフチップメモリにアクセスする必要がなく,物理ルーターを介して送信されるスパイクメッセージを介して通信

するニューロンのみで,各ニューロコア内でローカルおよび並列に更新される [?].

• 学習:シナプス状態は,ニューロコアの統合学習エンジンを用いて更新される.学習エンジンは,のように積項の和として指定されたプログラム可能な規則を符号化するマイクロコードを

実行する [?].

• システム管理(オプション):各アルゴリズムタイムステップの最後に,管理コマンドを実行するオプションがあります.たとえば,ニューロコア内の状態を再構成または検査することがで

きます. これは,SNNの動作を監視およびデバッグする場合に便利である [?].

10

Page 13: 自己学習チップ「Loihi - Doshisha...で汎用性を持ったAIチップが求められている.そこでIntelでは1個目の課題の解決として,ニュー ロモーフィック・チップに着目した.そして,2個目の課題の解決の為に自己学習機能を実装したAI

第 3章 「Loihi」と既存のニューロモーフィック・チップの機械

学習の違い

既存の機械学習では,深層学習が主流となっている.しかし,深層学習では事前に環境を考慮した学

習データを与える必要があり,もしも与えた学習データが適切でなければ,コンピュータが思いもよ

らぬ方向に進化を遂げてしまう可能性がある.また,準備された学習データに対応している環境にし

か適応することが出来なかった [?].他にも,トレーニング用のデータが特定の要素や状況を具体的

に考慮してないかぎり正しく動作しなかった.例えば人の心拍数は運動量や個人によって異なるため,

機械学習だけでは「正常値」を割り出すことはできなかった.しかし,自己学習を行なう「Loihi」で

あれば,ユーザーの行動を常にトラッキングして,そのユーザーに対しての「正常値」を学習でき

る [?].また,従来のニューロモーフィック・チップでは学習と推論の段階が明確に分かれており,二

つの段階を単一チップ上で行うにはチップサイズが大きすぎる.その為,ニューロモーフィック・チッ

プではシナプス荷重のパラメーターは他の CPUで作成している.しかし,CPUで複雑な動作をす

る SNNのパラメータを作るのは非効率である.ニューロモーフィック・チップでは,パラメータセッ

トをチップに出し入れしながら推論や学習を実施する.チップ外部へのアクセスがハードウェアとし

て性能とエネルギー効率の主なボトルネックの原因となりリアルタイムでの学習ができなかった [?].

しかし,「Loihi」では各ニューロコア内にプログラミング可能なエンジンを搭載したことにより,チッ

プ内でシナプスのプログラムを書き換えシナプス荷重を調整できる.つまり,自己学習が単一チップ

上で出来るのでこの機能により,リアルタイムでの学習が可能となり,その結果,MNISTと呼ぶ桁

認識の問題を所定の精度で解くのに,他の典型的なスパイク・ニューラルネットと比較して,100万

倍の学習向上率を得た [?].

11

Page 14: 自己学習チップ「Loihi - Doshisha...で汎用性を持ったAIチップが求められている.そこでIntelでは1個目の課題の解決として,ニュー ロモーフィック・チップに着目した.そして,2個目の課題の解決の為に自己学習機能を実装したAI

第 4章 課題と展望

4.1 課題

「Loihi」は 13万個のニューロンで構成されているが,人間の大脳のニューロン数は数百億個であ

る.つまり,人間の脳を模すには 5桁のひらきがある.その為,まだチップの処理能力は低く,人間

の脳を再現するにはニューロンの数を増やす必要がある.しかし,単純にニューロンの数を増やして

しまうとチップがのサイズが大きくなるので一つ一つのコアの縮小化を進めていく必要がある.また,

情報の流れを教師あり学習用や教師なし学習用,強化学習用のスパイキングニューラルネットワーク

として実行できるようにするための変換処理を容易にするソフトウェアの開発を進めていく必要があ

る [?].

4.2 展望

既存のAIチップは特定の環境や状況にしか対応できず,AIの活躍の場が限定されていた.しかし,

「Loihi」は汎用性が高い為,特定の作業やタスクに限定せずプログラミングされた機能以外に自身の

能力を応用して対応し,AIの活躍の場を広くしていくと期待される.

例としては,町行く人の中から,行方不明者や指名手配犯を即座に探し出すことや,交通の流れに

応じて自動調整を行う信号などリアルタイム性を求められる環境への機械学習の導入が可能になると

期待される.

12

Page 15: 自己学習チップ「Loihi - Doshisha...で汎用性を持ったAIチップが求められている.そこでIntelでは1個目の課題の解決として,ニュー ロモーフィック・チップに着目した.そして,2個目の課題の解決の為に自己学習機能を実装したAI

第 5章 まとめ

現在,AIを組み込んだハードウェアの開発が進んでいるが,消費電力の高さと汎用性の低さに課題

があった.その為,既存のAIチップは特定の環境や状況にしか対応できずAIの活躍の場が限定され

ていた.そこで Intelは,AIチップ「Loihi」を開発した.本稿では,「Loihi」が低電力かつ汎用性の

高さを実現した仕組みについて述べた.しかし,実用化するには処理能力が低く,ニューロコア数を

増加し処理能力を上げていく必要がある.また,「Loihi」の性能を充分に引き出せるソフトウェアの

開発が必要である.これらの課題が解決されると今後,AIの活躍の場は広がっていくと期待される.

13