単一のReLUがReLUを学習できないのはなぜですか?
私のニューラルネットワークのフォローアップとして、ユークリッド距離を学習することすらできないため、さらに単純化して、単一のReLU(ランダムな重み)を単一のReLUにトレーニングしようとしました。これは最も単純なネットワークですが、収束に失敗する時間の半分です。 最初の推測がターゲットと同じ方向にある場合、すぐに学習し、正しい重み1に収束します。 最初の推測が「後方」である場合、ゼロの重みでスタックし、低損失の領域に到達することはありません。 理由がわかりません。勾配降下は、グローバルミニマムへの損失曲線に簡単に従うべきではありませんか? サンプルコード: from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense, ReLU from tensorflow import keras import numpy as np import matplotlib.pyplot as plt batch = 1000 def tests(): while True: test = np.random.randn(batch) # Generate ReLU test case X = test Y = test.copy() Y[Y < 0] …