セキュリティでの応用が進むAIには、機械学習と深層学習という二つの技術が大きく関わっている。
AIは特定の技術を指す言葉ではなく、「人間のように高度な判断を行える人工物」を表す概念だ。現在のAIは、歴史的経緯から様々な技術を含んでいる。
まず、AIと機械学習の関係について説明しよう。もともとAIは、人間のように判断するための様々な規則を決めておき、その通りに動作するプログラムだった。代表的な例がエキスパートシステムである。
ただ、「人間のように判断する規則」をAIシステムの開発者が考えるのは大変である。そこで、プログラム自体が自動的に規則を学習する機械学習が使われるようになった。
さらに、機械学習の手法の一つである深層学習がAIに有効であることがわかり、画像認識や音声認識といったAIの性能が格段に進歩した。こうした経緯から、現在はAIといえば機械学習、あるいは深層学習を意味することが多くなっている。
大量のデータを使って学習
では、機械学習とは何かを簡単に説明しよう。
機械学習を行うには、まず学習のためのモデルを開発者が用意する必要がある。
そのモデルに大量のデータを与えて学習させる。例えば、画像認識なら画像、音声認識なら音声だ。ウイルス検出を学習する場合は、ウイルスのファイルと正常なファイルを与えることになる。
こうしたデータの与え方には大きく二つの方法がある。解答があるデータを与えるのが「教師あり学習」、解答がないデータを与えるのが「教師なし学習」である。
こうした学習を終えたモデルをソフトウエアや機器に組み込む。そこに新しいデータを与えると、学習した内容に基づいて判断し、結果を出力する。例えば、画像認識を学習したモデルをカメラに組み込むと、カメラに写った物体が何なのかを認識できるようになる。
教師あり学習についてもう少し詳しく説明しよう。
教師あり学習では、データと解答をセットで学習させる。例えば画像認識では、画像と写っているものの名前をセットで学習させる。何が写っているかを知りたい画像を学習済みモデルに与えることで解答を得られる。図の例でいうと、大量のりんごの写真を学習させることで、新しいりんごの写真を「りんごが写っている」と認識できる。
ただ、従来は大量の「解答付きデータ」を用意するのは困難だった。それが容易になったのは、インターネットの普及によるところが大きい。インターネットに存在する大量のWebページから写真と説明を抽出することで、解答付きの画像を用意できるようになった。