[Deep Learning Specialization]Neural Networks and Deep Learning-Deep Neural Networks


1st course: Neural Networks and Deep Learning


🗂 目次

  • 第1章:Deep Learningにインポート

  • 第2章:Neural Networks Basics

  • 第3章:Shallowニューラルネットワーク

  • 第4章:Deep Neural Networks

  • 4. Deep Neural Networks


    Deep Neural Networksは,以前に述べた浅いニューラルネットワークから発展し,より深い人工ニューラルネットワークを意味する.
    今回の講座では,浅いニューラルネットワークの内容に基づいて,2つのhidden layerとoutput layerからなる3層ニューラルネットワークがどのように学習と更新されているかを理解した.
    そして、Deepニューラルネットワークの性能向上講座の2回目の授業の準備をしました.

    1. Deep L-layer neural network


  • 浅い層のニューラルネットワークの中で1つの隠れた層があって,ノードと層の上でLogistic回帰の計算過程を理解します

  • 複数の隠蔽層が存在するモデルをdeepニューラルネットワークと呼び,簡単な表現を再紹介する
  • L:非入力層
  • n[l]n^{[l]}n[l]:第1層のノード(ニューロン)数
  • ala^{l}al:lll第1層の活性化値
  • 2. Forward Propagation in a Deep Network


  • deepニューラルネットワークでは,順方向伝搬も浅い層と同じ過程を経験した.

  • 浅いものから2回までの過程でdeepは層の個数に基づいて計算過程を繰り返し,ベクトル化によりxxxにlogistic回帰とアクティブ化過程を適用する

  • 計算プロセスがlayerの個数で繰り返されると、layerとlayerは順次影響を及ぼすため、for loopプロセスを行わざるを得ない.
  • 3. Getting your matrix dimensions right


  • deepニューラルネットワークには多くの層が存在し,それに応じて多くのパラメータが存在する.
  • ニューラルネットワークを正確に実現するために、各層の正確な表現とパラメータ階層を記憶することによって、デバッグプロセス
  • を直接理解することができる.


  • 各層に存在するw[i],b[i]w^{[i]},b^{[i]}w[i],b[i]パラメータは,階層が前層と現在層のノード(ニューロン)個数によって決定されることが分かる.

  • 授業中のニューラルネットワークのパラメータ化方法をコードとして簡単に実現する.
  • 各層のパラメータには(その層のノード数、前の層のノード数)と呼ばれる次元があり、これも
  • を含むマトリクスが内部ベクトル化できる理由である.
    L = 5 # layer 개수
    layer_dims[3, 5, 4, 2] # 각 layer의 노드 개수
    
    for l in range(1, L):
            parameters['W' + str(l)] = np.random.randn(layer_dims[l], layer_dims[l-1]) * 0.01
            parameters['b' + str(l)] = np.zeros(shape = (layer_dims[l], 1))
            
    # W1.shape = (3,2), b1.shape = (3,1) -> Z1.shape = (3,m) 
    # W2.shape = (5,3), b1.shape = (5,1)
    # W3.shape = (4,5), b2.shape = (4,1)
    # W4.shape = (2,4), b3.shape = (2,1)
    # W5.shape = (1,2), b4.shape = (1,1)

    4. Why deep representations?


  • では,deepニューラルネットワークが浅いニューラルネットワークよりも性能が優れている理由が分かる.

  • 顔認識または顔検出システムの過程において,浅い層と深い層のニューラルネットワークの違いを簡単に見ることができ,この2つのニューラルネットワークは決定的な隠蔽層数の違いを有する.

  • 3つの隠層からなる顔認識人工ニューラルネットワークシステムにおいて、第1の隠層は、画像のエッジを識別するために特徴検出器またはエッジ検出器として機能することができる.

  • 2番目の非表示層では、目、鼻、口などの顔の部位を知ることができます.

  • 最後の3番目の隠蔽層では、最終的に顔部位を組み合わせ、出力層に顔認識結果を表示する.

  • hidden layerの役割は上記のように明確に決定されていないが、hidden layerが深いほど、入力データの特徴を具体的に理解することができる.

  • 各非表示レイヤは、基本的に前のレイヤの計算結果を統合しています.これは、データが非表示レイヤを通過するほど、より密で敏感な情報を抽出する可能性が高いことを意味します.

  • 5. Building blocks of deep neural networks


  • 各非表示レイヤを1つのブロックとして扱う場合、順方向ステップと後方向ステップの理解は、順方向ステップと後方向ステップの理解よりも容易になります.

  • 各非表示レイヤの出力は、アクティブ化関数が有効なZ[l]=W[l]alͧ1+b[l]Z^{l-1}+b^{[l]}Z[l]=W[l]al871+b[l]のパラメータを返します.これらの値をキャッシュすると、次のステップで非常に役立ちます.

  • 6. Forward and Backward Propagation


  • 逆方向のプロセスでは、実際の値とy hatからキャッシュされる各レイヤのZZZ値によって損失を低減することができる.

  • 逆計算の過程で各層を求めるda[l-1]da^{[l-1]}da[l-1]は逆計算の過程の核心であり,このとき発生するdW,dbdW,dbdW,db値に応じてW,bW,bW,bを繰り返し更新する.

  • 7. Parameters vs Hyperparameters


  • deepニューラルネットワークにはパラメータだけでなく,超パラメータも存在し,両者を良好に調整してこそ,良好な性能と結果を得ることができる.

  • 次のスーパーパラメータがあります.
  • 学習率:学習速度
  • i t e r a t i o n S i t e r a t i o n S i t e r ationSiterationSiterationSiterations:
  • を繰り返す
    非表示レイヤ番号
  • :非表示レイヤ番号
  • ステルス隠蔽ユニットユニットn[l]n^{[l]}n[l]:各ステルス層のユニット数
  • アクティブアクティブアクティブ化機能関数:アクティブ化関数
  • miniminimini batchbatchbatch sizesizesize
  • regularizationregularizationregularization

  • これらのスーパーパラメータは、W、bW、bW、bを調整する役割を果たし、絶対最適値は存在しない

  • モデルの最適パラメータは、データ、ターゲット、環境などの要因によって異なるため、最適な結果を得るためにさまざまな試みが必要です.