最近、というより以前からAIというものがよく聞かれるようになったのでは、と思います。
某ドラマでもAIを駆使して犯人を捜そうとする人物が登場したりなどなど…。

でも、こういうヨコモジカタカナな言葉って大体言葉だけ聞いたことあるけど中身は?なものが多かったりする印象がありますよね。「ユビキタス」とか「IOT」とか…

AIも「なんでも出来そうな凄いやつ」というか「とりあえずAIって言っとけ」みたいな、よくわからないけど凄そうなもの、って感じにとらえられてる雰囲気なので、
素人ながらAIについて勉強したのをここに書いてみようかなと思います。

人工知能(AI)とは機械学習や深層学習の相称

AIとは、「人間が行っている知的作業をコンピュータで模倣したソフトウェアやシステム」の全般を指すようです。

そのAIを実現するための技術とか手法として、「機械学習」や「深層学習(ディープラーニング)」といったものがあり、AIというのはそういうものをまとめて表現したものになるそうです。

機械学習/深層学習って?

機械学習というのは、もともと人がやっていた、それがなにかを認識したり、物事のグループ分けなどの作業をプログラムで実現することができるようになる技術です。

これは「教師あり/なし学習」や「強化学習」とか言われるものがありますが、コンピュータに大量のデータをあたえて、コンピュータが学習して、法則やルールを見つけ出すやりかたのことです。

これによって、大量のデータの中に共通する法則を見出すことができたり、今まで人がやってきた作業もコンピュータに行わせることができるようになります。

この機械学習というのは今はいろんなところで使われていて、
メールの情報を大量にPCに学習させることで、迷惑メールかどうかといった判別を自動で行ってくれたり、たくさんの人の顔が写っている画像を学習させることにより、画像中の顔を認識するといったことをできるようになったりします。

深層学習は、機械学習よりも一歩進んだ技術で、人間の神経細胞をモデルにした「ニューラルネットワーク」というのをつかって、データの分析や学習を行う手法です。
より難しい認識や認知、判別機能を持たせることができたりします。

機械学習と深層学習はどっちも、大量のデータから法則やルールを見つけ出すという特徴を持っていますが、実現したいことによって使い分ける必要があります。

機械学習を行う際には、使う側が、何を学習させるかというのをあらかじめ決める必要があります。
その一方で、深層学習では学習する事柄もプログラム自身で見出して動作をするという違いがあります。
世にいうAIはこの深層学習のほうがイメージに近いのかもしれません。

凄いのは、こういった技術が、今は一部の頭のいい人たちだけが使えるわけではなく、
ある程度知識とプログラミングが分かっていれば使えるようにGoogleやMicrosoftなんかが環境を整備していることです。

本屋さんにも「AI」「ディープラーニング」「Python」なんかのキーワードでいろんな本が並んだりしていますし、
プログラミングを勉強している学生さんが、レポートの画像をラインにアップしたら文字に直してくれるようになるアカウントを作ったりできるような世の中になっているんですね。
かくいう私も音声認識や画像認識といったものを使って、アプリをつくったことがありますが、昔では考えられなかったことですね。

ただ、こういった技術を深く知ろうとすると、数学の知識がほぼ絶対必要になってきそうですね…。
これからこういうことを学ぼうとする子どもさんたちは数字に強いほうがもしかするといいのかもしれませんね…。