研究

松谷研では人工知能(AI)やデータ処理のための基盤システムを研究しています。最近は、身の回りに埋め込まれているような小さくて軽いデバイス上で、高度なAIやデータ処理を行うために、新しい機械学習アルゴリズムやそれらに合った計算機を研究しています。具体的には以下のプロジェクトに取り組んでいます。一緒に研究してくれる人たちを募集しています。

論文リストはここに、論文の概要はここにあります。


実世界異常検知のためのオンデバイス学習(2017年〜)

工場、データセンタ、オフィス、家庭、ドローンなど実環境における異常検知を研究しています。
画像認識では「猫」の画像は世界中どこでもいつでも「猫」でしょうけど、実世界の異常検知ではそうはいきません。実際、ノイズや他の装置の稼働状況など外的要因によってセンサの値の見え方が変わってしまいます。つまり、「正解」がズレてしまうのです。
そこで、置かれたその場でノイズも含めて「正常」を学習し、異常検知できる技術が望まれています。松谷研では、身の回りに埋め込まれているような小さくて軽いデバイス上で学習する技術(オンデバイス学習)を研究しています。具体的には、オンライン逐次学習による教師無し異常検知アルゴリズムとその周辺技術を研究しています(下図)。

以下は松谷研で開発しているオンデバイス学習のデモ動画です。いろいろな企業と協力して実証実験を行っています。さらに、エッジデバイス同士の協調学習(フェデレーション学習アルゴリズム)、強化学習アルゴリズム、人行動認識への応用、オンデバイス学習のチップ化なども研究しています。

※本研究の一部は、JST戦略的創造研究推進事業CRESTのご支援を受けています(2017年10月から)。


移動ロボット向け自己位置推定および地図作成の高効率化(2019年〜)

お掃除ロボットなど自律的に移動するロボットでは、壁や障害物がどこに有って、自分が今どこに居るのかを自律的に判断できなければなりません。このような自己位置推定および地図作成のためにSLAMという手法が使われます。
SLAMにはいろいろなアルゴリズムがありますが、総じて計算負荷が高いです。松谷研では、小さくてバッテリー容量にも制限があるような移動ロボットにおいて、自己位置推定および地図作成を高効率に行うための研究をしています。

以下はPYNQと呼ばれる小さなFPGA(再構成可能ハードウェア)ボード上で、SLAMアルゴリズムを動かしたときのデモ動画です。大きくて高価なFPGAじゃなくて、小さくて安価なFPGA上で動かしているところが凄いんです。いろんな移動ロボットに搭載できるところまで来ています。


機械学習・データ解析の高性能化(2014年〜)

機械学習とは、人が行っているような学習機能をコンピュータにやらせようという人工知能技術の一種です。例えば、与えられたデータの中から有益なルールや知識を導き出すために使われます。
松谷研では、大量のデータ(ビッグデータ)の中から有益な情報のみを抽出できるようにすべく、機械学習の高速化に取り組んでいます。具体的には、10ギガビットイーサネットを備えたネットワークインタフェースカード(NIC)上に機械学習アルゴリズムを実現し、たくさんのセンサーデータの中から外れ値(不審者とか)、変化点(株価の傾向の変化とか)、異常行動(自動車の危険運転とか)を検出できるようにしています。このような「機械学習するNIC」によって桁違いに高速な異常検知を実現しています。

たくさんの計算機を使ってディープラーニングを高速化する研究にも力を入れています。具体的には、たくさんのGPU(グラフィックス処理ユニット)で計算した勾配を集約したり、重みパラメータを最適化する部分(SGD、AdaGrad、Adam、SMORMS3アルゴリズムなど)の高速化、分散強化学習の高速化などに取り組んでいます。

※本研究の一部は、JST戦略的創造研究推進事業さきがけのご支援を受けました(2013年10月から2017年3月)。


ビッグデータ処理の高性能化(2014年〜)

ビッグデータとは、生物、気象、物理、金融、インターネット、ネットワークサービスなどの分野で発生する莫大な量の情報のことです。このような大規模なデータを蓄積および解析し、その傾向をつかむことで、ビジネスの意思決定、流行の予測、犯罪防止、道路交通状況判断などに応用できると期待されています。
ビッグデータを利活用するには、いろいろな機能(ソフトウェア部品)が必要です(下図)。例えば、ストリームデータを集める機能、集めたストリームデータを逐次的に処理する機能、貯めてから一括処理する機能、データを蓄積検索する機能などです。ディープラーニングやオンライン機械学習も重要です。

松谷研ではこれらのソフトウェア部品を最近急に注目されるようになったFPGA(再構成可能ハードウェア)やGPU(グラフィックス処理ユニット)といったアクセラレータを使って高性能化しています。具体的には、10ギガビットイーサネットに接続された「ネットワーク接続型FPGA」、および、10ギガビットもしくは40ギガビットイーサネットに接続された「ネットワーク接続型GPU」を多数用いてHadoop、Spark、Spark Streamingなどのデータ処理フレームを高速化しています。

※本研究の一部は、JST戦略的創造研究推進事業さきがけのご支援を受けました(2013年10月から2017年3月)。


ビッグデータ蓄積検索の高性能化(2013年〜2019年)

ビッグデータの蓄積および検索のために、これまでのリレーショナルデータベースに加えて、GoogleのBigTableなどに端を発する構造型ストレージ(NoSQLと呼ばれる)の利用が注目されています。松谷研では10ギガビットイーサネットに接続された「ネットワーク接続型FPGA」、および、10ギガビットもしくは40ギガビットイーサネットに接続された「ネットワーク接続型GPU」を多数用いて様々なタイプのNoSQLを高性能化しています(下図)。

例えば、客層分析システム(カメラ画像から通行人の年齢性別を判定)から出力された通行人データを蓄積し、それを高速に検索できるようなシステムを研究しています。また、仮想通貨として注目を浴びているビットコイン(ブロックチェーン)を対象とした研究も行っています。実際、ビットコインも裏ではデータベースが動いていますから、松谷研で開発しているNoSQLアクセラレータの応用先として有望なのです。

※本研究の一部は、JST戦略的創造研究推進事業さきがけのご支援を受けました(2013年10月から2017年3月)。


VR向けラックスケールアーキテクチャ(2015年〜2018年)

GoogleやFacebookはデータセンターという設備を持っていて、そこではたくさんの計算機が動いています。松谷研ではそういったデータセンターを高効率化するための研究をしています。具体的には、下図にあるように、計算機を入れておく入れ物(ラックと呼ぶ)の中に、フルセットの計算機ではなくて、CPU、メモリ、ディスク、GPU、FPGAのような計算機の「部品」をたくさん入れておき、必要に応じてこれらの「部品」たちを接続して、オンデマンドにソフトウェア定義でフルセットの計算機を作ることができます。計算が終わったら「部品」たちはリリースします。そうすれば「部品」たちは別の用途に使えるので大変効率的です。

これを使ってVR(Virtual Reality)向けの計算サービスを実現しようとしています。うまく行けば、ユーザはパソコンなしでVRを楽しめるようになるはずです。


光ビームを用いたデータセンターネットワーク(2012年〜2018年)

インターネットの検索エンジンに加え、FacebookなどのSNS、オンラインショッピング、オンラインゲーム、動画共有などのネットワークサービスを利用している人も多いと思います。このようなサービスのためにたくさんの計算機が使われています。計算機はサーバラックに格納され、多数のサーバラックがデータセンターと呼ばれる施設に設置されています。
松谷研では、サーバラックの上にコリメータレンズを設置し、このレンズを使って光信号を送受信することでサーバラック間を40Gbpsの光ビームで通信できるようにしています。下図では、光ビームをミラーに反射させて、2つのコリメータレンズ間で通信をしています。

レンズの向きを変えれば任意のサーバラック間に40Gbpsリンクを必要に応じて形成できます。我々はこれを「40Gbpsハイウェイ」と呼んでいて、このような光ビームを使って仮想マシンやビッグデータを移送することを研究しています。

※本研究は、国立情報学研究所鯉渕研究室と共同で進めています。
※本研究の一部は、総務省 戦略的情報通信研究開発推進事業(SCOPE)のご支援を受けました(2013年4月から2014年3月、2016年4月から2018年3月)。


GPU(グラフィックス処理ユニット)を用いたソーシャルグラフの解析(2013年〜2017年)

FacebookなどのSNSを利用している人も多いと思います。ソーシャルグラフとは人と人の「つながり」を表すネットワークのことです。例えば、Facebookではノード数は10億人以上、平均次数(あるノードと直接つながっているノード数、平たく言うとお友達の平均数)は200前後と言われています。SNSはインターネット上の交流の他にも、顧客のソーシャルグラフをもとにしたリコメンデーションエンジンへの応用が期待されています。
ソーシャルグラフはとても大規模になるため、この解析は計算がとても重いです。そこで、松谷研ではGPU(グラフィックス処理ユニット)を使ってソーシャルグラフの解析を高速化しています(下図)。GPUと言うとPC上で動作する3Dゲームでの使用を思い浮かべる人も多いと思いますが、ソーシャルグラフの探索をGPUを使って並列実行することで200倍以上の高性能化を実現しました。

※本研究の一部は、JST戦略的創造研究推進事業さきがけのご支援を受けました(2013年10月から2017年3月)。


チップ間無線を用いた3次元メニーコアプロセッサ(2009年〜2019年)

みなさんが使っているパソコンのCPUでもマルチコア化が一般的になりました。1つのCPUに4個のプロセッサコアが実装されていたりします。さらに、研究レベルでは数十個から数百個のプロセッサコアが集積されたチップが研究されていて、これらは「メニーコアプロセッサ」と呼ばれます。
このようなチップ上の多数のプロセッサはNetwork-on-Chip(NoC)と呼ばれるネットワーク構造を用いてデータのやり取りを行います。松谷研では、このようなメニーコアチップを垂直方向にたくさん積層することを研究してきました。
世界的に見ても特にユニークなのがワイヤレス3次元NoCの研究です(下図)。これは、チップ内の水平ネットワークは従来通りのメタル配線を用いますが、チップ間の垂直ネットワークには慶應義塾大学電子工学科黒田研究室で開発された無線技術を用います。チップ間の接続が非接触の「ワイヤレス」であるという特徴を活かし、後からチップを入れ替え可能な計算機を研究しています。

※本研究は、情報工学科天野研究室と共同で進めています。2014年くらいまでは米国カーネギーメロン大学、南カリフォルニア大学とも共同研究を行っていました。