AIの基礎

ディープラーニングとは何か?

mm
Unite.AI を Google の優先ソースに追加

ディープラーニングは、人工知能の中で最も影響力があり、最も急速に成長している分野の1つです。ただし、ディープラーニングの直感的な理解を得ることは難しい場合があります。ディープラーニングという用語は、さまざまなアルゴリズムやテクニックを包含しているからです。ディープラーニングは、一般に機械学習のサブディシプリンとしても重要です。したがって、ディープラーニングを理解するには、まず機械学習が何であるかを理解する必要があります。

機械学習とは何か?

ディープラーニングは、機械学習から生まれた概念の延長線上にあるため、機械学習が何であるかを説明しましょう。

簡単に言えば、機械学習は、コンピューターが特定のタスクを実行するために、明示的にコード化する必要がないようにする方法です。機械学習アルゴリズムは多数存在しますが、最も一般的に使用されるアルゴリズムの1つは、多層パーセプトロンです。多層パーセプトロンは、ニューラルネットワークとも呼ばれ、ノード/ニューロンが連結されたシリーズで構成されています。多層パーセプトロンには、3つの異なる層があります。入力層、隠れ層、出力層です。

入力層は、ネットワークにデータを入力します。ここで、データは中間/隠れ層のノードによって操作されます。隠れ層のノードは、数学的な関数であり、入力層から来るデータを操作して、入力データから関連するパターンを抽出することができます。これが、ニューラルネットワークが「学習」する方法です。ニューラルネットワークは、人間の脳の構造と機能に着想を得ているため、この名前が付けられました。

ネットワーク内のノード間の接続には、重みと呼ばれる値があります。これらの値は、1つの層のデータが次の層のデータと関連しているという仮定です。ネットワークがトレーニングされるにつれて、重み/仮定は調整され、重み/仮定がデータ内の有意なパターンを正確に表現する値に収束することを目指しています。

ノードには活性化関数があります。これらの活性化関数は、データを非線形的に変換し、ネットワークが複雑なデータの表現を学習できるようにします。活性化関数は、入力値に重み値を掛け、バイアス項を加算します。

ディープラーニングとは何か?

ディープラーニングは、多層パーセプトロンを複数結合した機械学習アーキテクチャに付けられた名前です。つまり、隠れ層が1つではなく、多層になっています。ディープニューラルネットワークが「深い」ほど、ネットワークが学習できるパターンが複雑になります。

深い層のネットワークは、完全に接続されたネットワークまたは完全に接続された層と呼ばれることもあります。これは、与えられたニューロンが周囲のすべてのニューロンと接続されていることを示しています。完全に接続されたネットワークは、他の機械学習関数と組み合わせて、さまざまなディープラーニングアーキテクチャを作成できます。

ディープラーニングの種類

研究者やエンジニアによって使用されるディープラーニングアーキテクチャは多数存在し、各アーキテクチャには独自の特殊な使用例があります。

畳み込みニューラルネットワーク

畳み込みニューラルネットワーク、またはCNNは、コンピュータビジョンシステムの作成に一般的に使用されるニューラルネットワークアーキテクチャです。畳み込みニューラルネットワークの構造により、画像データを解釈し、完全に接続されたネットワークが解釈できる数字に変換することができます。CNNには、4つの主要なコンポーネントがあります。

  • 畳み込み層
  • サブサンプリング/プーリング層
  • 活性化関数
  • 完全に接続された層

畳み込み層は、ネットワークに画像を入力として取り込み、画像を分析してピクセル値を取得します。サブサンプリングまたはプーリングは、画像値を簡略化して表現し、画像フィルタへの感度を低減するために使用されます。活性化関数は、データが1つの層から次の層へ流れる方法を制御し、完全に接続された層は、画像を表す値を分析して、そこに含まれるパターンを学習します。

RNNs/LSTMs

再帰型ニューラルネットワーク、またはRNNは、データの順序が重要なタスクに一般的に使用されます。RNNは、自然言語処理などの問題に適用されます。ここで、文の意味を解釈するために、単語の順序が重要です。再帰型ニューラルネットワークの「再帰」部分は、シーケンス内の特定の要素の出力が、前の計算と現在の計算の両方に依存するという事実から来ています。他のディープニューラルネットワークとは異なり、RNNには「記憶」があり、シーケンスのさまざまな時間ステップで計算された情報が、最終的な値を計算するために使用されます。

RNNには、将来のシーケンス内のアイテムを考慮して現在のアイテムの値を計算する双方向RNNなどの複数の種類があります。RNNの別の種類は、長短期記憶、またはLSTMネットワークです。LSTMは、長いデータの連結を処理できます。通常のRNNは、「勾配爆発問題」と呼ばれる問題に陥る可能性があります。この問題は、入力データの連結が非常に長くなったときに発生します。ただし、LSTMにはこの問題に対処するためのテクニックがあります。

オートエンコーダー

これまでに説明したディープラーニングアーキテクチャの多くは、教師あり学習問題ではなく、教師なし学習タスクに適用されます。オートエンコーダーは、教師なしデータを教師あり形式に変換することができます。したがって、ニューラルネットワークを問題に適用することができます。

オートエンコーダーは、データセット内の異常を検出するために頻繁に使用されます。これは、異常の性質が不明であるため、教師なし学習の例です。金融機関の不正検出がそのような例です。この文脈では、オートエンコーダーの目的は、データの正規パターンのベースラインを決定し、異常または外れ値を特定することです。

オートエンコーダーの構造は、出力が入力と似ているように、対称的に配置されることがよくあります。頻繁に使用されるオートエンコーダーの種類は4つあります。

  • 通常/プレーンオートエンコーダー
  • マルチレイヤーエンコーダー
  • 畳み込みエンコーダー
  • 正則化エンコーダー

通常/プレーンオートエンコーダーは、単一の隠れ層を持つニューラルネットワークです。マルチレイヤーオートエンコーダーは、複数の隠れ層を持つ深いネットワークです。畳み込みオートエンコーダーは、完全に接続された層の代わりに、または加えて、畳み込み層を使用します。正則化オートエンコーダーは、ニューラルネットワークが単に入力を出力にコピーする以外のより複雑な関数を実行できる、特定の種類の損失関数を使用します。

生成対抗ネットワーク

生成対抗ネットワーク(GAN)は、実際には単一のディープニューラルネットワークではなく、複数のディープニューラルネットワークです。2つのディープラーニングモデルは同時にトレーニングされ、出力はもう一方のネットワークにフィードされます。ネットワークは互いに競合しており、互いの出力データにアクセスできるため、両方のネットワークがこのデータから学び、改善されます。2つのネットワークは、生成モデルが新しいインスタンスを作成して検出モデル/判別器を欺くことを試みる、偽物と検出のゲームをプレイしています。GANは、コンピュータビジョンの分野で人気を博しています。

ディープラーニングのまとめ

ディープラーニングは、ニューラルネットワークの原理を拡張して、複雑なパターンを学習し、将来のデータセットに一般化できるモデルを作成します。畳み込みニューラルネットワークは、画像を解釈するために使用され、RNNs/LSTMsはシーケンスデータを解釈するために使用されます。オートエンコーダーは、教師なし学習タスクを教師あり学習タスクに変換できます。最後に、GANは、コンピュータビジョンに特に役立つ、互いに競合する複数のネットワークです。

ブログ作家およびプログラマーで、 Machine Learning Deep Learning のトピックを専門としています。Danielは、AIの力を社会のために利用する手助けを他者に与えることを希望しています。