初心者でもハンズオンで AI の未来が感じられました - GTC Japan 2017 ハンズオン体験レポート

# GTCって何?
NVIDIA が主催する、GPU技術に関する最新状況に触れられるイベント GTC Japan 2017 が 2017年12月12-13日 に開催されました。私もイベントに参加してきましたので、レポートを Qiita にまとめました。

GTC (GPU Technology Conference) は全世界で開催されており、2017年最後の締めくくりが日本となっていました。
https://www.gputechconf.jp
https://www.nvidia.com/en-us/gtc/

CEOの基調講演については、下記URLのリンクから見られる模様です。
https://www.nvidia.com/en-us/gtc/#gtc-japan-event-keynote

CEOの基調講演は大盛況で、広い会場に観客がビッシリと埋め尽くされていました。NVIDIA の動向をいち早く知りたい人が沢山居ることが良く分かります。

<img width="50%" src="https://qiita-image-store.s3.amazonaws.com/0/96389/d453a5c2-aa72-cd49-17ef-b6117b83e876.jpeg">

<img width="50%" src="https://qiita-image-store.s3.amazonaws.com/0/96389/4a54abcc-dcd2-ae1f-5cb5-ddaec5b36973.jpeg">

基調講演のレポートについては既に沢山の記事が書かれています。例えば次の記事をご覧いただくと、当日の様子が良く分かります。
https://news.mynavi.jp/article/20171220-gtc/

本記事では、参加したハンズオンを中心に、勉強になったネタをまとめました。Deep Learning をこれから勉強したいと考えている人のお役に立てると幸いです。

# NVIDIA DIGITS による物体検出入門
https://www.gputechconf.jp/sessions.html?sid=2017-1010

NVIDIA DIGITS と Caffe を利用して、Web-UI だけでお手軽に CNN (Convolutional Neural Network) を用いた物体の抽出ができることが体験できる構成になっていました。

セッションの構成としては、フレームワークの概要を理解することに重点が置かれていました。　
CNN の技術的な解説については最小限に抑えつつ、NVIDIA DIGITS の便利な点が直感的に理解できるように工夫されているセッションでした。

Caffe 自体は広く使われているツールであるため情報も多いですが、NVIDIA DIGITS については私も今回初めて使いました。NVIDIA DIGITS は NVIDIA Deep Learning GPU Training System の略で、GPUで高速化された Deep Learning のトレーニングシステムになります。

NVIDIA DIGITS を使うと、学習データの作成、モデルの作成、学習過程の可視化やモデルのテスト等、繰り返し実施する作業を Web-UI を使って自動的に処理させることが出来るので便利です。

https://developer.nvidia.com/digits

ハンズオン資料については著作権等もあるので共有できないのが残念ですが、ほぼ同じ内容のドキュメントが NVIDIA から公開されているので、こちらを見ながら試すだけでも NVIDIA DIGITS + Caffe の扱い方が理解できると思います。

https://devblogs.nvidia.com/parallelforall/deep-learning-object-detection-digits/

NVIDIA DIGITS を使った際の個人的な印象としては、学習過程の可視化はとても便利でした。Jupyter Notebook でも頑張れば似たようなことは出来ますが、とても見やすいし操作が簡単なのが良いです。

# Autoware on DRIVE PX2 による 自動運転
https://www.gputechconf.jp/sessions.html?sid=2017-1031

自動運転の技術というと、自動車業界のことなので一般人には関係ないと思われがちではありますが、ソフトウェア技術の観点では様々な応用ができるので、エンジニアであれば勉強しておいて損はないと思います。

自動運転に必要な心臓部のソフトウェアの世界についても、オープンソースのソフトウェアが存在しています。その中で有名なものとして、"Autoware" があります。
株式会社ティアフォー ソフトウェア さんは大学発のベンチャー企業で、自動運転に必要なソフトウェア Autoware の開発を産学連携の形で進められています。

https://response.jp/article/2016/10/11/283321.html

ソフトウェアは github 上で公開されているので、誰でも自動運転技術を体験することができます。本当にすごい時代になりましたね。。
https://github.com/CPFL/Autoware

さすがにハンズオンでは実車を使ってのテストはできないので、シミュレータを用いて次の動作確認をする形となっていました。

- センサデータの取得・可視化
  - LiDAR
- 車両の自己位置推定
- 走行経路計画, 経路追従
- 障害物の検知

実際にハンズオンと体験した感想としては、ソフトウェア技術の観点では既に自動運転は容易に実現できるレベルに到達していることが実感できました。車載できる GPU の Drive PX2 は既にプロダクションで利用されているし、あとは LiDAR が大幅に小型・低価格化されれば、残る課題は法律だけになりそうです。

# Keras を使った RNN による 時系列データ モデリング
https://www.gputechconf.jp/sessions.html?sid=2017-1012

電子健康記録（EHR）を用いて患者の初期治療を正確に判断したり、医療ミスを最小限に抑える研究がロサンゼルス小児病院 (CHLA) によって実施されました。
今回のハンズオンでは、本物の患者データを LSTM で学習し、従来の手法と比べた効果を体験できるようになっていました。

実データを用いたハンズオンは本当に貴重で、今回のハンズオンに出るだけでも参加費以上の価値があると思いました。

ハンズオンでは、次の内容が学習できるようになっていました。

- Numpy, Pandas を用いたデーアの準備
  - データの正規化
  - データの補間
  - データ長の統一
- Keras / Theano を用いたモデルの構築
- モデルの検証・可視化
- 従来の提案手法(PRISM3, PIM2)との比較

データの正規化、補完や統一については実データを扱う上ではとても大切で、この部分をキッチリ出来ているかによってモデルの精度が大きく変わることがハンズオンを通じてよく理解できました。

# さいごに
GTC Japan 2017 の展示会場では、様々な会社の展示やポスターセッションが開催されていました。実際に動く車やロボット等を間近で見られるのは本当に面白いです。

おまけ: 会場にて、Jetson TX2 の開発キットが激安で販売されていました。これがあれば、AWS Deep Lens みたいなデバイスを DIY で手軽に作れる。。かもしれませんね。

<img width="50%" src="https://qiita-image-store.s3.amazonaws.com/0/96389/44ab53fc-8cef-3204-1b9d-58299c21cf5a.jpeg">