summaryrefslogtreecommitdiff
path: root/learn_torch
diff options
context:
space:
mode:
authorchzhang <zch921005@126.com>2023-04-05 19:31:36 +0800
committerchzhang <zch921005@126.com>2023-04-05 19:31:36 +0800
commitdac1bb97ab38136faf94ca5454218c9d72f88c0f (patch)
tree38bac31609231f7f9f6fc10bf80c81ef9939059a /learn_torch
parent2d07469f62b5bc12528d7b8dce6cf7fcb2459325 (diff)
pytorch activation function
Diffstat (limited to 'learn_torch')
-rw-r--r--learn_torch/basics/activate_fn_gradient_sigmoid_relu_clamp.ipynb531
-rw-r--r--learn_torch/basics/imgs/cell.jpgbin0 -> 34472 bytes
2 files changed, 531 insertions, 0 deletions
diff --git a/learn_torch/basics/activate_fn_gradient_sigmoid_relu_clamp.ipynb b/learn_torch/basics/activate_fn_gradient_sigmoid_relu_clamp.ipynb
new file mode 100644
index 0000000..4e8c592
--- /dev/null
+++ b/learn_torch/basics/activate_fn_gradient_sigmoid_relu_clamp.ipynb
@@ -0,0 +1,531 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "id": "1485f28c",
+ "metadata": {},
+ "source": [
+ "## summary"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "41a43097",
+ "metadata": {},
+ "source": [
+ "- $\\sigma(x)$ 会导致梯度消失\n",
+ "- $\\text{relu}(x)$ 会部分地改善梯度消失\n",
+ " - 会诱导 sparse representation\n",
+ " - dying relu / dead neuron\n",
+ "- `torch.clamp(x, min, max)`\n",
+ " - relu/clamp 的 gradient 都是 0-1 组成的 mask tensor"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "c0dde251",
+ "metadata": {},
+ "source": [
+ "## 从 $\\sigma(x)$ 到 $\\text{relu}(x)$"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "77aeb85f",
+ "metadata": {},
+ "source": [
+ "$$\n",
+ "\\begin{split}\n",
+ "\\sigma(x)&=\\frac{1}{1+\\exp(-x)}\\\\\n",
+ "\\sigma'(x)&=\\sigma(x)\\cdot(1-\\sigma(x))\n",
+ "\\end{split}\n",
+ "$$"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "1702f2b1",
+ "metadata": {},
+ "source": [
+ "### $\\sigma(x)$"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 39,
+ "id": "e6288ef1",
+ "metadata": {
+ "ExecuteTime": {
+ "end_time": "2023-04-05T11:08:05.677855Z",
+ "start_time": "2023-04-05T11:08:05.675006Z"
+ }
+ },
+ "outputs": [],
+ "source": [
+ "import numpy as np\n",
+ "import matplotlib.pyplot as plt"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 40,
+ "id": "702ca97f",
+ "metadata": {
+ "ExecuteTime": {
+ "end_time": "2023-04-05T11:08:06.555986Z",
+ "start_time": "2023-04-05T11:08:06.552535Z"
+ }
+ },
+ "outputs": [],
+ "source": [
+ "def sigmoid(x):\n",
+ " return 1/(1+np.exp(-x))\n",
+ "def sigmoid_prime(x):\n",
+ " return sigmoid(x)*(1-sigmoid(x))"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 41,
+ "id": "e624038d",
+ "metadata": {
+ "ExecuteTime": {
+ "end_time": "2023-04-05T11:08:31.020387Z",
+ "start_time": "2023-04-05T11:08:30.800171Z"
+ }
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.legend.Legend at 0x13655fa30>"
+ ]
+ },
+ "execution_count": 41,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ "<Figure size 640x480 with 1 Axes>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "x = np.arange(-5, 5, .01)\n",
+ "plt.plot(x, sigmoid(x))\n",
+ "plt.plot(x, sigmoid_prime(x))\n",
+ "plt.legend(['$\\sigma(x)$', \"$\\sigma'(x)$\"])"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "1ff36364",
+ "metadata": {},
+ "source": [
+ "### $\\text{relu}(x)$"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "d4cfbf89",
+ "metadata": {},
+ "source": [
+ "$$\n",
+ "\\begin{split}\n",
+ "&y=\\max(0, x)\\\\\n",
+ "&y'=\\begin{cases}1 & x > 0, \\\\ 0 & x < 0.\\end{cases}\n",
+ "\\end{split}\n",
+ "$$"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 42,
+ "id": "8087f182",
+ "metadata": {
+ "ExecuteTime": {
+ "end_time": "2023-04-05T11:10:01.888267Z",
+ "start_time": "2023-04-05T11:10:01.689124Z"
+ }
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.legend.Legend at 0x1370e9e80>"
+ ]
+ },
+ "execution_count": 42,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAhYAAAGdCAYAAABO2DpVAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA3VUlEQVR4nO3dd3hUdd7+8XvSe0IJJRAgNCkhICCICgJSRMUKusjysyA+7KIrD4IILKgsSyjquivKqmt3lRUQZBURfRREbBSl9w4JhBBIQsokmZzfHyGRCIFMcmbOzOT9uq5cOpMzOZ9M2s25z3eOzTAMQwAAACbws3oAAADgOwgWAADANAQLAABgGoIFAAAwDcECAACYhmABAABMQ7AAAACmIVgAAADTBLh7h8XFxUpJSVFkZKRsNpu7dw8AAKrAMAxlZ2crLi5Ofn4VH5dwe7BISUlRfHy8u3cLAABMcOTIETVu3LjC97s9WERGRkoqGSwqKsrduwcAAFWQlZWl+Pj4sr/jFXF7sCitP6KioggWAAB4mcudxsDJmwAAwDQECwAAYBqCBQAAMI3bz7GoDIfDocLCQqvHqLH8/f0VEBDAcmAAgNM8LlicPXtWR48elWEYVo9So4WFhalhw4YKCgqyehQAgBfxqGDhcDh09OhRhYWFKTY2ln8xW8AwDBUUFOjkyZM6cOCAWrVqdckXQgEA4HweFSwKCwtlGIZiY2MVGhpq9Tg1VmhoqAIDA3Xo0CEVFBQoJCTE6pEAAF7CI/8pypEK63GUAgBQFfz1AAAApnEqWDz99NOy2Wzl3ho0aOCq2QAAgJdx+ohF+/btlZqaWva2ZcsWV8zl83r37q2xY8c6/bjXX39dAwYMqPT2n3zyia688koVFxc7vS8AAJzldLAICAhQgwYNyt5iY2NdMRcuwm63a9q0aZo6dWqlH3PLLbfIZrPp/fffd+FkAACUcDpY7NmzR3FxcUpISNDvfvc77d+//5Lb2+12ZWVllXvzdQUFBS75uIsXL1ZERIR69uzp1OMeeOABvfjiiy6ZCQDgOWav2KmXvt6rIod1R6mdChbdu3fXO++8o88//1yvvfaajh8/rmuuuUanTp2q8DHJycmKjo4ue4uPj6/0/gzDUG5BkSVvzrxAV+/evfXII49o3Lhxqlu3rvr376/t27frpptuUkREhOrXr68RI0YoPT29wo9hs9m0dOnScvfFxMTorbfeKru9YMEC3XrrrWW38/Pz1b59ez388MNl9x04cEDR0dF67bXXyu679dZb9dNPP102BAIAvNe6gxn65+p9mvv5Lv10MMOyOZx6HYtBgwaV/X+HDh3Uo0cPtWjRQm+//bbGjRt30cdMmjSp3PtKr+deGXmFDrWb9rkzI5pm+/SBCguq/NPz9ttv6w9/+IPWrl2rjIwMXX/99Ro1apSef/555eXlaeLEibr77rv11VdfVXmmNWvWaPjw4WW3Q0JC9O9//1vdu3fXTTfdpMGDB2vEiBHq06ePRo0aVbZd06ZNVa9ePa1Zs0bNmzev8v4BAJ4pr8ChCQs3yTCkoV0a65oWdS2bpVovkBUeHq4OHTpoz549FW4THBys4ODg6uzGK7Rs2VJz5syRJE2bNk2dO3fWzJkzy97/xhtvKD4+Xrt371br1q2d/vhnzpzRmTNnFBcXV+7+Tp06acaMGRo1apSGDRumffv2XXDkQ5IaNWqkgwcPOr1fAIDnm/P5Th08lasGUSH68y3tLJ2lWsHCbrdrx44dTnf+lRUa6K/t0we65GNXZt/O6Nq1a9n/b9iwQV9//bUiIiIu2G7fvn1VChZ5eXmSdNFXwXz88cf18ccf68UXX9Rnn32munUvTKqhoaHKzc11er8AAM/24/5TenPtQUnSrLs6KDo00NJ5nAoW48eP1+DBg9WkSROlpaVpxowZysrK0n333eeS4Ww2m1N1hJXCw8PL/r+4uFiDBw/W7NmzL9iuYcOGF328zWa74LyO86/wWqdOHdlsNp0+ffqCx6alpWnXrl3y9/fXnj17dOONN16wTUZGBit4AMDH5BYUacKizZKk310Vr95X1LN4IieDxdGjRzVs2DClp6crNjZWV199tX744Qc1bdrUVfN5pc6dO2vx4sVq1qyZAgIq9xTHxsYqNTW17PaePXvKHWEICgpSu3bttH379gtex+LBBx9UYmKiRo0apZEjR+qGG25Qu3a/HgrLz8/Xvn37dOWVV1bzMwMAeJLZn+3U4YxcxUWHaMrNba0eR5KTq0IWLFiglJQUFRQU6NixY1q8eHG5P2AoMWbMGGVkZGjYsGFlqzFWrlypBx98UA6H46KP6du3r+bNm6eNGzdq/fr1Gj16tAIDyx/OGjhwoL799tty97300kv6/vvv9c477+jee+/VkCFDNHz48HJLXn/44QcFBwerR48e5n+yAABLfL/vlN7+/pAkafaQJEWGWFuBlOJaIS4QFxentWvXyuFwaODAgUpMTNRjjz2m6OjoCi/u9dxzzyk+Pl69evXSvffeq/HjxyssLKzcNqNGjdLy5cuVmZkpSdq5c6cmTJigl19+uWylzUsvvaQzZ86UexGtDz74QMOHD7/g4wEAvFOOvUgTFm2SJA3r1kQ9W3lO1W0znHnBBhNkZWUpOjpamZmZioqKKve+/Px8HThwQAkJCVyquwJ33323rrzySk2aNKlS2588eVJt2rTR+vXrlZCQUOn98LUAAM/156Vb9N4Ph9UoJlSf/28vRQS7/nzES/39Ph9HLLzM3LlzL7rapCIHDhzQyy+/7FSoAAB4rrV70/XeD4clSXOGJLklVDjDs6bBZTVt2lSPPvpopbfv1q2bunXr5sKJAADuctZepCfOrQL5/dVNdG1L614IqyIcsQAAwEvMXL5Dx87kqXGtUE0a5BmrQH6LYAEAgBf4ZvdJvf9jSQUyd0hHhXtYBVKKYAEAgIfLyi/Uk4tLKpD7ejRVjxZ1LJ6oYgQLAAA83MxPdyglM19Naodp4qA2Vo9zSQQLAAA82KpdaVqw7ogkae6QJI+/1AXBAgAAD5WZV6gnF2+RJD1wbTN1b+65FUgpggUAAB5qxifbdTwrX83qhOmJgZ5dgZQiWFikd+/eGjt2bLU/ztSpU/Xwww9Xevt58+bp1ltvrfZ+AQCu9dXOE1q44ahsNmnu0I4KDfK3eqRKIVh4EZvNpoMHD5bdPnHihP7+979r8uTJlf4Yo0aN0rp16y64mBkAwHNk5hZq0kclFcjIaxN0VbPaFk9UeQQLFzj/yqKu9Prrr6tHjx5q1qxZpR8THByse++9Vy+++KLrBgMAVMszn2zTiSy7mtcN1/iBV1g9jlM8O1gYhlSQY82bE9dm6927tx555BGNGzdOdevWVf/+/bV9+3bddNNNioiIUP369TVixAilp6dX+DFsNpuWLl1a7r6YmBi99dZbFT5mwYIF5WqNkydPqkGDBpo5c2bZfT/++KOCgoK0cuXKsvtuvfVWLV26VHl5eZX+HAEA7vHl9hP6aOMx+Z2rQEICvaMCKeXZa1YKc6WZcdbse3KKFBRe6c3ffvtt/eEPf9DatWuVkZGh66+/XqNGjdLzzz+vvLw8TZw4UXfffbe++uorU8Y7ffq0tm7dqq5du5bdFxsbqzfeeEO33367BgwYoDZt2uj3v/+9/vjHP2rAgAFl23Xt2lWFhYX66aefdP3115syDwCg+s7kFmjSkpIK5KGezdWlaS2LJ3KeZwcLL9KyZUvNmTNHkjRt2jR17ty53JGDN954Q/Hx8dq9e7dat25dpX2cf4X7Q4cOyTAMxcWVD1433XSTRo0apeHDh+uqq65SSEiIZs2aVW6b8PBwxcTE6ODBgwQLAPAgTy/bppPZdrWIDde4/lX7W2E1zw4WgWElRw6s2rcTzj9ysGHDBn399dcXvbz5vn37qhwszldaY4SEhFzwvmeffVaJiYn68MMPtX79+otuExoaqtzc3GrPAQAwx+fbjmvpLynys0nPemEFUsqzg4XN5lQdYaXw8F/nLC4u1uDBgzV79uwLtmvYsOFFH2+z2codkZCkwsLCCvdXt27JpXJPnz6t2NjYcu/bv3+/UlJSVFxcrEOHDikpKemCx2dkZFzwOACANU7nFGjKkq2SpId7tdCVTbyvAinl2cHCS3Xu3FmLFy9Ws2bNFBBQuac4NjZWqampZbf37NlzySMKLVq0UFRUlLZv317uCEhBQYGGDx+ue+65R23atNHIkSO1ZcsW1a9fv2ybffv2KT8/X1deeWUVPjsAgNmeWrZN6WftalUvQmP7tbJ6nGrx7FUhXmrMmDHKyMjQsGHD9NNPP2n//v1auXKlHnzwQTkcjos+pm/fvpo3b542btyo9evXa/To0QoMDKxwH35+furXr98Fr0cxZcoUZWZm6h//+IeeeOIJtW3bViNHjiy3zZo1a9S8eXO1aNGi+p8sAKBaPtuSqmWbUuTvZ/PqCqQUwcIF4uLitHbtWjkcDg0cOFCJiYl67LHHFB0dLT+/iz/lzz33nOLj49WrVy/de++9Gj9+vMLCLn2ex8MPP6wFCxaouLhYkrRq1Sq98MILevfddxUVFSU/Pz+9++67+vbbbzV//vyyx33wwQcaNWqUeZ8wAKBKTp21689LSyqQ0dc3V8f4GGsHMoHN+G2x72JZWVmKjo5WZmamoqKiyr0vPz9fBw4cUEJCwkVPOER5hmHo6quv1tixYzVs2LBKPWbr1q264YYbtHv3bkVHR1e4HV8LAHC9Me9v1KebU3VF/Ugte/RaBQd47tGKS/39Ph9HLLyYzWbTq6++qqKioko/JiUlRe+8884lQwUAwPU+3ZyqTzenllUgnhwqnMHJm16uY8eO6tixY6W3P/+FsgAA1kg/a9fUj0sqkDG9W6hDY9/5xx5HLAAAcCPDMDR16VZl5BSoTYNIPdLXu1eB/BbBAgAAN/rv5lR9tvW4Avxseu7ujgoK8K0/xR752bj5fFJcBF8DADBfWna+pp2rQB7p21Lt43ynAinlUcHC37/kxBV3XXYcFSt9ca5LvZYGAKDyDMPQn5ds1ZncQrVrGKUxfVpaPZJLeNTJmwEBAQoLC9PJkycVGBhY4Ws+wHUMw1Bubq7S0tIUExNTFvYAANWzbFOKVm4/oUD/klUggf6++TfOo4KFzWZTw4YNdeDAAR06dMjqcWq0mJgYNWjQwOoxAMAnpGXla9rH2yRJf+rbSu3iKn4dCG/nUcFCkoKCgtSqVSvqEAsFBgZypAIATGIYhiYv2aLMvEIlNorS6N6+fTkFjwsWUsl1MHi1RwCAL1jy8zF9uSNNgf42PTe0k89WIKV8+7MDAMBCJ7Ly9fSykgpkbL/WuqJBpMUTuR7BAgAAFzAMQ5M+2qKs/CIlNY7W//RqbvVIbkGwAADABRZtOKqvdqYpyN9Pzw3tqAAfr0BK1YzPEgAAN0rNzNP0/26XJP1v/9ZqVd/3K5BSBAsAAExkGIaeXLxF2fYidYqP0aieCVaP5FYECwAATPTh+iNavfukggL89GwNqkBK1azPFgAAFzp2Jk8zPtkhSRo/oLVa1ouweCL3I1gAAGCCkgpks7LtRercJEYjr6sZq0B+i2ABAIAJPvjpiNbsSVfwuQrE389m9UiWIFgAAFBNR0/n6q+flqwCmTDwCjWPrXkVSCmCBQAA1WAYhiYu3qycAoe6Nq2lB66tWatAfotgAQBANfz7x8Nau/eUQgL9NLcGVyClCBYAAFTRkYxczVxesgpk4o1tlFA33OKJrEewAACgCoqLDU1YtEm5BQ51S6it+3o0s3okj0CwAACgCt778ZB+2J+h0EB/zR2SJL8aXoGUIlgAAOCkQ6dylLx8pyTpyUFt1LQOFUgpggUAAE4oqUA2K6/Qoaub19aIq5taPZJHIVgAAOCEt78/qJ8OZCgsyF9zh3SkAvkNggUAAJV0ID1Hs1eUVCCTbmqr+NphFk/keQgWAABUgqPY0ISFm5RfWKxrW9bR8G5NrB7JIxEsAACohDfXHtD6Q6cVHuSv2XexCqQiBAsAAC5j/8mzmvv5LknSlJvbqXEtKpCKECwAALgER7Gh8Qs3yV5UrJ6t6mpYt3irR/Jo1QoWycnJstlsGjt2rEnjAADgWV7/dr82Hj6jiOAAzborSTYbFcilVDlYrFu3Tq+++qqSkpLMnAcAAI+xN+2snl25W5I09Za2ahQTavFEnq9KweLs2bMaPny4XnvtNdWqVcvsmQAAsFxpBVJQVKzrW8fq7q5UIJVRpWAxZswY3XzzzerXr99lt7Xb7crKyir3BgCAp3ttzX79cuSMIkMCNOuuDlQglRTg7AMWLFigjRs3at26dZXaPjk5Wc8884zTgwEAYJU9J7L1/LkKZNot7dQwmgqkspw6YnHkyBE99thjeu+99xQSElKpx0yaNEmZmZllb0eOHKnSoAAAuEORo1iPL9ykAkex+rappyFdGls9kldx6ojFhg0blJaWpi5dupTd53A49M0332jevHmy2+3y9/cv95jg4GAFBwebMy0AAC72yjf7tflopqJCAjTzDioQZzkVLG644QZt2bKl3H0PPPCA2rRpo4kTJ14QKgAA8Ca7jmfrhS9LKpCnBrdXg+jKHZ3Hr5wKFpGRkUpMTCx3X3h4uOrUqXPB/QAAeJNCR7HGL9ykQoehfm3r6c7OjaweySvxypsAAEj656p92nIsU9GhgVQg1eD0qpDfWrVqlQljAABgnR2pWfrHV3skSc/c2l71oqhAqoojFgCAGq3QUazHPyypQAa0q6/bOsVZPZJXI1gAAGq0l77eq+2pWYoJC9SMOxKpQKqJYAEAqLG2pWRq3ld7JUnTb0tUvUgqkOoiWAAAaqSCopIKpKjY0KDEBhqc1NDqkXwCwQIAUCPN+2qPdh7PVu3wIP3ldioQsxAsAAA1ztZjmXpp1T5J0l9uS1TdCF4h2iwECwBAjWIvcujxDzfJUWzo5g4NdTMViKkIFgCAGuUf/7dHu05kq054kKbf1t7qcXwOwQIAUGNsOnJG/1y9X5I04/ZE1aECMR3BAgBQI+QXOjR+YUkFMrhjnAZ1oAJxBYIFAKBG+Pv/7dGetLOqGxGs6bdSgbgKwQIA4PN+Pnxar6wuWQXy1zsSVSs8yOKJfBfBAgDg00orkGJDur1TnAa2b2D1SD6NYAEA8Gl/+2K39p3MUWxksJ6mAnE5ggUAwGdtOHRar64pWQWSfEcHxYRRgbgawQIA4JPyCx2asHCTDEO6s3Mj9WtX3+qRagSCBQDAJz37+S7tT89R/ahgPXULFYi7ECwAAD5n3cEMvb72gCQp+c4Oig4LtHiimoNgAQDwKXkFv1YgQ7s0Vt82VCDuRLAAAPiUOZ/v1MFTuWoQFaI/39LO6nFqHIIFAMBn/Lj/lN767qAkadZdHRQdSgXibgQLAIBPyC0o0oRFm2UY0j1d49X7inpWj1QjESwAAD5h9mc7dTgjV3HRIZpyS1urx6mxCBYAAK/3/b5Tevv7Q5Kk2UOSFBVCBWIVggUAwKvl2Is0YdEmSdKwbk3Us1WsxRPVbAQLAIBXm/XZTh09nadGMaGacjMViNUIFgAAr7V2b7re/aGkApkzJEkRwQEWTwSCBQDAK521F+mJRZslSb+/uomubVnX4okgESwAAF5q5vIdOnYmT41rhWrSICoQT0GwAAB4nTV7Tur9Hw9LkuYO6ahwKhCPQbAAAHiV7PxCTTxXgdzXo6l6tKhj8UQ4H8ECAOBV/vrpDqVk5qtJ7TBNHNTG6nHwGwQLAIDXWLUrTQvWHZEkzR2SpLAgKhBPQ7AAAHiFzLxCPbl4iyTpgWubqXtzKhBPRLAAAHiFGZ9s1/GsfDWrE6YnBlKBeCqCBQDA4329M00LNxyVzSbNHdpRoUH+Vo+EChAsAAAeLTO3UE9+VLIK5MFrE3RVs9oWT4RLIVgAADzaM59s04ksu5rXDdf4AVdYPQ4ug2ABAPBYX24/oY82HpMfFYjXIFgAADzSmdwCTVpSsgrkoZ7N1aVpLYsnQmUQLAAAHumZ/27XyWy7WsSGa1z/1laPg0oiWAAAPM7n245ryc8lFcizQzsqJJAKxFsQLAAAHuV0ToGmLNkqSXq4Vwtd2YQKxJsQLAAAHuWpZduUftauVvUiNLZfK6vHgZMIFgAAj7Fia6qWbUqRv5+NCsRLESwAAB7h1Fl7WQUy+vrm6hgfY+1AqBKCBQDAI0xbtk2ncgp0Rf1I/ekGKhBvRbAAAFju082p+nRzalkFEhxABeKtCBYAAEuln7Vr6sclFciY3i3UoXG0xROhOggWAADLGIahqUu3KiOnQG0aROqRvlQg3o5gAQCwzCebU/XZ1uMKOFeBBAXwZ8nb8RUEAFgiLTv/1wqkT0slNqIC8QUECwCA2xmGoT8v2aozuYVq1zBKY/q0tHokmIRgAQBwu2WbUrRy+wkF+lOB+Bq+kgAAt0rLyte0j7dJkh7t20rt4qIsnghmIlgAANzGMAxNXrJFmXmFSmwUpT/0bmH1SDCZU8Fi/vz5SkpKUlRUlKKiotSjRw999tlnrpoNAOBjlvx8TF/uSCurQAL9+fetr3HqK9q4cWPNmjVL69ev1/r169W3b1/ddttt2rZtm6vmAwD4iBNZ+Xp6Wcnfi7H9WqtNAyoQX2QzDMOozgeoXbu25s6dq5EjR1Zq+6ysLEVHRyszM1NRUXxTAUBNYBiGRr69Xl/tTFNS42h99IdrFMDRCq9S2b/fAVXdgcPh0MKFC5WTk6MePXpUuJ3dbpfdbi83GACgZlm04ai+2pmmIH8/PTe0I6HChzn9ld2yZYsiIiIUHBys0aNHa8mSJWrXrl2F2ycnJys6OrrsLT4+vloDAwC8S2pmnqZ/sl2S9L/9W6tV/UiLJ4IrOV2FFBQU6PDhwzpz5owWL16sf/3rX1q9enWF4eJiRyzi4+OpQgCgBjAMQ/e/uU6rd59Ux/gYLR7dg6MVXsplVUhQUJBatix5hbSuXbtq3bp1+vvf/65XXnnlotsHBwcrODjY2d0AAHzAh+uPaPXukwoK8NNzQ5MIFTVAtb/ChmGUOyIBAIAkHTuTpxmf7JAkjR/QWi3rUYHUBE4dsZg8ebIGDRqk+Ph4ZWdna8GCBVq1apVWrFjhqvkAAF7IMAw9uXizsu1F6twkRiOva271SHATp4LFiRMnNGLECKWmpio6OlpJSUlasWKF+vfv76r5AABeaMG6I1qzJ13BAX6aO7Sj/P1sVo8EN3EqWLz++uuumgMA4COOns7VjHOrQCYMvEItYiMsngjuxFk0AADTGIahiYs3K6fAoa5Na+mBaxOsHgluRrAAAJjm3z8e1tq9pxQSSAVSUxEsAACmOJKRq5nLS1aBPDGwjRLqhls8EaxAsAAAVFtxsaEnFm1WboFD3ZrV1v3XNLN6JFiEYAEAqLb3fjyk7/efUmigv+YOTZIfFUiNRbAAAFTLoVM5Sl6+U5L05KA2alqHCqQmI1gAAKqsuNjQhEWblVfo0NXNa2vE1U2tHgkWI1gAAKrs7e8P6qcDGQoL8tfcIR2pQECwAABUzcH0HM1eUVKBTLqpreJrh1k8ETwBwQIA4DRHsaHxCzcpv7BY17aso+Hdmlg9EjwEwQIA4LQ31x7Q+kOnFR7kr9l3sQoEvyJYAACcsv/kWc39fJckacrN7dS4FhUIfkWwAABUWmkFYi8qVs9WdTWsW7zVI8HDECwAAJX2xrcHtPHwGUUEB2jWXUmy2ahAUB7BAgBQKXvTzmruypIKZOotbdUoJtTiieCJCBYAgMsqrUAKiop1fetY3d2VCgQXR7AAAFzWa2v265cjZxQZEqBZd3WgAkGFCBYAgEvacyJbz6/cLUmaeks7NYymAkHFCBYAgAoVOYpLKhBHsfpcEauhXRpbPRI8HMECAFChV77Zr01HMxUVEqDkO1kFgssjWAAALmrX8Wy98GVJBfLU4PZqEB1i8UTwBgQLAMAFCs9VIIUOQ/3a1tOdnRtZPRK8BMECAHCBf67apy3HMhUdGqiZd7AKBJVHsAAAlLMjNUv/+GqPJOmZW9urXhQVCCqPYAEAKFPoKNbjH5ZUIAPa1ddtneKsHglehmABACjz0td7tT01SzFhgZpxRyIVCJxGsAAASJK2pWRq3ld7JUnTb0tUvUgqEDiPYAEAUEFRSQVSVGzoxvYNNDipodUjwUsRLAAAmvf1Xu08nq3a4UFUIKgWggUA1HBbj2Xqpa9LKpC/3JaouhHBFk8Eb0awAIAazF7k0OMfbpKj2NDNHRrqZioQVBPBAgBqsBf/b692nchWnfAgTb+tvdXjwAcQLACghtp89Izmr94nSZpxe6LqUIHABAQLAKiBzq9ABneM06AOVCAwB8ECAGqgF77coz1pZ1U3IljTb6UCgXkIFgBQw/x8+LReOVeB/PWORNUKD7J4IvgSggUA1CD5hQ6NX7hJxYZ0e6c4DWzfwOqR4GMIFgBQg/zti93adzJHsZHBepoKBC5AsACAGmLDodN6dc1+SdLMOzooJowKBOYjWABADZBf6NCEhZtkGNKdnRupf7v6Vo8EH0WwAIAa4NnPd2l/eo7qRwXrqVuoQOA6BAsA8HHrD2bo9bUHJEnJd3ZQdFigxRPBlxEsAMCH5RWUrAIxDGlIl8bq24YKBK5FsAAAHzbn8506eCpXDaJCNPWWdlaPgxqAYAEAPurH/af01ncHJUmz7uqg6FAqELgewQIAfFBuQZEmLNosw5Du6Rqv3lfUs3ok1BAECwDwQXNW7NLhjFzFRYdoyi1trR4HNQjBAgB8zPf7zq9AkhQVQgUC9yFYAIAPybEXacKiTZKkYd2aqFfrWIsnQk1DsAAAHzLrs506ejpPjWJCNeVmKhC4H8ECAHzEd3vT9e4PhyRJc4YkKSI4wOKJUBMRLADAB5y1l6wCkaTfX91E17asa/FEqKkIFgDgA2Yu36FjZ/LUuFaoJg2iAoF1CBYA4OXW7Dmp9388LKmkAgmnAoGFCBYA4MWy8ws18VwFcl+PprqmBRUIrEWwAAAv9tdPdyglM19Naodp4qA2Vo8DECwAwFut3n1SC9YdkSTNHZKksCAqEFjPqWCRnJysq666SpGRkapXr55uv/127dq1y1WzAQAqkJn3awVy/zXN1L15HYsnAko4FSxWr16tMWPG6IcfftAXX3yhoqIiDRgwQDk5Oa6aDwBwETM+2a7jWflqVidMT9x4hdXjAGWcOm62YsWKcrfffPNN1atXTxs2bFCvXr1MHQwAcHFf70zTwg1HZbNJc4d2pAKBR6nWd2NmZqYkqXbt2hVuY7fbZbfby25nZWVVZ5cAUKNl5hbqyY9KKpAHr03QVc0q/v0LWKHKJ28ahqFx48bpuuuuU2JiYoXbJScnKzo6uuwtPj6+qrsEgBpv+ifbdSLLruZ1wzV+ABUIPE+Vg8UjjzyizZs364MPPrjkdpMmTVJmZmbZ25EjR6q6SwCo0b7cfkKLN5ZWIEkKDfK3eiTgAlWqQh599FEtW7ZM33zzjRo3bnzJbYODgxUcHFyl4QAAJc7kFmjSki2SpFE9m6tLUyoQeCangoVhGHr00Ue1ZMkSrVq1SgkJCa6aCwBwnmf+u10ns+1qERuucf1bWz0OUCGngsWYMWP0/vvv6+OPP1ZkZKSOHz8uSYqOjlZoaKhLBgSAmm7ltuNa8vMx+dmkZ4d2VEggFQg8l1PnWMyfP1+ZmZnq3bu3GjZsWPb2n//8x1XzAUCNdjqnQJOXbJUkPdyrha5sUsviiYBLc7oKAQC4z1PLtin9rF2t6kVobL9WVo8DXBbXCgEAD7Via6qWbUqRv5+NCgReg2ABAB7o1Fm7ppyrQEZf31wd42OsHQioJIIFAHigacu26VROga6oH6k/3UAFAu9BsAAAD/Pp5lR9ujm1rAIJDqACgfcgWACAB0k/a9fUj0sqkD/2bqEOjaMtnghwDsECADyEYRiaunSrMnIK1KZBpB7tSwUC70OwAAAP8cnmVH229bgCzlUgQQH8iob34bsWADzAyWy7pp2rQMb0aanERlQg8E4ECwCwmGEY+vPSLTqdW6h2DaM0pk9Lq0cCqoxgAQAWW7YpRZ9vO0EFAp/Ady8AWCgtK1/TPt4mSfrTDa3ULi7K4omA6iFYAIBFDMPQ5CVblJlXqMRGUfpD7xZWjwRUG8ECACyy5Odj+nJHmgL9SyqQQH9+JcP78V0MABY4kZWvp5eVVCBj+7VWmwZUIPANBAsAcDPDMDTpoy3Kyi9SUuNo/U+v5laPBJiGYAEAbrZow1F9tTNNQf5+enZoRwVQgcCH8N0MAG6Umpmn6Z9slyT9b//Wal0/0uKJAHMRLADATQzD0JOLtyg7v0gd42M0qmeC1SMBpiNYAICbLFx/VKt3n1RQgJ+eG5pEBQKfxHc1ALjBsTN5+su5CuTx/q3Vsh4VCHwTwQIAXKykAtmsbHuRrmwSo4d6sgoEvotgAQAutmDdEa3Zk67ggJJVIP5+NqtHAlyGYAEALnT0dK5mnKtAJgy8Qi1iIyyeCHAtggUAuIhhGJq4eLNyChzq2rSWHriWVSDwfQQLAHCRf/94WGv3nlJIoJ/mUoGghiBYAIALHMnI1czlOyRJTwxso4S64RZPBLgHwQIATFZcbOiJRZuVW+BQt2a1df81zaweCXAbggUAmOy9Hw/p+/2nFBror7lDk+RHBYIahGABACY6fCpXyct3SpKeHNRGTetQgaBmIVgAgEmKiw2NX7RJeYUOXd28tkZc3dTqkQC3I1gAgEne/v6gfjqQobAgf825qyMVCGokggUAmOBgeo5mryipQCbd1FZN6oRZPBFgDYIFAFRTcbGhCYs2Kb+wWNe0qKPh3ZpYPRJgGYIFAFTTm98d1LqDpxUe5K/Zd7EKBDUbwQIAqmH/ybOac64CmXxzW8XXpgJBzUawAIAqchQbGr9wk+xFxbquZV3dSwUCECwAoKre+PaANh4+o4jgAM0ekiSbjQoEIFgAQBXsTTuruSt3SZL+fHNbNYoJtXgiwDMQLADASaUVSEFRsXq1jtU9V8VbPRLgMQgWAOCk19bs1y9HzigyOECz7+pABQKch2ABAE7YcyJbz6/cLUmaOridGkZTgQDnI1gAQCUVOYpLKhBHsfpcEauhXRpbPRLgcQgWAFBJr3yzX5uOZioyJEDJd7IKBLgYggUAVMKu49n6+5d7JElPD26vBtEhFk8EeCaCBQBcRuF5FcgNberpzs6NrB4J8FgECwC4jH+u2qctxzIVHRqomXeyCgS4FIIFAFzCjtQs/eOrkgrkmVvbq34UFQhwKQQLAKhAaQVS6DDUv1193dYpzuqRAI9HsACACrz89T5tS8lSTFig/npHIhUIUAkECwC4iG0pmXrxXAUy/bZE1YukAgEqg2ABAL9RUFSsxz/cpKJiQze2b6DBSQ2tHgnwGgQLAPiNeV/v1c7j2aodHqQZVCCAUwgWAHCerccy9dLXeyVJ029rr7oRwRZPBHgXggUAnGMvcmj8wk1yFBu6uUND3ZLEKhDAWQQLADjnxf8rqUDqhAdp+m3trR4H8EoECwCQtPnoGc1fvU+SNOP2RNWhAgGqxOlg8c0332jw4MGKi4uTzWbT0qVLXTAWALiPvcihxz8sqUAGd4zToA6sAgGqyulgkZOTo44dO2revHmumAcA3O6FL/doT9pZ1Y0I0jO3UoEA1RHg7AMGDRqkQYMGuWIWAHC7X46c0StlFUgH1Q4PsngiwLs5HSycZbfbZbfby25nZWW5epcArLLhLWn1HKnYYfUklWJIapxj1/dBhkIC/RW9IlBaYfVUgAlGfytFxFqya5cHi+TkZD3zzDOu3g0AT/DLB1LWMaunqDSbpLql/1Mk6ayl4wDmMYot27XLg8WkSZM0bty4sttZWVmKj4939W4BWME4d6TixllSs+usneUytqdmafzCTTIMadrgdurRvI7VIwHmCatt2a5dHiyCg4MVHMyyLaBGKP1XUq0EqUEHa2e5hPxChx55b432FzfVnVc2Uo9rOlk9EuAzeB0LAOYxjJL/evi1NZ5buUv703NULzJYTw1mFQhgJqePWJw9e1Z79+4tu33gwAH98ssvql27tpo0aWLqcAC8TOkRC5vn/ptl/cEM/evbA5KkWXd1UHRYoMUTAb7F6WCxfv169enTp+x26fkT9913n9566y3TBgPghcqChWcescgrcJSdVzGkS2P1bVPf6pEAn+N0sOjdu7eM0sOdAHC+sirEM49YzP18lw6eylWDqBBNvaWd1eMAPskzf/oBeKnSf3R43hGLH/ef0pvflVQgyXd1UHQoFQjgCgQLAObx0HMscguKNGHRZhmGdE/XePW5op7VIwE+y7N++gF4Nw8NFnNW7NLhjFzFRYdoyi1trR4H8Gme9dMPwLt54HLT7/ed0lvfHZQkzborSVEhVCCAKxEsAJjHw45Y5NiL9MTiTZKkYd2aqFdra66dANQknvHTD8A3eFiwmPXZTh3JyFOjmFBNvqmN1eMANYJn/PQD8A0eFCy+25uud384JEmafVeSIqlAALew/qcfgA/xjOWmZ+0lq0Ak6fdXN9F1repaOg9QkxAsAJjHQ45YzFy+Q8fO5KlxrVBNGsQqEMCdCBYAzOMBq0LW7Dmp9388LEmaMyRJ4cEuv4gzgPMQLACYx+JgkZ1fqInnKpD/16OprmlBBQK4G8ECgHksrkL++ukOpWTmq0ntME28kVUggBUIFgDMY2GwWL37pBasOyJJmksFAliGYAHAPBYFi6z8Qj25uKQCuf+aZurevI5b9w/gVwQLACayZrnpjE+2KzUzX83qhOmJG69w674BlEewAGAeC45YfL0zTR+uPyqbTZo7tKPCgqhAACsRLACYx83BIjO3UE9+VFKBPHhtgq5qVtst+wVQMYIFAPOUBQv3VCHTP9muE1l2Na8brvEDqEAAT0CwAGCeslMsXP+r5cvtJ7R4Y2kFkqTQIH+X7xPA5REsAJjHTUcszuQWaPKSLZKkUT2bq0tTKhDAUxAsAJjHTedYPPPf7UrLtqt5bLjG9W/t0n0BcA7BAoCJXL/cdOW241ry8zH52aRnh3ZUSCAVCOBJCBYAzOPiIxancwo0eclWSdLDvVqoc5NaLtkPgKojWAAwj4uDxVPLtin9rF2t6kVobL9WLtkHgOohWAAwjwtP3lyxNVXLNqXI389GBQJ4MIIFAPOUXTbd3F8tp87aNeVcBfI/vZqrY3yMqR8fgHkIFgDM46IqZNqybTqVU6DW9SP0GBUI4NEIFgBMZP4Ri083p+rTzany97PpuaGdFBxABQJ4MoIFAHOU1iCSzFpumn7Wrqkfl1Qgf+zdQh0aR5vycQG4DsECgDlKaxDJlJM3DcPQ1KVblZFToDYNIvVoXyoQwBsQLACYo1ywqP6vlk82p+qzrccVcG4VSFAAv64Ab8BPKgBzmBgsTmbbNe1cBTKmT0slNqICAbwFwQKAOc4/x6IaVYhhGPrz0i06nVuodg2jNKZPSxOGA+AuBAsA5jDpiMWyTSn6fNsJKhDAS/ETC8AcJgSLtKx8Tft4myTpTze0Uru4KDMmA+BGBAsAJqneclPDMDR5yRZl5hUqsVGU/tC7hXmjAXAbggUAc1TziMWSn4/pyx1pCvQvqUAC/fn1BHgjfnIBmKMaweJEVr6eXlZSgYzt11ptGlCBAN6KYAHAHOVWhVT+V4thGJr00RZl5RcpqXG0/qdXcxcMB8BdCBYAzFHF5aaLNx7TVzvTFOTvp2eHdlQAFQjg1fgJBmCOKrykd2pmnp7577kKpH8rta4f6YrJALgRwQKAOZy8ZLphGHpy8RZl5xepY3yMHu5JBQL4AoIFAHOUHbGo3NGKheuPavXukwoK8NNzQ5OoQAAfwU8yAJOcO8eiEkcsUs7k6S+fbJckPd6/tVrWowIBfAXBAoA5KlmFGIahiYs3K9tepCubxOghKhDApxAsAJijksFiwbojWrMnXcEBJatA/P2qfsEyAJ6HYAHAHKXLTS+xIuTo6VzNOFeBTBh4hVrERrhjMgBuRLAAYI7LHLEorUByChzq2rSWHrg2wY3DAXAXggUAc1wmWPz7x8Nau/eUQgL9NJcKBPBZBAsA5ih75c0LA8ORjFzNXL5DkvTEwDZKqBvuxsEAuBPBAoBJLn6ORXGxoScWbVZugUPdmtXW/dc0c/9oANyGYAHAHBVUIe/9eEjf7z+l0EB/zRmSJD8qEMCnESwAmOMiweLwqVwlL98pSXpyUBs1owIBfB7BAoA5frPctLjY0PhFm5RX6NDVzWtrxNVNLRwOgLsQLACY4zdHLN75/qB+OpChsCB/zbmrIxUIUEMQLACY47xgcTA9R7NWlFQgkwa1UZM6YRYOBsCdqhQsXn75ZSUkJCgkJERdunTRmjVrzJ4LgLc5FywMm58mLNqk/MJiXdOijoZ3pwIBahKng8V//vMfjR07VlOmTNHPP/+snj17atCgQTp8+LAr5gPgNUrOscixO7Tu4GmFB/lr9l2sAgFqGqeDxfPPP6+RI0fqoYceUtu2bfXCCy8oPj5e8+fPd8V8ALzFuSMWZ/KLJEmTb26r+NpUIEBNE+DMxgUFBdqwYYOefPLJcvcPGDBA33333UUfY7fbZbfby25nZWVVYczL++Ff46SCbJd8bACXF1F4SomSig2brmtZV/d2a2L1SAAs4FSwSE9Pl8PhUP369cvdX79+fR0/fvyij0lOTtYzzzxT9QkrqcXRjxSr0y7fD4BLy7GFa/aQJNkucZVTAL7LqWBR6re/MAzDqPCXyKRJkzRu3Liy21lZWYqPj6/Kbi9pb8Jw7S04a/rHBeAMm6I736lGMaFWDwLAIk4Fi7p168rf3/+CoxNpaWkXHMUoFRwcrODg4KpPWEk97vury/cBAAAuzamTN4OCgtSlSxd98cUX5e7/4osvdM0115g6GAAA8D5OVyHjxo3TiBEj1LVrV/Xo0UOvvvqqDh8+rNGjR7tiPgAA4EWcDhb33HOPTp06penTpys1NVWJiYlavny5mjblRXAAAKjpbIZReuUg98jKylJ0dLQyMzMVFRXlzl0DAIAqquzfb64VAgAATEOwAAAApiFYAAAA0xAsAACAaQgWAADANAQLAABgGoIFAAAwDcECAACYhmABAABMU6XLpldH6Qt9ZmVluXvXAACgikr/bl/uBbvdHiyys7MlSfHx8e7eNQAAqKbs7GxFR0dX+H63XyukuLhYKSkpioyMlM1mc+euPU5WVpbi4+N15MgRrpviYjzX7sHz7B48z+7B81yeYRjKzs5WXFyc/PwqPpPC7Ucs/Pz81LhxY3fv1qNFRUXxTesmPNfuwfPsHjzP7sHz/KtLHakoxcmbAADANAQLAABgGoKFhYKDg/XUU08pODjY6lF8Hs+1e/A8uwfPs3vwPFeN20/eBAAAvosjFgAAwDQECwAAYBqCBQAAMA3BAgAAmIZg4YHsdrs6deokm82mX375xepxfMrBgwc1cuRIJSQkKDQ0VC1atNBTTz2lgoICq0fzei+//LISEhIUEhKiLl26aM2aNVaP5HOSk5N11VVXKTIyUvXq1dPtt9+uXbt2WT2Wz0tOTpbNZtPYsWOtHsUrECw80BNPPKG4uDirx/BJO3fuVHFxsV555RVt27ZNf/vb3/TPf/5TkydPtno0r/af//xHY8eO1ZQpU/Tzzz+rZ8+eGjRokA4fPmz1aD5l9erVGjNmjH744Qd98cUXKioq0oABA5STk2P1aD5r3bp1evXVV5WUlGT1KF6D5aYe5rPPPtO4ceO0ePFitW/fXj///LM6depk9Vg+be7cuZo/f772799v9Sheq3v37urcubPmz59fdl/btm11++23Kzk52cLJfNvJkydVr149rV69Wr169bJ6HJ9z9uxZde7cWS+//LJmzJihTp066YUXXrB6LI/HEQsPcuLECY0aNUrvvvuuwsLCrB6nxsjMzFTt2rWtHsNrFRQUaMOGDRowYEC5+wcMGKDvvvvOoqlqhszMTEni+9dFxowZo5tvvln9+vWzehSv4vaLkOHiDMPQ/fffr9GjR6tr1646ePCg1SPVCPv27dOLL76o5557zupRvFZ6erocDofq169f7v769evr+PHjFk3l+wzD0Lhx43TdddcpMTHR6nF8zoIFC7Rx40atW7fO6lG8DkcsXOzpp5+WzWa75Nv69ev14osvKisrS5MmTbJ6ZK9U2ef5fCkpKbrxxhs1dOhQPfTQQxZN7jtsNlu524ZhXHAfzPPII49o8+bN+uCDD6wexeccOXJEjz32mN577z2FhIRYPY7X4RwLF0tPT1d6evolt2nWrJl+97vf6b///W+5X8QOh0P+/v4aPny43n77bVeP6tUq+zyX/pJISUlRnz591L17d7311lvy8yNjV1VBQYHCwsK0cOFC3XHHHWX3P/bYY/rll1+0evVqC6fzTY8++qiWLl2qb775RgkJCVaP43OWLl2qO+64Q/7+/mX3ORwO2Ww2+fn5yW63l3sfyiNYeIjDhw8rKyur7HZKSooGDhyoRYsWqXv37mrcuLGF0/mWY8eOqU+fPurSpYvee+89fkGYoHv37urSpYtefvnlsvvatWun2267jZM3TWQYhh599FEtWbJEq1atUqtWraweySdlZ2fr0KFD5e574IEH1KZNG02cOJHq6TI4x8JDNGnSpNztiIgISVKLFi0IFSZKSUlR79691aRJEz377LM6efJk2fsaNGhg4WTebdy4cRoxYoS6du2qHj166NVXX9Xhw4c1evRoq0fzKWPGjNH777+vjz/+WJGRkWXnsERHRys0NNTi6XxHZGTkBeEhPDxcderUIVRUAsECNcrKlSu1d+9e7d2794LAxsG7qrvnnnt06tQpTZ8+XampqUpMTNTy5cvVtGlTq0fzKaXLeXv37l3u/jfffFP333+/+wcCLoIqBAAAmIYz1gAAgGkIFgAAwDQECwAAYBqCBQAAMA3BAgAAmIZgAQAATEOwAAAApiFYAAAA0xAsAACAaQgWAADANAQLAABgGoIFAAAwzf8HHbcWcC476P0AAAAASUVORK5CYII=\n",
+ "text/plain": [
+ "<Figure size 640x480 with 1 Axes>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "x = np.arange(-5, 5, 0.01)\n",
+ "def relu(x):\n",
+ " return np.where(x > 0, x, 0)\n",
+ "def relu_prime(x):\n",
+ " return np.where(x > 0, 1, 0)\n",
+ "plt.plot(x, relu(x))\n",
+ "plt.plot(x, relu_prime(x))\n",
+ "plt.legend(['relu(x)', \"relu'(x)\"])"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "eb3553a2",
+ "metadata": {},
+ "source": [
+ "#### 前向过程(forward):sparse representation"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 43,
+ "id": "32164f1c",
+ "metadata": {
+ "ExecuteTime": {
+ "end_time": "2023-04-05T11:10:38.515604Z",
+ "start_time": "2023-04-05T11:10:38.511282Z"
+ }
+ },
+ "outputs": [],
+ "source": [
+ "import torch\n",
+ "from torch import nn"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 44,
+ "id": "91b7d094",
+ "metadata": {
+ "ExecuteTime": {
+ "end_time": "2023-04-05T11:11:03.743903Z",
+ "start_time": "2023-04-05T11:11:03.737117Z"
+ }
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "tensor([[ 0.2534, 0.2444, 0.0077, -0.1895],\n",
+ " [ 0.3560, -0.1042, -0.6241, -0.4547],\n",
+ " [ 0.9709, -0.4686, -0.8432, 0.5002]], grad_fn=<AddmmBackward0>)"
+ ]
+ },
+ "execution_count": 44,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "x = torch.normal(0, 1, (3, 5))\n",
+ "w = nn.Linear(5, 4)\n",
+ "w(x)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 45,
+ "id": "6579be4d",
+ "metadata": {
+ "ExecuteTime": {
+ "end_time": "2023-04-05T11:11:32.539265Z",
+ "start_time": "2023-04-05T11:11:32.533911Z"
+ }
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "tensor([[0.2534, 0.2444, 0.0077, 0.0000],\n",
+ " [0.3560, 0.0000, 0.0000, 0.0000],\n",
+ " [0.9709, 0.0000, 0.0000, 0.5002]], grad_fn=<ReluBackward0>)"
+ ]
+ },
+ "execution_count": 45,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "torch.relu(w(x))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "09b9848f",
+ "metadata": {},
+ "source": [
+ "#### dying relu or dead neuron"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "0321a0a8",
+ "metadata": {},
+ "source": [
+ "- https://liam.page/2018/11/30/vanishing-gradient-of-ReLU-due-to-unusual-input/"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "bddbd6a7",
+ "metadata": {},
+ "source": [
+ "Feeding values that are outside the usual range of features can cause large gradients to back propagate. This can permanently shut of activation functions like ReLU due to vanishing gradients. \n",
+ "神经网络接受异于常值范围的输入时,在反向传播过程中(较大的损失)会产生大的梯度。这种大的梯度,会因梯度消失而永久关闭诸如 ReLU 的激活函数。"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "id": "d98fc251",
+ "metadata": {
+ "ExecuteTime": {
+ "end_time": "2023-04-05T10:07:11.768845Z",
+ "start_time": "2023-04-05T10:07:11.765901Z"
+ }
+ },
+ "outputs": [],
+ "source": [
+ "from IPython.display import Image"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 18,
+ "id": "0de41625",
+ "metadata": {
+ "ExecuteTime": {
+ "end_time": "2023-04-05T10:07:16.678761Z",
+ "start_time": "2023-04-05T10:07:16.673521Z"
+ },
+ "scrolled": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "image/jpeg": "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\n",
+ "text/plain": [
+ "<IPython.core.display.Image object>"
+ ]
+ },
+ "execution_count": 18,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "Image('./imgs/cell.jpg')"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "3f35a21d",
+ "metadata": {},
+ "source": [
+ "现在假设,这个神经元已经经过若干次迭代,其参数 $(\\vec w, b)$ 已经迭代得趋于稳定。现在,神经元接收到了一个异常的输入 $\\vec x$。比方说,它的某一维特征 $x_i$ 与对应的权重 $w_i$ 的乘积 $w_ix_i$ 非常大于是,ReLU 的输入就会很大,对应 ReLU 的输出也就会很大。好了,假设这个 ReLU 神经元期望的输出(ground truth)是 $y_i$,这个时候损失就会很大 $f(|y_i-\\hat y_i|)$。\n",
+ "\n",
+ "于是,在反向传播过程中,传递到 ReLU 的输入时的梯度就是 $g=f'(|y_i-\\hat y_i|)$ 。考虑对于偏置 $b$ 有更新\n",
+ "$$\n",
+ "b \\gets b - \\eta g.\n",
+ "$$\n",
+ "\n",
+ "考虑到 $g$ 是一个很大的正数,于是 $b$ 可能被更新为一个很小的负数。此后,对于常规输入(forward)来说,ReLU 的输入大概率是个负数(gradient 就是 0)。这也就是说,ReLU 大概率是关闭的。这时,梯度无法经 ReLU 反向传播至 ReLU 的输入函数。也就是说,这个神经元的参数再也不会更新了。这就是所谓的「神经元死亡」。"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "efb1b13e",
+ "metadata": {},
+ "source": [
+ "## `torch.clamp(x, min, max)`"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "1c7c64ee",
+ "metadata": {},
+ "source": [
+ "$$\n",
+ "\\begin{split}\n",
+ "&y=\\min(\\max(x, \\text{min_value}), \\text{max_value})\\\\\n",
+ "&y'=\\begin{cases}0 & x < \\text{min_value}, \\\\ \n",
+ " 1 & \\text{min_value} < x < \\text{max_value}, \\\\\n",
+ " 0 & x > \\text{max_value}.\n",
+ " \\end{cases}\n",
+ "\\end{split}\n",
+ "$$"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "727c0f2d",
+ "metadata": {},
+ "source": [
+ "### gradient "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "10331f89",
+ "metadata": {},
+ "source": [
+ "- https://github.com/pytorch/pytorch/blob/53fe804322640653d2dddaed394838b868ce9a26/torch/autograd/_functions/pointwise.py#L95"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 46,
+ "id": "db678e41",
+ "metadata": {
+ "ExecuteTime": {
+ "end_time": "2023-04-05T11:17:40.199232Z",
+ "start_time": "2023-04-05T11:17:40.194587Z"
+ }
+ },
+ "outputs": [],
+ "source": [
+ "x = torch.normal(0, 1, (3, 4), requires_grad=True)\n",
+ "y = torch.clamp(x, -0.3, 0.3)\n",
+ "y.sum().backward()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 47,
+ "id": "fdf3f4fe",
+ "metadata": {
+ "ExecuteTime": {
+ "end_time": "2023-04-05T11:17:41.537492Z",
+ "start_time": "2023-04-05T11:17:41.529430Z"
+ }
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "tensor([[ 0.5603, -0.5051, 1.1056, 1.3461],\n",
+ " [ 0.4706, 0.1713, 0.1935, -1.2677],\n",
+ " [ 0.3835, -2.5004, -0.5953, 0.4064]], requires_grad=True)"
+ ]
+ },
+ "execution_count": 47,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "x"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 48,
+ "id": "4ad3ce7e",
+ "metadata": {
+ "ExecuteTime": {
+ "end_time": "2023-04-05T11:18:14.331297Z",
+ "start_time": "2023-04-05T11:18:14.326147Z"
+ }
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "tensor([[ 0.3000, -0.3000, 0.3000, 0.3000],\n",
+ " [ 0.3000, 0.1713, 0.1935, -0.3000],\n",
+ " [ 0.3000, -0.3000, -0.3000, 0.3000]], grad_fn=<ClampBackward1>)"
+ ]
+ },
+ "execution_count": 48,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "y"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 49,
+ "id": "17f81cf2",
+ "metadata": {
+ "ExecuteTime": {
+ "end_time": "2023-04-05T11:18:57.273963Z",
+ "start_time": "2023-04-05T11:18:57.267690Z"
+ }
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "tensor([[0., 0., 0., 0.],\n",
+ " [0., 1., 1., 0.],\n",
+ " [0., 0., 0., 0.]])"
+ ]
+ },
+ "execution_count": 49,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "x.grad"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3 (ipykernel)",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.9.13"
+ },
+ "toc": {
+ "base_numbering": 1,
+ "nav_menu": {},
+ "number_sections": true,
+ "sideBar": true,
+ "skip_h1_title": false,
+ "title_cell": "Table of Contents",
+ "title_sidebar": "Contents",
+ "toc_cell": false,
+ "toc_position": {},
+ "toc_section_display": true,
+ "toc_window_display": true
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}
diff --git a/learn_torch/basics/imgs/cell.jpg b/learn_torch/basics/imgs/cell.jpg
new file mode 100644
index 0000000..d8e9877
--- /dev/null
+++ b/learn_torch/basics/imgs/cell.jpg
Binary files differ