There’s a big problem with AI: even its creators can’t explain how it works

No one really knows how the most advanced algorithms do what they do. That could be a problem.

Source: There’s a big problem with AI: even its creators can’t explain how it works

It’s a good run down of some of the places where accountability (self-driving cars, medical recommendations, AI driven tanks and drones, Siri, etc) is very important in order to understand, use and trust the choices a deep learning AI uses.

Open sourcing Sonnet – a new library for constructing neural networks with Tensorflow

We have found that the flexibility and adaptiveness of TensorFlow lends itself to building higher level frameworks for specific purposes, and we’ve written one for quickly building neural network modules with TF. We are actively developing this codebase, but what we have so far fits our research needs well, and we’re excited to announce that today we are open sourcing it. We call this framework Sonnet.

Source: Open sourcing Sonnet – a new library for constructing neural networks | DeepMind

The main principle of Sonnet is to first construct Python objects which represent some part of a neural network, and then separately connect these objects into the TensorFlow computation graph. The objects are subclasses of sonnet.AbstractModule and as such are referred to as Modules.

Modules may be connected into the graph multiple times, and any variables declared in that module will be automatically shared on subsequent connection calls. Low level aspects of TensorFlow which control variable sharing, including specifying variable scope names, and using the reuse= flag, are abstracted away from the user.

Separating configuration and connection allows easy construction of higher-order Modules, i.e., modules that wrap other modules. For instance, the BatchApply module merges a number of leading dimensions of a tensor into a single dimension, connects a provided module, and then splits the leading dimension of the result to match the input. At construction time, the inner module is passed in as an argument to the BatchApply constructor. At run time, the module first performs a reshape operation on inputs, then applies the module passed into the constructor, and then inverts the reshape operation.

An additional advantage of representing Modules by Python objects is that it allows additional methods to be defined where necessary. An example of this is a module which, after construction, may be connected in a variety of ways while maintaining weight sharing. For instance, in the case of a generative model, we may want to sample from the model, or calculate the log probability of a given observation. Having both connections simultaneously requires weight sharing, and so these methods depend on the same variables. The variables are conceptually owned by the object, and are used by different methods of the module.

Github repository

This AI stuff is all talk! Bots invent their own language to natter away behind humans’ backs

At first, the bot lingo was more like Morse code: an abstract symbol was agreed upon and then scattered among spaces to create meaning, the researchers explained in a blog post.

The team tweaked the experiment so that there was a slight penalty on every utterance for every bot, and they added an incentive to get the task done more quickly. The Morse code-like structure was no longer advantageous, and the agents were forced to use their “words” more concisely, leading to the development of a larger vocabulary.

The bots then sneakily tried to encode the meaning of entire sentences as a single word. For example, an instruction such as “red agent, go to blue landmark” was represented as one symbol.

Although this means the job is completed more quickly since agents spend less time nattering to one another, the vocabulary size would grow exponentially with the sentence length, making it difficult to understand what’s being said. So the researchers tried to coax the agents into reusing popular words. A reward was granted if they spoke a “particular word that is proportional to how frequently that word has been spoken previously.”

Since the AI babble is explicitly linked to its simple world, it’s no wonder that the language lacks the context and richness of human language.

Source: This AI stuff is all talk! Bots invent their own language to natter away behind humans’ backs

Towards a lip-reading computer

The system, which has been trained on thousands of hours of BBC News programmes, has been developed in collaboration with Google’s DeepMind AI division.

“Watch, Attend and Spell”, as the system has been called, can now watch silent speech and get about 50% of the words correct. That may not sound too impressive – but when the researchers supplied the same clips to professional lip-readers, they got only 12% of words right.

Joon Son Chung, a doctoral student at Oxford University’s Department of Engineering, explained to me just how challenging a task this is. “Words like mat, bat and pat all have similar mouth shapes.” It’s context that helps his system – or indeed a professional lip reader – to understand what word is being spoken.

“What the system does,” explains Joon, “is to learn things that come together, in this case the mouth shapes and the characters and what the likely upcoming characters are.”

The BBC supplied the Oxford researchers with clips from Breakfast, Newsnight, Question Time and other BBC news programmes, with subtitles aligned with the lip movements of the speakers. Then a neural network combining state-of-the-art image and speech recognition set to work to learn how to lip-read.

After examining 118,000 sentences in the clips, the system now has 17,500 words stored in its vocabulary. Because it has been trained on the language of news, it is now quite good at understanding that “Prime” will often be followed by “Minister” and “European” by “Union”, but much less adept at recognising words not spoken by newsreaders.

Source: Towards a lip-reading computer – BBC News

MXNet – Amazon machine learning Open sourced

MXNet stands for mix and maximize. The idea is to combine the power of declartive programming together with imperative programming. In its core, a dynamic dependency scheduler that automatically parallelizes both symbolic and imperative operations on the fly. A graph optimization layer on top of that makes symbolic execution fast and memory efficient. The library is portable and lightweight, and it scales to multiple GPUs and multiple machines.

Source: MXNet

Google Cloud can now recognise items in videos

Cloud Video Intelligence API (now in Private Beta) uses powerful deep-learning models, built using frameworks like TensorFlow and applied on large-scale media platforms like YouTube. The API is the first of its kind, enabling developers to easily search and discover video content by providing information about entities (nouns such as “dog,” “flower” or “human” or verbs such as “run,” “swim” or “fly”) inside video content. It can even provide contextual understanding of when those entities appear; for example, searching for “Tiger” would find all precise shots containing tigers across a video collection in Google Cloud Storage.

Announcing Google Cloud Video Intelligence API, and more Cloud Machine Learning updates

Did they just copy the Github project Miles Deep – AI Porn Video Editor which can recognise and classify sexual acts in porn videos and make it more socially acceptable?

Keras – deep learning library for Tensorflow and Theano

Keras: Deep Learning library for Theano and TensorFlow
You have just found Keras.

Keras is a high-level neural networks library, written in Python and capable of running on top of either TensorFlow or Theano. It was developed with a focus on enabling fast experimentation. Being able to go from idea to result with the least possible delay is key to doing good research.

Use Keras if you need a deep learning library that:

Allows for easy and fast prototyping (through total modularity, minimalism, and extensibility).
Supports both convolutional networks and recurrent networks, as well as combinations of the two.
Supports arbitrary connectivity schemes (including multi-input and multi-output training).
Runs seamlessly on CPU and GPU.

Source: Keras Documentation

Image-to-Image Translation with Conditional Adversarial Networks

We investigate conditional adversarial networks as a general-purpose solution to image-to-image translation problems. These networks not only learn the mapping from input image to output image, but also learn a loss function to train this mapping. This makes it possible to apply the same generic approach to problems that traditionally would require very different loss formulations. We demonstrate that this approach is effective at synthesizing photos from label maps, reconstructing objects from edge maps, and colorizing images, among other tasks. As a community, we no longer hand-engineer our mapping functions, and this work suggests we can achieve reasonable results without hand-engineering our loss functions either.

Source: Image-to-Image Translation with Conditional Adversarial Networks

This is the pix2pix implementation in Tensorflow

The above link also has concrete examples allowing you to play with the data yourself on level = easy.

Image-to-Image Demo
Interactive Image Translation with pix2pix-tensorflow
Written by Christopher Hesse — February 19th, 2017

This is the man who made the tensorflow port and also uses it to fill in drawings of cats.

New ETSI group on improving operator experience using Artificial Intelligence

ETSI is pleased to announce the creation of the Industry Specification Group ‘Experiential Network Intelligence’ (ISG ENI).

The purpose of the group is to define a Cognitive Network Management architecture that is based on the “observe-orient-decide-act” control model. It uses AI (Artificial Intelligence) techniques and context-aware policies to adjust offered services based on changes in user needs, environmental conditions and business goals. The system is experiential, in that it learns from its operation and from decisions given to it by operators to improve its knowledge of how to act in the future. This will help operators automate their network configuration and monitoring processes, thereby reducing their operational expenditure and improving the use and maintenance of their networks.

Source: New ETSI group on improving operator experience using Artificial Intelligence

AI Software Juggles Probabilities to Learn from Less Data

Gamalon uses a technique that it calls Bayesian program synthesis to build algorithms capable of learning from fewer examples. Bayesian probability, named after the 18th century mathematician Thomas Bayes, provides a mathematical framework for refining predictions about the world based on experience. Gamalon’s system uses probabilistic programming—or code that deals in probabilities rather than specific variables—to build a predictive model that explains a particular data set. From just a few examples, a probabilistic program can determine, for instance, that it’s highly probable that cats have ears, whiskers, and tails. As further examples are provided, the code behind the model is rewritten, and the probabilities tweaked. This provides an efficient way to learn the salient knowledge from the data.

Source: AI Software Juggles Probabilities to Learn from Less Data

Microsoft Graph Engine goes open source on github

Graph Engine – Open Source

Microsoft Graph Engine is a distributed in-memory data processing engine, underpinned by a strongly-typed in-memory key-value store and a general distributed computation engine.

This repository contains the source code of Graph Engine and its graph query language — Language Integrated Knowledge Query (LIKQ). LIKQ is a versatile graph query language on top of Graph Engine. It combines the capability of fast graph exploration and the flexibility of lambda expression: server-side computations can be expressed in lambda expressions, embedded in LIKQ, and executed on the server side during graph traversal. LIKQ is powering Academic Graph Search API, which is part of Microsoft Cognitive Services.

Source: GitHub – Microsoft/GraphEngine: Microsoft Graph Engine

The Life-Changing Magic of Tidying Text in an R package

As described by Hadley Wickham, tidy data has a specific structure:

each variable is a column
each observation is a row
each type of observational unit is a table

This means we end up with a data set that is in a long, skinny format instead of a wide format. Tidy data sets are easier to work with, and this is no less true when one starts to work with text. Most of the tooling and infrastructure needed for text mining with tidy data frames already exists in packages like dplyr, broom, tidyr, and ggplot2. Our goal in writing the tidytext package is to provide functions and supporting data sets to allow conversion of text to and from tidy formats, and to switch seamlessly between tidy tools and existing text mining packages.

Source: The Life-Changing Magic of Tidying Text

text2vec

text2vec is an R package which provides an efficient framework with a concise API for text analysis and natural language processing (NLP).

Goals which we aimed to achieve as a result of development of text2vec:

Concise – expose as few functions as possible
Consistent – expose unified interfaces, no need to explore new interface for each task
Flexible – allow to easily solve complex tasks
Fast – maximize efficiency per single thread, transparently scale to multiple threads on multicore machines
Memory efficient – use streams and iterators, not keep data in RAM if possible

Source: text2vec

Facebook’s AI unlocks the ability to search photos by what’s in them

Initially used to improve the experience for visually impaired members of the Facebook community, the company’s Lumos computer vision platform is now powering image content search for all users. This means you can now search for images on Facebook with key words that describe the contents of a photo, rather than being limited by tags and captions.

To accomplish the task, Facebook trained an ever-fashionable deep neural network on tens of millions of photos. Facebook’s fortunate in this respect because its platform is already host to billions of captioned images. The model essentially matches search descriptors to features pulled from photos with some degree of probability.
[…]
Facebook isn’t the only one racing to apply recent computer vision advances to existing products. Pinterest’s visual search feature has been continuously improved to let users search images by the objects within them. This makes photos interactive and more importantly it makes them commercializable.

Google on the other hand open sourced its own image captioning model last fall that can both identify objects and classify actions with accuracy over 90 percent. The open source activity around TensorFlow has helped the framework gain prominence and become very popular with machine learning developers.

Facebook is focused on making machine learning easy for teams across the company to integrate into their projects. This means improving the use of the company’s general purpose FBLearner Flow.

“We’re currently running 1.2 million AI experiments per month on FBLearner Flow, which is six times greater than what we were running a year ago,” said Joaquin Quiñonero Candela, Facebook’s director of applied machine learning.

Lumos was built on top of FBLearner Flow. It has already been used for over 200 visual models. Aside from image content search, engineers have used the tool for fighting spam.

Source: Facebook’s AI unlocks the ability to search photos by what’s in them | TechCrunch

600 Goldman traders replaced by 200 computer engineers

Average compensation for staff in sales, trading, and research at the 12 largest global investment banks, of which Goldman is one, is $500,000 in salary and bonus, according to Coalition. Seventy-five percent of Wall Street compensation goes to these highly paid “front end” employees, says Amrit Shahani, head of research at Coalition.

For the highly paid who remain, there is a growing income spread that mirrors the broader economy, says Babson College professor Tom Davenport. “The pay of the average managing director at Goldman will probably get even bigger, as there are fewer lower-level people to share the profits with,” he says.
[…]
Goldman Sachs has already begun to automate currency trading, and has found consistently that four traders can be replaced by one computer engineer, Chavez said at the Harvard conference. Some 9,000 people, about one-third of Goldman’s staff, are computer engineers.
[…]
Goldman’s new consumer lending platform, Marcus, aimed at consolidation of credit card balances, is entirely run by software, with no human intervention, Chavez said. It was nurtured like a small startup within the firm and launched in just 12 months, he said. It’s a model Goldman is continuing, housing groups in “bubbles,” some on the now-empty trading spaces in Goldman’s New York headquarters: “Those 600 traders, there is a lot of space where they used to sit,” he said.

Source: As Goldman Embraces Automation, Even the Masters of the Universe Are Threatened

dataviz.tools – a curated guide to the best tools, resources and technologies for data visualization

This site features a curated selection of data visualization tools meant to bridge the gap between programmers/statisticians and the general public by only highlighting free/freemium, responsive and relatively simple-to-learn technologies for displaying both basic and complex, multivariate datasets. It leans heavily toward open-source software and plugins, rather than enterprise, expensive B.I. solutions.
Why?

Well, information visualization, or InfoVis, has for the past three decades been mostly regarded as a specialty skill relegated to the ranks of researchers and scientists. But in recent years, the proliferation of Big Data combined with a surge of new, open-source tools for data display have given rise to the democratization of “data visualization” and “data journalism.” It’s something anyone can do. As such, all resources that may require basic programming knowledge are labeled as such.

As Simon Rogers of The Guardian so artfully stated in 2008, “Anyone can do it. Data journalism is the new punk.”

Source: dataviz.tools

CMU AI Is Tough Poker Player

As the “Brains vs. Artificial Intelligence: Upping the Ante” poker competition nears its halfway point, Carnegie Mellon University’s AI program, Libratus, is opening a lead over its human opponents — four of the world’s best professional poker players.One of the pros, Jimmy Chou, said he and his colleagues initially underestimated Libratus, but have come to regard it as one tough player.”The bot gets better and better every day,” Chou said. “It’s like a tougher version of us.”
[…]
In the first Brains vs. AI contest in 2015, four leading pros amassed more chips than the AI, called Claudico. But in the latest contest, Libratus had amassed a lead of $459,154 in chips in the 49,240 hands played by the end of Day Nine.

“I’m feeling good,” Sandholm said of Libratus’ chances as the competition proceeds. “The algorithms are performing great. They’re better at solving strategy ahead of time, better at driving strategy during play and better at improving strategy on the fly.”

Source: CMU AI Is Tough Poker Player | Carnegie Mellon School of Computer Science

Deconvolution and Checkerboard Artifacts — Distill

When we look very closely at images generated by neural networks, we often see a strange checkerboard pattern of artifacts. It’s more obvious in some cases than others, but a large fraction of recent models exhibit this behavior.

Mysteriously, the checkerboard pattern tends to be most prominent in images with strong colors. What’s going on? Do neural networks hate bright colors? The actual cause of these artifacts is actually remarkably simple, as is a method for avoiding them.

Source: Deconvolution and Checkerboard Artifacts — Distill

How to Use t-SNE Effectively — Distill

A popular method for exploring high-dimensional data is something called t-SNE, introduced by van der Maaten and Hinton in 2008. The technique has become widespread in the field of machine learning, since it has an almost magical ability to create compelling two-dimensonal “maps” from data with hundreds or even thousands of dimensions. Although impressive, these images can be tempting to misread. The purpose of this note is to prevent some common misreadings.

Source: How to Use t-SNE Effectively — Distill