TensorFlow Introduction

TensorFlow python library is used in several fields but mostly for Image processing and languaje understanding

Artificial intelligence is a tool that allows technology to go a step further.

Throughout the history of Artificial Intelligence, there have been several subfields developed as methods for problem solving. One of them is Deep Learning. — a multilayered computational process that teaches machines to deal with complex problems-. Today we will be delving into TensorFlow.

TensorFlow is an open source python library that uses deep learning and graph computation. So far, it has been developed for classification, perception, understanding, discovery, prediction and creation. Today version 0.8 has been released, allowing to compute machine learning models across several machines in paralell

It has several advantages with respect to other libraries: flexibility of representation and use-as it can run on desktops, servers, cloud and even mobile devices-, high scalable across many machines and huge datasets, incorporates many tools to help build and visualize the dataflow networks. Besides, it comes well packaged, encompassed by a single API making the execution very streamlined.

MAIN FIELDS

One of the fields for which tensorflow can be extremely useful is image recognition and classification . TensorFlow´s deep neural network Library allows us to learn a concept like “cat” .

In the below animation graphic we can see that upon getting the input image of a cat into that several of the larger Deep Neural Network then we get their food in this case I guess no question answered about if this is a cat or not .

IMAGE : deep neural network used for learning to recognize a cat

Recently a browser-based simulator has been released, in wich you would be able to experiment visually with deeplearning directly experimenting with clustering and hidden layers.

At the language understanding field, abstract TensorFlow shows tensor structures that build semantic relationships between words in gradient ascent or gradient descent -word2vec- , meaning that it is able to create vectors associated with words .

LANGUAJE word2vec TensorFlow constructions creating semantic relationships

If we dig further into the main architecture of TensoFlow we can find five main classes in wich we can operate, and create the computational processes. I will describe them here.

TENSORS

Tensors are multidimensional and dynamically sized data arrays .TF use a tensor data structure to represent all data. This structure can have different levels of complexity, from scalar to even an n-dimensional matrix .

When you create a tensor you have to specify the Rank-parameterizes the structure of the Tensor-, Shape-how we write or represent it on TF defines dimensionality and Type -structure of the kind of data we are going to deal with- in order to operate with it.

Tensors are structural units you can operate with, making several operations such as casting, shaping and slicing and joining . You can know more HERE and/or diving into tf.Tensor class .

VARIABLES

Variable 0-dimensional representation

When you train a model, you use variables to hold and update parameters .Variables contains tensors. In sofmax regressions, weights and bias are considered variables .Can be shaped and restored. It has an specific class tf.Variable class. When you run TF , you must initialize variables . Besides, you can run a lot of operations with variables.

GRAPHS

Knowledge representation is a significant part of what TensorFlow can offer to developers. It creates a visual way of representing Neural Networks .

The complexity of the neural net can be evaluated in the graph, and how variables affect the computation. Besides, you can use other softwares as the brain for drawing the neural net before you actually implement it

Everytime you run a session a computation graph architecture is launched .

TensorFLow graph

ONLINE RESOURCES FOR TENSORFLOW

There is talented people who is teaching amazing examples and applications of TensorFlow, here are some of them :

Official Tutorial and white paper about TensorFlow

Courses : Udacity Deep Learning Course

Book : Jordi Torres has written this amazing book, great for starters

Playground : Browser-based simulator that leets you experiment with a basic TF setup and deep learning

Neural Networks and deep learning

This post complements Madrid Meetup of 14th April about TensorFlow

Thanks for reading . I will be upgrading it weekly with more examples about this library !