1. 概要

このチュートリアルでは、サポートベクターマシン(SVM)と比較した人工ニューラルネットワーク(ANN)の長所と短所を学習します。

まず、それらの構造を簡単に更新することから始めます。 次に、理論に従って、彼らがどのような長所と短所を持っているかを特定します。

最後に、ニューラルネットワークモデルとサポートベクターマシンを同じベンチマークデータセットに対してテストします。

このチュートリアルの終わりに、サポートベクターマシンの代わりにニューラルネットワークを使用する必要がある理由とその逆について説明します。

2. ニューラルネットワークとサポートベクターマシン

2.1. それらは完全に交換可能ではありません

サポートベクターマシンとニューラルネットワークの違いに関する記事では、それぞれの機械学習モデルの2つのアーキテクチャがどのように構築されるかについて説明しました。 ここでは、具体的な機械学習タスクを解決するときに2つのモデルが持つ特定の長所と短所の特定とテストに焦点を当てます。

一般に、機械学習に関する文献では、フィードフォワードニューラルネットワークサポートベクターマシンはほぼ同じ意味で使用されています。 ただし、より高度なレベルでは、いくつかの重要な違いが実際に存在すると言えます。

これは、2つのアーキテクチャが完全に対応するのは、限られたケースの場合、特にリニアSVMについて説明する場合のみであるためです。 その他の場合、非線形SVM およびANNの場合、問題の複雑さが増すにつれて、その差はより顕著になります。 したがって、熟練したデータサイエンティストは、機械学習システムからその余分なパフォーマンスを引き出すために、どのモデルを好むかを知っている必要があります。

2.2. ニューラルネットワークの簡単な定義

フィードフォワードニューラルネットワークは、重みのベクトル、活性化関数、および入力ベクトルで構成されるパラメトリックモデルです。 したがって、ニューラルネットワークは次のように出力を計算するモデルです。

入力ベクトルは、ニューラルネットワークの入力層の名前も取ります。 活性化関数とそれに関連するパラメーターを含むペアは、代わりに非表示レイヤーの名前を取ります。 最後に、最後のペアはそのモデルの出力レイヤーです。

概略的には、ニューラルネットワークのグラフを有向加重グラフとして表現できます。

2.3. SVMの簡単な定義

サポートベクターマシンは、代わりにカーネル関数と決定超平面で構成されるノンパラメトリック機械学習モデルです。 次元空間の超平面は、パラメーターのセットとバイアス項によって定義され、その空間内の任意のベクトルの各コンポーネントの係数に対応します。

特徴とラベル空間に対応する次元のベクトル空間に決定超平面が存在しない場合、SVMはすべての観測値を新しいベクトル空間に投影し、そこで適切な決定超平面を検索します。 そこにも超平面がない場合は、超平面が見つかるまでの次元を増やし続けます。

この意味で、SVMは最終的な収束を保証し、したがってその問題に対するいくつかの解決策の特定を保証します。 ただし、ソリューションが特定の次元を持つことが保証されていないため、これによりSVMは非パラメトリックモデルになります。

3. ANNの理論上の長所と短所

3.1. 理論上の利点

実行する必要のあるタスクの特定の性質に関係なく、SVMと比較して一般にANNを特徴付ける必要があるいくつかの長所と短所を優先的に特定できます。

1つ目は、ネットワークのサイズとそのレイヤー数を事前に制限できることです。 これは、ネットワークサイズに任意の制限を課すことで、機械学習モデルの次元の呪いを解決できることを意味します。

非線形カーネルを備えたSVMはそれを行うことができません。 代わりに、パラメーターの数は、使用するサポートベクターの数に比例して増加します。 場合によっては、特にテキストデータを使用している場合、SVMは数千のサポートベクターを使用することになります。

2番目の利点は、トレーニング後に予測を実行する際のニューラルネットワークの一般的な速度です。 これは、ニューラルネットワークが計算する必要があるのは、層の数と同じ数の重み行列の乗算と活性化関数だけであるためです。 行列の乗算は並列化の一般的なタスクであるため、迅速に計算できます。

3.2. 理論上のデメリット

ただし、SVMと比較すると、ANNには理論上の欠点もあります。 最初の欠点は、ニューラルネットワークのトレーニング時間が長くなることです。 これは、SVMの最初の決定超平面が、異なるクラスに属するサポートベクターの間に配置されることが保証されているためです。 ニューラルネットワークはこの保証を提供せず、代わりに、初期決定関数をランダムに配置します。

2番目の欠点は、ニューラルネットワークの非保証収束にあります。 ハイパーパラメータを適切に選択することにより、ニューラルネットワークは満足のいく結果が得られるまでターゲット関数に近づくことができます。 ただし、SVMは理論的には、問題のソリューションに収束する能力に基づいています。

3番目の欠点は、ニューラルネットワークのパラメトリックで固定サイズにあります。 以前は、これをネットワークの利点と考えていました。 ただし、実際の問題がトレーニング中に観察可能であったよりも高度な複雑さを特徴とする場合、ニューラルネットワークの固定サイズは、ネットワークがトレーニングの観察結果を表すソリューションを学習することを意味しますが、以前には十分に一般化されない可能性があります見えないデータ。

最後の欠点は、SVM と比較した場合、ニューラルネットワークの人間による解釈が不十分なことです。 これは、SVMの決定関数がトレーニング中に観察されたクラスから等しく離れていることがわかっているのに対し、ニューラルネットワークは2つのクラスのいずれかに任意に近づく決定関数を学習する可能性があるためです。

ただし、これらの理論上の利点は、2つのモデルを抽象的な用語で参照していますが、すべての特定のデータセットに有効であるとは限りません。 このため、2つの機械学習モデルを同じベンチマーク問題と比較することにより、これらの期待を示し、テストします。

4. ベンチマークテスト

これで、私たちが保持している理論上の期待がいくつかの特定のデータセットに関して検証されているかどうかを経験的に評価できます。 このセクションでは、ベンチマークとして3つのデータセットを使用し、2つのモデルアーキテクチャのパフォーマンスを比較します。

  • XOR問題
  • アイリスデータセット
  • MNISTディジットデータセット

2つのモデルを比較するための指標は次のとおりです。

  • トレーニングの時間
  • 予測時間

どちらの場合も、の時間が短いほど、の方が優れています。

この場合、通常のように、精度や損失の基準と比較することには関心がありません。 これは、2つのモデルのハイパーパラメータをいじって、それらのいくつかのオプションを検討する必要があるためです。 これにより、モデルの利点についての理解を深めることなく、モデル間の比較が複雑になります。

代わりに、データセット全体に収束するまでトレーニングを行い、トレーニングと予測の実施にかかる時間を測定します。

最後に、実験の再現性のために、すべてのテストはANNsSVMsの両方のPython実装で行われたと言えます。

4.1. XORデータセット

この最初の例は、2つのモデルが解決しなければならない、問題の複雑さの下限として使用する簡単なデータセットです。 これは、ソリューションを学習するニューラルネットワークモデルの特性を事前に予測できるため、SVMに対して簡単にテストできるためです。

この問題は、XOR分類タスクです。

実際には、入力ベクトルのコンポーネントに対して可能なすべての値の1000コピーを作成することにより、この問題を実装できます。 この問題を解決するニューラルネットワークには、2つのコンポーネントを持つ入力、2つのノードを持つ隠れ層、および出力層があります。

早期収束の場合にトレーニングプロセスに早期中断を課すことによってニューラルネットワークをトレーニングしました。これは、約50回の反復後に到達しました。 代わりに、サポートベクターマシンは、この問題を解決するためのパラメーターの正しい数をそれ自体で決定し、収束するまでトレーニングを続けました。

これらの結果が得られました。

この実験は、ANNのトレーニング時間がSVMのトレーニング時間よりも長いという予想を確認します。 一方、SVMよりもANNの方が予測時間が短いことを示しています。

4.2. アイリスデータセット

2番目の実験は、Irisデータセットに含まれる花の分類で構成されます。 この問題は一般にマルチクラス分類に適していますが、複雑さを制限するために、その次元を2項分類タスクに減らすことができます。 これを行うには、3つのクラスの1つをにマッピングし、他の2つのクラスをにマッピングします。

次に、これらのバイナリクラス間の違いを認識するようにモデルをトレーニングできます。

この問題については、このタスクを解決する必要のあるニューラルネットワークアーキテクチャに関する優れた理論的ガイダンスがないため、2つの隠れ層とそれぞれ2つのニューロンを持つニューラルネットワークをテストします。 実際、観測は2D平面のわずかに分離された領域を構成しているように見えます。したがって、非表示レイヤーに関する記事で学習したように、2つの非表示レイヤーを使用するようにしてください。

データセットを100回複製し、分類器にフィードしました。 収束すると、次の結果が得られました。

この実験でも、ニューラルネットワークと比較して、トレーニングフェーズ中のSVMの高速性と予測中のSVMの低速性が確認されています。

4.3. MNIST桁データセット

最後に、MNISTデータセットの数字のマルチクラス分類問題における2つのモデルのパフォーマンスを比較できます。

このデータセットでは、48個と36個のニューロンを持つ2つの隠れ層で構成されるニューラルネットワークアーキテクチャを使用します。 使用するデータセットの特定のバージョンには、64の機能と10のクラスを持つ観測値があります。 したがって、入力のサイズと出力のサイズの間に含まれるレイヤーごとの隠れニューロンの数をとして使用することは理にかなっています。

両方のモデルが収束し、収束すると、次の結果が得られます。

したがって、マルチクラス分類タスクの場合も、ニューラルネットワークとサポートベクターマシンのパフォーマンスは理論上の期待に一致しているように見えます。

4.4. 私たちの理論的期待の確認

このことから、理論的な予測が確認されたと結論付けることができます。 ANNは、予測時間に関してはすべてのベンチマークデータセットでSVMを上回り、トレーニング時間に関しては下回っていました。 したがって、どちらを使用するかを決定するための基準を定式化できます。

  • トレーニングの時間が限られている場合は、SVMを選択する必要があります
  • ただし、トレーニングに十分な時間があり、迅速な予測が必要な場合は、代わりにANNを選択する必要があります

5. 実用的なアプリケーション

これで、今学んだ基準をどのような具体的なケースで適用する必要があるのかを自問することができます。 つまり、どのような場合にトレーニング時間または予測時間を節約するかによって、実際には一方のモデルを他方よりも選択する必要があるほどの違いが生じる可能性があります。 これは、機械学習モデルを構築するときに満たす必要のある開発要件と運用要件に関係しますが、作成するシステムの予想される使用法にも関係します。

5.1. 予測時間を外部委託できる場合

最初の例は、経済的または計算時間のいずれかで、モデルを自分でトレーニングする負担をカバーする必要がある状況に対応しています。 ただし、導入後は、予測コストをサードパーティにアウトソーシングすることができます。

たとえば、私たちが衛星でリモートセンシングシステムを構築している小さな研究所の場合、トレーニング中に利用できる計算能力は、配備された人々が利用できる計算能力よりも大幅に小さいと予想できます。機械学習システム:

この意味で、展開に対する開発中に利用可能な計算能力の比率は、別のモデルとは対照的に、モデルの選択を決定する可能性があります。 この場合、特に、自社の開発コストを最小限に抑えるためにSVMを使用することを選択する場合があります。

5.2. 重要なシステムで迅速な予測が必要な場合

モデルの選択を義務付ける運用要件のもう1つの例は、重要なシステムが迅速な予測を実行する必要があることです。 これは、たとえば、飛行制御システムで障害検出モデルを構築している場合です。

このタイプのシステムは、人間の安全への影響を考えると、予測を最高速度で計算する必要があります。 上記の決定基準に従う場合、このタイプのシステムでは、SVMではなくニューラルネットワークを使用する必要があります。

6. 結論

この記事では、SVMに対するANNの利点、およびその逆について検討しました。

ベンチマークとして使用した3つのデータセットに対して2つのモデルをテストしました。 そうすることで、理論的な期待を裏付けるように、ニューラルネットワークのトレーニング時間はSVMのトレーニング時間よりも大幅に遅いことを学びました。 また、ニューラルネットワークの予測時間は、SVMの予測時間よりも一般的に速いことにも注目しました。