id:s-yokoyamaです。
Oracle 様にご招待頂き NVIDIA 様主催の「GTC Japan 2018」に参加してきました!!
タイトルにある通り、発展が期待されている技術である「AI」を活かした事例が数多く紹介されていました。
また「機械学習/DL(ディープラーニング)」には高負荷が掛かるため、
CPUではなくGPUを使用した並列処理を行うことが多いようです。
そして、そういった環境を提供するサービスも開始されているようでした。
※OracleCloudでも今年の7月頃に「DL向けインスタンス」の提供が始まっていますね。
https://blogs.oracle.com/oraclejapanpr/jp-oci-nvidia
セッション内容
セッションで得た知見を軽く記載します。
1.人工知能をビジネスに実装するとき、今やるべきこと
東大准教授/日本ディープラーニング協会理事長「松尾」氏による公演
実はDL(ディープラーニング)について、概要しか知らなかったのですが、
この公演を聞いて内部で何をやっているのか少しだけ分かった気がします。
ディープラーニングとは
「深い関数を使った最小2乗法」とのこと。
要は大量のデータから近似値を求める1つの直線「y=ax」となる関数を作成。
それを何度も実行(y = a0 + a1x + a2x ... a∞x)することで精度を上げていくらしいです。
※以下画像の直線部分が近似値を求める直線(データはダミー)
※この直線を作る関数をいくつも重ねることで精度を上げる
導入について
導入に対しては、上記「x, y」に当たる内容(例では気温と売上)が必要になり、
xとy の設定が可能なら学習も可能らしいです。
また、DLプロジェクトが製品化する流れの紹介がありました。
-
アプローチ 例 : 不審者を見つけるシステムの場合
不審者の定義は?
→顔認証?行動認識?異常検知? 等の定義を確定する。 -
行動
データを集め、アルゴリズムを構築して確認する。 -
試行錯誤
目的が達成できるまで、データを増やす/他のアプローチを試す。 -
製品化に向けて
オンプレ or サーバー?ハードのコストは?の検討をはじめる。
さらに、そもそも論として「DLプロジェクトが始まる流れ」の紹介もありました。
-
「社長から」AIで何かやれ!!と指示が飛ぶ
担当部署(若手1人)ができる。 -
DLを学習しテーマが決まる
半年~1年するとプロジェクトが動き出す。
※この時点で社長が満足しだす(笑) -
ゴール
拡大に伴い、人事制度の変更が必要となり子会社が設立される。
今後の展開予想
DLは、インターネットでいう1988年。
これから、大きくなる可能性を秘めているとのこと。
2.最新の論文や独自手法を活用したディープラーニングソリューションの事例
株式会社 Ridge-i CEO「柳原」 氏とエンジニアの「木村」氏による公演
実際にAIを活用した企業としての公演で非常に分かりやすかったです。
AI開発の比較
項目 | 従来のシステム | AI |
---|---|---|
製品の質 | ルールベース(質が要件定義者に依存) | 質がデータに依存 |
正確性 | 厳密解 | 近似解 |
処理詳細 | ホワイトボックス(改善が用意) | ブラックボックス(改善が難しい) |
AI採用の判断基準
要件定義可能なもの(ルールが明確なもの)に関しては、従来のシステム。
要件定義が難しいもの(例:画像から人間の判別など)はAI。
※非常に分かりやすい判断基準だと思いました。
AnoGANの紹介
要約すると以下の様なアルゴリズムだと思います。
概要 : 敵対生成学習による外観検査のための異常検知手法。
用途 : 高解像度画像内の小さな異常部分を発見したいなど。
詳細 : GAN(敵対生成学習)により正常系画像を学習→実際の画像と生成した画像を比較して差分を見つける手法。
AI開発の関連サービス/ソフト
今回のGTCで、DL用クラウドサービスが紹介されており、そのサービスで出てくる用語等のメモです。
-
TensorFlow(テンソルフロー)
Googleが開発したOSSで、機械学習用のソフトウェアライブラリー。
対応言語は「C、C++、Python、Java、Go」 -
Apach Spark(アパッチ スパーク)
分散処理を行うフレームワーク。
何百台のコンピュータを使って簡単な記述で並列計算が可能 -
Apach Hadoop(アパッチ ハドゥープ)
Apach Sparkの様な分散処理フレームワーク、しかしDLを行うのにいくつか欠点がありそれを補ったのがApach Spark。
※DLを行うのにはSparkが良いと思います。 -
Jupyter Notebook(ジュピターノートブック)
※DLとは直接関係ないですが、学習用のノートも公開されているので記載。
Pythonの実験コードとメモを一緒に記述できるサービスのようです。
また、 Jupyter kernel を使用すると他言語も対応可能。 -
kubernetes(クーベルネティス、k8s) dockerなどのコンテナを自動デプロイ、スケーリングするシステムです。
dockerのクラスター化(複数のコンテナを1つに見せる)動きをします。 -
kubeflow
kubernetes上で簡単に機械学習用の環境構築できる様にしたもの -
keras(ケラス)
pythonのニューラルネットワークライブラリー。
人間にとって分かりやすい設計になっており、TensorFlowなどのDL関連をラップしています。
アルゴリズム
- GAN(敵対的生成ネットワーク Generative adversarial network)
名前の通り生成者と識別者で敵対し互いに競い合うことで精度を上げていく人工知能アルゴリズムです。
最後に
Oracle Cloudなら、DL開発に必要な環境を 高スペックかつローコストで構築できると思います。
また、構成に関しては以下資料が参考になるかと思います。
[Oracle Innovation Summit Tokyo 2018] オラクルの考えるAI、そのアプローチ
最後まで読んで頂きありがとうございました~。