Copyright © 2017 TIS Inc. All rights reserved. karuraで学ぶ、機械学習の活かし方 戦略技術センター 久保隆宏
Copyright © 2017 TIS Inc. All rights reserved.
karuraで学ぶ、機械学習の活かし方
戦略技術センター久保隆宏
Copyright © 2017 TIS Inc. All rights reserved. 2
機械学習まつわる、用語の整理
人工知能・機械学習・ディープラーニングの関係
機械学習の仕組み
機械学習を活用するための、3本の柱
ツール・データ・データリテラシー
ケーススタディ
1:機械学習が考慮する情報の「種類」
2:機械学習が行う判断の「情報源」
3:機械学習が見ている「関係性」の真偽
欠くことのできない、最後の柱
karuraが目指す機能
karuraのコンセプト
karuraの機能
karuraを試してみる(ハンズオン)
おわりに
目次
Copyright © 2017 TIS Inc. All rights reserved. 3
久保隆宏TIS株式会社 戦略技術センター
化学系メーカーの業務コンサルタント出身
既存の技術では業務改善を行える範囲に限界があるとの実感から、戦略技術センターへと異動
現在は機械学習や自然言語処理の研究・それらを用いたシステムのプロトタイピングを行う
自己紹介
OpenAI Gymを利用した、強化学習に関する講演(@PyConJP 2016)
kintoneアプリ内にたまったデータを簡単に学習・活用(@Cybozu Days 2016)
機械学習のビジネスへの適用/音楽生成で同人誌ダブル出展(@技術書典2 2017)
Copyright © 2017 TIS Inc. All rights reserved. 4
所属するチームのミッション
chakki
すべての人が、ティータイムに帰れるようにする
すべての人が、ティータイム(15:00)に帰れる(茶帰)社会の実現を目指します。
この実現には、既存の仕事を効率化するのでなく、根本的に「仕事の仕方」を変える必要があります。
しかし、慣れた仕事の仕方というのは簡単には変わりません。だからこそ、実際に「体験」をし、効果を「実感」してもらうことが重要になります。
そのため、私たちは先進的技術を用い、仕事の仕方が変わる体験を提供していきます。
Copyright © 2017 TIS Inc. All rights reserved. 5
chakki
まずは自分たち(システム開発者)が帰れるように
自然言語処理/機械学習を活用する
Elephant Sense
「質の高い」文章を検索するための試み。ビュー数やいいね数だけでなく、コンテンツの品質の評価も行う。
typot
プログラムのレビューを行う際、スペルミスを検知して修正候補の提案を行う。修正の実行もその場で可能。
arXivTimes
論文の一言サマリをGitHub上で共有する取り組み。併せて会社共同での論文輪講も実施中(Twitterもやってます)
機械学習まつわる、用語の整理
Copyright © 2017 TIS Inc. All rights reserved. 7
人工知能・機械学習・ディープラーニングの関係(1/5)
ねこ
犬
うさぎ
動物大百科(教師データ)
学習 推論
「学習した結果をもとに、推論を行うことができるシステム」を総じて言う
人工知能
※人の数だけ定義があるといっても過言ではないので、一説として
Copyright © 2017 TIS Inc. All rights reserved. 8
人工知能・機械学習・ディープラーニングの関係(2/5)
機械学習もまた、データから学習し予測する技術。ただ、対象が限定される
数値に変換できるものしか学習できない(画像も言語も、数値に変換している)
数値データ
基本的には数値を予測するか、データのカテゴリを分類するかしかできない。
予測・分類
機械学習モデル
学習 推論
Copyright © 2017 TIS Inc. All rights reserved. 9
人工知能・機械学習・ディープラーニングの関係(3/5)
ディープラーニングは機械学習の数ある手法の一種
機械学習モデル
ディープラーニング
Copyright © 2017 TIS Inc. All rights reserved. 10
人工知能・機械学習・ディープラーニングの関係(4/5)
人工知能
機械学習
ニューラルネットワーク
ディープラーニング
Copyright © 2017 TIS Inc. All rights reserved. 11
人工知能・機械学習・ディープラーニングの関係(5/5)
人の顔を認識する人工知能
音声を認識する人工知能
指示内容を理解する人工知能
物体を認識する人工知能
人の感情を推定する人工知能
適切な行動を検索するシステム
発話を生成する人工知能
発話を音声にする人工知能
(他多数)・・・・外気温等の
情報取得システム
「人工知能」自体もまた「人工知能」の要素技術となる
歩行制御する人工知能
囲碁に勝つ人工知能
Copyright © 2017 TIS Inc. All rights reserved. 12
機械
モデルともいう
実体は、要するに「数式」
学習
機械(=数式)のパラメーターを、「データに合うよう調整する」
機械学習の仕組み(1/2)
機械学習は、「機械」を「学習」させる手法
y=ax + bなど
「機械」=数式 「学習」=パラメーター調整
数式のパラメーターを、データに合うように調整
データ
Copyright © 2017 TIS Inc. All rights reserved. 13
機械学習の仕組み(2/2)
数値データ 予測・分類
「機械」の「学習」
Copyright © 2017 TIS Inc. All rights reserved. 14
機械学習の仕組み(デモ)
数値データ 「機械」 予測・分類
「学習」開始
機械学習を活用するための、3本の柱
Copyright © 2017 TIS Inc. All rights reserved. 16
機械学習を活用するための、3本の柱
機械学習を活用するには、以下三つの要素が欠かせない。
ツール:機械学習を実装するためのツール
データ:機械学習に学習させるためのデータ
データリテラシー:機械学習による予測を解釈・検証するための知識
Copyright © 2017 TIS Inc. All rights reserved. 17
ツールについて(1/3)
Amazon Machine Learning
導入のスピード
拡張性ライブラリ型
パッケージ型
サービス型
scikit-learn(Python)
MLlib (Scala等)
mahout (Java)
Jubatus
Azure Machine Learning
Cloud Machine Learning
Prediction I/O
サーバーを立て、APIで機能を利用
プログラムに組み込む
カタログ化された機能を、APIで利用
TensorFlow(C++/Python)
クラウド上でモデルを構築する
プラットフォーム型
IBM Watson
Cognitive Service
※プラットフォーム型、サービス型がいわゆるクラウド経由で提供されるサービスになる
Copyright © 2017 TIS Inc. All rights reserved. 18
ツールについて(2/3)
業務で扱う際は、これら多くの選択肢からツールを選ぶ必要がある。その時、以下のような観点が判断基準として有用になる。
「自社用」のモデルを作る必要があるか
音声認識や一般的な物体の認識は、自社用である必要は特段ない。
この場合、学習済みの機能を提供するサービス型が候補になる。
「独自」のモデルを作る必要があるか
レコメンドや異常検知、文書分類などの代表的な活用方法に使用されるモデルは、あらかじめ構築されたものが利用できる場合がある。
パッケージ型はこうした代表的なモデルを提供しており、提供されているモデルと用途が合えば良い選択肢となる。サービス型も、一部学習に対応しているものがある。
非常に多くのツールが登場しており、選択肢が多い
Copyright © 2017 TIS Inc. All rights reserved. 19
ツールについて(3/3)
「自社用」かつ「独自」のモデルを構築する必要がある場合は、ライブラリ型やクラウド型を利用し、自前で機械学習モデルを構築することになる。
構築に当たっては機械学習に関する一定の知識が求められる。そのため、そうしたスキルを持つ人材、講習の計画とセットで検討を行う必要がある。
機械学習に関する学習教材は既に多くあり、習得はそれほどハードルが高いわけではない。変に忌避するほうが、高い勉強料(それほど知識のないコンサルに対する高額な費用など)を払うことになる。
非常に多くのツールが登場しており、選択肢が多い
CourseraのMachine Learningのコースはお勧め
Copyright © 2017 TIS Inc. All rights reserved. 20
データについて(1/2)
報道されるような機械学習の成果は、データの整備に支えられている
ImageNet
画像に対して「答え」 を付けたデータセット(この画像は猫、など)。1000万ほど画像があり、すべて人手で答えが付けられている。データは公開されており、これにより画像認識のモデルが発展していった。
OpenAI Gym
強化学習で学習を行わせるためのプラットフォーム。コンピューターゲームからロボットシミュレーターなど幅広い環境が用意されており、これにより強化学習の研究がとても行いやすくなった。
The Ubuntu Dialogue Corpus
UbuntuというコンピューターのOSの、テクニカルサポートに寄せられた質問とその回答のデータセット。100万の対話が収録されており、質問/回答を合わせた発話数は700万にも及ぶ。
Copyright © 2017 TIS Inc. All rights reserved. 21
データについて(2/2)
報道されるような機械学習の成果は、データの整備に支えられている
KITTI
自動運転車のためのデータセット。ドイツの中規模都市であるカールスルーエ周辺~高速道路での運転から得られた画像が提供されている。画像は、最大15台の車と30人の歩行者が映っている。
データの収集に使用した車、そこに搭載したセンサーの情報なども公開されている。
このように、地道にデータを整備することで「機械学習でできること」と「機械学習の性能」は向上していっている。
逆に言えば、データが整備されていない分野で十分な力を発揮することはない。まずデータを整備し、それを公開することでエンジニアに分析を促す(分析精度に対し賞金を払う)活動も行われている。
Copyright © 2017 TIS Inc. All rights reserved. 22
データリテラシーについて
昨今の報道から推察するに、一般的には機械学習の活用に重要な要素は以下のような形と思われている。
ツール データ
機械学習の活用
すごい人工知能があれば、どんなデータでも上手くいく!
Copyright © 2017 TIS Inc. All rights reserved. 23
データリテラシーについて
ただ、実際は以下のようになる。
このようになる理由を、ケーススタディをもとに解説していく。
ツール データ
機械学習の活用
データリテラシー
Copyright © 2017 TIS Inc. All rights reserved. 24
データリテラシーについて
突然ですが、あなたは不動産会社の社員になりました。
そして、そこではすでに「AI」が導入されています。そのAIは、物件の価格を予測をしてくれるという優れものです。
物件の査定ならお任せください!
予測精度は高く、大半の査定業務は自動化され多くの社員は16時が定時です(給料は変わらないどころか、AIの働きにより若干のベースアップ) 。
ただ、AIの精度が100%でない以上やはり問題もあります。
Copyright © 2017 TIS Inc. All rights reserved. 25
ケーススタディ1:機械学習が考慮する情報の「種類」
とある物件について、このAIに査定を行ってもらいました。
その金額で家賃を設定したところ、該当の物件には入居者が殺到しました。
さすがAI!と思いきや、どうやら周辺の物件に比べてかなり割安な価格が設定されていたということがわかりました。
しかし、AIが設定した価格は担当者としてもそれほどおかしいと感じません。
そこで現地に行ってみると・・・
X円
Copyright © 2017 TIS Inc. All rights reserved. 26
ケーススタディ1:機械学習が考慮する情報の「種類」
周辺では再開発が始められ、大型スーパーやおしゃれなカフェがどんどんできていたのです!
AIはこの情報を見逃していたのでした。いくらAIでも、教えられていない情報は考慮できない、ということがわかりました。
Copyright © 2017 TIS Inc. All rights reserved. 27
ケーススタディ2:機械学習が行う判断の「情報源」
AIによる査定の精度は非常に高いものでしたが、担当者の間ではとあるうわさが出回っていました。
それは、方角が「北向き」の物件だけは、予測精度が低いというものでした。
AIに北向きという不吉なキーワードが何か影響を及ぼしているのでしょうか?まさかそんな・・・ ?
Copyright © 2017 TIS Inc. All rights reserved. 28
ケーススタディ2:機械学習が行う判断の「情報源」
調べてみると、過去に他社から譲り受けた物件について、向きの情報がなかったため全て初期値の「北向き」で登録されていたことがわかりました。
実際の向きとは異なる物件が登録されていたため、AIはうまく判断できなかったのです。データの乱れは、そのままAIによる判断の乱れにつながるということがわかりました。
実は東向き
実は南向き
実は西向き
北向き
Copyright © 2017 TIS Inc. All rights reserved. 29
ケーススタディ3:機械学習が見ている「関係性」の真偽
重要な物件についてはAIの予測値そのままでなく、その判断を参考にして価格を設定することもあります。
そこで、AIに家賃に影響がある項目を聞いたところ、「山田さんが担当者の場合家賃は低めになる」と奇妙なことを言いました。
これはどういうことでしょうか?担当者によって物件の家賃が変わってしまうのはおかしいことです。
そこで山田さんに聞いてみると・・・
Copyright © 2017 TIS Inc. All rights reserved. 30
ケーススタディ3:機械学習が見ている「関係性」の真偽
山田さんは入居がなかなか進まない物件について、キャンペーンなどを行い入居を促す活動をしていました。
価格の低さは、実際には担当が山田さんかどうかではなくキャンペーン中かどうかに関係しているのでした。これに気づかなければ、山田さんがキャンペーン担当から外れた場合、山田さんの担当案件はほかの人より家賃が低めになってしまうところでした。
AIが見ている関係性は、本当の関係性とは限らないんだなということがわかりました。
Copyright © 2017 TIS Inc. All rights reserved. 31
欠くことのできない、最後の柱
ケーススタディで見てきた通り、賢いAIがオフィスに現れても、データをもとに学習している以上必ず落とし穴が存在する。それに気づくために必要なのが、「データリテラシー」となる。
データリテラシーは、機械学習の活用に欠くことのできないピース
ツール
機械学習の活用
データデータ
リテラシー
Copyright © 2017 TIS Inc. All rights reserved. 32
欠くことのできない、最後の柱
先のケーススタディにおいて、AIはそれほど人の実感とはずれた予測をしているわけではない(そもそも精度が高い設定なので)。しかし、以下のような注意点があることがわかる。
教えられていないことは考慮できない
機械学習において、学習に使用したデータに含まれていない項目が考慮されることはない。
教えられたことからしか判断しない
機械学習は与えられたデータから予測を行うため、与えたデータに存在する傾向はそのまま反映される(それが入力者のミスなどによるものであっても)。
判断根拠にする関係性は、真の関係とは限らない
機械学習が判断根拠にしている関係性は、真の関係とは限らない。あくまで「データ上相関がある」だけで、実際の因果関係は異なる可能性がある(疑似相関などと呼ばれる)。
Copyright © 2017 TIS Inc. All rights reserved. 33
欠くことのできない、最後の柱
時間がたつにつれ考慮すべき項目は変わり(再開発が行われたり)、データの傾向は変遷し(新しいデータが増え)、判断根拠にしていた関係性も変わってくる(山田さんが異動したり)。
精度を維持していくには、こうした時間に伴う変化をキャッチし、都度修正を加えてく必要がある。
Copyright © 2017 TIS Inc. All rights reserved. 34
欠くことのできない、最後の柱
具体的には以下のようなチェックを行う必要があり、そのために求められるスキルが「データリテラシー」となる。
学習に使用しているデータのチェック
精度が落ちている判断とその原因を特定し、必要な項目やデータを追加して再学習を行う。
例:新たに周囲1km内の小売店数を考慮に入れるようにするなど
例:特定の年のデータに依存しないよう複数年のデータを使うなど
機械学習モデルのチェック
疑似的な相関関係への依存を見抜き、より真の関係に近いと思われるほうを特徴として利用する。
例:担当者ではなく、キャンペーン対象フラグを導入するなど
Copyright © 2017 TIS Inc. All rights reserved. 35
欠くことのできない、最後の柱
AIにもメンテナンスが必要
Copyright © 2017 TIS Inc. All rights reserved. 36
欠くことのできない、最後の柱
機械学習モデルの構築は専門的な知識が必要になるため、これを外部委託などで賄うことはありうる。
しかし、データリテラシーは「活用するために最低限必要な知識」であり、利用者側にも求められる知識となる。
※iPhoneアプリを作れる必要はなくても、iPhoneの使い方を知っていなければアプリを使いこなせないのと同様。
データリテラシーは、社内で保持しておくべき
機械学習に関する知識
データリテラシー
Copyright © 2017 TIS Inc. All rights reserved. 37
欠くことのできない、最後の柱
ディープラーニングは、活用者にとっても上級者向け
ディープラーニングは一般的にその判断根拠を解釈するのが難しいため、どんなにリテラシーがあってもその調整を行うことが難しい。
※判断根拠が不要なタスクでは問題ない(例えば、音声認識でいちいち「なぜこの音が「あ」と思ったのか」と究明するのは不要)
精度が高い場合は疑似的な相関関係に依存していないか、精度が低い場合はどんな項目を入れればいいのか、こうしたヒントをモデルから得ることが難しい。加えてモデルに多くのパラメーターがあるため、それらの調整も困難を極める。
判断根拠が不要な場合を除き「初手ディープラーニング」は良い手でない
Copyright © 2017 TIS Inc. All rights reserved. 38
karuraが目指す機能
Copyright © 2017 TIS Inc. All rights reserved. 39
karuraのコンセプト(1/2)
karuraの目指すところは、以下3点
(ライブラリ型/クラウド型を使わなければならないような)「自社用」かつ「独自」のモデルを簡単に作れるようにする
機械学習の活用に欠くことのできない、データリテラシーの習得を後押しする
ツール データ
機械学習の活用
データリテラシー
Copyright © 2017 TIS Inc. All rights reserved. 40
karuraのコンセプト(2/2)
便利という実感をユーザーにもたらす
karuraは元々kintoneに組み込む形で開発されているため、kintoneの良い所である「簡単かつ便利で、誰かに教えたくなる」はそのまま引き継ぐよう意識している。
(ただ、機械学習でこれを実現するのはなかなか大変)
Copyright © 2017 TIS Inc. All rights reserved. 41
kintoneとは(1/2)
kintoneは業務アプリが誰でも簡単に作れてしまうプラットフォーム。
項目をドラッグ&ドロップして作成するほか、手元のExcel表をもとに作成することも可能。これだけでどこからでも、モバイルアプリからでもアクセス可能なWebアプリケーションが作れてしまう。
Copyright © 2017 TIS Inc. All rights reserved. 42
kintoneとは(2/2)
kintoneの利用方法や活用方法を共有するkintone Caféという有志のイベントがある。
なぜか全国に34個も支部があり(サイボウズ社が音頭を取ったわけでなく、すべてコミュニティ主導。シリコンバレーにもあるよ)、これがkintoneの魅力を物語っている。
Copyright © 2017 TIS Inc. All rights reserved. 43
karuraの機能(1/4)
独自の機械学習モデルを構築する場合は、データの前処理に始まり、モデルの選択、学習・・・といった様々なハードルがあり、なかなかお手軽にとはいかない。
karuraは、それらの作業を自動で行ってくれる。
端的には、「データを入れたら自動的に予測モデルを作ってくれる」。
Copyright © 2017 TIS Inc. All rights reserved. 44
karuraの機能(2/4)
karuraと一般的な機械学習ソリューションの違い
一般的なソリューション
精度を上げるために複雑なモデルを使う
複雑なモデル(特にディープラーニング)を使う分、説明力が犠牲になる場合がある
karura
説明力を担保するために単純なモデルを使う
単純なモデルを使う分、精度が犠牲になる場合がある
karuraにおいて、精度は第一目標としていない。
精度が出ない場合はデータにも相応の原因があり、データに問題がある場合は業務にも問題があることが多い(人によって入力データの傾向が違うなど)。この問題を見過ごして精度を上げるより、低い精度でアラートを上げて議論のきっかけにする方が良いという判断をしている。
Copyright © 2017 TIS Inc. All rights reserved. 45
karuraの機能(3/4)
予測したいアプリを選んで
予測に使う項目を選んで
学習ボタンを押すだけ
学習結果が表示される
Copyright © 2017 TIS Inc. All rights reserved. 46
karuraの機能(4/4)
データ・モデルのチェックを促すよう、様々な情報やアドバイスを提供。
重要視している特徴などを図示
対話形式の場合、アドバイスや確認を提供(Slackに組み込んで使うこともできる)
Copyright © 2017 TIS Inc. All rights reserved. 47
Try karura!
実際に試してみよう!
準備するもの
kintone開発者アカウント
手順
karuraハンズオン手順
おわりに
Copyright © 2017 TIS Inc. All rights reserved. 49
現在はα版となっている
登録しているアカウントやデータは保持されない
予告なしに挙動が変わることがある
検討に加わっていただいているお客様と、実際の業務で使われているkintoneアプリに適用しながら開発を行っている。
2017年のCybozu Days(11月)までには事例として報告したい!という意気込みで開発中
karuraの今後(1/3)
ちなみにkaruraはオープンソースで公開している
(Apache License 2.0)
Copyright © 2017 TIS Inc. All rights reserved. 50
モデル構築プロセスのサポート
実際は項目の出し入れだけではうまくいかないので、予測結果を見ながら編集して、一括アップロードするような機能が必要となる。現在はこちらの機能を優先して開発中。
karuraの今後(2/3)
初回実行
モデルによる予測結果一括ダウンロード
項目/データ編集後ファイルアップロード
Copyright © 2017 TIS Inc. All rights reserved. 51
テキスト項目のサポート
現在、日報のような長文テキストは項目として使用していない。
こうしたテキスト項目のサポートを検討中。
説明力の強化
精度の低下やその原因について、より具体的な返答を行うように改修を行う予定。
Wiki的な解説用コンテンツを作成し、それを利用した回答を行うなども考えている。
karuraの今後(3/3)
Copyright © 2017 TIS Inc. All rights reserved. 52
機械学習を活用するには、人間側も「データリテラシー」を身に着ける必要がある。現在仕事をするのにパソコンが必要不可欠なように、データリテラシーはいわゆるAI時代に必要不可欠な知識の一つとなる可能性がある。
karuraは、それを使いながら身に着けられるアプリケーションを目指しています。それが「簡単かつ便利で、誰かに教えたくなる」機械学習に必要不可欠な要素であると考えているためです。
karuraの今後にご期待ください!
おわりに
THANK YOU