Modelo de red neuronal: breve introducción, glosario y retropropagación

Publicado: 2020-05-22

Si eres un entusiasta de la ingeniería de software que intenta comprender cómo funcionan las redes neuronales, estás en el lugar correcto.

En esta guía, ayudaremos a los principiantes a aprender el significado de las redes neuronales, obtener una introducción sobre qué es un modelo de red neuronal y expandir su conocimiento a nuevas áreas del campo.

Tabla de contenido

¿Qué es una Red Neuronal?

Antes de entrar en terminología computacional, comprendamos la existencia de redes neuronales en nuestra vida cotidiana.

El término "neural" proviene de "neurona", que es el término utilizado para una sola célula nerviosa. Así es, una red neuronal significa esencialmente una red de neuronas que realizan acciones simples en nuestra vida diaria.

El reconocimiento de patrones, la detección de objetos y la inteligencia son un aspecto importante de los problemas que enfrentamos todos los días. Si bien se realizan con tanta facilidad que ni nos damos cuenta, lo cierto es que estas reacciones son difíciles de automatizar.

Ejemplo:

  • Niños memorizando cómo es una manzana
  • Un animal que reconoce a su madre o dueño.
  • Percibir si algo está caliente o frío

Nuestras redes neuronales realizan estos cálculos complicados.

Los humanos ahora han podido construir un sistema de computación que puede funcionar de manera similar a nuestro sistema nervioso. Estas se denominan redes neuronales artificiales (ANN).

Si bien inicialmente usamos las ANN para realizar funciones simples, el aumento en el poder de cómputo ahora nos ha permitido construir una arquitectura de red neuronal bastante poderosa para resolver problemas cada vez más complicados.

Aprendamos sobre ANN en profundidad en la siguiente sección.

Leer: Tutorial de detección de objetos de TensorFlow para principiantes

¿Qué es un modelo de red neuronal artificial?

Una red neuronal multicapa totalmente conectada que contiene una capa de entrada, capas ocultas y una capa de salida se denomina red neuronal artificial o ANN.

La siguiente imagen representa una ANN.

Fuente

Si observa detenidamente, notará que cada nodo en una capa está conectado a cada nodo en la capa contigua.

A medida que aumenta el número de capas ocultas, la red se vuelve más profunda.

Veamos cómo se ve un nodo individual en la capa oculta o de salida.

Fuente

Como puede ver, el nodo recibe muchas entradas. Suma todos los pesos y los pasa como salida, a través de una función de activación no lineal.

Esta salida del nodo se convierte en la entrada del nodo en la siguiente capa.

Una cosa importante a tener en cuenta aquí es que la señal siempre se moverá de izquierda a derecha. Una vez que todos los nodos hayan seguido el procedimiento, se dará la salida final.

Así es como se ve la ecuación de un nodo.

Fuente

En la ecuación anterior, b es el sesgo. Es la entrada a todos los nodos y siempre lleva el valor 1.

El sesgo ayuda a mover el resultado de la función de activación hacia la izquierda o hacia la derecha.

Glosario de modelo de red neuronal artificial

Veamos los términos básicos que debe conocer cuando se trata de un modelo de red neuronal artificial.

Entradas

Los datos que primero ingresan a la red neuronal desde la fuente se denominan entrada. Su objetivo es proporcionar datos a la red para tomar una decisión o predicción sobre la información que se alimenta. El modelo de red neuronal generalmente acepta conjuntos de valores reales de entradas y debe alimentarse a una neurona en la capa de entrada.

Conjunto de entrenamiento

Las entradas para las que ya conoce las salidas correctas se denominan conjuntos de entrenamiento. Estos se utilizan para ayudar a que la red neuronal se entrene y memorice el resultado para el conjunto de entrada dado.

Salidas

Cada red neuronal genera una salida como una predicción o decisión sobre los datos que se introducen en ella. Esta salida tiene la forma de un conjunto de valores reales o decisiones booleanas. Solo de las neuronas en la capa de salida genera el valor de salida.

Neurona

También conocida como perceptrón, una neurona es la unidad básica de una red neuronal. Acepta un valor de entrada y genera una salida basada en él.

Como se discutió antes, cada neurona recibe una parte de la entrada y la pasa a través de la función de activación no lineal al nodo en la siguiente capa. Estas funciones de activación pueden ser TanH, sigmoid o ReLu. La característica no lineal de estas funciones ayuda a entrenar la red.

espacio de peso

Cada neurona tiene un peso numérico. Cuando entrega entrada a otra nota, su peso se suma con los demás para generar una salida. Haciendo pequeños cambios en estos pesos es como se entrenan las redes neuronales. El ajuste fino de las ponderaciones ayuda a determinar el conjunto correcto de ponderaciones y sesgos que generarían el mejor resultado. Aquí es donde entra la retropropagación.

¿Qué es la retropropagación en un modelo de red neuronal?

Una de las formas de descubrir con éxito los pequeños cambios que deben realizarse en los pesos para minimizar la pérdida de toda la red es la retropropagación.

  • En primer lugar, las activaciones deben propagarse hacia arriba o hacia adelante.
  • Ahora, las derivadas de la función de costo deben propagarse en dirección descendente o inversa.

De esta forma, podrá determinar la derivada del costo parcial contra cada peso. Luego puede calcular el costo que se reduciría al hacer los ajustes.

Conclusión

Muchos ingenieros de software no recomiendan el modelo de red neuronal, ya que sienten que es bastante ineficiente, dado que se necesitan varias iteraciones para llegar a la solución más rentable.

Sin embargo, numerosos algoritmos nuevos, como las redes de cápsulas de Hinton, las redes neuronales de cápsulas, requieren muchas menos instancias de ajustes para alcanzar un modelo preciso. Y así, seguramente las redes neuronales tienen mucho alcance en el futuro.

Si está interesado en obtener más información sobre el aprendizaje automático, consulte el Diploma PG en aprendizaje automático e IA de IIIT-B y upGrad, que está diseñado para profesionales que trabajan y ofrece más de 450 horas de capacitación rigurosa, más de 30 estudios de casos y asignaciones, IIIT- B Estado de exalumno, más de 5 proyectos prácticos finales prácticos y asistencia laboral con las mejores empresas.

¿Por qué necesitas estudiar matemáticas para la inteligencia artificial?

Al contrario de lo que muchos pensamos, la inteligencia artificial depende en gran medida de las matemáticas. Todo el concepto de enseñar a las máquinas a pensar y actuar de manera similar a los seres humanos se basa en conceptos que pertenecen a diferentes ramas de las matemáticas, como la probabilidad y la estadística, por mencionar algunas. La ciencia de datos también viene con sus fundamentos relacionados con varios conceptos matemáticos, desde cálculo, álgebra lineal y teoría de juegos hasta regresiones avanzadas, clasificaciones, estadísticas, probabilidad, descenso de gradiente y más. Los fundamentos sólidos en matemáticas son esenciales para desarrollar una comprensión efectiva de los conceptos de IA, lo que lo ayudará a construir una carrera exitosa en este campo.

¿Es la red neuronal un algoritmo en el aprendizaje automático?

Las redes neuronales artificiales o simplemente redes neuronales pueden definirse como un conjunto de algoritmos de aprendizaje automático diseñados para parecerse al cerebro humano y creados para el reconocimiento de patrones avanzados. Las redes neuronales están diseñadas para identificar patrones numéricos dentro de vectores en los que se traducen todos los datos acumulados. Al detectar patrones dentro de datos no estructurados o imprecisos, las redes neuronales ayudan a clasificar y formar grupos para mejorar el almacenamiento y la gestión de datos. Los datos sensoriales que se alimentan a las redes neuronales se interpretan a través de una percepción de máquina que etiqueta o agrupa los datos de entrada.

¿Por qué es necesaria la retropropagación en las redes neuronales?

En el ámbito de las redes neuronales artificiales, el método de retropropagación en realidad se refiere a la propagación hacia atrás de errores. Esta es una técnica estandarizada utilizada para entrenar redes neuronales artificiales y va por iteraciones. La retropropagación se utiliza para ajustar los pesos de una red neuronal artificial, ayudar a minimizar los errores y hacer que el sistema sea más preciso y confiable. Este método funciona rápidamente y también se puede programar de forma sencilla. Es una técnica flexible; no necesita conocimientos previos sobre la red neuronal. No implica parámetros adicionales, solo sintoniza los números introducidos en el sistema.