2019年になって、一挙にいろいろなAI(人工知能)を活用したサービスがリリースされています。
フィンテック系サービスもあれば、住宅系のサービスもあります。健康系、お遊び系、エンタメ系。Iotを活用したサービスなども増えていますし、2019年の段階では、画像をディープランニングしていくAIサービスなども登場しています。
AINOW(エーアイナウ)というwebメディアは、AIの専門webメディアなのですが、ここでは、人工知能サービス業界マップ2019年版などを公開しています。
人工知能サービス業界マップ2019年最新版
https://ainow.ai/ai_service_map2019/
こんなに盛り上がってきているAIですが、そもそも、どんなことに使われているのか、理解しにくいという話を聞きます。たしかに、サービス提供側は理解できても、実際に、目で見るAIで多いのは、チャットボットくらいですからね。
ということで、今回は、AI初心者向けに、AIの利用シーンや、AIを理解するうえで重要なAI(人工知能)を作る際に必要な3つのことをご紹介します。
AI(人工知能)とは
AIは、人工知能です。わかりやすく言えば、AIは、システム自体が判断をしてくれるシステムです。
判断とは何か。具体例をあげて解説します。
AIで一番わかりやすい例は、写真を見て、その写真が何を示すかを判断するシステムなので、それをもとに解説します。
AIに猫と車と2枚の画像を見せます。
猫がa.jpg、車がb.jpgとします。
AIは、それぞれの画像が、猫である、車であるということを認識します。そして、a.jpgが猫、b.jpgが車と判断します。そして、それをプログラムとして伝えてくれます。
人間ではなく、システムで、こういうような判断をしてくれるシステムが、AIなんです。
もちろん、その判断がいい加減では困るので、精度が高くないと困ります。
それゆえ、AIは、定義の学習をしていきます。
一般的に、AIに、これが猫だということを覚えさせる学習工程をディープランニング(深層学習)と呼んでいます。
学習をさせるには、たくさんの画像を見せ、その画像が猫である、猫ではないという定義をしておいて、それを理解させる必要があります。
それが、AIの学習になります。
子供の学習も同じで、反復して繰り返して学習をさせていきます。
つまり、AIは、たくさんのサンプルをもとに、判断をしていくシステムなのです。
まずは、ここを把握してください。
AIの理解ポイント
AIは、学習をしていく。そのためにたくさんのデータと定義をしめす必要がある
AIの利用シーンはどんなとき?
AIの利用シーンは、基本的には、AIが判断をして作業をしてくれる機能を活用できる場合です。
ディープラーニング(深層学習)を通して、上記のように、AIは、システムが判断をしてくれます。
それゆえ、AIの利用シーンは、未来的には、高度な判断ができるようになってきます。
ターミネーターとかの映画を見ていると、わかりやすいですね。
あいつは敵だから、倒してもいい!とか、ターミネーターのロボットが判断をしています。
ですが、もちろん、これは、今、あるものではありません。
2019年、2020年現在では、AIの利用シーンは、以下の3つが主なところです。
- 人間の知識や作業のパターンを記憶したプログラムで、反復作業の軽減
- 人間の知識や作業、ノウハウを記憶したプログラムが、自動的に判断して会話や表、言葉、資料を作成
- 上記2つのうち、片方、あるいは両方の機能で、作業をする機械
イメージしやすく書くと、
- webサイトの特定の場所の文字や画像を収集する
- 消費者の記述に対して、特定の答え、選択肢を提示するBOT
- 物の大きさを判断して、仕訳をしてくれる機械やプログラム
では、2019年、2020年で、AIを使ったサービス、AIの利用シーンは具体的にどんなものになるのでしょうか。
いくつか具体例で、これも解説します。
AI×勉強 アタマプラス
アタマプラス
教育系のAIサービスでは、すごいな!って思っているサービスです。
何をしてくれるサービスかというと、
AIによって、その人が、何がわかっていて、何を学ばないと、次の学習ができないかを判断してくれるサービスです。
具体的に解説すると、
台形の面積を求める数学で、つまってしまった中学生がいたとします。
そのとき、その中学生が、面積の求め方を理解しているかどうかを、いくつかの問題を出すことで、スキャンして、その答えを出していくサービスなんです。
要は、カリキュラムのパーソナライズ化をAIという技術で可能にしているのです。
AI×投資 ウェルスナビ(WealthNavi)
ウェルスナビ(WealthNavi)
https://www.wealthnavi.com
ウェルスナビ(WealthNavi)は、AIで、全自動。投資先を見つけてきてくれて、投資のお金を配分してくれるサービスなんです。
いわゆる、ロボット投資というものですね。
全自動で見つけてくれるというのが本当にいいんですよね。
実際、投資の素人、資産運用を始めたばかりだと、いいところ、国内株式投資か、外貨預金。それを、自動でやってくれるんです。
ちなみに、私もウェルスナビ(WealthNavi)にて投資の運用をやってみています。
10万円だけ、投資してみたのですが、2週間くらいで、500円くらい増えました。
定期預金で、500円増やすのに、何年かかるのでしょうか・・・
そこから考えると、たしかに、AIでの投資サービスはすごいですよね。
*リスクがあるのは知っていてやってくださいね。
実際にやっている人の記事もみつけたので、以下にご紹介しておきます。
出典:AERA
最低1000円からAIで全自動「ロボット投資」 本当に儲かるのか?
https://dot.asahi.com/aera/2019051700024.html
このロボット投資系サービスは、基本的に、ユーザーの投資に求めるものの質問をして、そこから、ユーザーの投資したい傾向を割り出し、そこから、投資先を見つけていくという手法です。
AI(人工知能)の定義は誰が決めているの?
2020年になると、AIの技術に対する認識や、サービスが増加した関係で、AIについての話が増えています。
しかし、そもそも、AIって、どこからのものをAIと呼ぶのでしょうか?
そして、それは、誰が決めているのでしょうか。
極端な話、webプログラムも、AIといえば、AIなのではないか?と思う方もいるようですから。
そこを調べていくと、こんなガイドラインがあるのです。
内閣官房が出しているガイドライン 人間中心のAI社会原則会議
https://www.cas.go.jp/jp/seisaku/jinkouchinou/
ただ、実は、AIのガイドラインは、非常にたくさんあります。
総務省が出しているドキュメントで、AIのガイドライン比較表があります。
AIガイドライン比較表
https://www.cas.go.jp/jp/seisaku/jinkouchinou/
AIのガイドライン1つとっても、こんなにあるんですよね。
AIを制作する技術を比較
AIを作る、開発するプログラミング言語はたくさんあります。
Python(パイソン)というプログラミング言語が、わりと主流です。
しかし、プログラミング言語だけでは、AIの開発スピードは遅くなります。
今までのPHPなどの開発言語で、webアプリケーションなどが、たくさん開発されてきた背景には、
プログラミングのスピードを速くできるフレームワークが必要です。
フレームワークは、簡単に言うと、基本機能を網羅したプログラム、ソフトウェアのパッケージです。
AIにも、開発用のフレームワークがあります。
2つ、フレームワークについてご紹介しますので、比較してみてくださいね。
AIのフレームワーク1:TensorFlow(テンソルフロー)
TensorFlow(テンソルフロー)は、Googleが提供するAIフレームワーク。
TensorFlow(テンソルフロー)の特徴は、
- 利用者数が多い
- 使っている人が多いので、情報が多い
- Googleがサービス構築するに利用
- 細かいカスタマイズ可能
- 処理が速い
- ライブラリ(パーツ)が多い
Google:TensorFlow(テンソルフロー)公式サイト
https://www.tensorflow.org/
日本語で記載もされているので、とても見やすいです!
AIのフレームワーク2:Chainer
Chainerは、国産のAIフレームワークです。それゆえ、入門編としても、とてもわかりやすいフレームワークになっています。
当然、日本製ゆえに、日本語の認識には強いです。
残念ながら、グローバルスタンダードではないんですよね。
chainerの特徴は
- Pythonで実装が可能
- 動的なネットワーク構築
- 日本語認識が強い
- 複雑な計算グラフを表記可能
- テストがしやすい
Chainer公式サイト
https://chainer.org/
AIを作るのに必要な3つのコト
これまでの記事で、AIのイメージはついたと思います。
さて、そうなってくると、AI技術を使って、AIサービスを作るのには、何が必要なのかのイメージがついているかもしれません。
ですが、ここは具体的に、3つ紹介していきます!
AIを作るには、たくさんのデータをまわせる技術が必要
AIを作るには、判断の元となるデータが必要です。
これが、Aだ、これは、Bだ、という定義のデータを大量に、AIに学習(ディープランニング)をしてもらう必要があります。
当然ですが、この学習のためのデータが必要なわけです。
そのデータは、ローカルのパソコンにあればいいですが、多くは、インターネット環境で収集してくるものになります。
それゆえ、大量のデータを保管、データ収集する技術も必要です。
具体的には、
- 大量データをさばける構造化設計
- たくさんのトラフィックをさばけるインフラ、ネットワーク技術
- 集計技術
- グルーピング技術
といった技術が必要なんですよね。
AIが学べるデータ
AIを賢くさせる学習は、「機械学習」と呼ばれます。
そして、この機械学習を行うためにデータが必要になります。
いわゆる、ビッグデータですね。
ちなみに、この機械学習に必要なデータはどのくらい必要なのか、というのが話題になりますが、ここの定義はありません。
あればあるほど、AIの精度があがるためです。
ただ、データが多くなければAIを作れないわけではないです。
データが少なくても、AIは作れます。あとから学んでいけばいいからです。
ただ、、、精度が悪いので、運用が必要です。
毎日、毎日動かしたり、運用をしていくことで、AIが覚えていくわけです。ちなみに、よくあるFAQタイプのチャットボットだと、だいたい1か月くらいで、ある程度、まともなAIになってきます。
もちろん、多少は最初にデータを登録しておく必要はありますが。
最後に!AIの「学習済みモデル」
実は、ここまで書いてこれかよ!って話かもしれませんが、すでに、AI的な機械学習ができるツールは開発されています。
以下の機械学習ツールが、その例です。
- Azure ML
- Amazon Machine Learning
- Google Prediction API
上から、マイクロソフト、アマゾン、Googleのサービスです。
これらの機械学習ツールをもとに、作成したAIの「学習済みモデル」をWebにアップロードすれば、APIを用いて、AIのサービスを立ち上げることも可能です。
結果的に、上記を活用する際に、プログラミングの技術が必要です。
ちなみに機械学習ツール、フレームワークは、このほかにもこんなにあります。
- Dialogflow
- Orange
- TensorFlow
- Chainer
- Caffe
などなど
このようにwebエンジニアで優秀な方で、未来志向の方は、AIのこういった技術などに興味を持つのは、webとAIが親和性が高いからなんです。
まとめ:AIをざっくり理解しよう!
言葉としてのAIは理解できると思いますが、実際、考えてみると、どんなものか。ばっくりでもいいので、自分の骨肉にできるように、考えてみてください。
- AIは、判断をしてくれるシステム
- AIのシステムは、データを大量に教え込まないと判断の精度が悪い
- AIを作るには、ビックデータが必要ではないが、あった方がサービス精度はよい
- AIを作るには、データを大量に扱える技術が必要
- AIの機械学習ツールはたくさんある
- AIと、webプログラミングの親和性は高い
- AIは、身近なサービスになりつつある