{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Neurons in keras" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "![Keras](https://github.com/ianmcloughlin/images/raw/master/keras.png)\n", "\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "#### Imports\n", "\n", "***" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "# Neural networks.\n", "import tensorflow.keras as kr\n", "\n", "# Numerical arrays\n", "import numpy as np\n", "\n", "# Data frames.\n", "import pandas as pd\n", "\n", "# Plotting\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "# Plot style.\n", "plt.style.use(\"ggplot\")\n", "\n", "# Plot size.\n", "plt.rcParams['figure.figsize'] = [14, 8]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "#### Single linear neuron\n", "\n", "\n", "***" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\"Single\n", "\n", "\n", "***\n", "\n", "$$ y = x $$\n", "\n", "
" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "scrolled": true }, "outputs": [], "source": [ "# Create a new neural network.\n", "m = kr.models.Sequential()\n", "\n", "# Add a single neuron in a single layer, initialised with weight 1 and bias 0.\n", "m.add(kr.layers.Dense(1, input_dim=1, activation=\"linear\", kernel_initializer='ones', bias_initializer='zeros'))\n", "\n", "# Compile the model.\n", "m.compile(loss=\"mean_squared_error\", optimizer=\"sgd\")" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "# Create some input values.\n", "x = np.arange(-10.0, 10.1, 1.0)\n", "\n", "# Run each x value through the neural network.\n", "y = m.predict(x)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([-10., -9., -8., -7., -6., -5., -4., -3., -2., -1., 0.,\n", " 1., 2., 3., 4., 5., 6., 7., 8., 9., 10.])" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Have a look at x.\n", "x" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[-10.],\n", " [ -9.],\n", " [ -8.],\n", " [ -7.],\n", " [ -6.],\n", " [ -5.],\n", " [ -4.],\n", " [ -3.],\n", " [ -2.],\n", " [ -1.],\n", " [ 0.],\n", " [ 1.],\n", " [ 2.],\n", " [ 3.],\n", " [ 4.],\n", " [ 5.],\n", " [ 6.],\n", " [ 7.],\n", " [ 8.],\n", " [ 9.],\n", " [ 10.]], dtype=float32)" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Here are the corresponding outputs.\n", "y" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "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IGDOKMsyzWYzrVYrjUbDrXAAQCWUIGBOKctS+QEAKuWZIAAAoFaUIAAAoFaUIAAAoFaUIAAAoFaUIAAAoFaUIAAAoFaUIAAAoFaUIAAAoFaUIAAAoFaUIAAAoFaUIAAAoFaUIAAAoFb6q/rEt912W773ve9l2bJlSZK3ve1tOeuss2ac98gjj+SWW27J1NRUzj///Fx44YVVRQIAAKiuBCXJm970przlLW854PGpqancfPPN+dd//dcMDg5mw4YNKcsyJ554YpWxAACAGqu0BB3M1q1bs2rVqqxcuTJJcu655+aBBx5QgmAWtdvtbNmyJWvWrElZlr2OAwBQuUpL0He/+93cc889Ofnkk/POd74zxx133D7HJyYmMjg4OL09ODiYJ554ospIwJ9pt9sZHR1Np9NJURRpNpuKEACw4B1RCbrmmmuye/fuGfsvueSSrF27NhdddFGSpNls5utf/3rWr1+/z3ndbnfGa/v6+vb7tcbHxzM+Pp4k2bRpU4aGho4k+lHT398/Z7IsVGZcnS1btqTT6WRycnJ6e926dT1OtTC5jqtnxtUy3+qZcfXMuHrzZcZHVII+8YlPHNJ5559/fj73uc/N2D84OJidO3dOb+/cuTMDAwP7/RwjIyMZGRmZ3t6xY8dhpq3G0NDQnMmyUJlxddasWZOiKJIkRVFkzZo1Zl0R13H1zLha5ls9M66eGVdvLs14eHj4gMcqux1u165d04Xm/vvvz+rVq2ecc8opp+TJJ5/M9u3bs2LFitx333354Ac/WFUk4C+UZZlms+mZIACgViorQd/4xjfys5/9LH19fTn++ONz2WWXJfnjc0A33XRTNmzYkMWLF+fd7353Nm7cmKmpqbzhDW/Yb1kCqlOWZdatWzdn/tUGAKBqlZWgD3zgA/vdv2LFimzYsGF6+6yzztrv7w8CAACowqJeBwAAAJhNShAAAFArShAAAFArShAAAFArShAAAFArShAAAFArShAAAFArShAAAFArShAAAFArShAAAFArShAAAFArShAAAFArShAAAFArShDMsna7nbGxsbTb7V5HAQCopf5eB4A6abfbGR0dTafTSVEUaTabKcuy17EAAGrFShDMolarlU6nk8nJyXQ6nbRarV5HAgCoHStBMIsajUaKokiSFEWRRqPR40QAAPWjBMEsKssyzWYzrVYrjUbDrXAA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bt2cabsAAMDB9XWreIBnFmzbtq3XEZLMrSW/hcqMq2fG1TPj6plxtcy3emZcPTOu3lya8azfDgcAADBXKUEAAECtKEEAAECtKEEAAECtKEEAAECtKEEAAECtKEEAAECtKEEAAECtKEEAAECtKEEAAECtKEEAAECtKEEAAECtKEEAAECtKEEAAECtKEEAAECt9HW73W6vQwAAAMwWK0FH6Kqrrup1hAXPjKtnxtUz4+qZcbXMt3pmXD0zrt58mbESBAAA1IoSBAAA1IoSdIRGRkZ6HWHBM+PqmXH1zLh6Zlwt862eGVfPjKs3X2bsjREAAIBasRIEAADUSn+vA8wHrVYr3/zmN/PLX/4yn/nMZ3LKKadMH7v99ttz1113ZdGiRbn00ktz5plnznj97373u2zevDm/+c1vcvzxx+fDH/5wjjvuuFn8L5hfNm/enG3btiVJnn766Rx77LG57rrrZpx3+eWXZ+nSpVm0aFEWL16cTZs2zXbUeeu2227L9773vSxbtixJ8ra3vS1nnXXWjPMeeeSR3HLLLZmamsr555+fCy+8cJaTzl+33nprHnzwwfT392flypVZv359XvjCF844z3V8eA52TXa73dxyyy15+OGHc8wxx2T9+vU5+eSTexN2HtqxY0e++MUvZvfu3enr68vIyEje+MY37nPOY489lmuvvTYnnHBCkuScc87JRRdd1Iu489bBvu9dx0dm27Zt2bx58/T29u3bc/HFF+dNb3rT9D7X8eH70pe+lIceeijLly/P9ddfn+TQf8adkz9PdDmon//8591f/vKX3auvvrq7devWffZ/5CMf6T733HPdX//61933v//93cnJyRmvv/XWW7u33357t9vtdm+//fburbfeOlvR572vfe1r3W9+85v7PbZ+/frunj17ZjnRwtBsNrvf/va3n/ecycnJ7vvf//7ur371q26n0+l+5CMf6f785z+fpYTz3yOPPNLdu3dvt9v9458BB/q+dx0fukO5Jh988MHuxo0bu1NTU90f//jH3Q0bNvQo7fw0MTHR/clPftLtdrvdp59+uvvBD35wxoz/53/+p/vZz362F/EWjIN937uOj57Jycnue97znu727dv32e86PnyPPfZY9yc/+Un3iiuumN53KD/jztWfJ9wOdwhOPPHEDA8Pz9j/wAMP5Nxzz01RFDnhhBOyatWqbN26db/nnXfeeUmS8847Lw888EDlmReCbrebVquV17zmNb2OUktbt27NqlWrsnLlyvT39+fcc8917R6GV73qVVm8eHGS5LTTTsvExESPE81/h3JNttvtvP71r09fX19OO+20/P73v8+uXbt6lHj+GRgYmF5xeMELXpCXvvSlrt0ecB0fPY8++mhWrVqV448/vtdR5r3TTz99xirPofyMO1d/nnA73BGYmJjIqaeeOr29YsWK/f5lsWfPngwMDCT5418wTz311KxlnM9+9KMfZfny5XnJS15ywHM2btyYJLngggvmzbuRzBXf/e53c8899+Tkk0/OO9/5zhl/sE1MTGRwcHB6e3BwME888cRsx1wQ7rrrrpx77rkHPO46PjSHck1OTExkaGhon3MmJiam/wzm0G3fvj0//elP84pXvGLGsccffzxXXnllBgYG8o53vCOrV6/uQcL57fm+713HR8+99957wH9MdR0fuUP5GXeu/jyhBP2fa665Jrt3756x/5JLLsnZZ5+939d0vbHeX+1Q5v18f3D96XOsWLEie/bsyac//ekMDw/n9NNPryryvPN8M167du30vc/NZjNf//rXs379+n3O29/13dfXV0nW+epQruNvfetbWbx4cV73utcd8HO4jg/NoVyTrtuj49lnn83111+fd73rXTn22GP3Ofbyl788X/rSl7J06dI89NBDue6663LDDTf0KOn8dLDve9fx0bF37948+OCDefvb3z7jmOt49szV61kJ+j+f+MQnDvs1g4OD2blz5/T2xMREVqxYMeO85cuXZ9euXRkYGMiuXbumH0avs4PNe3JyMvfff//zPiT+p1kvX748Z599drZu3eqHxz9zqNf0+eefn8997nMz9v/l9b1z507/CvkXDjbj73//+3nwwQfzyU9+8oB/4LuOD92hXJODg4PZsWPH857D89u7d2+uv/76vO51r8s555wz4/ifl6KzzjorN998c5566il/tx2Gg33fu46Pjocffjgvf/nL8+IXv3jGMdfx0XEoP+PO1Z8nPBN0BMqyzH333ZdOp5Pt27fnySef3O9tA2VZ5u67706S3H333QdcWeL/e/TRRzM8PLzP8umfe/bZZ/PMM89Mf7xly5acdNJJsxlxXvvze8vvv//+/d4CcMopp+TJJ5/M9u3bs3fv3tx3330py3I2Y85rjzzySL797W/nox/9aI455pj9nuM6PjyHck2WZZl77rkn3W43jz/+eI499tg58ZftfNHtdnPjjTfmpS99ad785jfv95zdu3dP/8vu1q1bMzU1lRe96EWzGXNeO5Tve9fx0fF8d5S4jo+OQ/kZd67+POGXpR6C+++/P1/5ylfy1FNP5YUvfGFe9rKX5eMf/3iSP97q8l//9V9ZtGhR3vWud+XVr351kuTGG2/MBRdckFNOOSW//e1vs3nz5uzYsSNDQ0O54oorvEX2QXzxi1/MqaeemrVr107vm5iYyE033ZQNGzbk17/+dT7/+c8n+eOq0Wtf+9q89a1v7VXceWdsbCw/+9nP0tfXl+OPPz6XXXZZBgYG9plxkjz00EP52te+lqmpqbzhDW8w48PwgQ98IHv37p3+Xj/11FNz2WWXuY6P0P6uyTvvvDNJsnbt2nS73dx888357//+7yxZsiTr16/f59ca8Pz+93//N5/85Cdz0kknTa9evu1tb5telVi7dm2+853v5M4778zixYuzZMmSvPOd78zf/M3f9DL2vHKg73vX8dH1hz/8If/8z/+cf//3f59e9fnzGbuOD98XvvCF/PCHP8xvf/vbLF++PBdffHHOPvvs/f6MOx9+nlCCAACAWnE7HAAAUCtKEAAAUCtKEAAAUCtKEAAAUCtKEAAAUCtKEAAAUCtKEAAAUCtKEAAAUCv/D66rlYTgZ6oNAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Plot the values.\n", "plt.plot(x, y, 'k.');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "#### Single linear neuron with different weight and bias\n", "\n", "***\n", "\n", "
\n", "\n", "$$ y = 2x + 1 $$\n", "\n", "
" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "# Create a new neural network.\n", "m = kr.models.Sequential()\n", "\n", "# Add a single neuron in a single layer, initialised with weight 2 and bias 1.\n", "m.add(kr.layers.Dense(1, input_dim=1, activation=\"linear\", kernel_initializer=kr.initializers.Constant(value=2.0), bias_initializer=kr.initializers.Constant(value=1.0)))\n", "\n", "# Compile the model.\n", "m.compile(loss=\"mean_squared_error\", optimizer=\"sgd\")" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "# Create some input values.\n", "x = np.arange(-10.0, 10.1, 1.0)\n", "\n", "# Run each x value through the neural network.\n", "y = m.predict(x)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "image/png": "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cgMAALSCcgMAALSCcgMAALSCcgMAALSCcsO8VlVVxsbGUlXVoEcBAGDAhgY9ADxXVVVldHQ0dV2nKIp0u92UZTnosQAAGBArN8xbvV4vdV1ncnIydV2n1+sNeiQAAAbIyg3zVqfTSVEUSZKiKNLpdAY8EQAAg6TcMG+VZZlut5ter5dOp+OSNACABU65YV4ry1KpAQAgiXtuAACAllBuAACAVlBuAACAVlBuAACAVlBuAACAVlBuAACAVlBuAACAVlBuAACAVlBuAACAVlBuAACAVlBuAACAVlBuAACAVhiayYt7vV7uu+++PP744/nUpz6V8847L0myb9++3HjjjVmzZk2S5IILLsgNN9ww82kBAACOY0blZu3atbn55pvzD//wD8c8t3r16txxxx0zeXvmqKqq0uv10ul0UpbloMcBAIAkMyw3L33pS2drDuaJqqoyOjqauq5TFEW63a6CAwDAnDCjcvNs9u3blw996EM544wzcu211+ZVr3rVtPuNj49nfHw8SbJly5YMDw83NdIpGxoamlPzzAW7d+9OXdeZnJycerxx48bn/H4ybpZ8myfj5sm4eTJulnybJ+PmzZeMT1huNm/enIMHDx6z/dprr82GDRumfc3y5ctz11135UUvelH+4z/+I3fccUe2bt2aM88885h9R0ZGMjIyMvV4//79pzB+s4aHh+fUPHPB+vXrUxRFkqQoiqxfv35GGcm4WfJtnoybJ+PmybhZ8m2ejJs31zL+33v7f98Jy82tt956ygcrimLqA/C6deuyatWq7N27d+oLB5i/yrJMt9t1zw0AAHNOI5elHT58OEuXLs3ixYvzi1/8Inv37s2qVauaOBQDUJalUgMAwJwzo3Kzc+fOfOlLX8rhw4ezZcuWvPzlL88tt9ySxx57LPfee2+WLFmSxYsX56/+6q+ydOnS2ZoZAADgGDMqN5dcckkuueSSY7a/7nWvy+te97qZvDUAAMApWTzoAQAAAGaDcgMAALSCcgMAALSCcgMAALSCcgMAALSCcgMAALSCcgMAALSCcgMAALSCcgMAALSCcgMAALSCcgMAALSCcgMAALSCcjMPVFWVsbGxVFU16FEAAGDOGhr0ADy7qqoyOjqauq5TFEW63W7Kshz0WAAAMOdYuZnjer1e6rrO5ORk6rpOr9cb9EgAADAnWbmZ4zqdToqiSJIURZFOpzPgiQAAYG5Sbua4sizT7XbT6/XS6XRckgYAAMeh3MwDZVkqNQAAcALuuQEAAFpBuQEAAFpBuQEAAFpBuQEAAFpBuQEAAFpBuQEAAFpBuQEAAFpBuQEAAFpBuQEAAFpBuQEAAFpBuQEAAFpBuQEAAFpBuQEAAFpBuQEAAFphaNADzFVVVWX37t1Zv359yrIc9DgAAMAJKDfTqKoqo6Ojqes6RVGk2+0qOAAAMMe5LG0avV4vdV1ncnIydV2n1+sNeiQAAOAErNxMo9PppCiKJElRFOl0OgOeCAAAOBHlZhplWabb7brnBgAA5hHl5jjKsszGjRuzf//+QY8CAACcBPfcAAAAraDcAAAArTCjy9LuueeePPzwwxkaGsqqVauyadOmvPCFL0yS3H///dm+fXsWL16cd73rXbnoootmY14AAIBpzWjlZv369dm6dWs++9nP5iUveUnuv//+JMnPf/7z7NixI5/73Odyyy235O67787Ro0dnZWAAAIDpzKjcvOY1r8mSJUuSJK985SszMTGRJNm1a1cuvfTSFEWRc845J6tXr86ePXtmPi0AAMBxzNo9N9u3b5+69GxiYiIrV66cem7FihVTxQcAAKAJJ7znZvPmzTl48OAx26+99tps2LAhSfK1r30tS5YsyWWXXZYk6ff7Jz3A+Ph4xsfHkyRbtmzJ8PDwSb+2aUNDQ3NqnjaScbPk2zwZN0/GzZNxs+TbPBk3b75kfMJyc+uttz7r89/+9rfz8MMP57bbbsuiRYuSJCtXrsyTTz45tc/ExERWrFgx7etHRkYyMjIy9Xgu/V6Z4eHhOTVPG8m4WfJtnoybJ+PmybhZ8m2ejJs31zJes2bNtNtndFnao48+mq9//ev58Ic/nOc///lT28uyzI4dO1LXdfbt25e9e/fm/PPPn8mhAAAAntWMvgr67rvvzpEjR7J58+YkyQUXXJAbbrgha9euTafTyU033ZTFixfn3e9+dxYv9it1AACA5syo3IyNjR33uauvvjpXX331TN4eAADgpFlOAQAAWkG5AQAAWkG5AQAAWkG5AQAAWkG5AQAAWmFRv9/vD3oIAACAmbJy8yw+8pGPDHqE1pNxs+TbPBk3T8bNk3Gz5Ns8GTdvvmSs3AAAAK2g3AAAAK2g3DyLkZGRQY/QejJulnybJ+Pmybh5Mm6WfJsn4+bNl4x9oQAAANAKVm4AAIBWGBr0AIPW6/Vy33335fHHH8+nPvWpnHfeeVPP3X///dm+fXsWL16cd73rXbnooouOef2vfvWrbNu2Lb/85S9z9tln58Ybb8zSpUtP4//B/LJt27Y88cQTSZJf//rXOfPMM3PHHXccs9973/vevOAFL8jixYuzZMmSbNmy5XSPOi/de++9+da3vpWzzjorSXLdddfl4osvPma/Rx99NF/+8pdz9OjRXHHFFbnqqqtO86Tz1z333JOHH344Q0NDWbVqVTZt2pQXvvCFx+znHD51Jzov+/1+vvzlL+e73/1unv/852fTpk1Zt27dYIadZ/bv358777wzBw8ezKJFizIyMpI3v/nNz9jn+9//fj7zmc/knHPOSZK89rWvzdvf/vZBjDtvnejn3jk8M0888US2bds29Xjfvn255ppr8pa3vGVqm/P41N1111155JFHsmzZsmzdujXJyX++nZOfJ/oL3M9+9rP+448/3v/4xz/e37NnzzO233zzzf3f/va3/V/84hf9973vff3JycljXn/PPff077///n6/3+/ff//9/Xvuued0jT7vfeUrX+nfd9990z63adOm/qFDh07zRPNft9vtf/3rX3/WfSYnJ/vve9/7+v/5n//Zr+u6f/PNN/d/9rOfnaYJ579HH320f+TIkX6//7uf/+P9zDuHT83JnJcPP/xw//bbb+8fPXq0/4Mf/KD/0Y9+dEDTzj8TExP9H//4x/1+v9//9a9/3f+bv/mbY/L913/91/7f/u3fDmK81jjRz71zePZMTk72//Iv/7K/b9++Z2x3Hp+673//+/0f//jH/Ztuumlq28l8vp2rnycW/GVpL33pS7NmzZpjtu/atSuXXnppiqLIOeeck9WrV2fPnj3T7nf55ZcnSS6//PLs2rWr8ZnboN/vp9fr5Y//+I8HPcqCs2fPnqxevTqrVq3K0NBQLr30UuftKXjNa16TJUuWJEle+cpXZmJiYsATtcPJnJdVVeVP/uRPsmjRorzyla/Mf/3Xf+XAgQMDmnh+Wb58+dQKwRlnnJFzzz3XuTsAzuHZ873vfS+rV6/O2WefPehR5r0LL7zwmFWZk/l8O1c/Tyz4y9KOZ2JiIhdccMHU4xUrVkz7F8GhQ4eyfPnyJL/7y+Pw4cOnbcb57N/+7d+ybNmyvOQlLznuPrfffnuS5E1vetO8+YaOueAb3/hGHnrooaxbty7XX3/9MX9gTUxMZOXKlVOPV65cmR/96Eene8xW2L59ey699NLjPu8cPnknc15OTExkeHj4GftMTExM/RnMydm3b19+8pOf5Pzzzz/muR/+8If54Ac/mOXLl+cd73hH1q5dO4AJ57dn+7l3Ds+e73znO8f9B1Ln8cydzOfbufp5YkGUm82bN+fgwYPHbL/22muzYcOGaV/T9yVyz9nJ5P1sfyj973usWLEihw4dyic/+cmsWbMmF154YVMjzyvPlu+VV145dW1xt9vNV7/61WzatOkZ+013bi9atKiRWeerkzmHv/a1r2XJkiW57LLLjvsezuGTdzLnpXN35p5++uls3bo173znO3PmmWc+47lXvOIVueuuu/KCF7wgjzzySO6444584QtfGNCk89OJfu6dw7PjyJEjefjhh/Nnf/ZnxzznPD595ur5vCDKza233nrKr1m5cmWefPLJqccTExNZsWLFMfstW7YsBw4cyPLly3PgwIGpG7kXshPlPTk5mZ07dz7rDdb/m/WyZcuyYcOG7NmzxwfD/3Gy5/MVV1yRT3/608ds//1z+8knn/Svhr/nRBl/+9vfzsMPP5zbbrvtuH+QO4dPzcmclytXrsz+/fufdR+O78iRI9m6dWsuu+yyvPa1rz3m+f9bdi6++OLcfffdOXz4sL/XTsGJfu6dw7Pju9/9bl7xilfkxS9+8THPOY9nx8l8vp2rnycW/D03x1OWZXbs2JG6rrNv377s3bt32iX8sizz4IMPJkkefPDB464E8f9973vfy5o1a56xlPl/Pf300/nNb34z9d+7d+/Oy172stM54rz1f6/d3rlz57RL8eedd1727t2bffv25ciRI9mxY0fKsjydY85rjz76aL7+9a/nwx/+cJ7//OdPu49z+NSdzHlZlmUeeuih9Pv9/PCHP8yZZ545J/4inQ/6/X6++MUv5txzz81b3/rWafc5ePDg1L/E7tmzJ0ePHs2LXvSi0znmvHYyP/fO4dnxbFd/OI9nx8l8vp2rnycW/C/x3LlzZ770pS/l8OHDeeELX5iXv/zlueWWW5L87rKTf/7nf87ixYvzzne+M3/0R3+UJPniF7+YN73pTTnvvPPy1FNPZdu2bdm/f3+Gh4dz0003+SroE7jzzjtzwQUX5Morr5zaNjExkb//+7/PRz/60fziF7/IZz/72SS/W+V5/etfn6uvvnpQ484rY2Nj+elPf5pFixbl7LPPzg033JDly5c/I98keeSRR/KVr3wlR48ezRvf+Eb5noL3v//9OXLkyNTP+QUXXJAbbrjBOTwLpjsvv/nNbyZJrrzyyvT7/dx99935l3/5lzzvec/Lpk2bnvH1/Rzfv//7v+e2227Ly172sqnVxuuuu25qFeHKK6/MP/3TP+Wb3/xmlixZkuc973m5/vrr8wd/8AeDHHteOd7PvXN4dv33f/93/vqv/zp/93d/N7VK838zdh6fus9//vN57LHH8tRTT2XZsmW55pprsmHDhmk/386HzxMLvtwAAADt4LI0AACgFZQbAACgFZQbAACgFZQbAACgFZQbAACgFZQbAACgFZQbAACgFZQbAACgFf4f80J6+BjsQjYAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Plot the values.\n", "plt.plot(x, y, 'k.');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "#### Two neurons\n", "\n", "***\n", "\n", "\"Two\n", "\n", "
" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "# Create a new neural network.\n", "m = kr.models.Sequential()\n", "\n", "# Add a two neurons in a single layer.\n", "m.add(kr.layers.Dense(2, input_dim=1, activation=\"linear\"))\n", "\n", "# Add a single neuron in a single layer, initialised with weight 1 and bias 0.\n", "m.add(kr.layers.Dense(1, activation=\"linear\", kernel_initializer=kr.initializers.Constant(value=1), bias_initializer=kr.initializers.Constant(value=0)))\n", "\n", "# Set the weight/bias of the two neurons.\n", "m.layers[0].set_weights([np.matrix([2.0, 3.0]), np.array([-5.0, -3.0])])\n", "\n", "# Compile the model.\n", "m.compile(loss=\"mean_squared_error\", optimizer=\"sgd\")" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "# Create some input values.\n", "x = np.arange(-10.0, 10.1, 1.0)\n", "\n", "# Run each x value through the neural network.\n", "y = m.predict(x)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[-58.],\n", " [-53.],\n", " [-48.],\n", " [-43.],\n", " [-38.],\n", " [-33.],\n", " [-28.],\n", " [-23.],\n", " [-18.],\n", " [-13.],\n", " [ -8.],\n", " [ -3.],\n", " [ 2.],\n", " [ 7.],\n", " [ 12.],\n", " [ 17.],\n", " [ 22.],\n", " [ 27.],\n", " [ 32.],\n", " [ 37.],\n", " [ 42.]], dtype=float32)" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Look at the outputs.\n", "y" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "image/png": "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lkoNwCLnmhsAAKAXlBsAAKAXlBsAAKAXlBsAAKAXlBsAAKAXlBsAAKAXlBsAAKAXlBsAAKAXlBsAAKAXlBsAAKAXlBsAAKAXlBsAAKAXlBsAAKAXxkYdAABOpmma7Nu3L5s2bUpZlqOOA8Aip9wAsCg1TZPJycm0bZuiKDIYDBQcAJ6S09IAWJTquk7btpmdnU3btqnretSRAFjkrNwAsChVVZWiKJIkRVGkqqoRJwJgsVNuAFiUyrLMYDBwzQ0Ap025AWDRKssy119/faanp0cdBYAlwDU3AABALyg3AABALyg3AABALyg3AABALyg3AABALyg3AABALyg3AABALyg3AABALyg3AABALyg3AABALyg3AABALyg3AABALyg3AABALyg3AABALyg3AMxpmiZTU1NpmmbUUQDgjI2NOgAAi0PTNJmcnEzbtimKIoPBIGVZjjoWAJw2KzcAJEnquk7btpmdnU3btqnretSRAOCMWLkBIElSVVWKokiSFEWRqqpGnAgAzoxyA0CSpCzLDAaD1HWdqqqckgbAkqPcADCnLEulBoAlyzU3AABALyg3AABALyg3AABALyg3AABALyg3AABALyg3AABALyg3AABALyg3AABALyg3AABALyg3AABALyg3AABALyg3AABALyg3AABALyg3AABALyg3ACPWNE2mpqbSNM2oowDAkjY26gAAy1nTNJmcnEzbtimKIoPBIGVZjjoWACxJVm4ARqiu67Rtm9nZ2bRtm7quRx0JAJYsKzcAI1RVVYqiSJIURZGqqkacCACWLuUGYITKssxgMEhd16mqyilpADAPyg3AiJVlqdQAwAKYV7m55557snfv3oyNjeXCCy/MjTfemGc/+9lJkp07d+b+++/PypUr88Y3vjEvfelLFyIvAADACc3rhgKbNm3KHXfckQ984AN53vOel507dyZJHnnkkezevTsf/OAH8573vCd33313jh07tiCBAQAATmRe5eYlL3lJVq1alSS54oorMjMzkyTZs2dPtmzZkqIocsEFF2T9+vXZv3///NMCAACcxILdCvr++++fO/VsZmYm69atm3tu7dq1c8UHAACgC6e85ua2227LkSNHjtt+ww03ZPPmzUmST37yk1m1alWuvvrqJMlwODztALt27cquXbuSJNu3b8/4+Phpv7drY2NjiypPH5lxt8y3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nC9/+ctJkkcffTRHjx7Nc5/73JRlmd27d6dt2xw8eDAHDhzIxo0b57MrAACApzSva25+6Zd+KR/+8Ifzu7/7uxkbG8tb3vKWrFixIhdffHGqqsrNN9+clStX5k1vepM7pQEAAJ2aV7kZGxvLTTfddMLntm3blm3bts3nxwMAAJw2yykAAEAvKDcAAEAvKDcAAEAvKDcAAEAvKDcAAEAvKDcAAEAvKDcAAEAvrBgOh8NRhwAAAJgvKzdP4ZZbbhl1hN4z426Zb/fMuHtm3D0z7pb5ds+Mu7dUZqzcAAAAvaDcAAAAvaDcPIWJiYlRR+g9M+6W+XbPjLtnxt0z426Zb/fMuHtLZcZuKAAAAPSClRsAAKAXxkYdYNTqus4nPvGJfOtb38of//Ef57LLLpt7bufOnbn//vuzcuXKvPGNb8xLX/rS497/xBNPZMeOHfnOd76T888/P29/+9vznOc85yz+HywtO3bsyKOPPpok+d73vpdzzz0373//+4973Vve8pY885nPzMqVK7Nq1aps3779bEddkj7+8Y/nn//5n3PeeeclSV796lfnyiuvPO51Dz30UD760Y/m2LFjufbaa7N169aznHTpuueee7J3796MjY3lwgsvzI033phnP/vZx73OMXzmTnVcDofDfPSjH80Xv/jFnHPOObnxxhtz6aWXjibsEjM9PZ277rorR44cyYoVKzIxMZFXvOIVT3rNww8/nD/90z/NBRdckCS56qqr8mu/9mujiLtknepz7xien0cffTQ7duyYe3zw4MG86lWvyi//8i/PbXMcn7kPf/jDefDBB7N69erccccdSU7/++2i/D4xXOa++c1vDr/1rW8N/+AP/mC4f//+J21/xzveMfzhD384/Pa3vz1861vfOpydnT3u/ffcc89w586dw+FwONy5c+fwnnvuOVvRl7yPfexjw0984hMnfO7GG28cPvbYY2c50dI3GAyGn/rUp57yNbOzs8O3vvWtw//6r/8atm07fMc73jH85je/eZYSLn0PPfTQ8OjRo8Ph8Eef/5N95h3DZ+Z0jsu9e/cOb7/99uGxY8eGX/3qV4fvfve7R5R26ZmZmRl+/etfHw6Hw+H3vve94U033XTcfL/85S8P3/e+940iXm+c6nPvGF44s7Ozw9/6rd8aHjx48EnbHcdn7uGHHx5+/etfH958881z207n++1i/T6x7E9L++mf/uls2LDhuO179uzJli1bUhRFLrjggqxfvz779+8/4euuueaaJMk111yTPXv2dJ65D4bDYeq6zs///M+POsqys3///qxfvz4XXnhhxsbGsmXLFsftGXjJS16SVatWJUmuuOKKzMzMjDhRP5zOcdk0TX7xF38xK1asyBVXXJH//u//zuHDh0eUeGlZs2bN3ArBs571rFx00UWO3RFwDC+cL33pS1m/fn3OP//8UUdZ8l74whcetypzOt9vF+v3iWV/WtrJzMzM5PLLL597vHbt2hP+RfDYY49lzZo1SX70l8fjjz9+1jIuZf/2b/+W1atX53nPe95JX3P77bcnSV7+8pcvmTt0LAb/9E//lM997nO59NJL8/rXv/64P7BmZmaybt26ucfr1q3Lv//7v5/tmL1w//33Z8uWLSd93jF8+k7nuJyZmcn4+PiTXjMzMzP3ZzCn5+DBg/nGN76RjRs3Hvfc1772tbzzne/MmjVr8rrXvS4XX3zxCBIubU/1uXcML5zPf/7zJ/0HUsfx/J3O99vF+n1iWZSb2267LUeOHDlu+w033JDNmzef8D1DN5F72k5n3k/1h9L//Yy1a9fmscceyx/90R9lw4YNeeELX9hV5CXlqeZ73XXXzZ1bPBgM8jd/8ze58cYbn/S6Ex3bK1as6CTrUnU6x/AnP/nJrFq1KldfffVJf4Zj+PSdznHp2J2/H/zgB7njjjvyhje8Ieeee+6TnnvBC16QD3/4w3nmM5+ZBx98MO9///tz5513jijp0nSqz71jeGEcPXo0e/fuzWte85rjnnMcnz2L9XheFuXmve997xm/Z926dTl06NDc45mZmaxdu/a4161evTqHDx/OmjVrcvjw4bkLuZezU817dnY2X/jCF57yAuv/m/Xq1auzefPm7N+/3xfD/3W6x/O1116bP/mTPzlu+08e24cOHfKvhj/hVDP+7Gc/m7179+bWW2896R/kjuEzczrH5bp16zI9Pf2Ur+Hkjh49mjvuuCNXX311rrrqquOe//Gyc+WVV+buu+/O448/7u+1M3Cqz71jeGF88YtfzAte8IL81E/91HHPOY4Xxul8v12s3yeW/TU3J1OWZXbv3p22bXPw4MEcOHDghEv4ZVnmgQceSJI88MADJ10J4v/70pe+lA0bNjxpKfPH/eAHP8j3v//9uf/et29fLrnkkrMZccn68XO3v/CFL5xwKf6yyy7LgQMHcvDgwRw9ejS7d+9OWZZnM+aS9tBDD+VTn/pU3vWud+Wcc8454Wscw2fudI7Lsizzuc99LsPhMF/72tdy7rnnLoq/SJeC4XCYj3zkI7nooovyyle+8oSvOXLkyNy/xO7fvz/Hjh3Lc5/73LMZc0k7nc+9Y3hhPNXZH47jhXE6328X6/eJZf9LPL/whS/kr/7qr/L444/n2c9+dp7//OfnPe95T5IfnXbymc98JitXrswb3vCG/NzP/VyS5CMf+Uhe/vKX57LLLst3v/vd7NixI9PT0xkfH8/NN9/sVtCncNddd+Xyyy/PddddN7dtZmYmf/EXf5F3v/vd+fa3v50PfOADSX60yvMLv/AL2bZt26jiLilTU1P5j//4j6xYsSLnn39+3vzmN2fNmjVPmm+SPPjgg/nYxz6WY8eO5WUve5n5noG3ve1tOXr06Nzn/PLLL8+b3/xmx/ACONFxed999yVJrrvuugyHw9x99935l3/5lzzjGc/IjTfe+KTb93NyX/nKV3LrrbfmkksumVttfPWrXz23inDdddfl05/+dO67776sWrUqz3jGM/L6178+P/MzPzPK2EvKyT73juGF9T//8z/57d/+7XzoQx+aW6X58Rk7js/cn/3Zn+Vf//Vf893vfjerV6/Oq171qmzevPmE32+XwveJZV9uAACAfnBaGgAA0AvKDQAA0AvKDQAA0AvKDQAA0AvKDQAA0AvKDQAA0AvKDQAA0AvKDQAA0Av/D8Q5rMJ8Ez5WAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Plot the values.\n", "plt.plot(x, y, 'k.');" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([-58., -53., -48., -43., -38., -33., -28., -23., -18., -13., -8.,\n", " -3., 2., 7., 12., 17., 22., 27., 32., 37., 42.])" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Calculating the output using numpy arrays.\n", "neuron1 = 2.0 * x - 5.0\n", "neuron2 = 3.0 * x - 3.0\n", "neuron3 = neuron1 + neuron2\n", "neuron3" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "
\n", "\n", "#### Sigmoid activation\n", "\n", "***\n", "\n", "\n", "\"Single\n", "\n", "***\n", "\n", "$$ f(x) \\ = \\ S(x)\\ = \\ \\frac{1}{1 + e^{-x}} \\ = \\ \\frac{e^x}{e^x + 1} $$\n", "\n", "
" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "# Create a new neural network.\n", "m = kr.models.Sequential()\n", "\n", "# Add a single neuron in a single layer, initialised with weight 1 and bias 0, with sigmoid activation.\n", "m.add(kr.layers.Dense(1, input_dim=1, activation=\"sigmoid\", kernel_initializer=kr.initializers.Constant(value=1.0), bias_initializer=kr.initializers.Constant(value=0.0)))\n", "\n", "# Compile the model.\n", "m.compile(loss=\"mean_squared_error\", optimizer=\"sgd\")" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [], "source": [ "# Create some input values.\n", "x = np.arange(-10.0, 10.1, 1.0)\n", "\n", "# Run each x value through the neural network.\n", "y = m.predict(x)" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "image/png": "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r7FkyZJ4+eWX48///M+jo6MjLr/88rxGTs7pdtzT0zN+L3C5XI6/+7u/i02bNk047mTnd0tLSy6zpmo65/E///M/x/z58+Oaa6455a/hPJ6e6ZyTztuZ8frrr8ddd90VH/7wh2PRokUTXnvLW94S9957byxcuDD27dsXX/ziF+Puu+9u0KRpmurr3nk8M0ZGRuLJJ5+M3/3d3530mvP43GnW83lWhcxnP/vZM/45xWIxhoaGxh8PDw/HkiVLJh23ePHiOHr0aLS1tcXRo0fHP2A9l02179HR0XjiiSdO+8Hnn+568eLFceWVV0Z/f783gCeY7jm9fv36+Ku/+qtJz7/x/B4aGvK3gW8w1Y7//d//PZ588sm44447TvmHtvN4+qZzThaLxRgcHDztMZzeyMhI3HXXXXHNNdfEVVddNen1E8Omq6srduzYEceOHfP/bWdgqq975/HM2L9/f7zlLW+Jn//5n5/0mvN4ZkznPW6zvp+YM5+ROZUsy2LPnj1Rq9ViYGAgjhw5ctJL8FmWxde//vWIiPj6179+yis8/H9PP/10dHR0TLgUeaLXX389fvSjH43/+ODBg3HJJZecyxGTduK91k888cRJL6d3dnbGkSNHYmBgIEZGRmLPnj2RZdm5HDNpBw4ciIcffjj++I//OM4777yTHuM8PjPTOSezLItvfOMbUa/X47vf/W4sWrSoKf4PMxX1ej2+8pWvxMUXXxzvfve7T3rMSy+9NP43rP39/TE2NhYXXHDBuRwzadP5uncez4zT3dnhPJ4Z03mP26zvJ+bMP4j5xBNPxN/+7d/GsWPH4k1velO8+c1vjs985jMR8ZPbRh577LGYN29efPjDH463ve1tERHxla98Jd7xjndEZ2dnvPLKK7Ft27YYHByM9vb2+OQnP+nbL0/hnnvuidWrV0dPT8/4c8PDw/HVr341Nm/eHC+++GLceeedEfGTqzdvf/vb473vfW+jxk3O9u3b43/+53+ipaUlLrroorjpppuira1two4jIvbt2xcPPPBAjI2Nxbp16+z4DHz84x+PkZGR8a/11atXx0033eQ8PksnOyd3794dERE9PT1Rr9djx44d8dRTT8WCBQti06ZNE75lPqf3ne98J+6444645JJLxq8ifuADHxi/OtDT0xO7du2K3bt3x/z582PBggXxoQ99KN761rc2cuyknOrr3nk8s3784x/HH/zBH8Rf//Vfj199OXHHzuMz96UvfSm+/e1vxyuvvBKLFy+O66+/Pq688sqTvsdN4f3EnAkZAABg9pjzt5YBAADpETIAAEByhAwAAJAcIQMAACRHyAAAAMkRMgAAQHKEDAAAkBwhAwAAJOf/AfflPlyLc+2gAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Plot the values.\n", "plt.plot(x, y, 'k.');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "#### Sequential Dense layers\n", "\n", "\n", "***\n", "\n", "![Dense neural network](https://github.com/ianmcloughlin/images/raw/master/dense-sequential.png)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "***\n", "\n", "#### End" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "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.8.5" } }, "nbformat": 4, "nbformat_minor": 4 }