Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Equipment >> Robot industrial

Arquitectura de red neuronal para una implementación de Python

Este artículo analiza la configuración de Perceptron que usaremos para nuestros experimentos con el entrenamiento y la clasificación de redes neuronales, y también veremos el tema relacionado de nodos de sesgo.

Bienvenido a la serie de artículos técnicos sobre redes neuronales Todo sobre circuitos. En la serie hasta ahora, vinculada a continuación, hemos cubierto un poco de teoría sobre las redes neuronales.

  1. Cómo realizar la clasificación mediante una red neuronal:¿Qué es el perceptrón?
  2. Cómo utilizar un ejemplo de red neuronal de Perceptron simple para clasificar datos
  3. Cómo entrenar una red neuronal de perceptrón básica
  4. Comprensión del entrenamiento de redes neuronales simples
  5. Introducción a la teoría del entrenamiento para redes neuronales
  6. Comprensión de la tasa de aprendizaje en redes neuronales
  7. Aprendizaje automático avanzado con el perceptrón multicapa
  8. La función de activación sigmoidea:activación en redes neuronales de perceptrones multicapa
  9. Cómo entrenar una red neuronal de perceptrón multicapa
  10. Comprender las fórmulas de entrenamiento y la retropropagación para perceptrones multicapa
  11. Arquitectura de red neuronal para una implementación de Python
  12. Cómo crear una red neuronal de perceptrón multicapa en Python
  13. Procesamiento de señales mediante redes neuronales:validación en el diseño de redes neuronales
  14. Conjuntos de datos de entrenamiento para redes neuronales:cómo entrenar y validar una red neuronal Python

Ahora estamos listos para comenzar a convertir este conocimiento teórico en un sistema funcional de clasificación Perceptron.

Primero quiero presentar las características generales de la red que implementaremos en un lenguaje de programación de alto nivel; Estoy usando Python, pero el código se escribirá de una manera que facilite la traducción a otros lenguajes como C. El siguiente artículo proporciona un recorrido detallado del código Python, y luego exploraremos diferentes formas de entrenamiento. , usando y evaluando esta red.

La arquitectura de red neuronal de Python

El software corresponde al Perceptron que se muestra en el siguiente diagrama.


Estas son las características básicas de la red:

\ [f (x) =\ frac {1} {1 + e ^ {- x}} \]

¿Qué es un nodo de sesgo? (AKA Bias es bueno si eres un perceptrón)

Mientras discutimos la arquitectura de red, debo señalar que las redes neuronales a menudo incorporan algo llamado nodo de sesgo (o puede llamarlo simplemente un "sesgo", sin "nodo"). El valor numérico asociado con un nodo de sesgo es una constante elegida por el diseñador. Por ejemplo:

Los nodos de sesgo se pueden incorporar en la capa de entrada o en la capa oculta, o en ambas. Sus ponderaciones son como cualquier otra ponderación y se actualizan utilizando el mismo procedimiento de retropropagación.

El uso de nodos de sesgo es una razón importante para escribir código de red neuronal que le permite cambiar fácilmente la cantidad de nodos de entrada o nodos ocultos, incluso si solo está interesado en una tarea de clasificación específica, la dimensionalidad de la capa de entrada variable y la capa oculta asegura que pueda experimentar cómodamente con el uso de nodos de sesgo.

En la parte 10, señalé que la señal de preactivación de un nodo se calcula realizando un producto escalar, es decir, multiplica los elementos correspondientes de dos matrices (o vectores, si lo prefiere) y luego suma todos los productos individuales. La primera matriz contiene los valores posteriores a la activación de la capa anterior, y la segunda matriz contiene los pesos que conectan la capa anterior a la capa actual. Por lo tanto, si la matriz de postactivación de la capa anterior se indica con x y el vector de peso se indica con w, se calcula un valor de preactivación de la siguiente manera:

\ [S_ {preA} =w \ cdot x =sum (w_1x_1 + w_2x_2 + \ cdots + w_nx_n) \]

Quizás se pregunte qué diablos tiene esto que ver con los nodos de sesgo. Bueno, el sesgo (indicado por b) modifica este procedimiento de la siguiente manera:

\ [S_ {preA} =(w \ cdot x) + b =sum (w_1x_1 + w_2x_2 + \ cdots + w_nx_n) + b \]

Un sesgo desplaza la señal que es procesada por la función de activación y, por lo tanto, puede hacer que la red sea más flexible y robusta. El uso de la letra b para indicar el valor de sesgo recuerda a la "intersección con el eje y" en la ecuación estándar para una línea recta:y =mx + b . Y esto no es una casualidad. De hecho, el sesgo es como una intersección con el eje y, y es posible que también haya notado que la matriz de pesos es equivalente a una pendiente:

\ [S_ {preA} =(w \ cdot x) + b \]

\ [y =mx + b \]

Pesos, sesgo y activación

Si pensamos en los valores numéricos entregados a la función de activación de un nodo durante el entrenamiento, los pesos aumentan o disminuyen la pendiente de los datos de entrada y el sesgo desplaza los datos de entrada verticalmente. Pero, ¿cómo afecta esto a la salida del nodo? Bueno, supongamos que estamos usando la función logística estándar para la activación:

La transición de f A (x) =0 af A (x) =1 está centrado en un valor de entrada de x =0. Por lo tanto, al usar un sesgo para aumentar o disminuir la señal de preactivación, podemos influir en la ocurrencia de la transición y, por lo tanto, cambiar la función de activación hacia la izquierda o hacia la derecha. . Los pesos, por otro lado, determinan qué tan "rápido" pasa el valor de entrada a través de x =0, y esto influye en la inclinación de la transición en la función de activación.

Conclusión

Hemos hablado de los nodos de sesgo y las características destacadas de la primera red neuronal que implementaremos en software. Ahora estamos listos para ver el código real, y eso es exactamente lo que haremos en el próximo artículo.


Robot industrial

  1. 5 métricas de red para un mundo en la nube
  2. Introducción a la arquitectura de red en AWS Cloud
  3. Python para bucle
  4. Un desglose de la arquitectura NB-IoT para arquitectos de IoT
  5. ¿Busca una alternativa de Z-Wave?
  6. Descripción general de un ingeniero de la arquitectura de red M2M
  7. CEVA:procesador de inteligencia artificial de segunda generación para cargas de trabajo de redes neuronales profundas
  8. La infraestructura de red es clave para los automóviles sin conductor
  9. Python - Programación de redes
  10. 5 consejos básicos de seguridad de red para pequeñas empresas
  11. Explicador:¿Por qué 5G es tan importante para IoT?