En TensorFlow, ¿qué es una capa ‘densa’ y una ‘abandonada’?

Hagamos Dense primero:

Las imágenes hacen una gran diferencia en muchas definiciones abstractas de IA. Mira la primera foto a continuación.

A continuación se muestra una imagen de una red de feedfoward.

En este tipo de arquitectura, solo se permite una conexión entre dos nodos desde los nodos en la capa i hasta los nodos en la capa i + 1 (de ahí el término feedforward ; no se permiten conexiones hacia atrás o entre capas). NOTA: Todas las flechas se mueven en una dirección.

Lo que Nathan escribió es genial: “Una capa densa es una capa totalmente conectada , ya que todas las neuronas de la capa anterior están conectadas a todas las neuronas de la capa siguiente . ”

La imagen a continuación va hacia adelante (mira esas flechas), que se mueve de entrada a salida y está densamente conectada , es decir, todas las conexiones que se mueven de izquierda a derecha se tocan entre sí.

Si tiene la oportunidad, consulte mi curso GRATUITO sobre las bibliotecas principales de aprendizaje automático en Python. Es muy básico y creo que es una gran referencia para principiantes.

Las 5 mejores bibliotecas de aprendizaje automático en Python – Udemy

Okay. Ahora hablemos de abandonar. A continuación tenemos una topología densamente conectada. Todas las capas se mueven hacia adelante y se conectan entre sí. Ahora, mira las neuronas a continuación con líneas punteadas . Han sido abandonados .

La deserción es una técnica en la que las neuronas seleccionadas al azar se ignoran durante el entrenamiento. Se “abandonan” al azar.

Esto significa que su contribución a la activación de las neuronas posteriores se elimina temporalmente en el pase directo y no se aplica ninguna actualización de peso a la neurona.

El efecto es que la red se vuelve menos sensible a los pesos específicos de las neuronas. Esto a su vez da como resultado una red que es capaz de una mejor generalización y es menos probable que sobreajuste los datos de entrenamiento.

Hola,

DENSO

Un Denso es una capa totalmente conectada en el flujo de Tensor (y otros programas como Keras).

Lo que esto significa es que cada neurona en una capa densa estará completamente conectada a cada neurona en la capa anterior.

Por lo general, Dense () se usa después de una operación Flatten () (Flatten () convierte una entrada con una forma de ejemplo de 3x3x10 en una forma de 1 × 90).

Denso también se usa típicamente hacia el final de una red, y a veces varias veces.

Por ejemplo

SomeInput ()

Denso (100)

Denso (50)

Denso (1)

Conectaría cada capa desde una capa de entrada a 100 neuronas, luego esas 100 neuronas se conectarían cada una a 50 neuronas, luego esas 50 neuronas se conectarían cada una a una sola neurona (que muy probablemente sería nuestra salida).

La clave es que cada neurona en una capa densa está conectada a cada neurona en la capa anterior. Por lo tanto, es una capa bastante ‘densa’;).

ABANDONAR

La deserción es un mecanismo que le permite tener una probabilidad de que las neuronas aleatorias se vuelvan inactivas durante un solo elemento de entrenamiento.

Por ejemplo, si tiene una capa que consta de 4 neuronas, y tiene una probabilidad de mantenimiento de .75 para esa capa, hay una probabilidad del 75% aplicada a cada neurona de que se mantendrá, por lo tanto, una probabilidad del 25% de que se mantenga “caerá” para ese punto de entrenamiento. Una neurona caída emitirá un 0 durante una muestra de entrenamiento dada, en lugar de su valor de salida normal.

Esto generalmente ayuda a evitar sobreajustar su modelo de predicción a los datos de entrenamiento, y también se dice que aumenta la precisión.

Una capa densa es una capa totalmente conectada, ya que todas las neuronas de la capa anterior están conectadas a todas las neuronas de la capa siguiente. Estos son diferentes de las capas convolucionales, ya que los pesos se reutilizan en diferentes secciones de la imagen, mientras que una capa densa tiene un peso único para cada neurona a par de neuronas. Esta capa se llama densa porque sus conexiones son “densas”.

Una capa de abandono es una capa especial para la regularización. Básicamente, esto hace que elimine ciertas activaciones de esa capa (las elimina, abandona). Esto es bueno porque la red neuronal debe confiar en un conjunto robusto de características que generaliza, en lugar de sobreajustar los datos: su red tiene que funcionar incluso cuando se omiten algunos datos. Otra forma de explicar el abandono es que la red se convierte esencialmente en un conjunto de múltiples redes neuronales diferentes, siendo cada red única una configuración específica como resultado del abandono.

La capa densa se refiere a la capa completamente conectada. A diferencia de otras capas como la convolución, el tensor en la capa densa se aplana a una sola dimensión.

La deserción es una forma de regularización.

El modelo que cree no debe ser demasiado específico y debe tener la capacidad de generalizarse. Para evitar el ajuste excesivo (demasiado específico), se utilizan métodos de regularización y el abandono es uno de ellos.

La función de abandono desactiva aleatoriamente un conjunto de neuronas en función de la probabilidad dada por el usuario.

Bueno, es simple, Denso y Completamente conectado son nombres diferentes para el mismo trabajo. Todo lo que hacen es conectar varias capas en una sola matriz de neuronas donde el valor de cada neurona vota hacia la probabilidad, detallando la precisión de la imagen.

Las neuronas en una capa totalmente conectada tienen conexiones a todas las activaciones en la capa anterior, como se ve en las redes neuronales regulares. Por lo tanto, sus activaciones pueden calcularse con una multiplicación de matriz seguida de un desplazamiento de polarización.

El abandono, por otro lado, elimina ciertas neuronas al azar para evitar un ajuste excesivo de la red

Puedes encontrar más información aquí

HelloCodings: Redes neuronales convolucionales III