コンテンツ
- 懐疑論者クラブ
- 畳み込みニューラルネットワーク(CNN)
- バグやストレスなし-あなたの人生を破壊することなく人生を変えるソフトウェアを作成するためのステップバイステップガイド
- Long Short-Term Memory(LSTM)ユニット
- 生成的敵対ネットワーク(GAN)
- 結論
ソース:Vs1489 / Dreamstime.com
取り除く:
「ディープラーニング」は、高度なニューラルネットワークの単なる別の名前ですか、それ以外にもありますか?ディープラーニングとニューラルネットワークの最近の進歩を見てみましょう。
懐疑論者クラブ
私のようにあなたが懐疑論者クラブに所属しているなら、ディープラーニングについての大騒ぎとは何かを疑問に思っているかもしれません。ニューラルネットワーク(NN)は新しい概念ではありません。多層パーセプトロンは1961年に導入されましたが、これは昨日だけではありません。
しかし、現在のニューラルネットワークは、単なる多層パーセプトロンよりも複雑です。さらに多くの隠れ層を持ち、接続を繰り返すことさえできます。しかし、待ってください、彼らはまだトレーニングに逆伝播アルゴリズムを使用していませんか?
はい!現在、マシンの計算能力は、60年代または80年代にさえも比類のないものでした。これは、はるかに複雑なニューラルアーキテクチャを妥当な時間でトレーニングできることを意味します。
それでは、概念が新しいものではない場合、これはディープラーニングがステロイドに関する単なるニューラルネットワークの集まりであることを意味するのでしょうか?すべての大騒ぎは、単に並列計算とより強力なマシンによるものですか?多くの場合、いわゆるディープラーニングソリューションを調べると、これはどのように見えるかです。 (ニューラルネットワークの実際の実際の使用法は何ですか?テクノロジーをよりよく理解するのに役立つ5つのニューラルネットワークの使用例で確認してください。)
しかし、私が言ったように、私は懐疑論者クラブに所属しており、通常、まだ支持されていない証拠には警戒しています。とりあえず、偏見を捨てて、もしあれば、ニューラルネットワークに関して、ディープラーニングで新たに出現した技術の徹底的な調査を試みましょう。
少し掘り下げると、ディープラーニングの分野でいくつかの新しいユニット、アーキテクチャ、およびテクニックが見つかります。これらのイノベーションのいくつかは、ドロップアウトレイヤーによって導入されたランダム化のように、より小さな重みを持ちます。ただし、他の一部のユーザーは、より重要な変更を担当しています。そして、確かに、それらの多くは非常に計算コストが高いため、計算リソースのより大きな可用性に依存しています。
私の意見では、ニューラルネットワークの分野では、ディープラーニングが現在の人気を獲得するのに大きく貢献している3つの主要なイノベーションがありました。畳み込みニューラルネットワーク(CNN)、長期短期記憶(LSTM)ユニット、および生成的敵対ネットワーク(GAN) )。
畳み込みニューラルネットワーク(CNN)
ディープラーニングのビッグバン-少なくともブームを初めて聞いたとき-は、2012年の画像認識プロジェクトであるImageNet大規模視覚認識チャレンジで発生しました。画像を自動的に認識するために、畳み込みニューラルネットワーク8層– AlexNet –が使用されました。最初の5つの層は畳み込み層で、そのうちのいくつかには最大プール層が続き、最後の3つの層は完全に接続された層で、すべて非飽和ReLUアクティベーション機能を備えています。 AlexNetネットワークは、15.3%のトップ5のエラーを達成し、次点のエラーよりも10.8パーセントポイント以上低くなりました。すばらしい成果でした!
バグやストレスなし-あなたの人生を破壊することなく人生を変えるソフトウェアを作成するためのステップバイステップガイド
誰もソフトウェアの品質を気にしない場合、プログラミングスキルを向上させることはできません。
多層アーキテクチャに加えて、AlexNetの最大の革新は畳み込み層でした。
畳み込みネットワークの最初の層は常に畳み込み層です。畳み込み層の各ニューロンは、入力画像の特定の領域(受容野)に焦点を合わせ、その重み付き接続を通じて受容野のフィルタとして機能します。フィルターをニューロン、ニューロン、すべての画像受容フィールドでスライドさせた後、畳み込み層の出力は、機能識別子として使用できる活性化マップまたは機能マップを生成します。
図1.入力画像の5x5受容野でフィルターとして機能する畳み込み層のニューロン(Adit Deshpandeの「畳み込みニューラルネットワークを理解するための初心者向けガイド」から転載)
畳み込み層を重ねて追加することにより、活性化マップは入力画像からより複雑な特徴を表現できます。さらに、畳み込みニューラルネットワークアーキテクチャでは、マッピング関数の非線形性を高め、ネットワークの堅牢性を向上させ、過剰適合を制御するために、これらの畳み込み層の間にいくつかの層が散在しています。
入力画像から高レベルの特徴を検出できるようになったので、従来の分類のために、1つ以上の完全に接続されたレイヤーをネットワークの最後に追加できます。ネットワークのこの最後の部分は、畳み込み層の出力を入力として受け取り、N次元のベクトルを出力します。Nはクラスの数です。このN次元ベクトルの各数値は、クラスの確率を表します。
昔、私はしばしば、ニューラルネットワークのアーキテクチャの透明性の欠如と、結果の解釈と説明が不可能であることについて、ニューラルネットワークに異議を唱えました。この異議は、ディープラーニングネットワークに関連して、最近では少なくなっています。分類の精度を高めるために、ブラックボックス効果と引き換えに受け入れられるようになりました。
Long Short-Term Memory(LSTM)ユニット
深層学習ニューラルネットワークによってもたらされる別の大きな改善は、リカレントニューラルネットワーク(RNN)を介した時系列分析で見られます。
リカレントニューラルネットワークは新しい概念ではありません。これらは既に90年代に使用されており、逆伝搬時間(BPTT)アルゴリズムでトレーニングされていました。しかし、90年代には、必要な計算リソースの量を考えると、それらを訓練することはしばしば不可能でした。しかし、今日では、利用可能な計算能力の増加により、RNNをトレーニングするだけでなく、そのアーキテクチャの複雑さを増すことも可能になりました。それだけですか?もちろん、そうではありません。
1997年に、時系列で関連する過去の記憶をより適切に処理するために特別なニューラルユニット、LSTMユニットが導入されました。内部ゲートの組み合わせにより、LSTMユニットは、関連する過去の情報を記憶したり、時系列で無関係な過去のコンテンツを忘れたりすることができます。 LSTMネットワークは、LSTMユニットを含むリカレントニューラルネットワークの特別なタイプです。 LSTMベースのRNNの展開バージョンを図2に示します。
限られた長いメモリ機能の問題を克服するために、LSTMユニットは追加の非表示状態(セル状態)を使用します C(t) –元の非表示状態から派生 h(t)。 C(t) ネットワークメモリを表します。ゲートと呼ばれる特定の構造により、セル状態から情報を削除(忘れ)または追加(記憶)できます。 C(t) 入力値に基づく各タイムステップで x(t) および以前の非表示状態 h(t−1)。各ゲートは、0〜1の値を出力することにより、追加または削除する情報を決定します。ゲート出力にセルの状態を点ごとに乗算することにより、 C(t-1)、情報は削除(ゲートの出力= 0)または保持(ゲートの出力= 1)。
図2に、LSTMユニットのネットワーク構造を示します。各LSTMユニットには3つのゲートがあります。最初の「ゲート層を忘れる」は、前のセル状態から情報を除外します C(t-1) 現在の入力に基づいて x(t) 前のセルの非表示状態 h(t−1)。次に、「入力ゲートレイヤー」と「タンレイヤー」の組み合わせにより、以前のフィルタリング済みのセル状態に追加する情報が決定されます。 C(t-1)。最後に、最後のゲートである「出力ゲート」が、更新されたセル状態からの情報のいずれかを決定します C(t) 次の非表示状態になります h(t).
LSTMユニットの詳細については、Christopher OlahによるGitHubブログ投稿「Understanding LSTM Networks」を参照してください。
図2. LSTMセルの構造(Ian Goodfellow、Yoshua Bengio、およびAaron Courvilleによる「Deep Learning」から複製)。 LSTMユニット内の3つのゲートに注目してください。左から、忘却ゲート、入力ゲート、出力ゲート。
LSTMユニットは、多くの時系列予測問題で使用されていますが、特に音声認識、自然言語処理(NLP)、および自由生成で使用されています。
生成的敵対ネットワーク(GAN)
生成的敵対ネットワーク(GAN)は、2つの深層学習ネットワーク、ジェネレーターとディスクリミネーターで構成されます。
ジェネレーター G 入力ノイズを変換する変換です z テンソルに–通常は画像– バツ (バツ= G(z))。 DCGANは、発電機ネットワークで最も人気のある設計の1つです。 CycleGANネットワークでは、ジェネレーターは複数の転置畳み込みを実行してアップサンプリングします z 最終的に画像を生成する バツ (図3)。
生成された画像 バツ その後、識別器ネットワークに供給されます。弁別器ネットワークは、トレーニングセットの実際の画像とジェネレーターネットワークによって生成された画像をチェックし、出力を生成します D(バツ)、これは画像が バツ は本物。
発生器と判別器の両方は、逆伝播アルゴリズムを使用して訓練され、 D(バツ)=1 生成された画像用。両方のネットワークは、自身を改善するために競合する交互のステップで訓練されています。 GANモデルは最終的に収束し、実際に見える画像を生成します。
図3. DCGANジェネレーター(Jonathan Huiの「GAN — Generative Adversary Networks GANとは?」)GANは、イメージテンソルに適用され、アニメ、人物、さらにはゴッホのような傑作を作成するのに成功しています。 (ニューラルネットワークのその他の最新の使用法については、「人工ニューラルネットワークに起因する6つの大きな進歩」を参照してください。)
結論
それで、ディープラーニングはステロイドに関する単なるニューラルネットワークの束ですか?部分的に。
より高速なハードウェアパフォーマンスが、より複雑で多層的な、さらには再帰的なニューラルアーキテクチャのトレーニングの成功に大きく貢献していることは否定できませんが、多くの新しい革新的なニューラルユニットとアーキテクチャが分野で提案されていることも事実です現在、ディープラーニングと呼ばれています。
特に、CNN、LSTMユニット、およびGANの畳み込み層を、画像処理、時系列分析、および自由生成の分野で最も重要な革新の一部として特定しました。
この時点で残っている唯一のことは、深く掘り下げて、ディープラーニングネットワークがデータ問題に対する新しい堅牢なソリューションでどのように役立つかについて詳しく知ることです。