ネットワーク アーキテクチャでは、ディープラーニング モデルの構造や、より重要な点としてそのモデルの目的を定義します。ネットワーク アーキテクチャにより決定される事項は次のとおりです。
ほとんどの方が最初は既存の層の組み合わせを使って、学習を始めます。初めて何かを行うときは、専門家の力を借りることをお勧めします。ディープラーニングの研究者は、さまざまなネットワーク アーキテクチャや層の組み合わせについて、長年研究を重ねてきました。これにより、GoogLeNet、ResNet、SqueezeNet (これらはごく一部の例です) などのアーキテクチャで、目覚ましい成果が得られています。最初は、ゼロから始めるのではなく、類似の問題を扱う公開されているアーキテクチャの成功例を利用してみてください。
ネットワーク アーキテクチャを選択する前に、ご自身のユースケースや、利用できる一般的なネットワークを理解しておくことが重要です。
ディープラーニングを開始する際によく利用される、一般的なアーキテクチャを以下に示します。
• 畳み込みニューラル ネットワーク (CNN): CNN は一般的に、入力データとして画像に関連付けられますが、それ以外の入力データにも利用できます。質問 1 では、その詳細について説明します。
• 再帰型ニューラル ネットワーク (RNN): RNN では、過去の情報を記録することにより未来の事象を予測できます。各入力が独立したイベントであると仮定される CNN とは異なり、RNN では、互いに影響を及ぼす可能性のあるシーケンスデータを処理できます。一例として、自然言語処理では、前の単語が、次に来る単語の尤度に影響します。
• 長期短期記憶 (LSTM): LSTM ネットワークは、シーケンスデータや信号データによく使用される RNN です。質問 3 で詳しく見ていきます。
とても良い質問です。ひと言で言うと、画像の分類には、CNN を使用するとよいのではないでしょうか。
理由は次のとおりです。
まず、CNN と LSTM のネットワークの概要について説明してから、その一般的な用途についてお話しします。
畳み込みニューラル ネットワークは「ConvNet」とも呼ばれます。「ConvNet」という響きは、少し気取った感じに聞こえるでしょうか。
CNN は、多くの層で構成されていますが、畳み込み| ReLU |プーリングのようなパターンに基づいており、何度も (何度も何度も) 繰り返されます。局所的な空間パターンマッチングに非常に適しているため、画像分類に役立つだけでなく、通常、画像特徴抽出に使用される他の方法よりも優れています。ここでは CNN の核心が畳み込みである点に留意してください。入力画像を一連のフィルタ-で畳み込むことで、隣接するピクセル間の空間的な相互作用を失うことなく、画像内の特徴を強調します。
このテーマには多くのバリエーションがありますが、CNN に共通する構成は以下のとおりです。
Alexnet の例。
系列層は直線に沿って構成されています。
GoogLeNet の例。
複数の線および接続は、
DAG であることを示す一般的なサインです
長期短期記憶ネットワークは、主に時系列データやシーケンスデータに関連付けられています。LSTM ネットワークは、判定を行う時点より前のデータを部分的に記憶しています。また、文脈を考慮してデータを扱うため、データのより適切な関連付けに役立ちます。
下の図は、分類のための単純な LSTM ネットワークを示しています。
下の図は、回帰のための単純な LSTM ネットワークのアーキテクチャを示しています。
私がいつもお勧めしているのは、LSTM ネットワークです。ただし、利用できる手法は多く存在し、シナリオによっては、他のいくつかの手法の方がうまく機能します。詳細な情報をいただかないとこのご質問に具体的に回答するのは難しいため、代わりに考えられるシナリオをいくつかご紹介します。
時系列回帰シナリオ #1:入力が複雑度の低い時系列データで、一連のデータポイントを将来のイベント予測に使用したい場合。
リスク管理における機械学習の応用: 回帰学習アプリを使ったビットコインのボラティリティ予測 (5:56)
時系列回帰シナリオ #2:複数のセンサーからのデータがあり、残存耐用年数 (機械の修理または交換が必要になるまでの時間) を予測したい場合。
私と同僚が担当する産業オートメーションのお客様が、この状況に置かれていました。このお客様は、問題が危険レベルになったり、修正に多額の費用がかかる状況になったりする前に問題を特定しなければなりませんでした。このような状況では、機械学習の回帰よりも LSTM ネットワークを使用した方がよいかもしれません。この方法では、特徴を手動により識別する手間を減らすことができます。これは、複数のセンサーを使用している場合に重要なタスクとなります。
時系列回帰シナリオ #3:音声データのノイズを除去したい場合。
この場合、CNN を使用できます。この方法で重要なことは、信号をネットワークに渡す前に画像に変換することです。これは、フーリエ変換、その他の時間周波数操作によって信号が画像表現になることを意味します。画像を使用することで、元の信号では可視化できないような特徴を見分けることができます。フーリエ変換は本質的に画像であるため、画像用に設計された事前学習済みのネットワークを使用できます。
繰り返しますが、ここでは好きな方法を選んで差し支えありません。シナリオ 1 で LSTM ネットワーク、シナリオ 2 で CNN を使用することも可能です。1 つの出発点として、これらのシナリオをご参照ください。
ネットワーク アーキテクチャと事前学習済みのネットワークは関連しています。事前学習済みのモデルとは、すでに学習されたニューラル ネットワークのことです。ネットワークの重みとバイアスは入力データに合わせて調整されているため、新たなタスク用にネットワークを素早く再学習させることができます。このプロセスは転移学習と呼ばれ、場合によっては必要な画像が少なくなるだけでなく、作業に使用するデータセットも小さくて済みます。また、シミュレーションや水増しによって、より多くのデータを「作成」することもできます。
現時点では、データセットのサイズに関係なく、任意のネットワークを使用してください。ただし、少ない入力データで済むように事前学習済みのネットワークの使用を検討するか、データセットを水増しする方法を検討することをお勧めします。次回のコラムでは、事前学習済みのネットワークとモデルについて取り上げます。是非ご覧ください。