Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Redes Neuronales con TFLearn

Redes Neuronales con TFLearn

Los primeros pasos en el mundo de TensorFlow

Valery Briz

October 07, 2017
Tweet

More Decks by Valery Briz

Other Decks in Programming

Transcript

  1. Los primeros pasos en el mundo de TensorFlow

    View Slide

  2. Antes que nada, qué es TensorFlow?
    Google define a TensorFlow™ como una librería open
    source para computación numérica usando gráficas de flujo
    de datos.

    View Slide

  3. Y en español, qué es TensorFlow?
    Tensorflow nos sirve para construir y entrenar redes
    neuronales que utilizamos para detectar y descifrar patrones
    y correlaciones, análogos al aprendizaje y razonamiento
    usados por los humanos.

    View Slide

  4. Cómo funciona TensorFlow?
    El cerebro humano consiste en billones de neuronas
    interconectadas por sinapsis. Si "suficientes" sinapsis activan
    una neurona entonces esa neurona también se activará. A
    ese proceso le llamamos Pensar.

    View Slide

  5. Cómo funciona TensorFlow?
    Orientado a Deeplearning
    http://www.junglelightspeed.com/the-fourth-generation-
    of-machine-learning-adaptive-learning/

    View Slide

  6. Deeplearning, en resumen
    La "Depth" o Profundidad viene de las capas ocultas.
    https://chatbotslife.com/deep-learning-in-7-lines-of-code-7879a8ef8cfb

    View Slide

  7. Deeplearning, en resumen
    https://www.analyticsvidhya.com/blog/2017/04/comparison-between-deep-learning-machine-learning/

    View Slide

  8. Mientras más complejo el problema más
    compleja la solución

    View Slide

  9. View Slide

  10. Pero primero lo básico, Neuronas
    https://pythonprogramming.net/neural-networks-machine-learning-tutorial/

    View Slide

  11. Neuronas artificiales (Nodos)
    https://pythonprogramming.net/neural-networks-machine-learning-tutorial/

    View Slide

  12. Neuronas artificiales (Nodos)
    https://pythonprogramming.net/neural-networks-machine-learning-tutorial/

    View Slide

  13. Qué es un Tensor y porqué hay un flujo
    Un "vector" es una lista de valores, una matriz es una
    lista de vectores (tabla), luego tenemos las listas de
    tablas (la lista de la lista de la lista), luego tenemos
    las tablas de tablas y asi... hasta el infinito y más alla.
    Todos estos son tensores.

    View Slide

  14. Qué es un Tensor y porqué hay un flujo
    https://chatbotslife.com/tensorflow-demystified-80987184faf7

    View Slide

  15. Qué es un Tensor y porqué hay un flujo
    FLOW

    View Slide

  16. Entonces en resumen

    View Slide

  17. Para entender un poco más

    View Slide

  18. Para entender un poco más
    • http://playground.tensorflow.org

    View Slide

  19. Para entender un poco más
    • https://www.udacity.com/course/deep-learning--
    ud730
    • https://research.googleblog.com/2016/01/teach-
    yourself-deep-learning-with.html
    • https://openwebinars.net/cursos/machine-learning-
    tensorflow/
    • http://jorditorres.org/research-
    teaching/tensorflow/libro-hello-world-en-tensorflow/

    View Slide

  20. TFlearn es un framework o capa de abstracción para
    facilitarnos el uso de TensorFlow en Python
    http://tflearn.org/
    TFlearn

    View Slide

  21. Instalando
    # sudo pip install tflearn
    # sudo pip install numpy
    # sudo pip install tensorflow

    View Slide

  22. Toy data (datos para realizar pruebas)
    Vamos a utilizar un array de 5 bits
    que será nuestra entrada, de la
    cual la salida es [0,1] o [1,0]
    dependiendo en el primer y el
    ultimo bit.
    [0,1,1,1,1] -> [0,1]
    [1,1,1,1,0] -> [0,1]
    [1,1,1,0,0] -> [0,1]
    [1,1,0,0,0] -> [0,1]
    [1,0,0,0,1] -> [1,0]
    [0,1,1,0,1] -> [0,1]
    [1,0,0,1,1] -> [1,0]

    View Slide

  23. Código: los datos de entrenamiento
    features = []
    features.append([[0, 0, 0, 0, 0], [0,1]])
    features.append([[1, 1, 1, 0, 1], [1,0]])
    random.shuffle(features)
    features = np.array(features)
    train_x = list(features[:,0])
    train_y = list(features[:,1])

    View Slide

  24. Código: Construyendo la Red Neural
    red = tflearn.input_data(shape=[None, 5])
    red = tflearn.fully_connected(red, 32)
    red = tflearn.fully_connected(red, 32)
    red = tflearn.fully_connected(red, 2, activation='softmax')
    red = tflearn.regression(red)
    model = tflearn.DNN(red, tensorboard_dir='tflearn_logs')
    model.fit(train_x, train_y, n_epoch=500, batch_size=16,
    show_metric=True)

    View Slide

  25. Código: Construyendo la Red Neural
    model.fit(train_x, train_y, n_epoch=500, batch_size=16, show_metric=True)

    View Slide

  26. Código: Obteniendo resultados
    print(model.predict([[0, 0, 0, 0, 1]]))
    print(model.predict([[1, 1, 1, 0, 0]]))

    View Slide

  27. Resultados
    [[ 0.02393746 0.97606248]]
    [[ 0.02751286 0.97248715]]
    https://github.com/valerybriz/simpleTFlearnExample

    View Slide

  28. Preguntas / Comentarios
    @PythonGuatemala
    @valerybriz

    View Slide