AI 101
ディープラーニングとは?
ディープラーニングは、人工知能の中で最も影響力があり、最も急速に成長している分野の1つです。ただし、ディープラーニングの直感的な理解を得ることは困難です。なぜなら、ディープラーニングという用語は、さまざまなアルゴリズムやテクニックを包含しているからです。ディープラーニングは、一般的に機械学習のサブディシプリンであるため、ディープラーニングを理解するには、機械学習が何であるかを理解することが重要です。
機械学習とは?
ディープラーニングは、機械学習から生まれた概念の延長であるため、その理由で、機械学習が何であるかを説明しましょう。
簡単に言えば、機械学習は、コンピューターが特定のタスクを実行するために、すべてのアルゴリズムのコードを明示的に記述することなく、コンピューターを有効にする方法です。機械学習のアルゴリズムは多数存在しますが、最も一般的に使用されるアルゴリズムの1つは、多層パーセプトロンです。多層パーセプトロンは、ニューラルネットワークとも呼ばれ、ノード/ニューロンが連結されたシリーズで構成されています。多層パーセプトロンには、3つの異なる層があります。入力層、隠し層、出力層です。
入力層は、ネットワークにデータを入力し、そこで中間/隠し層のノードによって操作されます。隠し層のノードは、数学的な関数であり、入力層からのデータを操作して、入力データから関連するパターンを抽出できます。これが、ニューラルネットワークが「学習」する方法です。ニューラルネットワークは、人間の脳の構造と機能に着想を得たため、その名前が付けられました。
ネットワーク内のノード間の接続には、重みと呼ばれる値があります。これらの値は、基本的に、1つの層のデータが次の層のデータとどのように関連しているかについての仮定です。ネットワークがトレーニングされると、重みが調整され、重み/データの仮定が最終的に、データ内の有意義なパターンを正確に表す値に収束することを目指しています。
ノードには活性化関数があり、これらの活性化関数はデータを非線形に変換し、ネットワークがデータの複雑な表現を学習できるようにします。活性化関数は、入力値に重み値を掛け、バイアス項を加算します。
ディープラーニングとは?
ディープラーニングは、多層パーセプトロンを多数結合した、機械学習アーキテクチャに付けられた用語です。つまり、1つの隠し層ではなく、多数の隠し層があります。ディープニューラルネットワークが「深い」ほど、ネットワークが学習できるパターンはより複雑になります。
ニューロンで構成されるディープ層ネットワークは、ときに完全に接続されたネットワークまたは完全に接続された層と呼ばれ、与えられたニューロンが周囲のすべてのニューロンに接続されているという事実を参照しています。完全に接続されたネットワークは、他の機械学習関数と組み合わせて、さまざまなディープラーニングアーキテクチャを作成できます。
ディープラーニングの種類
研究者やエンジニアによって使用されるさまざまなディープラーニングアーキテクチャがあり、それぞれの異なるアーキテクチャには独自の専門分野があります。
畳み込みニューラルネットワーク
畳み込みニューラルネットワーク、またはCNNは、コンピュータビジョンシステムの作成に一般的に使用されるニューラルネットワークアーキテクチャです。畳み込みニューラルネットワークの構造により、画像データを解釈し、完全に接続されたネットワークが解釈できる数字に変換できます。CNNには、4つの主要なコンポーネントがあります。
- 畳み込み層
- サブサンプリング/プーリング層
- 活性化関数
- 完全に接続された層
畳み込み層は、画像をネットワークの入力として取り込み、画像を分析してピクセル値を取得します。サブサンプリングまたはプーリングは、画像値を変換/削減して、画像の表現を簡略化し、画像フィルタへのノイズに対する感度を低減する場所です。活性化関数は、データが1つの層から次の層にフローする方法を制御し、完全に接続された層は、画像を表す値を分析し、画像内のパターンを学習します。
RNNs/LSTMs
再帰型ニューラルネットワーク、またはRNNは、データの順序が重要なタスク、つまりネットワークがデータのシーケンスについて学習する必要があるタスクに一般的に使用されます。RNNは、自然言語処理などの問題に一般的に適用されます。なぜなら、文の意味を解読するときに、単語の順序が重要だからです。再帰型ニューラルネットワークという用語の「再帰」部分は、シーケンスの特定の要素の出力が、前の計算と現在の計算の両方に依存するという事実から来ています。他のディープニューラルネットワークの形式とは異なり、RNNには「メモリ」があり、シーケンスのさまざまなタイムステップで計算された情報が、最終的な値を計算するために使用されます。
RNNには、将来のシーケンス内のアイテムを現在のアイテムの値を計算するときに考慮する、双方向RNNなどの複数のタイプがあります。RNNの別のタイプは、長短期記憶、またはLSTMネットワークです。LSTMは、長いデータの連結を処理できるRNNのタイプです。通常のRNNは、「爆発的な勾配問題」と呼ばれる問題に陥る可能性があります。この問題は、入力データの連結が非常に長くなったときに発生しますが、LSTMにはこの問題に対処するためのテクニックがあります。
オートエンコーダー
ここまでに説明したディープラーニングアーキテクチャのほとんどは、教師あり学習の問題ではなく、教師なし学習のタスクに適用されています。オートエンコーダーは、教師なしデータを教師あり形式に変換し、ニューラルネットワークを問題に使用できるようにします。
オートエンコーダーは、データセット内の異常を検出するために、教師なし学習の例として、頻繁に使用されます。金融機関の詐欺検出などの例は、異常の性質がわかっていないためです。この文脈では、オートエンコーダーの目的は、データ内の通常のパターンのベースラインを決定し、異常または外れ値を特定することです。
オートエンコーダーの構造は、出力が入力に似ているように、隠し層が対称的に配置されることがよくあります。頻繁に使用されるオートエンコーダーの4つのタイプは、次のとおりです。
- 通常/プレーンオートエンコーダー
- マルチレイヤーエンコーダー
- 畳み込みオートエンコーダー
- 正則化オートエンコーダー
通常/プレーンオートエンコーダーは、単一の隠し層を持つニューラルネットワークです。マルチレイヤーオートエンコーダーは、複数の隠し層を持つディープネットワークです。畳み込みオートエンコーダーは、完全に接続された層の代わりに、または追加として、畳み込み層を使用します。正則化オートエンコーダーは、ニューラルネットワークが入力から出力へのコピー以外のより複雑な関数を実行できるようにする、特定の種類の損失関数を使用します。
生成対抗ネットワーク
生成対抗ネットワーク(GAN)は、実際には単一のネットワークではなく、複数のディープニューラルネットワークです。2つのディープラーニングモデルは同時にトレーニングされ、出力はもう一方のネットワークにフィードされます。ネットワークは互いに競合しており、互いの出力データにアクセスできるため、両方のネットワークがこのデータから学習し、改善されます。ネットワークは、基本的に、偽物と検出のゲームをプレイしており、生成モデルは、新しいインスタンスを作成して検出モデル/ディスクリミネータを欺くことを試みます。GANは、コンピュータビジョンの分野で人気を博しています。
ディープラーニングのまとめ
ディープラーニングは、ニューラルネットワークの原理を拡張して、複雑なパターンを学習し、将来のデータセットにこれらのパターンを一般化できる、洗練されたモデルを作成します。畳み込みニューラルネットワークは、画像を解釈するために使用され、RNN/LSTMは、シーケンスデータを解釈するために使用されます。オートエンコーダーは、教師なし学習タスクを教師あり学習タスクに変換できます。最後に、GANは、コンピュータビジョンタスクに特に役立つ、互いに対戦する複数のネットワークです。












