ディープラーニングアルゴリズム

ディープラーニングとは

ディープラーニングアルゴリズムは、ニューラルネットワークアルゴリズムの複数の「レイヤー」を通じてデータを実行します。各レイヤーは表現が簡略化されたデータを次のレイヤーに渡します。

ほとんどの機械学習アルゴリズムは、特徴量または列の数が最大で数百のデータセットで適切に動作します。ただし、画像からのような非構造化データセットには、非常に数多くの特徴量が含まれているため、このプロセスが複雑または完全に実行不可能になります。RGB カラーの 800 x 1000 ピクセルの画像 1 枚だけで 240 万の特徴量を含んでいます。従来の機械学習アルゴリズムで処理するにはあまりにも多すぎます。

ディープラーニングアルゴリズムは、各ニュートラルネットワークレイヤーを通過しながら、画像に関して徐々に多くを学習していきます。早期のレイヤーは、エッジのような低レベルの特徴量を検出する方法を学習し、後続のレイヤーは、それまでのレイヤーからの特徴量をより全体的な表現へと組み合わせます。たとえば、中間レイヤーは、エッジを識別して脚や枝のような写真内のオブジェクトの一部を検出する場合があります。一方、深いレイヤーは、犬や木などのオブジェクト全体を検出します。

ディープラーニングが重要である理由

多数の特徴量を処理できるディープラーニングは、非構造化データを扱う場合に非常に強力です。ただし、ディープラーニングアルゴリズムはあまり複雑ではない問題の場合は過剰になることがあります。有効性を高めるために膨大なデータにアクセスする必要があるからです。たとえば、包括的な画像認識用のディープラーニングモデルをトレーニングするための共通ベンチマークである ImageNet は、1,400 万以上の画像にアクセスできます。

データがシンプルすぎる、またはデータが不完全な場合、ディープラーニングモデルはオーバーフィットになりやすく、新しいデータへと適切に一般化されません。その結果、ディープラーニングモデルは、顧客離れの把握や詐欺取引の検出といった、データセットが小さく特徴量が少ない現実的なビジネス問題に使用する他のテクニック(ブースティング決定木や線形モデルなど)ほど効果的ではありません。多値分類のようなケースでは、ディープラーニングは、より小規模の構造化データセットに対して有効です。

ディープラーニング + DataRobot

DataRobot の機械学習自動化プラットフォームは、TensorFlow などのテクノロジーによってディープラーニングとニューラルネットワークをサポートしています。さらに、DataRobot は、小規模でそれほど複雑ではないデータセットでのディープラーニングの有効性を高める最先端の手法も複数取り入れています。DataRobot はさまざまなタイプのモデルを数多く開発しています。ディープラーニングを他のさまざまなテクニックと比較し、どのモデルが自社の特定の問題に対して最適なパフォーマンスを発揮するかを判断できます。