こんにちは。
てくさぽBLOGメンバーの高村です。
いきなりですが、AIと聞いてどのようなイメージをお持ちでしょうか?
“人間と同じ様に意識や思考を持ったロボット”や”質問に対して答えてくれる製品”など、様々に思いつかれるのではないでしょうか。
AIの定義は定まっておりませんが、最近は大きく2つに分けることができると言われています。
1つ目は「強いAI」と言われ、前述に挙げた人間と同じ意識や思考をもつ人工知能です。現在のAI製品はこの「強いAI」に まだ至っていないと言われています。
2つ目は「弱いAI」です。「強いAI」に対して意識や思考を持たず、人間の知能の一部に特化した機能を実現します。視覚による画像処理や質問に対する回答、分類が該当します。昨年11月に掲載された「【てくさぽBLOG】H2O Driverless AIを使ってみた」のH2O Driverless AIは「弱いAI」になります。
今回のブログはこの「弱いAI」に分類される、機械学習(Machine Learning)をIBM Cloud上でデモを体験しましたのでリポートしたいと思います。
機械学習 -Machine Learning-
AIの話をしていると”ML”や”DL”という単語を耳にします。”ML”とはMachine Learningの略(以下ML)、”DL”はDeep Learningの略(以下DL)になります。どちらも冒頭で説明した「弱いAI」に分類されますが、簡単に説明します。
MLとは沢山のデータを基にアルゴリズムを使用してパターンや特徴を見つけ予測を行います。図1の様に、分析するデータの状況によってMLは大きく「教師あり学習」「教師なし学習」「強化学習」の3種に分けられます。
(出典:クラウドオンライン道場資料 Cloud Online dojo_WatsonStudio_20191209.pdf P12)
「教師あり学習」「教師なし学習」は統計学に基づいた「統計的機械学習」が一般的です。よって回帰分析、分類分析、クラスター分析など統計の知識が必要になります。一方「強化学習」は入力されたデータから何らか行動し、それに対して報酬(評価)が与えられ試行錯誤し、より良い行動の選択をしていく学習方法になります。(参考資料:総務省 ICTスキル総合習得教材 [コース3]データ分析 3-5:人工知能と機械学習)
これから行うMLデモはIBM Cloud Watson Studioの機能の一つ「機械学習用GUI ツール(以下Auto AI)」を使用します。Auto AIは「教師あり学習」になり、「回帰」「分類」をプログラミング無しで実行することができます。
一方DLはMLと別のものと思われがちですが、MLで使用するアルゴリズムの1つを指します。人間の脳神経の仕組みを応用して作られたアルゴリズムにより非構造化データ(画像やスピーチなど)を処理するようコンピューターを訓練します。製品化の例を挙げると、公共施設での顔認証システムなどがDLを応用したシステムとなっています。図2はAI,ML,DLの関係を表したものです。DLはMLの一部であることがわかります。
図2:AI,ML,DLの関係図
IBM CloudでMLデモを体験してみた
1.MLデモの概要
IBM Cloud Watson StudioのAuto AIを使用してデモを行います。Auto AIはデータの前処理、機械学習モデル(以下Auto AIモデル)の選定、特徴量の最適化などを自動的に行うことができます。
今回のデモは図3の流れで行います。まずWatson Studioでプロジェクト、サービスを作成します。次にcsvファイルのデータをアップロードします。サービスを実行するとAuto AIが自動でAuto AIモデルを作成します。最後に作成されたモデルをデプロイし、テストを行います。
図3:MLデモの流れ
2.IBM Cloudのアカウント取得
今回のデモはIBM Cloudのライトアカウント(無料)で行うことができます。まずライトアカウントを取得しましょう。ライトアカウントならクレジットカード不要で、期間無制限でWatson含めた多数のAPIとサービスが無料で使用できます。取得方法はこちらのIBM Cloudのライトアカウントを作成しよう- IBM Developer チャンネル-をご参照ください。
3.デモの実行
3-1.データ準備
デモで使用する架空の電話会社の顧客データ「customer_churn.csv」をURLからダウンロードし、自分の 作業端末 に保存します。このデータは顧客の属性と契約を解約したかしないか(CHURN)があります。このデータから顧客の属性とCHURNを予測するモデルを作成します。
3-2.Watson Studioプロジェクト、サービス作成
それでは、デモをやってみます。
まずIBM Cloudにログインします。「カタログ」から地域をダラスにし、「Watson Studio Lite」を選択します。左上のダッシュボードのサービスからWatson Studioのサービスを選択、「Get Started」をクリックしてWatson Studioを起動します。
次にプロジェクトを作成します。「Create a Project」「Create an empty project」をクリックします。任意のプロジェクト名を入力します。「Select Storage Service」の「Add」をクリックし、Cloud Object Storageの画面に入ります。Liteが選択されていることを確認して「Create」をクリックします。これでプロジェクトが作成できました。
次にサービスを作成します。Settingから「+Add Services」をクリックしてWatsonを選択します。Machine Learningの「Add」をクリックし、Liteが選択されていることを確認、「Create」をクリックします。Confirm画面でダラスが選択されていることを確認して「Confirm」をクリックします。Settingの画面に戻り、追加したサービスのインスタンスが追加されていることを確認します。
3-3.Auto AIモデルの作成
いよいよAuto AIモデルを作成します。「Add to Project」をクリックし、「Auto AI experiment」をクリックします。Asset nameに”Churn Analysis”と入力し、自分のWatson Machine Learning Service Instance がセットされているのを確認して「Create」 をクリックします。
ダウンロードした「customer_churn.csv」をドラッグ&ドロップしてデータをアップロードします。「Select column to predict 」から予測したい項目で「CHURN 」を選択します。「Run experiment 」をクリックして、モデル作成を開始します。
モデルは複数のステップを経て4つのモデルを生成します。「Run Finished」が表示されるまで待ちます。1、2分でしょうか。下にスクロールするとモデルが作成されています。一番上のモデルが最もよいモデルとなっています。
このモデルの評価基準は変更でき画面は”ROC AUC”という基準で「1」に近いほど判別能が高いことを示しています。
一番上のモデル「Pipeline1」を保存します。「Save as model」をクリックし、Model name を “Churn Analysis Model “に変更して、「 Save 」ボタンをクリックします。
3-4.モデルのデプロイとテスト
最後に出来上がったモデルをデプロイして、テストを行います。先ほど保存したChurn Analysis Modelの画面から「Deployments」タブをクリック、「Add Deployment+」をクリックします。Name に”Churn model deployment ”と入力後、「 Save 」ボタンをクリックします。
STATUS が Initializing からready に変わったら「 Churn model deployment 」をクリックします。
「Test」タブをクリックします。今回のテストはJSONで入力します。テキストのマークをクリックして右画面のJSON構文を入力します。この構文は記された属性が契約を解約したかしないかをモデルに判別させます。入力後「Predict」をクリックします。
「Predict」をクリックすると右側に予測結果が表示されます。この場合はF(解約しない)と表示されました。
今回はJSON構文の入力で分析を試みましたがフォーム欄(ID,Genderなどの欄)に直接データを入れても分析できます。JSON構文の経験が無い方でも簡単に操作できますね。
MLデモを体験してみて
はじめてIBM CloudでMLを体験してみました。複雑な作業なんだろうな…と思っていたのですが、準備するものは作業端末と分析したいデータ(csvファイル)で難しいインストールや設定作業はありませんでした。任意のファイル名の入力と「Add」や「Start」を押すだけでAuto AIモデルが作れてしまいます。
作業もサクッと進みこんなに簡単でいいのかと思ってしまいましたが、この容易さがIBM Cloudサービスの良いところだと思います。オンプレミス製品ではH2O DriverlessAIやIBM製品のPowerAI Visionなどがありますが環境準備、インストール、設定作業が発生します。もちろんオンプレミス製品の良いところもありますが、作業工数に余裕が無い、技術者が不足しているなどの課題がございましたら是非IBM Cloud Watson Studioをお試しください。
まとめ
今回はIBM Cloud Watson Studioの機能の一つであるAuto AIを体験しました。上述しましたが操作の容易さ、便利さに驚きました。
ところでWatson StudioはAuto AIの他にも多くの機能が提供されています。Auto AIは「データ分析」のフェーズで使用する機能ですが、その前段階の「データベースアクセス、データ蓄積」、「データ加工」のフェーズにおいても複数の機能が提供されています。また「データ分析」の機能ではAuto AIの他、SPSS ModelerやCognos Serviceなどのラインナップがあり、目的にあったツールを使用することができます。
分析プロセスの「データベースアクセス、データ蓄積」「データ加工」「データ分析」は、少し前まではフェーズ毎に使用ツールが分かれ異なる環境で作業しなければいけませんでした。図4の通り、Watson Studioではこの3フェーズを1つの環境上で使用することができ、作業効率の向上が期待できます。
図4:Watson Studio 概念図
(出典:クラウドオンライン道場資料 Cloud Online dojo_WatsonStudio_20191209.pdf P17)
「時間が無い、技術者も不足している」「CloudでAIなんて難しい!」と思っている方がいらっしゃいましたら是非一度IBM CloudでAIを体験してみてください。「思った以上に簡単、便利!これならお客様の要件にマッチするかも」と感じて頂ければ幸いです。
この記事に関する、ご質問は下記までご連絡ください。
エヌアイシー・パートナーズ株式会社
技術支援本部
E-Mail:nicp_support@NIandC.co.jp