{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "### \n", "\n", "\n", "\n", "### \n", "\n", "
\n", "\n", " | \n", "\n",
"\\~10 gigaflops \\~1 gigabit per second \\~1000\n", "teraflops? \\~100 bits per second?\n", " | \n",
"
\n", "\n", " | \n", "\n",
"10 \\~1000 teraflops? \\~100 bits per\n", "second?\n", " | \n",
"
\n", "Source: DeepFace\n", "
\n", "### \n", "\n", "\n", "\n", "We can think of what these models are doing as being similar to early\n", "pin ball machines. In a neural network, we input a number (or numbers),\n", "whereas in pinball, we input a ball. The location of the ball on the\n", "left-right axis can be thought of as the number. As the ball falls\n", "through the machine, each layer of pins can be thought of as a different\n", "layer of neurons. Each layer acts to move the ball from left to right.\n", "\n", "In a pinball machine, when the ball gets to the bottom it might fall\n", "into a hole defining a score, in a neural network, that is equivalent to\n", "the decision: a classification of the input object.\n", "\n", "An image has more than one number associated with it, so it's like\n", "playing pinball in a *hyper-space*." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "1c4ee9cd3d4848a1809269296a2fdcbd", "version_major": 2, "version_minor": 0 }, "text/plain": [ "interactive(children=(IntSlider(value=1, description='sample', max=2, min=1), Output()), _dom_classes=('widget…" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import pods\n", "pods.notebook.display_plots('pinball{sample:0>3}.svg', \n", " '../slides/diagrams', sample=(1,2))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "At initialization, the pins aren't in the right place to bring the ball\n", "to the correct decision.\n", "\n", "Learning involves moving all the pins to be in the right position, so\n", "that the ball falls in the right place. But moving all these pins in\n", "hyperspace can be difficult. In a hyper space you have to put a lot of\n", "data through the machine for to explore the positions of all the pins.\n", "Adversarial learning reflects the fact that a ball can be moved a small\n", "distance and lead to a very different result.\n", "\n", "Probabilistic methods explore more of the space by considering a range\n", "of possible paths for the ball through the machine.\n", "\n", "### \n", "\n", "\n", "\n", "### \n", "\n", "" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import pods\n", "pods.notebook.display_plots('anne-bob-conversation{sample:0>3}.svg', \n", " '../slides/diagrams', sample=(0,7))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### \n", "\n", "\n", "\n", " | \n", "\n", "\n", " | \n", "