1.概要
最近AIという言葉がはやり出していますね。今後の主要な技術となっていますので、簡単にAIについて調べてみました。できる限り簡単になるようにまとめていますので、実際のAIとはちょっと違っている可能性があります…
2.AIとは?
AI(artificial intelligence =人工知能)
AIとは、人の脳をコンピュータを使って解き明かす研究全般を指す言葉です。そのため、「人工知能は関係ないだろう」、ということでもAIと言ってしまうことがあるようです。
例えば、以下はAI研究の中で生まれたり、使われたりするキーワードになります。
- ビックデータ
- 音声認識
- 文字認識
- 自動翻訳
- 検索エンジン
上記どれもが人工知能を生み出すことができなかった技術群になります。(今後新しい技術が出てきたら、変わるかも…)ただ、その技術を使って、Googleの検索エンジンや、音声認識の翻訳システムなどができているので、「人工知能はできなかったが社会に役立つ仕組みに変えることができた」、と言えます。
そのため、AIに関して研究することは、決して人工知能が作れなくても応用的に別のシステムを作ることができるので学ぶものとしては非常に優秀、と言えるではないかと思っております。
(だからブームとなっている!!)
3.AIの基本構造
AIの仕組みをざっくりと言ってしまうと以下となります。
そしてこの入力に何を入れるか、処理に何を行うか、によって技術的な構造が変わってきます。
- 入力に大量のデータを使う! ⇒ビックデータ処理
- 処理に人の脳と同じことをさせる! ⇒ニューラルネットワーク
- 処理に一定のルールを先に持たせる! ⇒機械学習
機械学習のルールについてもう少し詳しく言うと、例えば時間が来たら自動でツイートする機能、などが該当します(botのこと、botもある意味AIの1つに数えられている)
ディープラーニング
最近の主要な技術に「ディープラーニング」というものがあります。これを簡単に説明すると以下の図のようになります。
つまり処理の部分を何層にも重ねることによって、通常の処理ではできないことを実現して行く、という方法になります。また、入力と出力に同じものを使うことで、真ん中の処理部分を最適化することができます。(ただ処理を重ねるだけだと、初めの処理にちょっとしたずれがあった場合、そのずれをどんどん引きずるので、最後の出力のずれが大きくなる)
こちらを用いることで以下のようなメリットがあります。
- 処理から人間では見つけることのできない方法を算出できる(入力と出力だけ決めて、それをどう処理するかはPCに任せているので)
- どこかの処理が故障しても、何層も重なっているので無効にできる
- 一度処理が最適化すれば何度でも使える
ただ、何層も処理を重ねるので、以下のようなデメリットもあります。
- 処理に膨大な資源が必要!(数千台のサーバ+時間がかかる)
- 処理が正しいかどうかの判断ができない!(入力と出力しかわからない…)
特にディープラーニングの一番問題点は、どのような処理によって結果を導き出したのかわからないことです。つまり、もしAIが暴走したとしても、なぜ暴走したのか誰にも分らない、ということになります。
そのため、AIについて警鐘を鳴らしている人たちは、AIの可視化という研究を行っているようです。
■参考
「人工知能の思考過程を可視化する、「AI監視ツール」を生み出すスタートアップ企業たち」
https://wired.jp/2019/12/11/these-startups-are-building-tools-keep-eye-ai/
4.AIを使ってできること
現在の技術力だと、ルールが明確であるもの、答えがはっきりしているものをAIで自動化するのは、比較的簡単ではないかと思います。
(将棋のプログラムやエアコンの温度制御、botなど)
ただ、複雑に絡み合ったものから答えを出す、というものはディープラーニングの力を借りる必要があり、コストの面から実現は難しいのではないかと思います。
(新たな新薬の開発、人間のように受け答えするシステムなど)
逆を言えば、今の自分たちが行っている業務を一定のルールに書き換えることができれば、AIによる自動化がより進むのではないかと思います。
5.まとめ
AIは夢のある分野だと思いますが、書籍を読んでいる限り難しい技術ですね…
ただ、音声認識、画像処理などにフリーで使えるツールを公開している企業もありますので、ちょっとした研究であれば比較的容易にできる環境が整っていると感じています。
ちょうどQiita x COTOHAでイベントを行っているので、使ってみようと思います。