{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "### \n", "\n", "\n", "\n", "### \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", "\n", "\n", "\n", "
\n", "\n", "\n", "10





\\~1000 teraflops?

\\~100 bits per\n", "second?\n", "
\n", "### \n", "\n", "\n", "\n", "### \n", "\n", "\n", "\n", "### \n", "\n", "\n", "\n", "### \n", "\n", "\n", "\n", "### \n", "\n", "\n", "\n", "### \n", "\n", "\n", "\n", "### \n", "\n", "" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "369a908399a94d82a6907c36b63f2a9b", "version_major": 2, "version_minor": 0 }, "text/plain": [ "interactive(children=(IntSlider(value=2, description='sample', max=3, min=1), Output()), _dom_classes=('widget…" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import pods\n", "pods.notebook.display_plots('information-flow{sample:0>3}.svg', \n", " '../slides/diagrams/data-science', sample=(1,3))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### \n", "\n", "\n", "\n", "### \n", "\n", "\n", "\n", "### \n", "\n", "Outline of the DeepFace architecture. A front-end of a single\n", "convolution-pooling-convolution filtering on the rectified input,\n", "followed by three locally-connected layers and two fully-connected\n", "layers. Color illustrates feature maps produced at each layer. The net\n", "includes more than 120 million parameters, where more than 95% come from\n", "the local and fully connected.\n", "\n", "\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", "\n", "\n", "\n", "
\n", "### \n", "\n", "\n", "\n", "### \n", "\n", "\n", "\n", "### \n", "\n", "\n", "\n", "### Thanks!\n", "\n", "- twitter: @lawrennd\n", "- blog:\n", " [http://inverseprobability.com](http://inverseprobability.com/blog.html)\n", "\n", "### Links\n", "\n", "- Articles in the Guardian are available from my [Guardian Profile\n", " Page](http://www.theguardian.com/profile/neil-lawrence)\n", " - [Guardian Op-Ed on Data\n", " Trusts](https://www.theguardian.com/media-network/2016/jun/03/data-trusts-privacy-fears-feudalism-democracy)\n", "- [My blog](http://inverseprobability.com/blog.html) has articles\n", " relating to this area.\n", " - [This post on System\n", " Zero](http://inverseprobability.com/2015/12/04/what-kind-of-ai/)\n", " and [This post on the Mechanistic\n", " Fallacy](http://inverseprobability.com/2015/11/09/artificial-stupidity/)\n", " relate to the ideas in this talk.\n", " - [Arxiv Article on Embodiment\n", " Factors](https://arxiv.org/abs/1705.07996)," ] } ], "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.6.3" } }, "nbformat": 4, "nbformat_minor": 2 }