合成関数の微分
いまさらですが、合成関数の微分についてです。
z1 = z1(y1, y2) --- (1)
z2 = z1(y1, y2) --- (2)
として、さらに、
y1 = y1(x1, x2) --- (3)
y2 = y1(x1, x2) --- (4)
であるとき、
∂z1/∂x1 = (∂z1/∂y1)(∂y1/∂x1) + (∂z1/∂y2)(∂y2/∂x1) --- (5)
∂z1/∂x2 = (∂z1/∂y1)(∂y1/∂x2) + (∂z1/∂y2)(∂y2/∂x2) --- (6)
∂z2/∂x1 = (∂z2/∂y1)(∂y1/∂x1) + (∂z2/∂y2)(∂y2/∂x1) --- (7)
∂z2/∂x2 = (∂z2/∂y1)(∂y1/∂x2) + (∂z2/∂y2)(∂y2/∂x2) --- (8)
となります。これは通常の微積本に書かれてあります。
これをニューラルネットで図示すると、入力がx1とx2、出力がz1とz2、隠れ層がy1とy2、と考えられます。各層間は全結合。
このように、合成関数の微分をニューラルネットと対応付けると、可視化されて、理解が進むのではないかと思います。
z1 = z1(y1, y2) --- (1)
z2 = z1(y1, y2) --- (2)
として、さらに、
y1 = y1(x1, x2) --- (3)
y2 = y1(x1, x2) --- (4)
であるとき、
∂z1/∂x1 = (∂z1/∂y1)(∂y1/∂x1) + (∂z1/∂y2)(∂y2/∂x1) --- (5)
∂z1/∂x2 = (∂z1/∂y1)(∂y1/∂x2) + (∂z1/∂y2)(∂y2/∂x2) --- (6)
∂z2/∂x1 = (∂z2/∂y1)(∂y1/∂x1) + (∂z2/∂y2)(∂y2/∂x1) --- (7)
∂z2/∂x2 = (∂z2/∂y1)(∂y1/∂x2) + (∂z2/∂y2)(∂y2/∂x2) --- (8)
となります。これは通常の微積本に書かれてあります。
これをニューラルネットで図示すると、入力がx1とx2、出力がz1とz2、隠れ層がy1とy2、と考えられます。各層間は全結合。
このように、合成関数の微分をニューラルネットと対応付けると、可視化されて、理解が進むのではないかと思います。
スポンサーサイト