Cognitive Servicesは現在、MicrosoftのAzure上で提供されるAIサービスです。英語の「Cognitive(コグニティブ)」は、日本語に翻訳すると「認知」ですが、コンピュータにおける認知とはどのようなことでしょうか?
人工知能(AI)は、ニューラルネットワークという脳の情報処理を模倣した機械学習によって大きな進化を遂げました。機械学習によって、人間の言葉、写真、ビデオなどのようなデータから人間の顔を認識できるようになりました。
コンピュータが人間のように音声や映像データを認識し、推論や判断を下せることが広い意味でCognitiveです。ここではコンピュータの歴史を遡って、コンピュータが認知するとはどういうことか、そしてAzureのCognitive Servicesに至るまでの経緯を解説します。
そもそもCognitiveとは何か
Cognitiveつまり「認知」という専門用語は、アカデミックな領域では、心理学、言語学、脳科学など幅広い領域で使われています。IT分野では、主として情報科学の枠組みにおける認知を意味しますが、心理学や言語学とも密接に関わっている言葉です。
なぜIT分野で認知が重視されるようになったかといえば、人間の脳の働きをモデル化して情報処理に活用できないかと考えられるようになったことがきっかけでした。このような考え方は人工知能以前の、コンピュータが登場したばかりの頃からありました。
コンピュータがまだ巨大な電子計算機だった時代まで遡ってみましょう。
計算機だったコンピュータ
黎明期のコンピュータは巨大な電子計算機でした。いまでは主として平和的に利用されていますが、当初は軍事目的を前提として開発されました。
1946年に登場したエニアック(ENIAC:Electronic Numerical Integrator and Computer)は、ミサイルの弾道の計算を目的として設計された真空管式の電子計算機です。ただし、エニアックは10進数で計算を行い、プログラムを内蔵できない点で現在のコンピュータとは大きく異なっていました。
第2次世界大戦中、弾道計算は人間の手によって行われていました。ところが人間が計算すると膨大な時間がかかるため、煩雑な計算を機械に任せることができないか?という発想から、電子計算機が登場しました。このような、人間にできることを正確かつ迅速に機械に代替させる考え方は、現在の人工知能においてもまったく変わっていません。
その後、メインフレームへ、そしてパーソナルコンピュータ、インターネットに接続された小型のデバイスに巨大な電子計算機は進化を遂げました。その過程で生まれたのが、計算にとどまらずコンピュータに認知をさせようとする考え方です。
では、計算処理と認知はどのように違うのでしょうか。
Cognitive(認知)とはどういうことか
人間は外界を五感で認識します。たとえば目(視覚)で風景を眺めて「猫がいる」ことに気づいたり「朝日が眩しい」と感じたりします。あるいは耳(聴覚)で猫の鳴き声を聞き、朝食のご飯の匂いを鼻(嗅覚)で嗅ぎ取ることができます。
しかし、コンピュータの機能は基本的に計算処理であり、人間の感覚をそのままでは認識できないため処理ができません。なぜなら、コンピュータが扱うことができるのは数値化されたデータだけだからです。ただし、数値に置き換えると処理できるようになります。
Excelのような表計算ソフトを使っていると分かりやすいかもしれませんが、1は顧客、2は見込み顧客のようにラベル(フラグ)を立てて顧客管理を行うことがあります。このように一定の規則にしたがってデータを意味づけしたデータを、構造化データと呼びます。
ところが、音声、写真、ビデオのようなデータは、そのままでは計算処理ができません。これが非構造化データです。したがって、画像であればピクセルなどのデジタルのデータに置き換えて、数値として扱うことができるようにします。
数値化して計算処理ができる構造化データをもとに、AIは機械学習を行います。たとえば顔認証であれば、画像のデジタルデータを数学的な統計処理などによって類似したデータの集まりに分類し、人間の顔の特徴をパターン化します。
機械学習には、正解を与える教師あり学習、正解を与えずに学習させる教師なし学習、スコアを与える強化学習という3つの方法があります。人間の脳にあるシナプスの働きを模倣したニューラルネットワークという手法が登場し、インプットとアウトプットの間の処理を多層化するディープラーニングによって学習精度が進歩しました。
こうして、計算処理しかできなかったコンピュータは、囲碁の手を読んだり、カメラなどの眼によって人間の顔を認識できるようになったり、Cognitive(認知)の能力を獲得しました。とはいえ、まだ人間のように五感は持っていません。
CognitiveなAIは拡張知能
一般的な意味からCognitive(認知)とコンピュータ、AIの関係と経緯について解説しました。次にIT業界における実際のサービスにおけるCognitiveを取り上げ、人工知能との関係や違いについて解説します。
IBMが提唱したCognitive ComputingとWatson
Cognitiveという言葉がIT業界で大きく取り上げられるようになったのは、2011年にIBMが「Watson(ワトソン)」というAIサービスとともに打ち出したコンセプト「Cognitive Computing」が契機となりました。
一般的にAIは「Artificial Intelligence」の略で人工知能ですが、IBMは同じAIという略語で「Augmented Intelligence(拡張知能)」としました。「Augmented」は現実世界に仮想空間を重ねるPokémon GOで脚光を浴びた「AR(拡張現実)」の拡張と同じ意味で、人間の知能を先端テクノロジーによって拡張します。
人工知能にはさまざまな定義がありますが、究極の理想形は、人間の脳を模倣して人間を超えて自律的に考え、感情を持つコンピュータです。しかし、IBMのWatsonはあくまでもビジネスに特化して、自然言語処理による人間の意思決定の支援に特化しています。
知能の拡張は、質疑応答により意思決定を支援することを意味します。IBMの提唱するAI(拡張知能)は人間が主体であり、言語の学習と理解によって、あくまでもビジネスのサポートを目的としています。
Watsonという名前はIBMの初代社長のトーマス・J・ワトソンから名付けられたとされますが、役割としては、コナン・ドイルが原作のシャーロック・ホームズに登場するワトソン博士のようなブレインと考えてもよいでしょう。
Watsonの実績としては、2011年にアメリカの人気クイズ番組「ジェパディ!」で人間と対戦デモが行われ、総合的にWatsonが勝利しました。その後、ビジネスの特化型人工知能として、日本では東日本旅客鉄道株式会社、株式会社ワコール、株式会社オートバックスセブン、みずほ銀行など、運輸から金融まで幅広い業界に導入されています。また、医療分野における実績もあります。
MicrosoftのCognitive Services
MicrosoftのAzure Cognitive Servicesもまた、コンセプトとしてはIBMと同様にビジネスに特化したAIです。迅速な意思決定の支援に役立つAIをAPIで提供し、機械学習の知識がなくても活用できるようになります。自然言語処理や画像認識によってデータを認識するさまざまなAIのサービスによって、インテリジェントなアプリケーション開発をサポートします。
以下のような分類で、多様なサービスが提供されています。
■スムーズな意思決定
・Anomaly Detector
・Content Moderator
・Personalizer
・Metrics Advisor(プレビュー版)
■非構造化テキストから意味の抽出
・Immersive Reader
・Language Understanding
・QnA Maker
・Text Analytics
・Translator
■音声処理をアプリやサービスに統合
・Speech to Text
・Text to Speech
・Speech Translation
・Speaker Recognition(プレビュー版)
■静止画像、動画、デジタルインク内のコンテンツ識別と分析
・Computer Vision
・Custom Vision
・Face
・Form Recognizer
・Video Indexer
・Ink Recognizer(プレビュー版)
■インテリジェントなWeb検索
・Bing Custom Searchなど
まとめ
AIの大きな分類として、汎用型人工知能(AGI:Artificial General Intelligence)と特化型人工知能(Narrow AI)の2つに分ける考え方があります。
汎用型人工知能はいわばSFに描かれるAIで、人間と同じように外界を認識して、自律的に考えたり感情を持ったり、アンドロイドのような存在です。残念ながら、そのような人工知能は実現していません。現在のAIは、特化型人工知能であり、限定された分野の認知と処理だけを行うことができます。つまり、WatsonもAzure Cognitive Servicesも特化型AIです。
しかし業務の負荷を軽減したり、24時間セキュリティの不正を監視したり、ビジネスの分野では特化型人工知能が積極的に使われるようになりました。ディープラーニングに関する新たなアルゴリズムも研究され、Cognitiveの精度向上とともに認識できる範囲が拡がりつつあります。
未来に夢を描くことも大切ですが、人工知能ができることを現実レベルで見極めることはAIエンジニアにとって大切な資質です。