To update the weights and bias of a neuron in the layer preceding the layer preceding the output layer, we need to compute the error gradients of the neurons in the layer preceding the output layer with respect to their inputs, and then propagate these gradients backward through the network using the chain rule to obtain the error gradients of the neurons in the layer preceding the layer preceding the output layer with respect to their inputs. Let's denote the error gradient of a neuron in the layer preceding the output layer with respect to its input as $\delta\_{\text{preceding}}$. Let's denote the weights and bias of a neuron in the layer preceding the layer preceding the output layer as $u\_i$ and $d$, respectively. Let's denote the input vector to the neuron in the layer preceding the layer preceding the output layer as $\mathbf{y} = [y\_1, y\_2, \ldots, y\_p]$, where $p$ is the number of inputs to the neuron. Let's denote the output of the neuron in the layer preceding the layer preceding the output layer as $y\_{\text{actual}}$. Then, the error gradient of the neuron in the layer preceding the layer preceding the output layer with respect to its input is given by:

δpreceding=yactual(1−yactual)∑j=1nδprecedingjvj\delta\_{\text{preceding}} = y\_{\text{actual}} (1 - y\_{\text{actual}}) \sum\_{j=1}^n \delta\_{\text{preceding}\_j} v\_{j}δpreceding​=yactual​(1−yactual​)j=1∑n​δprecedingj​​vj​Here, $n$ is the number of neurons in the layer preceding the output layer, and $\delta\_{\text{preceding}\_j}$ and $v\_j$ denote the error gradient and weight of the $j$-th neuron in the layer preceding the output layer, respectively.

Using this error gradient, we can update the weights and bias of the neuron in the layer preceding the layer preceding the output layer using the gradient descent algorithm. The weight update rule is given by:

ui←ui−α∂MSE∂uiu\_i \leftarrow u\_i - \alpha \frac{\partial \text{MSE}}{\partial u\_i}ui​←ui​−α∂ui​∂MSE​The gradient of the MSE objective function with respect to the weight $u\_i$ is given by:

∂MSE∂ui=−δprecedingyi\frac{\partial \text{MSE}}{\partial u\_i} = -\delta\_{\text{preceding}} y\_i∂ui​∂MSE​=−δpreceding​yi​Substituting the expression for $\delta\_{\text{preceding}}$, we get:

∂MSE∂ui=−yactual(1−yactual)∑j=1nδprecedingjvjyi\frac{\partial \text{MSE}}{\partial u\_i} = -y\_{\text{actual}} (1 - y\_{\text{actual}}) \sum\_{j=1}^n \delta\_{\text{preceding}\_j} v\_{j} y\_i∂ui​∂MSE​=−yactual​(1−yactual​)j=1∑n​δprecedingj​​vj​yi​Substituting this expression into the weight update rule, we get:

ui←ui+αyactual(1−yactual)∑j=1nδprecedingjvjyiu\_i \leftarrow u\_i + \alpha y\_{\text{actual}} (1 - y\_{\text{actual}}) \sum\_{j=1}^n \delta\_{\text{preceding}\_j} v\_{j} y\_iui​←ui​+αyactual​(1−yactual​)j=1∑n​δprecedingj​​vj​yi​Similarly, the bias update rule is given by:

d←d−α∂MSE∂dd \leftarrow d - \alpha \frac{\partial \text{MSE}}{\partial d}d←d−α∂d∂MSE​The gradient of the MSE objective function with respect to the bias $d$ is given by:

∂MSE∂d=−δpreceding\frac{\partial \text{MSE}}{\partial d} = -\delta\_{\text{preceding}}∂d∂MSE​=−δpreceding​Substituting the expression for $\delta\_{\text{preceding}}$, we get:

\frac{\partial \text{MSE}}{\partial d
출력층 앞의 층에 있는 뉴런의 가중치와 바이어스를 업데이트하려면 입력에 대한 출력층 앞의 층에 있는 뉴런의 오차 기울기를 계산한 다음 체인 규칙을 사용하여 이 기울기를 네트워크를 통해 역전파하여 입력에 대한 출력층 앞의 층에 있는 뉴런의 오차 기울기를 얻어야 합니다. 입력에 대한 출력 레이어 앞의 레이어에 있는 뉴런의 오차 기울기를 $\델타\_{\text{preceding}}$로 표시해 보겠습니다. 출력 레이어 앞의 레이어에 있는 뉴런의 가중치와 바이어스를 각각 $u\_i$와 $d$로 표시해 봅시다. 출력 레이어 앞의 레이어에 있는 뉴런에 대한 입력 벡터를 $\mathbf{y} = [y\_1, y\_2, \ldots, y\_p]$로 표시하고, 여기서 $p$는 뉴런에 대한 입력의 개수입니다. 출력 레이어 앞의 레이어에 있는 뉴런의 출력을 출력 레이어 앞의 레이어에 있는 뉴런의 출력으로 $y\_{\text{actual}}$로 표시해 보겠습니다. 그러면 입력에 대한 출력 레이어 선행 레이어에 있는 뉴런의 오차 기울기는 다음과 같이 주어집니다.δpreceding=yactual(1-yactual)∑j=1nδprecedingjvj\delta\_{\text{preceding}} = y\_{\text{actual}} (1 - y\_{\text{actual}}) \sum\_{j=1}^n \delta\_{\text{preceding}\_j} v\_{j}δpreceding=yactual(1-yactual)j=1∑nδprecedingjvj 여기서 $n$은 출력 레이어 앞의 뉴런의 수입니다, 그리고 $\delta\_{\text{preceding}\_j}$와 $v\_j$는 각각 출력 레이어 앞의 레이어에서 $j$번째 뉴런의 오차 기울기와 가중치를 나타냅니다.이 오차 기울기를 사용하여 기울기 하강 알고리즘을 사용하여 출력 레이어 앞의 레이어에 있는 뉴런의 가중치와 바이어스를 업데이트할 수 있습니다. 가중치 업데이트 규칙은 다음과 같습니다:ui←ui-α∂MSE∂uiu\_i \왼쪽줄 u\_i - \알파 \frac{\부분 \text{MSE}}{\부분 u\_i}ui←ui-α∂ui∂MSE가중 $u\_i$에 대한 MSE 목적 함수의 기울기는 다음과 같이 주어집니다:∂MSE∂ui=-δprecedingyi\frac{\partial \text{MSE}}{\partial u\_i} = -\delta\_{\text{preceding}} y\_i∂ui∂MSE=-δprecedingyi식 $\delta\_{\text{preceding}}$에 대입하면 다음과 같이 구할 수 있습니다:∂MSE∂ui=-yactual(1-yactual)∑j=1nδprecedingjvjyi\frac{\partial \text{MSE}}{\partial u\_i} = -y\_{\text{actual}} (1 - y\_{\text{actual}}) \sum\_{j=1}^n \delta\_{\text{preceding}\_j} v\_{j} y\_i∂ui∂MSE=-yactual(1-yactual)j=1∑nδprecedingjvjyi 이 식을 가중치 업데이트 규칙에 대입하면 다음과 같이 계산할 수 있습니다:ui←ui+αyactual(1-yactual)∑j=1nδprecedingjvjyiu\_i \leftarrow u\_i + \alpha y\_{\text{actual}} (1 - y\_{\text{actual}}) \sum\_{j=1}^n \delta\_{\text{preceding}\_j} v\_{j} y\_iui←ui+αyactual(1-yactual)j=1∑nδprecedingjvjyi비슷하게, 바이어스 업데이트 규칙은 다음과 같이 주어집니다:d←d-α∂MSE∂dd \왼쪽 화살표 d - \알파 \frac{\부분 \text{MSE}}{\부분 d}d←d-α∂d∂MSE편향 $d$에 대한 MSE 목적 함수의 기울기는 다음과 같이 주어집니다:∂MSE∂d=-δpreceding\frac{\partial \text{MSE}}{\partial d} = -\delta\_{\text{preceding}}∂d∂MSE=-δpreceding식 $\delta\_{\text{preceding}}$에 대입하면 다음과 같이 구할 수 있습니다:\frac{\부분 \text{MSE}}{\부분 d