引っ張って動作する方法がわかりませんでした。私たちは何を引っ張ったり押したりしていますか？そして、コードや数学の観点からどのように機能しますか？
それは、微分と呼ばれるプロセスに関係しています。つまり、派生物を見つけることを意味します。特定のポイントで別の関数が上下するかどうかを示す関数です。たとえば、 `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）`が陽性の場合、それは体重を増やすとさらに離れて動くことを意味するので、それを行う必要があります。負の場合は、それらを近づけて移動するため、代わりに体重をわずかに減らしたいと思います。これをすべてのニューロンに十分に適用すると、ネットワークはすぐにかなり良い猫犬分離器に収束します！