よく、AI(人工知能)という言葉を耳にしますが、
「AI(人工知能)ってどうやって作られるの?」
「そもそもAI(人工知能)ってなに?」
という疑問を持つ方が多いのではないでしょうか?
今回はそんな疑問に、初心者にもわかりやすくお答えしていきます!
記事のもくじ
作り方の前にそもそもAI(人工知能)とは?
「AI(人工知能)」そのものを説明することは非常に困難です。
なぜなら、
・そもそもAI(人工知能)の定義自体が曖昧 ・様々なアプローチでAI(人工知能)に関連する研究やプロダクト開発が行われており、AI(人工知能)の範囲が広すぎる
といった理由があげられるからです。
例えば、ドラえもん=AI(人工知能)と定義した場合、ドラえもんのポケット=AI(人工知能)と言うことができるでしょうか?
議論の余地がたくさんあることが何となくイメージできますよね?
「AI(人工知能)とは何か」を詳しく知りたい方はこちらの記事を読んでみてください。
AI(人工知能)の発展の背景
AI(人工知能)がなぜこれだけ大きく成長したかと言うと、“ビッグデータ”の成長が背景にあります。
そして、ビッグデータが成長した理由は主に2つです。
- インターネットインフラの環境整備
- 計算資源の質と量産化
これらの理由について詳しくみていきましょう。
インターネットインフラの環境整備
1つ目の理由として、インターネットの速度が圧倒的に速くなっていることが挙げられます。
私たちは当たり前のようにYouTubeを見ていますが、3G回線やガラケー時代にはありえなかった光景です。
覚えてる人はあまり多くないかもしれませんが、3G回線から4G/LTEに切り替わったことによって、インターネットの速度は明らかに早くなっています。
そして、インターネットインフラが向上すると何が起きるのか?
私たちは大量のデータや知識を蓄積/交換することができるようになりました。
なぜかというと、ネットの利用者、利用量が増えることによって、グローバル単位で情報交換できるようになったからです。
計算資源の質の向上と量産化
2つ目の理由として、短い時間で大量のデータを処理できるマシーンが量産されるようになったことが挙げられます。
与えられた情報に対して答えの決まっている処理は計算機の得意領域です。
例えば、99%の人間は2年前の3月14日の朝ごはんを覚えてませんが、データがサーバーに保存されていれば、いつでも過去の情報を取り出すことができます。(最適解を含む)
さらに計算性能は、ムーアの法則と言われているように年々向上しています。
NVIDIAという会社はこの領域においては圧倒的な力を持っています。NVIDIAは1千万円以上するマシンを売っています。
そして、FacebookやGoogleのような巨大IT企業にとっては、コスト以上のリターンが大きいため何台も購入しています。
その結果、NVIDIAに莫大な利益が生まれ、その結果多くの計算機を量産することを可能にしているのです。
そして、この計算機がビッグデータの成長を後押ししているのです。
人工知能の作り方とは?
では本題である「AI(人工知能)の作り方」を解説していきます。(あくまで一般的な例ですので、正解ではありません。)
まず、AI(人工知能)の作り方を3つに大きく分けたいと思います。
- 入力
- 処理
- 出力
一般的に会社には営業部門、開発部門、戦略部門など様々な部署の役割が存在します。
AI(人工知能)という会社があった場合、入力部、処理部、出力部というようなものが存在するとイメージするとわかりやすいかもしれません。
それではこの3つの部署がそれぞれ何を行っているのか詳しく見ていきましょう。
AI(人工知能)の作り方その①【入力部】
入力部で行われるのはデータの収集です。
データの収集の仕方が間違っていると、処理がどんなに優れていても、価値のあるアウトプットを出すことは難しいです。
例えるなら、白い絵の具に黒を混ぜると白に戻すことができないように、データも一度濁ると、透明にすることが非常に難しくなります。
だからこそデータ収集は非常に重要な役割です。
大企業と言われるような会社で「AI時代に長年にわたって蓄積してきたデータを活用するぞ」という上の声で、エンジニアに丸投げされるという話があります。
しかし、「手をつけるのが困難なほどにデータ収集が崩壊している」というようなケースも多いのが現状です。
データを綺麗にすることを「データの前処理」と言います。
このデータの前処理に8割〜9割の時間が費やされています。
AI(人工知能)の作り方その②【処理部】
処理は基本的に「アルゴリズム」と表現するのがわかりやすいでしょう。
アルゴリズムは「入力」に対して最適な「出力」を出すための「処理(解析)」を行うことです。
このアルゴリズムをわかりやすく説明すると、高校時代に習った二次関数のような計算が行われます。
- f(x)=x^2+3x+1
- 入力はxに与える数字(ex. 2)
- 処理はx^2+3x+1という式
- 出力はxに2を代入された答え11
といったものです。(当然、AI(人工知能)では、もっと複雑な計算をしています。)
AI(人工知能)の作り方において処理部が一番華やかであるかもしれませんが、入力部の仕事なしに処理部の仕事は成り立ちません。
さらにデータの種類によって処理の仕方は異なります。
音声認識であれば人の声を認識しなければなりません。
画像認識であれば写真の中にある物体を認識しなくてはなりません。
つまり対象によって処理の仕方は異なります。
そういった意味で人間という生物はリンゴという物体を認識することも、名前を呼ばれて振り返るという音声を認識することもできるので、万能なアルゴリズムをもった知能と言えるでしょう。
AI(人工知能)の作り方その③【出力部】
出力はどちらかと言うとサービスやビジネスに近い部分で、データ処理の結果を出力する部分です。
例えば、Google検索では私たちは調べたい情報を入力することによって、Web上で自分の知りたい情報を閲覧することができます。
その検索結果がデータ処理の「出力」です。
さらに、この出力を通じてマーケティングに活用することができるでしょう。
出力と入力の関係は非常に近いのです。
出力の質が高ければ、入力の質も高くなります。逆に出力の質が低ければ、入力の質も低下します。
例えば「東京 ラーメン」と検索して、名古屋のラーメン屋がたくさん表示されたとしましょう。
これでは、出力をマーケティングに活用することはできませんよね。
まとめ:AI(人工知能)の作り方は「入力・処理・出力」すべてが大事
これまで説明してきたように、AI(人工知能)を作る上で「入力・処理・出力」すべてが大事であることがわかったでしょうか。
それぞれが繋がりあっているからこそ、どれも欠かすことはできません。
サービスが大きいほど、やることはたくさんあります。
そのため、一人で全部やることは困難です。
だからこそ、断片的にAI(人工知能)を理解するのではなく、全体を理解してAI(人工知能)を作ることができる人は重宝されます。
今回挙げた説明はあくまで一部に過ぎません。
実際に自分の手を動かして学ぶことが「AI(人工知能)の作り方」を学ぶ一番の近道になることは間違いないでしょう。