Google Deepdream on Theraspberry Pi

Total Page:16

File Type:pdf, Size:1020Kb

Google Deepdream on Theraspberry Pi Tutorial WALKTHROUGH JOHANNES BERGS Strange critters Johannes Bergs wants to know roam the Earth on more and likes the realm of a chilly winter day humans and machines. knight-of-pi.org GOOGLE DEEPDREAM ON THE RASPBERRY PI Do computers dream of electric sheep? Find out by making your You’ll Raspberry Pi dream with the amazing Google DeepDream algorithm Need reams can be beautiful, surreal, or even Artificial neurons > Camera Module D scary. While we can assume that they play a Artificial neurons mimic their natural counterparts, magpi.cc/ role in learning, their exact purpose remains the neurons in the human brain. Every artificial 28IjIsz unknown. What would a computer see if it could neuron has an activation threshold and numerous > PsyCam dream? You can find out by installing the amazing weighted incoming and outgoing connections to other magpi.cc/ Google DeepDream software on your Raspberry Pi! neurons. If the sum of the weighted signals from 2eCSQOD DeepDream is derived from a neural network the incoming connections exceeds the activation for object recognition, which has been modified threshold, the neuron fires a signal. to express every object it vaguely recognises. The resulting images are impressively surrealistic, Neural networks RASPBERRY PI 2 bearing more than a passing resemblance to the Generally, neural networks consist of at least three COMPATIBILITY paintings of artists like Salvador Dalí. layers of neurons. The input layer reads the input, one Neural networks are a very versatile technology. or more hidden layers process the information, and Although the They can be applied to a variety of complex problems the output layer shows the result. Pi 3 with its advanced like facial recognition, text translation, or even Consider a neural network for recognising the processing playing games like Go. numbers zero to nine in images with a size of 28×28 power is Caffe, the neural network upon which Google built pixels. The input layer would have 784 neurons, one preferable, the project DeepDream, was originally developed for identifying for every pixel. If an image is presented to the input will run on a objects in images. To achieve this, the network is layer, every neuron in it produces a signal with a Pi 2 without trained on a large set of images to identify the main strength corresponding to the greyscale value of its modifications. features of the objects presented. pixel, with a darker pixel generating a stronger signal. 58 January 2017 raspberrypi.org/magpi DEEPDREAMS Tutorial Have some DeepDreams Language Insert an SD card with Raspbian Jessie installed into >PYTHON the Raspberry Pi, attach the Camera Module and peripherals, then boot it up. To install the DeepDream DOWNLOAD: magpi.cc/2eCSQOD software, enter the following in a Terminal: mkdir ~/deepdream && cd ~/deepdream ORIGINAL git clone https://github.com/JoBergs/PsyCam DEEPDREAM cd PsyCam ARTICLE python install_tools.py packages python install_tools.py caffe Have a look at the amazing python install_tools.py protobuf original python install_tools.py camera article about sudo reboot DeepDream Above A magical city in a far-off land by Alexander Mordvintsev, Every input neuron is connected to all neurons of After downloading the project from GitHub, use Christopher the first hidden layer, but every connection has a the custom installer to first install all packages with Olah, and Mike Tyka here: distinct weight. The higher the weight, the more of pip or apt-get. Then, install the open-source neural magpi.cc/ the input neuron’s signal reaches the hidden neuron. network framework Caffe. Because speed matters, you 2eCRHH3 If the total signal strength arriving at a hidden neuron should also install the serial data processor protobuf tops its activation threshold, the hidden neuron fires from Google. Finally, activate the camera and reboot. NEURAL a signal to all neurons of the next layer which, in All in all, the installation takes a few hours, so NETWORK this simplified example, is the output layer. Again, you’ll need to be patient! The installer should also TUTORIAL the signal intensity depends on the weight of the work for any newish Ubuntu operating system. If you connection and the incoming signal strength. encounter problems, try using the manual installation If you want to learn more The output layer has one neuron for every object to instructions at magpi.cc/2eCSxDt. about neural be classified, so ten neurons are used to identify the Enter the following, and your Pi can start to dream: networks, numbers from zero to nine. If the activation threshold why not check out this of an output neuron is surpassed by the weighted cd ~/deepdream/PsyCam interesting and incoming connections, the resulting signal strength is python psycam.py well-written a measure of confidence in the classification. introduction by Michael The network parameters depth (-d), octave (-o), Nielsen?: Machine learning and type (-t) are randomized. Add a -c to dream magpi.cc/ The weights and thresholds are initialised randomly, continuously. Pass -i IMAGE.jpg to use an image 2eCUO1u which can cause very bad classification results. as the base for the dream instead of a snapshot. Find If an output neuron is activated incorrectly (e.g. more information on input arguments by checking the KIVY GUI if an image from the training set shows a five, but command-line help: Try the the output neuron for two produces a strong signal), powerful its activation threshold and all the weights of its python psycam.py –help Python GUI incoming connections are adjusted. Then, the error is framework Kivy for propagated back proportionally through all connected When the Pi finishes dreaming, the dream and the building a neurons lower in the chain, from the highest hidden original photo are stored in the directory /home/pi/ GUI: it is slick layer down to the input layer. This process is repeated deepdream/PsyCam/dreams with a timestamp. You enough to embrace for all of the images in the training data set until the can watch them by opening the directory in the file DeepDream. results given by the network begin to improve. browser and double-clicking the image. Instead of accurately detecting objects in images, by contrast, DeepDream actually changes the input image to make it more similar to the objects learned from the training data. Imagine a cloud as an input image. Some structure in the cloud might have a vague similarity to the features DeepDream associates with a ‘dog-like’ object. If this is the case, the input image is changed to look more dog-like. Additionally, DeepDream allows for selection of the hidden layer depth. Since a layer has more detail the closer it is to the output level, output images can range Alice in a very colourful wonderland from basic shapes to detailed dream-like creatures. raspberrypi.org/magpi January 2017 59.
Recommended publications
  • ML-Based Interactive Data Visualization System for Diversity and Fairness Issues 1
    Jusub Kim : ML-based Interactive Data Visualization System for Diversity and Fairness Issues 1 https://doi.org/10.5392/IJoC.2019.15.4.001 ML-based Interactive Data Visualization System for Diversity and Fairness Issues Sey Min Department of Art & Technology Sogang University, Seoul, Republic of Korea Jusub Kim Department of Art & Technology Sogang University, Seoul, Republic of Korea ABSTRACT As the recent developments of artificial intelligence, particularly machine-learning, impact every aspect of society, they are also increasingly influencing creative fields manifested as new artistic tools and inspirational sources. However, as more artists integrate the technology into their creative works, the issues of diversity and fairness are also emerging in the AI-based creative practice. The data dependency of machine-learning algorithms can amplify the social injustice existing in the real world. In this paper, we present an interactive visualization system for raising the awareness of the diversity and fairness issues. Rather than resorting to education, campaign, or laws on those issues, we have developed a web & ML-based interactive data visualization system. By providing the interactive visual experience on the issues in interesting ways as the form of web content which anyone can access from anywhere, we strive to raise the public awareness of the issues and alleviate the important ethical problems. In this paper, we present the process of developing the ML-based interactive visualization system and discuss the results of this project. The proposed approach can be applied to other areas requiring attention to the issues. Key words: AI Art, Machine Learning, Data Visualization, Diversity, Fairness, Inclusiveness.
    [Show full text]
  • Building Intelligent Systems with Large Scale Deep Learning Jeff Dean Google Brain Team G.Co/Brain
    Building Intelligent Systems with Large Scale Deep Learning Jeff Dean Google Brain team g.co/brain Presenting the work of many people at Google Google Brain Team Mission: Make Machines Intelligent. Improve People’s Lives. How do we do this? ● Conduct long-term research (>200 papers, see g.co/brain & g.co/brain/papers) ○ Unsupervised learning of cats, Inception, word2vec, seq2seq, DeepDream, image captioning, neural translation, Magenta, ML for robotics control, healthcare, … ● Build and open-source systems like TensorFlow (see tensorflow.org and https://github.com/tensorflow/tensorflow) ● Collaborate with others at Google and Alphabet to get our work into the hands of billions of people (e.g., RankBrain for Google Search, GMail Smart Reply, Google Photos, Google speech recognition, Google Translate, Waymo, …) ● Train new researchers through internships and the Google Brain Residency program Main Research Areas ● General Machine Learning Algorithms and Techniques ● Computer Systems for Machine Learning ● Natural Language Understanding ● Perception ● Healthcare ● Robotics ● Music and Art Generation Main Research Areas ● General Machine Learning Algorithms and Techniques ● Computer Systems for Machine Learning ● Natural Language Understanding ● Perception ● Healthcare ● Robotics ● Music and Art Generation research.googleblog.com/2017/01 /the-google-brain-team-looking-ba ck-on.html 1980s and 1990s Accuracy neural networks other approaches Scale (data size, model size) 1980s and 1990s more Accuracy compute neural networks other approaches Scale
    [Show full text]
  • Audio Event Classification Using Deep Learning in an End-To-End Approach
    Audio Event Classification using Deep Learning in an End-to-End Approach Master thesis Jose Luis Diez Antich Aalborg University Copenhagen A. C. Meyers Vænge 15 2450 Copenhagen SV Denmark Title: Abstract: Audio Event Classification using Deep Learning in an End-to-End Approach The goal of the master thesis is to study the task of Sound Event Classification Participant(s): using Deep Neural Networks in an end- Jose Luis Diez Antich to-end approach. Sound Event Classifi- cation it is a multi-label classification problem of sound sources originated Supervisor(s): from everyday environments. An auto- Hendrik Purwins matic system for it would many applica- tions, for example, it could help users of hearing devices to understand their sur- Page Numbers: 38 roundings or enhance robot navigation systems. The end-to-end approach con- Date of Completion: sists in systems that learn directly from June 16, 2017 data, not from features, and it has been recently applied to audio and its results are remarkable. Even though the re- sults do not show an improvement over standard approaches, the contribution of this thesis is an exploration of deep learning architectures which can be use- ful to understand how networks process audio. The content of this report is freely available, but publication (with reference) may only be pursued due to agreement with the author. Contents 1 Introduction1 1.1 Scope of this work.............................2 2 Deep Learning3 2.1 Overview..................................3 2.2 Multilayer Perceptron...........................4
    [Show full text]
  • Bridging Reinforcement Learning and Creativity: Implementing Reinforcement Learning in Processing
    Bridging Reinforcement Learning and Creativity: Implementing Reinforcement Learning in Processing Jieliang Luo Media Arts & Technology Sam Green Computer Science University of California, Santa Barbara SIGGRAPH Asia 2018 Tokyo, Japan December 6th, 2018 Course Agenda • What is Reinforcement Learning (10 mins) ▪ Introduce the core concepts of reinforcement learning • A Brief Survey of Artworks in Deep Learning (5 mins) • Why Processing Community (5 mins) • A Q-Learning Algorithm (35 mins) ▪ Explain a fundamental reinforcement learning algorithm • Implementing Tabular Q-Learning in P5.js (40 mins) ▪ Discuss how to create a reinforcement learning environment ▪ Show how to implement the tabular q-learning algorithm in P5.js • Questions & Answers (5 mins) Bridging Reinforcement Learning and Creativity, Jieliang Luo & Sam Green Psychology Pictures Bridging Reinforcement Learning and Creativity, Jieliang Luo & Sam Green What is Reinforcement Learning • Branch of machine learning • Learns through trial & error, rewards & punishment • Draws from psychology, neuroscience, computer science, optimization Bridging Reinforcement Learning and Creativity, Jieliang Luo & Sam Green Reinforcement Learning Framework Agent Environment Bridging Reinforcement Learning and Creativity, Jieliang Luo & Sam Green https://www.youtube.com/watch?v=V1eYniJ0Rnk Bridging Reinforcement Learning and Creativity, Jieliang Luo & Sam Green https://www.youtube.com/watch?v=ZhsEKTo7V04 Bridging Reinforcement Learning and Creativity, Jieliang Luo & Sam Green Bridging Reinforcement
    [Show full text]
  • Learning Semantics of Raw Audio
    Learning Semantics of Raw Audio Davis Foote, Daylen Yang, Mostafa Rohaninejad Group name: “Audio Style Transfer” Introduction Variational Inference Numerically modeling semantics has given some useful exciting results in the We would like to have a latent space in which arithmetic operations domains of images [1] and natural language [2]. We would like to be able to correspond to semantic operations in the observed space. To that end, we operate on raw audio signals at a similar level of abstraction. Consider the adopt the following model, adapted from [1]: problem of trying to interpolate two voices into a voice that sounds “in We interpret the hidden variables � as the latent code. between” the two. Averaging the signals will result in the two voices There is a prior over latent codes �� � and a conditional speaking at once. If this operation were performed in a latent space in which distribution �� � � . In order to be able to encode a data dimensions have semantic meaning, then we would see results which match point, we also need to learn an approximation to the human perception of what this interpolation should mean. posterior distribution, �� � � . We can optimize all these We follow two distinct branches in pursuing this goal. First, motivated by parameters at once using the Auto-Encoding Variational aesthetic results in style transfer [3] and generation of novel styles [4], we Bayes algorithm [1]. Some very simple results (ours) of implement a deep classifier for various musical tags in hopes that the various sampling from this model trained on MNIST are shown: layer activations will encode meaningful high-level audio features.
    [Show full text]
  • Mechanisms of Artistic Creativity in Deep Learning Neural Networks
    Mechanisms of Artistic Creativity in Deep Learning Neural Networks Lonce Wyse Communication and New Media Department National University of Singapore Singapore [email protected] Abstract better be able to build systems that can reflect and com- The generative capabilities of deep learning neural net- municate about their behavior. works (DNNs) have been attracting increasing attention “Mechanisms” have a contested status in the field of for both the remarkable artifacts they produce, but also computational creativity. Fore some, there is a reluctance because of the vast conceptual difference between how to make the recognition of creativity depend on any partic- they are programmed and what they do. DNNs are ular mechanism, and focus is directed to artifacts over pro- “black boxes” where high-level behavior is not explicit- cess (Ritchie 2007). This at least avoids the phenomenon ly programed, but emerges from the complex interac- plaguing classically programmed AI systems identified by tions of thousands or millions of simple computational John McCarthy that, “as soon as it works, no one calls it AI elements. Their behavior is often described in anthro- any more.” Others (Colton 2008) argue that understanding pomorphic terms that can be misleading, seem magical, or stoke fears of an imminent singularity in which ma- the process by which an artifact in generated is important chines become “more” than human. for an assessment of creativity. In this paper, we examine 5 distinct behavioral char- With neural networks, complex behaviors emerge out of acteristics associated with creativity, and provide an ex- the simple interaction between potentially millions of units.
    [Show full text]
  • City Research Online
    City Research Online City, University of London Institutional Repository Citation: Ollero, J. and Child, C. H. T. (2018). Performance Enhancement of Deep Reinforcement Learning Networks using Feature Extraction. Lecture Notes in Computer Science, 10878, pp. 208-218. doi: 10.1007/978-3-319-92537-0_25 This is the accepted version of the paper. This version of the publication may differ from the final published version. Permanent repository link: https://openaccess.city.ac.uk/id/eprint/19526/ Link to published version: http://dx.doi.org/10.1007/978-3-319-92537-0_25 Copyright: City Research Online aims to make research outputs of City, University of London available to a wider audience. Copyright and Moral Rights remain with the author(s) and/or copyright holders. URLs from City Research Online may be freely distributed and linked to. Reuse: Copies of full items can be used for personal research or study, educational, or not-for-profit purposes without prior permission or charge. Provided that the authors, title and full bibliographic details are credited, a hyperlink and/or URL is given for the original metadata page and the content is not changed in any way. City Research Online: http://openaccess.city.ac.uk/ [email protected] Performance Enhancement of Deep Reinforcement Learning Networks using Feature Extraction Joaquin Ollero and Christopher Child City, University of London, United Kingdom Abstract. The combination of Deep Learning and Reinforcement Learning, termed Deep Reinforcement Learning Networks (DRLN), offers the possibility of us- ing a Deep Learning Neural Network to produce an approximate Reinforcement Learning value table that allows extraction of features from neurons in the hidden layers of the network.
    [Show full text]
  • Google Deep Dream
    Google Deep Dream Team Number: 12 Course: CSE352 Professor: Anita Wasilewska Presented by: Badr AlKhamissi Sameer Anand Kathryn Blecher Marolyn Liang Diego Santos Campo What Is Google Deep Dream? Deep Dream is a computer vision program created by Google. Uses a convolutional neural network to find and enhance patterns in images with powerful AI algorithms. Creating a dreamlike hallucinogenic appearance in the deliberately over-processed images. Base of Google Deep Dream Inception is fundamental base for Google Deep Dream and is introduced on ILSVRC in 2014. Deep convolutional neural network architecture that achieves the new state of the art for classification and detection. Improved utilization of the computing resources inside the network. Increased the depth and width of the network while keeping the computational budget constant of 1.5 billion multiply-adds at inference time. How Does Deep Dream Work? How Does Deep Dream Work? Deep Dream works on a Neural Network (NN) This is a type of computer system that can learn on its own. Neural networks are modeled after the functionality of the human brain, and tend to be particularly useful for pattern recognition. Biological Inspiration Biological Inspiration Convolutional Neural Network (CNN) Feed forward artificial neural network Inspired by the organization of the animal visual cortex (convolution operation) Designed to use minimal amounts of preprocessing Combine Kernel Convolution and Deep Learning Mostly used in image and video recognition, recommender systems and NLP Why Convolutional Networks? Curse of dimensionality Local connectivity Shared Weights CNN Architecture 5.1% Human Error Rate in Identifying Objects 4.94% Microsoft made it better than humans in 2014 3.46% Google inception-v3 model beat them in 2014 Digging Deeper Into The Neural Network Deep Dream’s Convolutional Neural Network must first be trained.
    [Show full text]
  • Art in Machine Learning
    1 Creativity in Machine Learning w0 x0 w1 x1 w2 Martin Thoma x2 Σ ' w3 E-Mail: [email protected] x3 . wn xn Abstract—Recent machine learning techniques can be modified (a) Example of an artificial neuron unit.(b) A visualization of a simple feed- to produce creative results. Those results did not exist before; it xi are the input signals and wi are forward neural network. The 5 in- is not a trivial combination of the data which was fed into the weights which have to get learned. put nodes are red, the 2 bias nodes machine learning system. The obtained results come in multiple Each input signal gets multiplied are gray, the 3 hidden units are forms: As images, as text and as audio. with its weight, everything gets green and the single output node summed up and the activation func- is blue. This paper gives a high level overview of how they are created tion ' is applied. and gives some examples. It is meant to be a summary of the current work and give people who are new to machine learning Fig. 1: Neural networks are based on simple units which get some starting points. combined to complex networks. I. INTRODUCTION This means that machine learning programs adjust internal parameters to fit the data they are given. Those computer According to [Gad06] creativity is “the ability to use your programs are still developed by software developers, but the imagination to produce new ideas, make things etc.” and developer writes them in a way which makes it possible to imagination is “the ability to form pictures or ideas in your adjust them without having to re-program everything.
    [Show full text]
  • Computer Vision and Computer Hallucinations
    A reprint from American Scientist the magazine of Sigma Xi, The Scientific Research Society This reprint is provided for personal and noncommercial use. For any other use, please send a request Brian Hayes by electronic mail to [email protected]. Computing Science Computer Vision and Computer Hallucinations A peek inside an artificial neural network reveals some pretty freaky images. Brian Hayes eople have an amazing knack images specially designed to fool the network proposes a label. If the choice for image recognition. We networks, much as optical illusions fool is incorrect, an error signal propagates can riffle through a stack of the biological eye and brain. Another backward through the layers, reducing pictures and almost instantly approach runs the neural network in the activation of the wrongly chosen Plabel each one: dog, birthday cake, bi- reverse; instead of giving it an image output neuron. The training process cycle, teapot. What we can’t do is ex- as input and asking for a concept as does not alter the wiring diagram of plain how we perform this feat. When output, we specify a concept and the the network or the internal operations you see a rose, certain neurons in your network generates a corresponding of the individual neurons. Instead, it brain’s visual cortex light up with ac- image. A related technique called deep adjusts the weight, or strength, of the tivity; a tulip stimulates a different set dreaming burst on the scene last spring connections between one neuron and of cells. What distinguishing features following a blog post from Google Re- the next.
    [Show full text]
  • Robust Or Private? Adversarial Training Makes Models More Vulnerable to Privacy Attacks
    Robust or Private? Adversarial Training Makes Models More Vulnerable to Privacy Attacks Felipe A. Mejia1, Paul Gamble2, Zigfried Hampel-Arias1, Michael Lomnitz1, Nina Lopatina1, Lucas Tindall1, and Maria Alejandra Barrios2 1Lab41, In-Q-Tel, Menlo Park, USA 2Previously at Lab41, In-Q-Tel, Menlo Park, USA June 18, 2019 Abstract tomer photos. As we increasingly rely on machine learning, it is critical to assess the dangers of the Adversarial training was introduced as a way to im- vulnerabilities in these models. prove the robustness of deep learning models to ad- In a supervised learning environment several com- versarial attacks. This training method improves ro- ponents make up the learning pipeline of a machine bustness against adversarial attacks, but increases the learning model: collection of training data, definition models vulnerability to privacy attacks. In this work of model architecture, model training, and model out- we demonstrate how model inversion attacks, extract- puts { test and evaluation. This pipeline presents a ing training data directly from the model, previously broader attack surface, where adversaries can lever- thought to be intractable become feasible when at- age system vulnerabilities to compromise data privacy tacking a robustly trained model. The input space for and/or model performance. There are four main types a traditionally trained model is dominated by adver- of attacks discussed in literature: sarial examples - data points that strongly activate a certain class but lack semantic meaning - this makes • model fooling { small perturbation to the user it difficult to successfully conduct model inversion at- input leads to large changes in the model output tacks.
    [Show full text]
  • Lecture 9: Visualizing Cnns and Recurrent Neural Networks
    Lecture 9: Visualizing CNNs and Recurrent Neural Networks Tuesday February 28, 2017 * Original slides borrowed from Andrej Karpathy 1 and Li Fei-Fei, Stanford cs231n comp150dl Announcements! - HW #3 is out - Final Project proposals due this Thursday March 2 - Papers to read: Students should read all papers on the Schedule tab, and are encouraged to read as many papers as possible from the Papers tab. - Next paper: March 7 You Only Look Once: Unified, Real-Time Object Detection. If this paper seems too deep or confusing, look at Fast R-CNN, Faster R-CNN comp150dl 2 Python/Numpy of the Day • t-SNE (t-Distributed Stochastic Nearest Neighbor Embedding) • Scikit-Learn t-SNE • Examples of 2D Embedding Visualizations of MNIST dataset • Other Embedding functions in Scikit-Learn comp150dl 3 Visualizing CNN Behavior - How can we see what’s going on in a CNN? - Stuff we’ve already done: - Visualize the weights - Occlusion experiments — ex. Jason and Lisa’s AlexNet Occlusion Tests comp150dl 4 Visualizing CNN Behavior - How can we see what’s going on in a CNN? - Straightforward stuff to try in the future: - Visualize the representation space (e.g. with t-SNE) - Human experiment comparisons comp150dl 5 Visualizing CNN Behavior - How can we see what’s going on in a CNN? - More sophisticated approaches (HW #4) - Visualize patches that maximally activate neurons - Optimization over image approaches (optimization) - Deconv approaches (single backward pass) comp150dl 6 Deconv approaches - projecting backward from one neuron to see what is activating it 1. Feed image into net Q: how can we compute the gradient of any arbitrary neuron in the network w.r.t.
    [Show full text]