ディープラーニング

ディープラーニング (深層学習) に MATLAB を活用する

ディープラーニング (深層学習) は機械学習の一分野であり、複数の非線形処理層を使用して、データから直接有用な特徴表現を学習します。ディープラーニングのモデルは、オブジェクトの分類において最先端かつ極めて高い精度を誇り、しばしば人間が成し得る能力を超えることもあります。ディープラーニングのモデルは、大規模かつラベル付けされたデータセットと多くのレイヤーを含むニューラルネットワークのアーキテクチャを使用することで学習可能です。

ディープラーニングは次のような様々な課題に適用されています。

  • 画像の分類
  • 音声認識
  • 自然言語処理

ディープラーニング モデルの学習

ディープラーニング モデルの精度は、モデルの学習に使用されるデータ量によって大きく左右されます。最も精度の高いモデルの学習には、数千または数百万ものサンプルが必要なことがあり、学習に非常に長い時間を要します。しかし、一度ディープラーニング モデルの学習が完了すると、先進運転支援システム (ADAS) の歩行者認識のようなリアルタイムアプリケーションに活用できます。

畳み込みニューラルネットワークを使用した画像の分類

畳み込みニューラルネットワーク (CNN) は、ディープラーニングのアーキテクチャとして広く用いられています。ニューラルネットワークは、相互接続する複数のノードからなる複数の層から構成されます。CNN は入力データを学習された特徴と畳み込み、2 次元の畳み込み層を使用することで、このアーキテクチャを画像などの 2 次元データの処理に最適なものにします。

画像の分類タスクを実行するように学習された CNN でのデータ処理のフロー解像度が異なる学習画像ごとにフィルターが適用され、それぞれの畳み込み画像の出力が次のレイヤーの入力として使用されます。複数のフィルターは輝度やエッジなどの非常に簡単な特徴からスタートして、層が進むにつれてもっと複雑な形状へと進んでゆきます。

転移学習

CNN は画像分類の典型的な問題について何百万ものウェイトを学習する必要があるため、CNN の学習には非常に大量のデータが必要です。CNN の学習をゼロから行う代わりに、事前学習済みのモデルを使用して、新しいデータセットから自動的に特徴を抽出することができます。この方法は転移学習と呼ばれ、膨大なデータセットと学習時間を必要とせずにディープラーニングを適用する便利な方法です。

CNN をゼロからの作成した場合と事前学習済みのモデルを使用した場合との複雑さと精度の比較

GPU によるハードウェア面での高速化

ディープラーニング モデルの学習には、数日から数週間といった長い時間がかかることがあります。GPU による高速化を取り入れることで、処理を大幅に高速化できます。GPU を活用するとネットワークの学習に要する時間が削減され、画像分類の学習時間を数日から数時間にまで短縮できます。

Neural Network Toolbox は CNN をゼロから学習する場合でも、転移学習に事前学習済みのモデルを使用する場合でもご利用になれます

ディープラーニング モデルの学習および使用の詳細については、MATLAB®Computer Vision System Toolbox™Statistics and Machine Learning Toolbox™ および Neural Network Toolbox™ を参照してください。


製品使用例および使い方


ソフトウェア リファレンス

See also: 機械学習, 物体検出, 物体認識, 特徴抽出, 画像認識, パターン認識

MATLABを使ったディープラーニング