Redes neuronales

Las redes neuronales artificiales, (también llamadas perceptrones multicapa) son el fundamento del deep learning. Y como el deep learning es el campo más prometedor de la inteligencia artificial a día de hoy, podría decirse que las redes neuronales son el fundamento de inteligencia artificial moderna.

Definición

El objetivo de una red neuronal es aproximar una función, cualquier función. Esto quiere decir que una red neuronal es capaz de transformar unos datos de entrada en unos datos salida, al igual que lo haría una función matemática. Se usa el término aproximar porque normalmente la función que se quere conseguir se desconoce, y el objetivo de la red neuronal es acercarse lo maximo posible y conseguir esa función partiendo solamete de los datos de entrada con su correspondiente salida.

Exiten funciones simples como la suma, donde los datos de entrada son los números a sumar, y la salida es la suma. Pero también existen funciones complejas como el reconocimiento de imágenes, donde la entrada son los pixels de la imagen, y la salida es la clase del objeto que se detecta. Una red neuronal será capaz de aproximar cualquier función si tiene la estructura adecuada y le damos suficientes datos para que aprenda, veamos como.

Funcionamiento

La red neuronal se compone por varias unidades de procesamiento contectadas unas con otras llamadas perceptrones (o coloquialmente neuronas). Un perceptrón podría definirse como la implemeteación matemática de una neurona biológica.

Una neurona produce una señal eléctrica por su salida (axon), cuando recive la suficiente carga electrica por sus entradas (dentritas). La salida de una neurona se conecta a la entrada de otra mediante una sinpasis. Cuanto mayor sea la sinapsis, más probabilidad de que la segunda neurona se active cuando se active la primera.

El perceptrón imita dicho funcionamiento. Las señales eléctricas se convierten en valores numéricos. La entrada x, es una lista de números (vector) que se multiplica por los pesos sinápticos w (weights en inglés) del perceptrón. Estas multiplicaciones se suman y se aplica una función de acctivación para producir la salida. Para entender con mayor detalle como funciona, visita la página del perceptrón.

<img src=https://upload.wikimedia.org/wikipedia/commons/thumb/b/b0/Perceptr%C3%B3n_5_unidades.svg/400px-Perceptr%C3%B3n_5_unidades.svg.png />

Una red neuronal se compone por perceptrones distribuidos por capas. Cada perceptrón, toma como entrada todas las salidas de la capa anterior, para producir su propia salida que, será transmitida a los perceptrones de la capa siguiente. La primera capa (input layer) son los datos, no son perceptrones.

<img src=http://www.cs.us.es/~fsancho/images/2017-02/neuralnetwork.png />

El término deep (profundo) de deep learning hace referencia al número de capas de la red. Normalmente, con mayor profundidad (más capas) se pueden extraer características más abstractas de los datos. Más adelante veremos como elegir un número adecuado de capas y de perceptrones por capa. Pero teóricamente podemos aproximar cualquier función con tan sólo una capa oculta con las suficientes neuronas.

Introducción

menos de 1 minuto de lectura

La humanidad siempre ha deseado otras entidades inteligentes. Desde los dioses de la antigua Gracia hasta la inteligencia artificial de hoy en día.

Introducción

5 minuto de lectura

Estamos ante el nacimiento de una nueva tecnología. La tecnología que ha resucitado a la inteligencia artificial. La tecnología que imita al cerebro. Y la te...

Álgebra lineal

menos de 1 minuto de lectura

El álgebra lineal es una rama de las matemáticas que estudia conceptos tales como vectores y matrices.

Machine learning

menos de 1 minuto de lectura

Deep learning es un tipo especial de machine learning. Así que para enterder el deep learning bien, hay tener un buen entendimiento de que es machine lerning...

Perceptrón

3 minuto de lectura

Las neuronas de nuestro cerebro son las responsables de nuestra inteligencia, una nerona por si sola no es capaz de mucho pero cuando se conectan muchas, una...

Red neuronal

2 minuto de lectura

¿sabes cuantas neuronas tienes en tu cerebro? 86000 millones (86,000,000,000) pero eso no es nada si nos comparamos con un elefante, que tiene 215,000,000,00...

Redes neuronales

2 minuto de lectura

Las redes neuronales artificiales, (también llamadas perceptrones multicapa) son el fundamento del deep learning. Y como el deep learning es el campo más pro...

Ejemplo: XOR

1 minuto de lectura

Para tener claro como funciona una red neuronal, vamos a ver un ejemplo concreto, la función XOR. Esta función es bastante simple, sólo toma 2 valores binari...

Descenso por gradiente

2 minuto de lectura

Descenso por gradiente es el método por el cual las redes neuronales aprenden. Se basa en alcanzar el mínimo de la función de error (o funcíon de coste). Rec...

Diseño de la arquitectura

2 minuto de lectura

Otra aspecto a tener en cuenta es la estructura de la red neuronal: ¿Cuántas unidades usar, y cómo conectarlas? Las unidades se agrupan por capas y estas se ...

Regularización

1 minuto de lectura

Un aspecto importante en machine learning es hacer que los algortimos funcionen bien para los nuevos datos nunca vistos. Esto se conoce como regularización. ...

Optimización

1 minuto de lectura

Desafortunadamente, nuestros ordenadores tienen una capacidad de cómputo limitada. Por lo tanto es necesario necesario usar algunos truquillos para aligerar ...

Prueba

menos de 1 minuto de lectura

MathJax is a simple way of including Tex/LaTex/MathML based mathematics in HTML webpages. To get up and running you need to include the MathJax script in the...