アックスの分散機械学習プラットフォーム

axLinux/雷神L
2016/FEB/19

たけおか(株)アックス

アックス入ってる

(独)産業技術総合研究所
知能システム研究部門
ヒューマノイド研究グループとの実時間Linux共同開発

 オリンパス デジカメ

 シャープ ザウルス

実時間Linux
航空自衛隊で計測に使用

 パナソニックプロジェクタ国産CPUメーカとの協業

 国産CPUへのLinuxポーティング実績 No.1

東芝 MeP

富士通 FR/V

ルネサスエレクトロニクス(旧NECエレ)ルネサスエレクトロニクス(旧日立製作所)
SH-Mobile/SH-2A V850

セイコーエプソン C33

シャープLH795xx

東芝CELLサンヨーLC690132

アックス入ってる バイオサーバ

http://homepage2.nifty.com/ccsnews2/2003/4q/2003_4Qfujitsubioserverptype.htm

自動運転ソフトウェア「Autoware」サポート提供■名古屋大学 加藤真平先生のAutoware– 日本で一番、自動運転の研究が進んでいる– 名古屋 守山市で、公道を自動運転走行– トヨタ自動車などもスポンサー

http://www.pdsl.jp/%E6%97%A5%E6%9C%AC%E8%AA%9E%E3%83%88%E3%83%83%E3%83%97/
http://news.mynavi.jp/series/coolchips18_auto_car/003/
AXEは、Autoware開発を手伝っている– 自動運転には、KnowHowが多くある• 研究発表されているのは、KnowHowではない■

Autowareは、オープンソース・ソフトウェアとして無償配布されている■

AXEは、Autowareサポートを、有償で提供– Autowareを入手しても、即座に自動車を走らせることができるわけではないTier IV
名古屋大学 発 ベンチャー

加藤真平先生のAutowareをサポートする会社
AXEは、TierIVと協調して、Autowareサポートを、有償で提供



Autowareを入手しても、即座に自動車を走らせることができるわけではない

自動運転技術の開発&提供

3次元地図/地図技術の提供

3次元地図への広告配信

6

AXEたけおかラボの並列計算機ATOM 16CPU機の試作
 東京エレクトロンデバイス社と
 Intel ATOM 16CPUでクラスタ計算
 Linuxをディスクレスでクラスタリング管理
 簡単なノード管理– 数億CPUまでスケール
 Hadoop MPI

アックスのGPU計算クラスタLinux
マルチGPGPUカード・サポート
マルチ Intel Phi サポート可能– 一つのx86マザーボードでNVIDIA GPUカードの、多数同時動作をサポート• ※PCI-e スイッチ必須

オープンソースGPUドライバをサポート– Gdev, nouviea により、 CUDAバイナリで GPU を駆動•

Gdev: 加藤先生@名古屋大が開発中のOSS

CentOS6, ScientificLinux6 ベース– Ubuntu Linuxも可 (しかし、頻繁なアップデートはお薦めしません)– Intel CC, Intel Fortran, g95, gcc, CUDA, OpenMP サポート– ノード管理コストがほぼ0– MPI, OpenMP などフツーのSMP,分散計算環境をサポート

アックスの計算用クラスタLinux Linuxカーネルを変更
 OOM killer対策
 スパコン向けスケジューリング
 不公平スケジューリングを可能にした
 指定した特定のプロセスがCPUを長期間得られる
 計算を行うプロセスを圧倒的に有利にできる キャッシュのヒットミス
 ページ・フォールト発生
 TLBミスの軽減※組込みLinuxで開発したQoSなどと同じ技術をスパコンに適用

アックスの分散計算用
クラスタLinux
Hadoopサポート & Java言語サポート– データセントリックな計算• Map&Reduce– Big data時代のプラットフォーム– Hadoopによる分散数値計算をGPUで超加速機械学習
and/or
記号処理
AI製品
ロボット
11

機械学習 & AI 大人気
機械学習 大人気
ついでにAI (人工知能)も大人気– 余談:私は、古典AI派• ルール・ベースのAI• 機械学習?なにソレ? (笑)
• とはいえ、ルール・ベースのAIに、機械学習を組み合わせているがAXEの機械学習 顔認識 ロボット
人間の顔を見つけたら、追尾する・ 顔の位置を判断して、左/右/前/後 どう動くかを決める
完全 自律式
Linux+OpenCV+OpenEL
OpenCVは顔認識などを含む
総合的な画像処理ライブラリ
OpenELはJASAなどが推進している
ロボット用の下位の抽象化層の規格
・ DCモータの制御はOpenELハードウェア
・ RaspberryPi—ARM11@700MHz—512MBytesRAM
・ USBカメラ・ DCモータ
13機械学習(OpenCV)による顔認識OpenCV・ 一般的画像処理
・ 画像認識—学習器—認識器
・ カメラ入力部
USBカメラを接続
・ ロジクール QCAM-E2500, 30万画素
・ Logicool 861200
・ カメラ入力
顔認識・ 学習済みデータが用意されている
・ 簡単に使用できる・ ロボットの目玉にでも「たけおか opencv raspberrypi」でググる
14

機械学習
サポート・ベクター・マシン (SVM)– ※ベクトル計算機ではない– 特徴ベクトルを扱う– 標本の空間の縁を学習で作り、対象が空間の内側にあるか否かを判定
ディープ・ラーニング– ニューロ・ネットワーク– 層が多い• ある大きな層の単位で、異なった処理(学習)を行っている

機械学習の並列度
サポート・ベクター・マシン, OpenCVなど–

分散で学習し、最終的に学習結果をリダクション• 実績あり–スケーラブル• 学習サンプルを分割し、各ノードにばらまく• サンプル数が十分に多ければ、台数効果あり
ディープ・ラーニング–ニューロ・ネットワーク–

学習が一次結合式のようなものなら、分散→リダクション可能• ニューロ・ネットワークは、結構ほのぼのしている–層ごとに、独立に学習可能• 前段の出力例があれば、後段の学習は独立に可能•

現在、一般的なディープ・ラーニングは、大きなバックプロパゲー
ションはなさそう いずれもPCクラスタ向き

axLinux/雷神L
機械学習の並列プラットフォーム
下記の機械学習をサポート–
サポート・ベクター・マシン–

ディープ・ラーニング–ニューロ・ネットワーク

 axLinux/雷神Lの特徴–

MPI (ssh)で• 起動• 結果を MPI通信でリダクション–

MPI対応しなくとも、リダクション方法を少し工夫すればOK• Perl, PHPなどでも最終処理可能–

サンプルは容易に分割可能• サンプルは、個別のファイルであることが多い• 数値データのファイルでも、容易に分割可能

ルールベースAI(推論システム)製品

18

推論システムと機械学習の違い

機械学習:反射神経

推論システム:・行動戦略を作る
・競合する条件があっても、答えを出す

例えば…
障害物 回避のパターン(無限に近くある)の、すべてを学習させることは不可能








障害物の数が異なるだけで、違うパターン。多すぎる「止まる」ことは簡単にできる「障害物を避けて走る」のは、機械学習だけではほぼ不可能

推論システム: 戦略をたてる

障害物回避の規則により、「戦略」をたてる


画像理解




推論システム走行の戦略をたて、決定

箱、人間の位置関係位置関係から通れるルートの候補を作り
最終決定

推論規則

物体を「記号化」してから、推論を行う


箱の間を通る方法
・コース
出力- 速度- 曲がり方

無限のパターンを扱ったりしない箱が2個ある
人間が居る

機械学習
カメラ 入力

出力
学習結果

実世界

止まれ
どのように、避ける。が機械学習では難しい※機械学習では、多すぎるパターンは扱えない

19

機械学習:
反射神経/
画像認識
レベルのみ

AXE AIAXE AIは、推論機構+機械学習■

規則による推論と、機械学習のハイブリッドAI■

AXE AIは、帰納推論を採用。

■■

Prologと同様のセマンティックの実行■

Lisp で推論エンジンを記述■

適宜、Lispで記述した推論エンジンを呼び出す■

推論エンジンから Lisp関数を呼び出すことも可能
RDBを使用し、大容量データを扱う■

AI自体のために、RDB内の大容量データを使用

■

■

■

周期性の学習などが可能になっている
大量のデータから、ユーザのために、AIがデータを選択•

ex.ユーザが欲しがりそうな写真を掴みだし、ユーザに提示

20記号処理(AXE AI,IBMワトソン) vs 機械学習■

AXE AIは、記号処理を行う■

機械学習は、論理的な操作ができない– 記号も画像も同様に、ただのビット列として扱う– 論理的な操作ではない– 学習用に、多量のデータを用意しなければ、精度が上がらない• 文書を多量に人間が処理し、学習用データを用意しなければならない。
– ※人間が分析したものを、用意しなければならない■

記号処理、人間が意味を取れる、論理的な処理を行う• 人間が調整することが極めて容易• 少ない時間、少ないデータで、高効率なAIを実現可能– 学習用に、くだらないデータを用意する必要が無い
21

AXE AIは、日本語処理もできる

AXE AIは、自然言語処理も行う
日本語の処理は難しい (欧米の言語に比べて)• 語順が不定日本語 ↔ 欧文 翻訳は、機械学習、統計処理だけではできない
Google翻訳の初期、日本語 ↔ 欧文 翻訳は、笑いの対象• Googleは当時、「なんでも統計処理で可能」と主張していた• 規則無しには、実用的に満足な翻訳や処理は不可能• 機械学習も、学習データ量が多いものは、統計処理に近づく
AXE AIは、少ないデータで、実用的な日本語処理を実現
AXE AIは、記号処理を行う
機械学習は、論理的な操作ができない
メール
SNSログ

お買い物提案

日本語

入力 処理
リアルタイム・チャット
閲覧WebPage内容

カメラ 入力実世界

機械学習

スケジュール提案

推論システム
出力

箱の間を通る方法

推論規則

出力

箱が2個ある
人間が居る

22

AXE AI■AXE AIは、自然言語処理も行う– 日本語の処理は難しい• 語順が不定■日本語 ↔ 欧文 翻訳は、機械学習、統計処理だけではできない– Google翻訳の初期、日本語 ↔ 欧文 翻訳は、笑いの対象• Googleは当時、「なんでも統計処理で可能」と主張していた• 規則無しには、満足な翻訳や処理は不可能• 機械学習も、学習データ量が多いものは、統計処理に近づく■

AXE AIは、少ないデータで、実用的な日本語処理を実現■

AXE AIは、記号処理を行う– 機械学習は、論理的な操作ができない23

ロボットミドルウェアOSSサポート
OpenRTM-aist


産総研が開発したロボット用ミドルウェア
RTMは国際規格

http://openrtm.org/openrtm/ja
OpenEL
産総研,JASAで開発中のロボット用低位ミドルウェア

RTM, ROSの低位層で、移植性を高める

ROS (Robot OS)

Googleの自動運転などに使用されているロボット・ミドルウェア
名古屋大学の自動運転プロジェクトでも使用

URL
 www.axe-inc.co.jp
 www.axlinux.com
 www.takeoka.org/~take/