Una corta intro a las Redes Neuronales Artificiales
Tags: ai, tutorial, deeplearning, tensorflow
Published: 2021-09-23 03:51:26

Hola Mundo! Seguro escuchaste algo de las Redes Neuronales Artificiales RNAs cuando se habla de la Inteligencia Artificial 🤖 

En este blog, comentaré un poco sobre qué son las RNAs o ANNs (Artificial Neural Networks), como también un par de recomendaciones para aprender más sobre este tema.


**La inspiración** 🤩
El cuerpo humano y en especial el cerebro es una gran fuente de inspiración para entender la inteligencia y pues, de alguna forma, modelarla matemáticamente.

En la imagen a continuación, se puede ver que el "cell body" es la parte del procesamiento de información, así como las dendritas representan el ingreso de los datos a ser procesados.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/c7qzflf7s1acmgkmcl5r.png)

Es interesante entender su representación matemática: los datos de entrada, la sumatoria de estas entradas, la función de activación y la salida de esta neurona, que probablemente se convierte en entrada para la siguiente neurona en la siguiente capa.


**La no-linearlidad** 🤔
Entre las diferentes técnicas de Machine Learning, podemos citar a la "regresión lineal" que nos ayuda a predecir: "precio de casa", "crecimiento poblacional", entre otros. Sin embargo, varios problemas de la vida real no se resuelven de forma lineal, y es aquí donde esta combinación de entradas y funciones de activación, permiten tener mejoras significativas en las aplicaciones de Machine Learning, hasta lograr entender el contenido de las imágenes y también entender el lenguaje (cómo cuando le hablas a un asistente de voz)

![image](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yylgmmjtrsquv15s3fd2.png)
 
**Recomendaciones** 🤓
En este blog, no explico los conceptos básicos, pero si los menciono porque es importante conocer los fundamentos de este tema, para disfrutar mejor la práctica y hacernos más cuestionamientos que nos permitan entender el mundo de la IA.

![image](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/k9ropobumgkzek13dwqm.png)

Si estas aprendiendo sobre Redes Neuronales Artificiales, debes conocer ¿qué es? ¿cómo funciona? ¿cómo se lo programa y/o modifica?... los siguientes puntos:
* Perceptrón y Multicapas
* Funciones de Activación: Sigmoid, RELU, etc
* Descenso de Gradiente (Gradient Descent)
* Función Costo
* Funciones de Optimización para RNAs
* Feed forward y Back propagation
* Tipos de RNAs


Herramientas para construir las RNAs, sin taaanto código o matemática por detras:
* [TensorFlow](https://www.tensorflow.org/) de Google
* [PyTorch](https://pytorch.org/) de Facebook
* [Caffe](http://caffe.berkeleyvision.org/) de BAIR

Tipos de RNAs:
* Redes Convolucionales: Convolutional Neural Networks CNN (estas son las de visión 👀)
* Redes Recurrentes: Recurrent Neural Networks RNN (estas para el lenguaje 🗣️)
* Generative Adversarial Networks GAN (con las que se puede hacer los deepfake 😱)

Reconocimiento de imágenes, como en la imagen 🙈
![image](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ujweooc1t3jxephsze1l.png)



Si es la primera vez que estas queriendo empezar con las RNAs, te recomiendo seguir el tutorial de TensorFlow con su ejemplo del [Fashion MNIST](https://www.tensorflow.org/tutorials/keras/classification)
Además, el curso completo de especialización en Coursera [Introduction to TensorFlow for Artificial Intelligence, Machine Learning, and Deep Learning](https://www.coursera.org/learn/introduction-tensorflow)


 Hay mucho que hablar sobre las Redes Neuronales Artificiales 🤖, así que nos vemos en otros blogs (o también en mi [canal de YouTube](https://www.youtube.com/c/leslysandra))