ここ数年、ディープラーニングは適用されたほぼすべての分野に革命をもたらし、コンピューターサイエンスの歴史上、最大の性能向上を実現しました。
これまで毎年わずかな改善が見られる程度だった多くの課題で、ディープラーニングの適用により、今では数か月のうちに20%~30%の改善が見られます。
この成功はメディアや広報の大きな話題にもなりました。その結果、今日では「人工知能」「機械学習」「ディープラーニング」という用語が非常に広く使われていますが、多くの場合、不正確で混乱を招く使われ方をしています。
こうした技術用語の違いを明確にし、謎めいた印象を取り除いたうえで、サイバーセキュリティ分野への応用に焦点を当てることが重要です。
人工知能(AI)
人工知能(AI)という言葉は、先駆的なコンピューター科学者ジョン・マッカーシーが1950年代に作り出したもので、機械が示す何らかの知能を実現する、あらゆる手法や学問分野を包括する用語です。
これには、1980年代のエキスパートシステム(基本的には、知識をハードコードしたデータセット)から、2010年代の最先端のAIまでが含まれます。
今日、あらゆる業界のソフトウェアのほぼすべてが、たとえ手作業でコード化された基本的な手順に限られるとしても、何らかの形でAIを利用しています。
機械学習
機械学習は現在、AIの中で最も有力なサブ分野です。明示的にプログラムしなくても、コンピューターが学習できるようにします。
機械学習に基づく手法は2000年代にAIを完全に席巻し、機械学習に基づかないすべての成果を上回りました。
成功を収めている一方で、従来の機械学習の大きな限界の一つは、特徴抽出に依存することです。これは、人間の専門家が各課題で重要な特徴(すなわち特性)を定めるプロセスです。
例えば、顔認識に機械学習を適用する場合、画像の生の画素を機械学習モジュールに入力することはできません。まず、瞳孔間の距離、顔の比率、質感、色などの特徴に変換する必要があります。
この特徴抽出の段階では、基本的に生データの大半が無視されます。選び出された特徴は、どれほど優れていても、データに含まれる豊かな非線形性を捉えきれません。
ディープラーニング
ディープラーニング(「ディープニューラルネットワーク」とも呼ばれます)は機械学習のサブ分野で、人間の脳の働きに着想を得ています。
ディープラーニングと従来の機械学習との大きな概念上の違いは、ディープラーニングが特徴抽出を必要とせず、生データ(例えば、顔認識の例における画素)を直接使って学習できる、最初で現在唯一の学習手法であることです。
さらに、ディープラーニングは数億件の訓練サンプルにも十分対応でき、訓練データセットが大きくなるほど継続的に性能が向上します。
驚異的な成功
ここ数年、ディープラーニングは、コンピュータービジョン、音声認識、テキスト理解のほとんどのベンチマークで20~30%の改善を達成しました。これは、AIとコンピューターサイエンスの歴史上、最大の性能向上です。
ディープラーニングが突然、驚異的な成功を収めた背景には、二つの大きな要因があります。
第一は、アルゴリズムの改善です。数年前までは浅いニューラルネットワークしか訓練できず、アルゴリズム上の制約により、より深いネットワークは収束しませんでした。
今日では、訓練手法の改善により、何十もの層と数十億のシナプス(ニューロン間の接続)を持つ非常に深いニューラルネットワークも、うまく訓練できるようになりました。
第二の、そしてより重要な要因は、グラフィックス処理ユニット(GPU)の利用です。
今日、ディープラーニングの訓練はすべてNvidiaのGPU上で行われ、他のハードウェアに比べて100倍の速度を実現しています(例えば、CPUで訓練するのに3か月以上かかるディープラーニングの脳も、GPUを使えばおよそ1日で訓練できます)。
多くの課題でディープラーニングが成功を収めているにもかかわらず、その導入のハードルは依然として高く、主な理由は、効果的な応用に不可欠なディープラーニングの研究者や科学者が不足していることです。
AIとサイバーセキュリティ
毎日100万を超える新たなマルウェアプログラムが作られ、巧妙さも絶えず増しているため、検知は依然として非常に困難です。
従来のシグネチャベースのソリューションが検知できるのは、現時点で知られているマルウェアだけです。また、既知のマルウェアは容易に変異し、こうしたソリューションによる検知を逃れることができます。この難しさの増大に対処するため、今日、多くのサイバーセキュリティソリューションが何らかの形でAIを利用しています。
ヒューリスティックに基づく手法による改善はこの分野では限定的であるため、最先端のサイバーセキュリティソリューションは機械学習を採用しています。
機械学習を用いれば、大規模なファイルデータセットを使って訓練し、悪意のあるファイルと正規のファイルを自動的に分類する方法を学習できます。これは、手作業や半手作業の手法では実現できません。

検知を逃れる
サイバーセキュリティにおける機械学習の大幅な改善にもかかわらず、巧妙なマルウェアは依然として比較的容易に検知を逃れています。
従来の機械学習を適用する際には、まずコンピューターファイルを生のバイト列から特徴のリスト(例えば、重要なAPI呼び出しなど)に変換する必要があります。その後で初めて、この特徴のリストを機械学習モジュールに入力します。
人間の専門家が数百、数千の特徴を検討したとしても、それらが表すのはファイル内の生データの一部にすぎません。そのため、ファイルはこうした線形で高水準の特徴による検知を逃れるよう、容易に変異できます。
他の分野でのディープラーニングの応用と同様に、サイバーセキュリティに応用すれば、特徴抽出を行わずにファイルの内容を直接処理できます。
つまり、ディープラーニングの脳への入力は、ファイル形式、ファイルサイズ、さらにはオペレーティングシステムに関係なく、生のバイト値です。
継続的な改善
さらに、訓練対象のファイル数が増えるにつれて性能が頭打ちになる従来の機械学習とは異なり、ディープラーニングはデータセットが大きくなるほど効果的に性能を高めることができ、悪意のあるファイルと正規のファイルを合わせて数億件に及ぶ規模にも対応します。
サイバーセキュリティにおけるディープラーニングと従来の機械学習の性能を比較するベンチマークの結果は、ディープラーニングのほうが検知率が大幅に高く、誤検知率が低いことを示しています。
これらの結果は、他の分野でディープラーニングを応用して得られた大幅な性能向上と一致しています。
マルウェア開発者がより高度な手法を用いて新たなマルウェアを作るにつれて、ディープラーニングと従来の機械学習の検知率の差は広がるでしょう。今後数年で、最も巧妙な攻撃を阻止できる現実的な可能性を得るには、ディープラーニングに頼ることが不可欠になります。
2017年のテクノロジー・パイオニア選出企業について詳しくは、当ウェブサイトをご覧ください。

