本発明は、人工知能を有するシステムに関するものである。
日本国特許公開公報2014−222517号には、デバイスとのユーザ対話を容易にし、ローカルサービスおよび/またはリモートサービスをより効果的に使用しやすくすることが記載されている。この文献のインテリジェント自動アシスタントシステムは、自然言語ダイアログを使用して統合対話によりユーザーと関わり、情報を取得するのに適するか又は種々の行動を実行するのに適する場合に外部サービスを呼び出す。ウェブ、電子メール及びスマートフォン等、あるいはそれらのあらゆる組み合わせ等の多くの種々のプラットフォームのいずれかを使用して実現される。相互に関係付けられたドメイン及びタスクの集合に基づき、システムが対話できる外部サービスにより電力供給される追加の機能性を採用する。
日本国特許公開公報2008−165824号には、顧客と販売業者との間の電子商取引における不正取引リスクを評価するための方法及びシステムを提供することが記載されている。この文献においては、電子商取引または電子購買の注文が受け取られ、それぞれの注文にともなうリスクのレベルが測定されて、リスク採点値が返される。データ検証、極めて予測性の高い人工知能パターンマッチング、ネットワークデータ総合及びネガティブファイルチェックが、不正取引リスクを計算するための極めて多数の要因を試験するために用いられる。その他の分析には、過去の既知の不正取引に対する今回の取引の比較対照及び、異常な速力パターン、姓名及び住所変更並びに既知の詐取者を識別するための、取引履歴データベースの検索がある。システムにより提供されるサービスの、新しいかまたは変化する不正取引パターンに適合させるための微調整を可能にする。
人工知能(Artificial Intelligence, AI)を、ユーザーインターフェイス、不正行為の発見など様々な処理、あるいは機能を実行したり、アシストしたりするために用いられており、今後、さらに様々な分野に人工知能(人工知能技術)が適用されると予想されている。人工知能は、例えば、学習・推論・判断といった人間の知能のもつ機能を備えたコンピューターシステムを示す。人間の補助者として有能なシステムとして開発が進められており、たとえば、医学・理学・工学などの専門分野における困難な問題をその分野の人間の専門家と同等のレベルで解決するシステム、多言語間の翻訳をするシステム、知能的作業を行うロボットを操作するシステム、ウェブのなかから有用な情報を発掘するシステムなどがあり、これらに限定されない。
言語の理解や推論、問題解決などの知的行動を人間に代わって人工知能に行わせる場合、人工知能が正常に、不正アクセスされることなく動作していることは重要である。人工知能が、学習したり、推論したりするためには、インターネットなどを介して外界(外部)のリソースを使用することは必須であり、その反面、外部からの不正アクセスに対して防御することは難しくなりつつある。
本発明の一態様は、オープンな環境における情報交換をアシストまたは自律的に行う機能を含む第1の人工知能モジュールと、第1の人工知能モジュールの動作をモニターし、情報交換に伴う処理をクローズドな環境で自律的に行う第2の人工知能モジュールとを有するシステムである。第1の人工知能モジュール(フロントサイド人工知能)はオープンな環境で外部のリソースを含めた情報に基づき、ユーザーあるいはホストが要望する情報交換をアシストしたり、自律的に行うことができる。第2の人工知能モジュール(バックサイド人工知能)は、クローズドな環境で動作し、外部からの不正アクセスに晒される可能性はなく、第1の人工知能モジュールの動作をモニターする。このシステムにおいて、第2の人工知能モジュールは、間接的にユーザーあるいはホストが要望する情報交換を把握することが可能であり、クローズドでセキュアな環境で情報交換に基づく処理を自律的に行う。したがって、第1の人工知能モジュールと第2の人工知能モジュールとを含むシステムは、情報の漏洩や、不正アクセスによる誤動作など、オープンな環境で心配される障害を防いだ安全な状態で、オープンな環境で提供される多くのリソースを有効に活用しながらユーザーまたはホストの要求に答えることが可能となる。
オープンな環境は、ユーザーインターフェイス、インターネットなどのオープンネットワークサービスへ接続するための第1のネットワーク接続インターフェイス、およびユーザーインターフェイスまたは第1のネットワーク接続インターフェイスとの間で交換する情報を格納する第1のメモリとを含む。クローズドな環境は、第1の人工知能モジュールがアクセスし得ない第2のメモリを含み、第2の人工知能モジュールは、情報交換に伴い要求される情報であって、第2のメモリに格納された秘匿情報を暗号化した情報を第1のメモリに供給する機能を含む。カード情報、口座情報などの支払いに関する個人情報、ユーザーID、パスワードなどの個人情報を秘匿情報として第2の人工知能モジュールを用いて安全に管理できる。
クローズドな環境は、家庭内LAN、車載LAN、工場内LAN、店舗内LANなどのオープンネットワークとは分離されたクローズドネットワークサービスへ接続するための第2のネットワーク接続インターフェイスを含んでもよい。ホームゲートウェイ、車載ゲートウェイ、ファクトリゲートウェイとして、オープンなネットワークからのアクセスに対しては第1の人工知能モジュールで対応し、分離されたネットワークに対しては第2の人工知能モジュールで対応できる。このシステムにより、分離されたネットワークの保安性を担保しながら、外部ネットワークとの接続応答を行うことができる。第2の人工知能モジュールは、第1の人工知能モジュールの異常を監視する機能を含んでもよい。
このシステムは、オープンな環境をサポートする第1のOSであって、第1の人工知能モジュールが稼働する第1のOSと、クローズドな環境をサポートする第2のOSであって、第2の人工知能モジュールが稼働する第2のOSとを有していてもよい。第1のOSに対し、分離された、セキュアな環境で動作する第2のOSにより第2の人工知能モジュールの安全性を確保できる。
典型的には、保安領域と非保安領域とを含むメモリ、および保安領域へのアクセスを禁止する支援機構を含むプロセッシングユニットと、プロセッシングユニット上で稼働するハイパーバイザーとを有するアーキテクチャを使用できる。ハイパーバイザーは、第2のOSに対して保安領域および非保安領域へのアクセスを許可しオープンな環境へのアクセスを禁止する機構と、第1のOSに対して非保安領域および非保安デバイスに対するアクセスを許可し、支援機構を用いて保安領域へのアクセスを禁止する機構とを含む。
ハイパーバイザーは、第1のOSおよび第2のOSに対して、プロセッシングユニットに含まれるハードウェア(デバイス)を仮想化して提供する仮想化支援機構を含んでもよい。プロセッシングユニットは、1または複数の主プロセッシングユニット(CPU)と、1または複数のグラフィックスプロセッシングユニット(GPU)とを含んでもよい。ハイパーバイザーは、少なくとも1つのCPUおよび少なくとも1つのGPUの仮想化支援機能を含んでもよい。
第1の人工知能モジュールは、複数の機械学習モジュールと、それぞれの機械学習モジュールに用いられる複数の機械学習データと、複数の機械学習モジュールの間の通信を行う機械学習モジュール間通信ユニットと、複数の機械学習データの混在を抑制する分離ユニットとを含んでもよい。機械学習モジュール(技法)としては、ID3(Iterative Dichotomiser 3)や、ランダムフォレスト(Random Forest, Randomized trees)などの決定木学習、創刊ルール学習、各種のニューラルネットワーク(ANN(人工ニューラルネットワーク、Artificial Neural Network)、DNN(ディープニューラルネットワーク、Deep Neural Network)、CNN(畳み込みニューラルネットワーク、Convolutional Neural Network)、RNN(再帰型ニューラルネットワーク、Recurrent Neural Network)など)、遺伝的プログラミング(GP、Genetic Programming)、帰納論理プログラミング(ILP、Inductive Logic Programming)、サポートベクターマシン(SVM、Support Vector Machine)、クラスタリング(Clustering)、ベイジアンネットワーク(Bayesian Network)など、様々なものが提案されており、それぞれに長所がある。
このシステムの人工知能モジュールとして、複数の機械学習モジュールと、複数の機械学習データと、モジュール間通信ユニットと、分離ユニットとを含む機械学習統合プラットフォームを用いてもよい。適材適所の、複数のタイプの機械学習モジュールを統合した人工知能モジュールを提供することが可能となり、パーソナライズに適した人工知能モジュールを提供できる。特に、多種多様な目的で使用される可能性が高い第1の人工知能モジュールに、機械学習統合プラットフォームを含む人工知能モジュールは適している。第2の人工知能モジュールが機械学習統合プラットフォームを含んでいてもよい。
第1の人工知能モジュールは、ユーザーに対する応答の失敗と成功とを判断するユニットと、ユーザーに対する応答を成功に導くためのデータをオープンな環境から自動収集してパーソナルデータベースを自動構築するユニットとを含んでもよい。人工知能のパーソナライズを自律的に進めることができる。統合プラットフォームを備えた人工知能モジュールにおいては、ユーザーに対する応答を成功に導くための機械学習モジュールおよび機械学習データをオープンな環境から自動収集して第1の人工知能モジュールに組み込むユニットを含んでいてもよい。
第1の人工知能モジュールおよび第2の人工知能モジュールはサーバー上に構築されてもよいが、オープンな環境とクローズドな環境とを分け、第2の人工知能モジュールによる第1の人工知能モジュールの動作のトレーサビリティを確保するためには、単一のチップまたはチップセットに第1の人工知能モジュールおよび第2の人工知能モジュールを搭載した制御モジュールであることが望ましい。
このシステムの一例は、第1の人工知能モジュールに接続されたユーザーインターフェイスを含む、パーソナルアシスタンスシステム、例えば、PDP、PDA、スマートフォンなどである。システムの他の例の2つは、第1の人工知能モジュールに接続されたユーザーインターフェイスと、第2の人工知能モジュールに接続された家庭内LANおよび/または機器制御インターフェイスとを含む、ホームゲートウェイシステムである。このシステムの他の例の1つは、第1の人工知能モジュールに接続されたユーザーインターフェイスと、第2の人工知能モジュールに接続された車載LANおよび/または機器制御インターフェイスとを含む、車載ゲートウェイシステム。このシステムの他の例の1つは、第1の人工知能モジュールに接続されたインターネットインターフェイスと、第2の人工知能モジュールに接続された工場内LANおよび/または機器インターフェイスを含む、IoTゲートウェイである。
ノーマルAIとセキュアAIとを含むシステムのブロック図である。
CPUおよびGPUを含むシステムのブロック図である。
パーソナルアシスタンスシステムに適用した例を示す図。
不正に対応する状態を示す図。
ホームゲートウェイシステムに適用した例を示す図。
AI統合プラットフォームを示すブロック図。
ディープラーニングのマップ。
初期学習および動的学習を示す図。
初期学習および動的学習の一例を示す図。
初期学習および動的学習の他の例を示す図。
初期学習および動的学習の他の例を示す図。
対話による動的学習の例を示す図。
音声認識の動的学習の例を示す図。
発明の実施の形態
図1に、2つの人工知能を備えたシステムの一例を示している。このシステム1は、パーソナルアシスタンス端末、例えばスマートフォン、ノートパソコン、家電製品、産業機械、自動車などに組み込まれるコンピューターシステムであり、典型的にはSoC(システムオンチップ)に組み込まれたシステムである。システム1は、プロセッサユニット11を含むハードウェアプラットフォーム10と、その上で稼働するハイパーバイザー20と、ハイパーバイザー20が提供する仮想化環境で稼働する第1のOS(非セキュアOS、ノンセキュアOS、汎用OS、リッチOS)21と、第2のOS(セキュアOS)22とを含む。
プロセッサユニット11は、複数の実行モード(実行環境)を提供するが、本実施形態では、メモリに保安領域を設定し、その保安領域へのアクセスを禁止する支援機能(メモリ保護機能)により実現されるセキュアモード6と、セキュアモード6より保安レベルが低い低セキュアモード(以降では非セキュアモード、ノンセキュアモードまたはノーマルモードと呼ぶ)7との2つの実行モードを想定する。非セキュアモード7においてはプロセッサユニット11の支援機能によりメモリの保安領域へのアクセスが禁止される。
システム1は、セキュアモード6で稼働するセキュアOS22の上のセキュアであるがクローズドな環境(セキュアワールド、クローズドワールド)8で動くトラステッドアプリケーション群(セキュアアプリ)57と、非セキュアモード7で稼働するリッチOSなどの非セキュアOS21の上のオープンではあるが非セキュアな環境(非セキュアワールド、ノーマルワールド、オープンワールド)9で動くクライアントアプリケーション群(非セキュアアプリ)47とを有する。
非セキュアアプリ47は、リッチOS21の上で動く第1の人工知能モジュール(ノーマルAI、フロントサイドAI、オープンAI)30と、ノーマルAI30がサポートする各種の機能モジュール(アプリケーション)41〜44とを含む。セキュアアプリ57は、セキュアワールドの第2のOS22で動く第2の人工知能モジュール(セキュアAI、バックサイドAI、クローズドAI)50と、セキュアAI50がサポートする各種の機能モジュール(アプリケーション)51〜55とを含む。システム1は、さらに、ノーマルAI30とは独立してリッチOS21の上で動くアプリケーションを備えていてもよく、セキュアAI50とは独立してセキュアOS22の上で動くアプリケーションを備えていてもよい。
ノーマルAI30がサポートするアプリケーションは、音声処理機能41、画像処理機能42、各種サービス機能43、各種検索機能44を含む。音声処理機能41は、例えば、音声認識、音声合成及び対話機能を含む。画像処理機能42は、画像を介した認証機能、例えば、顔認証、周りの環境の認識機能、屋内外、場所、昼夜などの認識機能を含む。サービス機能43は、ショップアプリや、インターネットなどのオープンな環境のネットワーク接続サービスを含む。検索機能44は、このシステム1に格納されている情報を検索したり、ネットを介して外部の情報を検索したりする機能を含む。
ノーマルAI30がサポートするアプリケーションおよび機能は、上記に限定されることはなく、さらに、パーソナライズおよび/またはカスタマイズにより、アプケーションの数および種類を増加させたり減少させたりすることができる。ノーマルAI30は、そのために、ユーザーに対する応答の失敗と成功とを判断するユニット38と、ユーザーに対する応答を成功に導くためのデータ(情報)をオープンな環境から自動収集してパーソナルデータベースを自動構築するユニット39とを含む。
セキュアAI50がサポートするアプリケーションは、支払い(決済)を行う機能(ペイメント機能ユニット)51と、カード情報などの個人データ(個人情報)およびその他の秘密情報または秘匿情報(以下においてはこれらを含めて秘匿情報と呼ぶ)を管理する機能(ユニット)52と、家庭内、車載、工場内などの監視用、特に、個人あるいはその他の保全(機密)管理することが望ましい情報を取得するセンサーを制御しデータを取得する機能(ユニット)53、家庭内、車載、工場内などに設置された各種機器のスイッチなどの制御、特に、防犯用の機器、保安または安全に影響を与える機器の制御を行う機能(ユニット)54、秘匿情報を暗号化する機能(ユニット)55を含む。
ハイパーバイザー20の一例は、メモリの保安領域(セキュア領域)への書き込みを制御する支援機構に対応したハイパーバイザーであって、本願の出願人が提供するFOXvisorである。他の一例は、支援機構に対応するとともに、後述する機械学習間通信機能を備えたハイパーバイザーであって、出願人が提供するVAIOXである。これらは、ベアメタルタイプ(タイプI)のハイパーバイザーである。
図1に示すように、VAIOX20は、プロセッサ(プロセッシングユニット)11がハードウェアとして持つ支援機構12を用いて複数のOSを分離することができる。支援機構12は、ARM系のIPが組み込まれたプロセッサではTrustZone(以下ではTZ機構と呼称)を用いることができ、MIPS系のIPが組み込まれたプロセッサではVZ機構を用いることができ、Intel系のプロセッサではVT機構を用いることができる。支援機構12は、仮想化拡張機能であってもよく、ARM系のIPが組み込まれたプロセッサではバーチャルエクステンション(Virtualization Extension)およびLPAE(Large Physical Address Extension)を挙げることができる。たとえば、TZ機構12においては、ノーマルワールドのメモリ空間12aとセキュアワールドのメモリ空間12bとを分離でき、またはこれらのメモリ空間12aおよび12bに対するアクセスを分離でき、ノーマルワールドからセキュアワールドのメモリ空間12bが見えず、アクセスできない(アクセスが禁止された)環境を構築できる。
したがって、VAIOX20が強固なファイアウォールとして機能し、ノーマルワールドのノーマルAI30と、セキュアワールドのセキュアAI50とが分離された状態で稼働することを可能とする。一方、セキュアAI50は、セキュアワールドのメモリ空間12bの書き換えを保護した状態で、メモリ空間12bのみならずノーマルワールドのメモリ空間12aも含めて入出力できる。このため、セキュアAI50は、ノーマルAI30の入出力を監視でき、ノーマルAI30に対して情報を提供することが可能となる。本例のセキュアAI50は、ノーマルAI30の動作をモニターするモニター機能59を含む。モニター機能59は、ノーマルAI30の動作異常を監視する機能58を含む。ノーマルAI30は、非セキュアワールド9で稼働するアプリケーション群47の各アプリケーションの異常を監視する機能を含む。したがって、ノーマルAI30の動作の異常を監視することにより、非セキュアワールド9において、アプリケーションが何らかの原因により動作が異常になることを確実に監視でき、それによる被害の発生を未然に防止したり、最小限に留めることができる。異常の発生は、例えば、アノマリ検出、予測分析、予兆監視などが知られており、これらの技法と機械学習とを組み合わせることにより予め規定されている異常のみならず、予測されていない異常の発生も高い確率で検出できる。
ハードウェアプラットフォーム10は、メモリ13を含み、メモリ13は、オープン(ノーマル、ノンセキュア)な環境で使用されるメモリ13aと、セキュアな環境でのみ使用されるメモリ13bとを含む。ハードウェアプラットフォーム10は、さらに、オープンな環境(非セキュアワールド)9で使用される各種のインターフェイス、例えば、視覚・聴覚などを用いたユーザーインターフェイス14、インターネットなどのオープンネットワークに様々な通信規格を介して接続するネットワークインターフェイス(第1のネットワークインターフェイス)15、オープンな環境で使用できる外部機器との接続インターフェイス16などを含む。
ハードウェアプラットフォーム10は、また、クローズドな環境(セキュアワールド)8で使用される各種のインターフェイス、例えば、家庭内LAN、車載LANなどのクローズドなネットワークに接続するネットワークインターフェイス(第2のネットワークインターフェイス)17、クローズドな環境で使用される外部機器との接続インターフェイス18などを含む。
ハイパーバイザーであるVAIOX20が、メモリ13およびインターフェイス14〜18の接続および制御をリッチOS21およびセキュアOS22にそれぞれ割り当てることにより、オープンな環境9とクローズドな環境8とをシステム1の中に構築し、ノーマルAI30およびセキュアAI50は、それぞれオープンな環境とクローズドな環境とで稼働する。
ノーマルAI30は、一般的に利用されるAIであり、乗っ取られてもダメージが少ない物(情報)を取り扱う。例えば、ノーマルAI30は、ユーザーの言葉や動きを認識し、認識した内容がネットワークサービスの場合クラウド側へ繋ぐ。ノーマルAI30は、通常のネットワークサービスのサポート、アドバイザとして機能し、天候、飲食関連、情報検索関連など、大量かつ随時変わっていく情報であって、ユーザーが、その時々に要求するであろう情報を提供する。また、ノーマルAI30は、サードパーティが提供するアプリケーションの制御を行う。例えば、ビデオオンデマンドなどの映像コンテンツやサービス、ネットショッピング系アプリケーションを挙げることができる。
一方、セキュアAI50は、ゲートウェイとして乗っ取られてはダメージの大きい物(情報)を取り扱う。例えば、セキュアAI50は、家庭内の機器制御(センサー53やスイッチ54などの制御)、ユーザーの個人データ(ライフログ、例えば、行動履歴、制御機器の挙動や、ユーザーの言動、購入履歴)52、ライフログに基づくパーソナルなサービスを行う。セキュアAI50は、さらに、課金/ショッピングなどクレジットカードのデータの取り扱いや履歴管理などの個人情報(秘匿情報)の蓄積及び管理を行い、それらをノーマルAI30にデータを引き渡す際に、暗号化する機能55を含む。さらに、セキュアAI50は、ノーマルAI30を監視する機能58を含み、ユーザー行動などに紐づかないアタックなどを検知したり、通常の動きと異なるか否かを判断することにより、ノーマルAI30が乗っ取られていないかを監視する。
ハイパーバイザー(VAIOX)20は、ノーマルAI30およびセキュアAI50の間の通信を仲介し、開発者が設定したインターフェイスを介してのみデータの引き渡しが可能な構成を担保する。本例においては、ハードウェアの仮想化技術(Hardware Virtualization)を利用しセキュアAI50側への不正アクセスを抑制する。
図2に、システム1の一例として、GPGPU(GPUによる汎用計算、General Purpose computing on Graphics processing units)をサポートする仮想化支援機構20vを含むハイパーバイザー20を含むシステムの概略構成を示している。車載機器を主な適用先として想定されるSoC(システムオンチップ)のプロセッシングユニット11は、ハードウェアプラットフォームとして複数のCPU(主プロセッシングユニット)101と、GPU(グラフィックスプロセッシングユニット)102と、それらに制御されるネットワークインターフェイスデバイスなどの他の機能(ユニット)を含むコンピュータ資源105とを含む。
ナビゲーションシステム49bなどのIVI(車載情報機器、In Vehicle Infotainment)は広域ネットワークに接続することも多く、リナックス(登録商標)、アンドロイドのような汎用OS(リッチOS)21bを使ってシステムが構成される。グラフィックメーターなどの安全系システム49cは機能安全を認証された軽量かつコンパクトなRTOS(Real-TimeOS)21cを使ってシステムが構成される。RTOS21cは汎用OSとは全く異なる用途に適応したOS(オペレーティングシステム)であり、CPU101に加えて、グラフィックな表示を行う部分はGPU102を使うなど、リッチOS上で動く画像系のアプリと類似するところがある。しかしながら、安全系システム49cは、機能安全が重要であるため、それらをリッチOS上で動作させることはない。
ADAS(先進運転支援システム、Advanced Driver Assistance System)49dのような運転支援系システムは、リッチOS21d上で動き、外部カメラから入力される大量のデータをリアルタイムで処理する必要があり、CPU101に加えて、画像認識の計算のためにGPU102を使用する。ノーマルAI30もリッチOS21aの上で稼働し、CPU101に加えて、画像認識や、高速処理のためにGPU102を使用できることが望ましい。
ハイパーバイザー20の仮想化支援機能20vは、異なるOS21a〜21d上で動作するシステムまたはアプリケーション30、49b〜49dに対し、CPU101およびGPU102を仮想化することにより、CPU101およびGPU102を含む資源を、それぞれのOS21a〜21dで管理した状態で使用可能とし、複数ゲスト(アプリケーション)からのGPGPU利用を可能とする。
ハイパーバイザー20は、セキュアモード6と、非セキュアモード7とを切り替える機能を含み、セキュアモード6において、本例では、CPU101を仮想化・準仮想化することによりリソースとして割当、セキュアOS22の上で、セキュアAI50やセキュアアプリ57を稼働させる。セキュアモード6において、CPU101のみならずGPU102をリソースとして、セキュアOS22に割り当てることも可能である。
図3に、ノーマルAI30およびセキュアAI50を備えたシステム1をパーソナルアシスタンスデバイス、例えば、スマートフォン71に実装した例を示している。ノーマルAI30は、ユーザー2が発話したことをユーザーインターフェイスである音声認識機能41bにより認識し、音声合成・対話エージェント41aによりユーザー2へ情報を提供することによりユーザー2と会話を行う。セキュアAI50は、VAIOX20を介してモニター機能59により会話内容をウォッチング(監視)し、ノーマルAI30の行動を監視するとともに、会話内容に対してセキュアAI50側の処理が必要か否かを自律的に判断する。
例えば、ユーザー2とノーマルAI30との会話において商品「XX」を購入することが決まると、セキュアAI50は、その会話をウォッチングすることにより、ユーザー2の正常な(意図的な)判断により商品「XX」が購入されることを認識する。ノーマルAI30においては、音声認識された会話の内容がテキストコマンドに変換され、ショップアプリ43aに転送され、ショップアプリ43aは、ネットワーク接続機能を用いてクラウドサービス5にアクセスして商品「XX」の購入を行う。その際に、ショップアプリ43aに対しクレジットカードデータ、ビットコインデータまたはその認証データなどが必要になると、セキュアAI50においては、個人データ52が管理する保安領域のメモリ13bに格納された秘匿情報の中から、支払い機能51が購入に要する情報(決済用の情報)を引き出し、暗号化機能55が暗号化して、ノーマルAI30がアクセスできる非保安領域のメモリ13aに書き込む。
ショップアプリ43aまたはノーマルAI30は、セキュアAI50の動作を意識する必要はない。ショップアプリ43aまたはノーマルAI30は、メモリ13aに、セキュアAI50が自律的に用意した暗号化された決済用の情報を用いて、商品「XX」の購入の決済を行い、その情報(購入情報)をメモリ13aに書き込む。セキュアAI50は、購入情報の記録をセキュア領域に保持することが必要であり、ユーザー2とノーマルAI30との取引を監視した結果、その動作に不正がなく、購入情報が安全であると判断すると、購入情報を取り込んで個人データ52に追加する。したがって、ノーマルAI30は、セキュアAI50の存在を意識することなく、自動的に用意された決済用の情報を用いて購入処理を進めることができる。
図4に、スマートフォン71に、屋外(外部)から不正アクセスがあった場合を示している。ノーマルAI30が、ネットワークサービス43bを介して侵入した不正アクセスに気が付かずに、ショップアプリ43aに不正アクセスを繋いだとする。セキュアAI50は、ユーザー2との会話をウォッチングし、さらに、ネットワークサービス43bの通信内容をウォッチングすることにより、不正アクセスが発生していることを認識できる可能性が高い。さらに、セキュアAI50がショップアプリ43aの挙動を監視し、ユーザー2の会話内容と合致しない場合は、決済用の情報を用意しない。したがって、ノーマルAI30は、決済用の情報がないので、購入処理を進めることができず、ユーザー2に異常を通知することができる。セキュアAI50は、ユーザー2とノーマルAI30との間で購入が確認されるまで、決済用の情報を用意しない。セキュアAI50のこの動作により、不正アクセスにより、ノーマルAI30が予期せぬ行動を起こすことを防止でき、同時に、カード情報などの個人情報が漏えいすることを防止できる。
図5に、ノーマルAI30およびセキュアAI50を備えたシステム1をゲートウェイシステム、例えば、ホームゲートウェイシステム(ホームゲートウェイ)73に実装した例を示している。このホームゲートウェイ73は、ノーマルAI(第1の人工知能モジュール)30に接続されたユーザーインターフェイス41(41b)と、セキュアAI(第2の人工知能モジュール)50に接続された家庭内LANおよび/または機器制御インターフェイス(スイッチング機能)54とを含む。
ホームゲートウェイ73においては、ノーマルAI30は、ユーザー2が発話したこと、例えば「涼しくしてほしい」という発話をユーザーインターフェイスである音声認識機能41bにより認識し、発話内容をテキストコマンドに変換して、スイッチングを指示する非保安領域のメモリ13aに書き込む。セキュアAI50は、VAIOX20およびモニター機能59を介して会話をウォッチングし、メモリ13aに書き込まれたスイッチング指示の情報が会話と合致していれば、その指示に基づきスイッチング機能54を制御して、ノンセキュアな領域のメーカアプリ43cを駆動させて、家電、例えば、空調機4の発停または調整を行う。
セキュアAI50は、メモリ13aに書き込まれたスイッチング指示の情報が会話と矛盾していれば、メモリ13aに書き込まれたスイッチング指示を無視し、スイッチング機能54を制御せず、家電、例えば、空調機4の発停または調整を行わない。セキュアAI50は、ユーザー2との会話をウォッチングし、ノーマルAI30の不正利用を防止する。その他に、セキュアAI50が、過去の事例、人間の行動原理外のアクションをウォッチングして対策を行うことができる。また、セキュアAI50は、ノーマルAI30から、ありえない設定や異常なコマンドが繰り返されるとスイッチング機能54をオフし、ユーザー2から再設定が指示されるまで家電の動作を停止する機能を備えていてもよい。
セキュアAI50は、VAIOX20により、ハードウェアの仮想化技術、例えば、トラストゾーンなどを用いてノーマルエリアからの侵入が遮断されている。このため、ノーマルAI30の動作をウォッチングするが、ノーマルAI30と同様に不正侵入されたり、ノーマルAI30の異常動作に影響されることなく、ノーマルAI30の動作を監視し、ノーマルAI30が正常な場合は、ノーマルAI30の意図を実現する動作を自律的に行い、ノーマルAI30が異常な場合は、ノーマルAI30の意図を無視したり、ノーマルAI30の異常な意図を正常化する処理を自律的に行う。
ホームゲートウェイ73に対して屋外の外部端末、例えば、スマートフォン3から指示(操作)が入力されるケースがある。セキュアAI50は、スマートフォン3から通信を、ネットワークサービス43bを介して監視し、その通信がVPNなどのセキュアが担保された経路を介して受信したものであれば、正常な指示であると認識してスマートフォン3が家電を操作することを許可する。スマートフォン3からの通信がノンセキュアな経路を介して受信したものであれば、スマートフォン3からの指示を無視することにより、ホームゲートウェイ73を介した不正アクセスを阻止する。
このホームゲートウェイ73の構成と共通な構成を備えた車載ゲートウェイまたはIoTゲートウェイを提供できる。車載ゲートウェイの場合は、ノーマルAI30に制御または接続されたユーザーインターフェイスと、セキュアAI50に制御または接続された車載LANおよび/または機器制御インターフェイスとを有する。ノーマルAI30はネットワーク接続を含めた、多種多様なインターフェイスを備えていてもよい。
IoTゲートウェイの場合は、ノーマルAI30に制御または接続されたインターネットインターフェイスと、セキュアAI50に制御または接続された工場内LANおよび/または機器インターフェイスを含み、工場内LANなどから得られた情報をセキュアなフォーマットで、ノーマルAI30およびインターネットを介して収集センターに提供できる。また、セキュアAI50は収集センターからセキュアなフォーマットで取得した情報のみを工場内LANを含めたセキュアワールドに取り込むことができる。
ノーマルAI30およびセキュアAI50は、学習、推論および判断が可能なコンピューターシステム(ソフトウェア)であればよく、タイプは問わない。人工知能の体系化は種々あるが、例えば、決定木、帰納論理プログラミング(ILP)、強化学習、ベイジアンネットワーク(BN)、サポートベクターマシン(SVM)などを含むデータ・知識型AI(線形型)であってもよく、ニューラルネットワーク(NL)、ディープニューラルネットワーク(DNN)を含む脳型AIであってもよく、ファジィアルゴリズム、遺伝的アルゴリズム、進化的アルゴリズムを用いたものであってもよく、それらを深層学習(Deep Learining)の技術を用いて進化させたものであってもよい。
図6に、ノーマルAI30に、本出願人が提供する機械学習統合プラットフォーム(VAIOLINプラットフォーム、AI統合プラットフォーム)80を採用した例を示している。なお、以下において機械学習(ML)とは、人工知能としての機能を発揮させるために提案または提唱されている種々の技術、アーキテクチャを含むものである。このAI統合プラットフォーム80は、複数のMLを1つのAI30の学習、推論および判断に寄与させることが可能であり、さらに、様々な問題解決に適したタイプの異なるMLを搭載し統合する。
AI統合プラットフォーム80は、複数の機械学習モジュール81a〜81d(代表するときはMLモジュール81とする)と、それぞれの機械学習モジュール81a〜81dに用いられる複数の機械学習データ82a〜82d(代表するときは学習データ82とする)と、複数の機械学習モジュール(MLモジュール)81の間の通信を行う機械学習モジュール間通信ユニット(VAIOX)85(20)と、複数の機械学習データ82a〜82dの混在を抑制する分離ユニット(VAIOLET)83と、ユーザーインターフェイスである音声処理機能84(41)と、ユーザーに対する応答の失敗と成功とを判断する成否判断ユニット88(38)と、成否判断ユニット88の結果により機械学習モジュール81および機械学習データ82をネットワーク(オープン環境)から収集して自動構築(自動生成)する自律拡張ユニット89(39)とを含む。モジュール間通信ユニット85(20)は、オープン(ノンセキュア)な空間のみでMLモジュール81間の通信を制御してもよく、上述したように、ノンセキュアな空間とセキュアな空間とを分離し、セキュアな空間からノンセキュアな空間をモニタリングできるようにMLモジュール81間の通信を制御してもよい。
例えば、機械学習モジュール81aは、DNN、CNNおよびGSNなどの各種ニューラルネットワークを含み、機械学習モジュール81bは、ブースティング(Boosting)、DAE(Denoising Autoencoder)、パーセプション(Perception)などを含み、機械学習モジュール81cは、SVM(サポートベクタマシン)、RF(ランダムフォレスト)、GMM(混合ガウスモデル、Gaussian Mixture Model)を含み、機械学習モジュール81dは、ベイズモデル(Bayes NP)、サムプロダクトネットワーク、DBN(Deep Belief Network)を含む。機械学習の手法はこれらに限定されない。
なお、カッコ内の番号は、図1を参照したシステム1において共通の機能を果たすユニット(モジュール)の番号を示している。例えば、複数の機械学習モジュール81の間の通信を行う機械学習モジュール間通信ユニット85としての機能はハイパーバイザー20が備えていてもよく、CPU、GPUおよびその他のコンピュータ資源のみならず、複数の機械学習モジュール81を仮想化して、AI統合プラットフォーム80により提供される各種機能に割り当てることができる。
このAI統合プラットフォーム(VIOLINプラットフォーム)80により提供できる機能のいくつかの例は、アクセス解析/データ可視化/ユーザーモデル構築を含むデータマイニング87a、各データの属性と特徴をクラスタリング/コールドスタート(0データ)対応する属性データクラスタリング87b、ネットデータ収集/MLと属性データクラスタリングへのデータ引き渡しを含むネット検索87c、ネットや言動学習で出たノイズをフィルターするノイズフィルタ87d、ユーザーに対するタスク実行を行うタスクエージェント87e、タスクエージェントの結果から各ユーザーの履歴を記憶する言動履歴87f、新しい言葉に対して混合文型/語彙モデルを形成し確率的に文を生成する文型/語彙特徴分析87g、センサーなどの物理インターフェイスを提供するセンサーI/F87hである。
図7にディープラーニングの地図(アレンジ)を示している。ディープラーニングに関して提唱されている機械学習モジュール(MLモジュール)のみをマッピングしても、学習の深さ、複雑な情報処理に適しているニューラルネット系、大量データの処理に適している確率モデル系などがある。AI統合プラットフォーム80は、図7に示した多種類のMLモジュール81を、各種類のMLモジュール81が1つであっても、多数であっても含むことができる。AI統合プラットフォーム80においては、ML間通信ユニット85(20)により、多種多様なMLモジュール81間の通信を統合して1つのAI30として機能させることができる。その一方で、分離ユニット(VAIOLET)83によりそれぞれのMLモジュール81が構築した学習データ82を分離することにより、学習データのコンタミを防止し、多数のMLモジュール81が所望の機能を発揮できるようにしている。したがって、パーソナルアシスタンスシステム71、各種ゲートウェイシステム73などとして適したノーマルAI30として最適なソリューション(MLモジュール)81を組み合わせることができる。セキュアAI50を、AI統合プラットフォーム80を用いて構築してもよい。
このAI統合プラットフォーム80は、ユーザー2に対する応答の失敗と成功とを判断する成否判断ユニット88(38)と、必要に応じて新たなMLモジュール81を追加する自律拡張ユニット89(39)とを含み、失敗することによりパーソナライズを加速できる。
図8に示すように、このAI統合プラットフォーム80は、教師データに基づく初期学習91からパーソナル向け学習を含む動的学習92を行い、進化するAI30を提供するのに適している。例えば、AI統合プラットフォーム80を備えたAI30は、初期学習91の開始時(0歳)は最小のMLモジュール81でスタートし、教師データを用いた教育により、基本的な意図推定、予測支援、タスクエージェント、自律学習の機能を取得する。その後、動的学習92においてユーザー2の下で動作することにより、成否判断ユニット88がユーザー2に対する応答の失敗と成功とを判断し、失敗から自律拡張ユニット89が、必要に応じて新たなMLモジュール81を追加することによりパーソナライズを加速することができる。特に、初期のMLモジュール81の特性に限られず、特性の異なるMLモジュール81を追加することにより、いっそうフレキシブルにパーソナライズが可能なAI30を提供できる。
図9に、AI30および50を含むシステム1を搭載した車載ゲートウェイ75の一例を示す。この車載ゲートウェイ75は、自動判別を行い、よりユーザー視点の正解を判別する機能を含む。AI統合プラットフォーム80の成否判断ユニット88が失敗と正解をデータ化して判断し、自律拡張ユニット89がその結果をシステム1に反映し、AI30の基本性能を大きく向上させる。特に、このシステム1は、チップ搭載のシステムであり、AI統合プラットフォーム80にMLモジュール81と学習データ82とをコンバインすることにより、ローカルな環境で、システム1が単独でAI30が発揮できる性能を大幅に向上させる。したがって、情報を個別に所有するローカルな環境と、情報を集中して所有するセンターとに、ユーザーの情報を個別に収集することが可能であり、ネットワークの接続環境が悪い状況においても、確実にユーザー2をアシストしたり、車載の機器を正常に動作させることができる。
図10に、初期学習91における集合知によるベースモデル構築と、動的学習92におけるパーソナライズ特徴量による推薦を示している。初期学習91においては、AI統合プラットフォーム80の基礎的な構成となる集合知によるベースモデル構築と、特徴空間のベースモデルが生成される。動的学習92においては、パーソナライズにより、AI統合プラットフォーム80においては個人特徴量のマッピングと類型選択モデルの更新とが行われ、個人の嗜好と行動に即した各種推薦が可能となる。
図11に、初期学習91におけるビッグデータから、動的学習92において個人特徴の定義を行う過程を示している。このAI統合プラットフォーム80においては、ローカルに学習データ82を生成してローカルのみでの性能を発揮することができる。それとともに、サーバーとの組み合わせでハイブリッドな対応も可能であり、サーバー側に蓄積されたビッグデータへのアクセスを初期学習91において行い、動的学習92においてビッグデータから個人データを抽出して個人特徴を取得することも可能である。また、危険を回避するなどの要因でパーソナライズから一般アシストにAI30の思考を変更することも可能である。例えば、車載ゲートウェイにおいては、パーソナライズの危険運転を一般アシストに変更して危険を回避したり、ナビなどの危険情報をベースに一般アシストに変更したりすることが可能である。
図12に、ノーマルAI30およびセキュアAI50を含むシステム1を搭載した車載ゲートウェイ75が音声処理機能41の音声対話プラットフォーム41cによりユーザー2と会話しながら、ユーザー行動を学習し、AI統合プラットフォーム80の構成を自律的に拡張し、さらに、不正行為が行われないようにセキュアAI50がノーマルAI30の処理をモニタする様子を示している。
この対話プラットフォーム41cは、車内でのユーザー2が喋る情報収集を目的とした音声対話プラットフォームであり、ユーザー2が車内で喋る内容を収集し、センターでビッグデータ化する。対話プラットフォーム41cは、ユーザー2との喋る回数を減らし、より短時間で目的を提供できるように一問一答を設定し、ユーザーとの自然な対話を実現するプラットフォームである。対話に含まれるコンテンツ(例:予約、ショッピング、情報案内など)に対して、ユーザーニーズを満たすタスク指向対話を実現する。さらに、雑談対話をタスク指向対話に交えることで、自然なやり取りを可能とする。
この際、成否判断ユニット88がユーザー2に対する対話を成功に導くために、現在のAI統合プラットフォーム80に搭載されているMLモジュール81では不足であると判断すると、自律拡張ユニット89が、インターネット(クラウド)などのオープンな環境から、対話を成功に導くためのMLモジュール81とベースとなる学習データ82とを自動収集してAI統合プラットフォーム80に組み込んでもよい。例えば、ユーザー2が興味を示した分野の音楽についての応答が可能なMLモジュール81が初期学習91で組み込まれていなければ、動的学習92で組み込むことができる。このAI統合プラットフォーム80に組み込まれるように、種々の分野の応答に適したMLモジュール81と、そのMLモジュール81を初期学習させた学習データ82とを予め準備したストアをクラウドに設け、システム1は必要に応じてストアにアクセスしてMLモジュール81を拡張できるようにしてもよい。
対話プラットフォーム41cは、雑談対話でユーザーの幅広い興味関心に対応しつつ、タイミングを見計らって特定のタスク指向対話、例えばショッピングに転換する。誘導に比べて、幅広いテーマに対して自然なレコメンドを提供する可能性が見込める。
セキュアAI50は、ノーマルAI30によるこれらの会話をモニタリングする。会話により誘導された結果がショッピングであれば、セキュアAI50は、それを認識して、ショッピングに必要な決済情報をセキュアな状態、例えば暗号化して準備し、ノーマルAI30がショッピングに使えるようにする。
MLモジュール81の変更あるいは追加は、音声認識の機能向上にも有効である。例えば、図13に示すように、入力音声に対して、音声認識によるタスクの成功率が低い場合、成否判断ユニット88および自律拡張ユニット89が、初期にAI統合プラットフォーム80に搭載されたルールベースの意図理解エンジン81xを、統計的な意図理解エンジン81yに変更することにより、音声認識エンジン81vの認識正解率が変わらなくてもタスクの成功率を向上することができる。
以上にノーマルAI30およびセキュアAI50を含むシステム1の幾つかの例を用いて本発明を説明したが、これらは例示であり、本発明はこれらに限定されず、人工知能(AI)が適用される、あるいはAIがサポートする可能性がある、すべての分野、アプリケーション、機器、端末、ネットワークを介して提供されるサービスに好適に用いられる。