投稿者leck_3328TweetPocket今回は、AIと呼ばれる分野(特に機械学習)を勉強し始めて約1年ほど(多分)の著者が自分の勝手な解釈でAIについて解説することにします。今回の記事では多分に主観が含まれていますので内容についての責任は一切負いません。目次AIの概観AIの定義は曖昧とりあえず定義してみる強いAIと弱いAIAIを構成する技術ルールベースとは機械学習ディープラーニングAIができてAIができないことAIができることまとめAIの概観まずはAIについてざっくりとしたイメージを持ってもらうかなと思います。実態と世間一般に持たれているイメージと少しだけ乖離しているのかなぁというのが感覚としてはあります。Intelligenceの略称で、日本語にすると人工知能と呼ばれることが多いです。この単語だけ聞くと、AIって我々人間が持っているような頭脳を人工的に作ってしまう技術のように聞こえると思いますが、残念ながらそうではありません。実態としてはAIがやれることって人間が行っていることのごく一部しかないのです。この辺りはあとで言及することにします。ここではAIとはそもそも何を指すのかについて説明していきます。何を以ってAIとするのかは特にはっきりとした決まりがあるわけではありません。定義してみる巷で使われているAIについては定義的には以下のような言い方ができると思います。人間の知能が果たしている役割の一部をコンピュータの力を使って再現しようとしたものかなり抽象的な気もしますが、こんな感じかなと思います。」という部分で、決して全部ではないということです(我々と全く同じように思考し、行動するようなプログラムではないということです)。いう表現になります(次の項で説明します)。現在だと人の視覚のように画像を認識することなどはAIが比較的得意とすることです。以下の写真を見て、あなたは何が写っていると思いますか?そう、犬です。詳しくならばゴールデンレトリバーですね。ことができてしまったというわけです。その逆で、強いAIという単語も存在します。再現することのできるAIのことを指します。人間と同じように考え、思考することができる・・・・・ドラえもんとか鉄腕アトムとかが強いAIに該当しますね。一昔前にもAIブームというのはあったのですがその時にはこのような強いAIを実現しようという動きもあったみたいです。残念ながら、強いAIというのはSFの世界を出ることができていないのが現状です。これを実現するには現状の技術からさらに突き抜けた発明がなされないと無理だろうなという気がします。機械で再現したもののことを指します。現在流行しているAIが行っていることは弱いAIの領域であり、一般の文脈で使われているAIというのは特にこの弱いAIを指すため、先ほどの定義の部分ではこちらのニュアンスを多分に含ませました。できないと表現することができます。弱いAIについては、やらせたいことを人間側が設定して、それに合わせてAIを設計します。そのため、AIがやれることは我々人間が指定したことのみとなりそれ以外のことは勝手にできるようにはなりません。与えられたデータに対して、欲しい答えを出してもらうように設計すると言うのが現在使われているAIを作る時に行われていることです。これらの背景から、人の知能をAIが超えてしまうというシンギュラリティーは恐らく100年以内に来るのは難しいでしょう。AIを構成する技術では、こんなAIですがどんな技術が使われていることが多いのでしょうか。ルールベースとはここでちょっと1つの単語について触れておきます。ルールベースというのは、人が設計したルールにしたがって挙動を示すもの(プログラムとか)です。1つ1つ場合を想定して挙動を決めてあげる必要がありますし、全ての行動を論理にしてプログラム上で書き記す必要があります。ルールベースというのは普段みなさんが使っているアプリの裏で動いているプログラムとかはほぼ全てルールベースで動いています。設計されていることがほとんどです。本来我々が書くべきルールの部分を機械自身に学ばせるという寸法です。今回の定義ですとルールベースで綿密に設計されたプログラムも立派なAIですがこれをAIと呼ぶ人は少ないと思われます。非ルールベースで設計されるAIは特に機械学習と呼ばれる技術から成り立っています。ついて詳しく見ていきます。それぞれの技術の包含関係はこのようになっています。統計学と機械学習を対立させて説明する人もいるのですが、著者の理解だと全体のデータから傾向を見出すという点では統計と言うこともできるので機械学習は統計に内包されていると考えています。あとで解説しますが、ディープラーニングや深層学習(この2つの単語は同じ意味ですが)はこの機械学習に分類される技術です。現在のAIを構成する技術は機械学習によって成り立っていると言っても過言ではないでしょう。データサイエンティストと呼ばれる人たちは基本的にはこの機械学習の技術(とそれを運用するための技術)を有する人のことを指します。機械学習とは機械学習とは、与えられたデータ群の中から一定の傾向を見出し、欲しい出力を得るために開発された数理モデルのことを指します。機械学習って数式で表現することができてしまいす。教科書が読めない子どもたち」で言及していた通りで、これらの背景からAIはただの数理モデルと表現することができてしまいます。機械学習は古典的機械学習とディープラーニングとに分類することができます。呼ばれているのにもしっかりと理由があって、このモデル自身がデータから答えを出せるように学ぶ過程が存在しているからです。学習の際にはモデルが出した予測値と実際の値との誤差が小さくなるようにモデルを調整していきます。具体的にはロジスティック回帰サポートベクターマシン決定木解析あたりのことを指します。ディープラーニングディープラーニングは機械学習の技術の1種類にすぎませんが、ここ10年ほどで非常に目覚ましい進歩を遂げた分野となっており、AIが再度注目され始めたのもこの技術の発展によるものです。network)を使用しています。機械学習の文脈では単にニューラルネットワークと呼ばれることがほとんどです。実際の神経回路を用いて計算をさせてみようと言う研究も進んでいますがここでは割愛します。DNN)と表現します。このディープニューラルネットワークを使って構成されているのがディープラーニングです。文章の3つの分野です。文章については我々が普段用いている言語と言う意味で自然言語という表現をすることが多いです。文章は日本語はまだまだだなぁと言う印象です。英語やそれに似ている言語についてはGoogleが無双しているおかげでかなりの進歩が見られています。ルールベースでの技術が主流という印象で機械学習ではない統計を使っているものが多い印象です。ディープラーニングの弱点として言われているのが、予測結果の根拠を明示的に探ることが難しいというところにあります。その辺りも含めて学習させているので仕方ないっちゃ仕方ないのですが、今まで開発されてきた技術と違うところはここにあります。得体の知れない技術と言うのは、AIを設計するエンジニア側にとっても同じなのです。なんか、よくわからないけどちゃんと動いてます。言うのが正直なところです。モデル内部でどのような判断をしているのか、といった研究はされてはいますがまだまだブラックボックスなんだなぁと言う気がします。そのため、各々のAIは特定の機能を果たすことしかできません。狙い通りの機能以上のものをAIに持たせることは現段階では難しいです。(犬と猫の判別をさせていたら、犬の種類まで判別するようになったといったことはできないと言うこと)AIができること具体的に、AIができることを適当に列挙してみます。(ちゃんと調べた訳ではないので結構適当なこといってる可能性が高めです。ご了承を)テーブルデータエクセルのようなものにまとめられたデータのことをテーブルデータと呼びます。これまでの在庫の状況や去年の売り上げのデータから明日の売り上げを予測するといったようなことです。このようなテーブルデータにはディープラーニングではなく、古典的機械学習に属する技術がよく使われます。画像、動画まずは画像や動画の範囲ディープラーニングではもっとも成功した範囲と言えるかもしれません。技術を使って女性の写真から裸の写真を合成するサービスが開始から5日間で閉鎖された話題がありますが、これもAIの画像生成の技術を用いたものです。セグメンテーションは自動運転の際にはコアとなる技術で、かなり研究が進んでいる印象です。セグメンテーションはこんな感じです。画像を色分けする感じです。SiriやGoogleアシスタントに代表されるように、人の喋った内容を認識する技術です。異常音検知は例えば工場の機械が故障した時に、異常な音が発生したことを検知するといったような技術も開発されています。あとは人の音声から鬱の傾向を検知したいといった技術を開発しているようなところもあります。環境音認識は、そのマイクが置かれている状況(場所)を認識する技術のことです。何に使われるのかよくわかりませんが、ノイズとなって入ってくる外の音の分類に使われたりするのでしょうか。文章を扱う時って、人間でもどのように理解しているのかをはっきり言語化するのって難しいです。いわゆる常識というのを機械に教えることはまだできていません。(これを解決できそうな手法は提案されつつありますが)まとめ記事もいい感じの長さになったのでこの辺でまとめます。AIに対して幻想を抱かない方が良いですが、活用できるところはどんどん活用した方が良いかなぁと思います。揃えられるかが勝負となります。そのデータはきちっと整理されているものであればあるほど好ましいです。(エンジニア側の手間が省ける上、データを十全に活用ができるので)このあたりも機械学習に詳しい人がよく知らない人に対して周知させていく必要のあるものですが。わからないなと思ったら周りの詳しい人に聞いた方が早いなとも思います。この記事を通してAIのイメージを簡単にでも掴めていただけたら幸いです。ubuntu著者プロフィール。