それは、微分と呼ばれるプロセスに関係しています。つまり、派生物を見つけることを意味します。特定のポイントで別の関数が上下するかどうかを示す関数です。たとえば、 `f（x）= x`の導関数は` f '（x）= 1`です。これは、常に1：1の比率で上昇しているためです。これは、さまざまな機能に対して実行できます。特に、 `f（x）`および `g（x）`の導関数がわかっている場合、チェーンルールと呼ばれる式を使用して `f（g（x））`の導関数を取得することもできます。ニューラルネットワークはたまたま微分可能な機能で作られているため、部品またはそのすべての派生物を採取できます。

これを「プッシュ」と「プル」に使用するために、ニューラルネットワークに2つの画像を配置します。画像が猫と犬のものであるとしましょう。そのため、2つの間の距離を増やしたいと思います。ネットワークから1つのニューロン重量を選択し、変数「X」にし、ネットワークと他のすべてのパラメーターに基づいてネットワークの出力を計算する関数を構築します。`n（x）`と呼びましょう。猫と犬の出力の間の距離は、 `f（x）= n（cat）-n（犬）`です。（もちろん、実際の出力には1つ以上の寸法がありますが、単純化しています。）今、2つの出力をさらに離れて移動するように、重量を微調整したいと考えています。そのために、派生物を単に取ることができます！`f '（x）`が陽性の場合、それは体重を増やすとさらに離れて動くことを意味するので、それを行う必要があります。負の場合は、それらを近づけて移動するため、代わりに体重をわずかに減らしたいと思います。これをすべてのニューロンに十分に適用すると、ネットワークはすぐにかなり良い猫犬分離器に収束します！
It has to do with a process called differentiation, which means finding a derivative: a function that tells us whether another function is going up or down at a given point. For example, the derivative of `f(x) = x` is `f'(x) = 1`, because it's always going up at a 1:1 ratio. This can be done for a variety of functions; notably, if you know the derivatives of `f(x)` and `g(x)`, you can also get the derivative of `f(g(x))` using a formula called the chain rule. Neural networks happen to be made of differentiable functions, so we can take the derivative of parts or all of it.

To use this for "pushing" and "pulling", we'll put two images through the neural network. Let's say the images are of a cat and a dog, so we want to increase the distance between the two. We pick one neuron weight from the network and make it a variable `x`, then construct a function that calculates the output of the network based on it and all the other parameters; let's call it `N(x)`. The distance between the cat and dog outputs would be `f(x) = N(cat) - N(dog)`. (Of course, the real output would have more than 1 dimension, but we're simplifying.) We now want to nudge the weight such that it moves the two outputs slightly further apart. For that, we can simply take the derivative! If `f'(x)` is positive, that means that increasing the weight will move them further apart, so we should do that. If it's negative, then it'll move them closer, so we'll want to slightly decrease the weight instead. Apply this to all the neurons enough times and your network will soon converge to a pretty good cat-dog separator!