Red de conocimiento de abogados - Derecho de sociedades - Comprenda las cuatro arquitecturas básicas de redes neuronales en un artículo

Comprenda las cuatro arquitecturas básicas de redes neuronales en un artículo

Enlace original:

http://blackblog.tech/2018/02/23/Eight-Neural-Network/

Más información útil la tengo conmigo Mi blog personal http://blackblog.tech Bienvenido a seguir

Cuando recién comienza con las redes neuronales, a menudo se siente confundido por las muchas arquitecturas de redes neuronales. Las redes neuronales parecen complejas y diversas, pero lo son. muchas arquitecturas no son más que tres clases, red neuronal de avance, red recurrente y red de conexión simétrica. Este artículo presentará cuatro redes neuronales comunes, a saber, CNN, RNN, DBN y GAN. A través de estas cuatro arquitecturas básicas de redes neuronales, tendremos una cierta comprensión de las redes neuronales.

La red neuronal es un modelo de aprendizaje automático. Es un modelo matemático algorítmico que imita las características de comportamiento de las redes neuronales animales y realiza un procesamiento de información paralelo distribuido. Este tipo de red se basa en la complejidad del sistema para lograr el propósito de procesar información ajustando las relaciones interconectadas entre una gran cantidad de nodos internos.

En términos generales, la arquitectura de las redes neuronales se puede dividir en tres categorías:

Red neuronal feedforward:

Esta es la red neuronal más común en aplicaciones prácticas. . tipo. La primera capa es la entrada y la última capa es la salida. Si hay varias capas ocultas, la llamamos red neuronal "profunda". Calcularon una serie de transformaciones que cambiaron la similitud de las muestras. La actividad de las neuronas en cada capa es una función no lineal de la actividad de la capa anterior.

Redes recurrentes:

Las redes recurrentes tienen bucles orientados en su gráfico de conexión, lo que significa que puedes seguir las flechas para volver al punto de partida. Pueden tener dinámicas complejas que los hagan difíciles de entrenar. Son biológicamente más auténticos.

El propósito de las redes recurrentes es procesar datos de secuencia. En el modelo de red neuronal tradicional, desde la capa de entrada hasta la capa oculta y luego hasta la capa de salida, las capas están completamente conectadas y los nodos entre cada capa están desconectados. Pero esta red neuronal ordinaria es ineficaz para muchos problemas. Por ejemplo, si desea predecir la siguiente palabra de una oración, generalmente necesita usar la palabra anterior, porque las palabras anteriores y siguientes de una oración no son independientes.

Red neuronal recurrente, es decir, la salida actual de una secuencia también está relacionada con la salida anterior. La manifestación específica es que la red recordará la información anterior y la aplicará al cálculo de la salida actual, es decir, los nodos entre las capas ocultas ya no están desconectados sino conectados, y la entrada de la capa oculta no solo incluye la salida de la capa de entrada También incluye la salida de la capa oculta en el momento anterior.

Redes conectadas simétricamente:

Las redes conectadas simétricamente son algo así como redes recurrentes, pero las conexiones entre unidades son simétricas (tienen el mismo peso en ambas direcciones). Las redes conectadas simétricamente son más fáciles de analizar que las redes recurrentes. Hay más restricciones en esta red porque obedecen las leyes de la función energética. Las redes conectadas simétricamente sin unidades ocultas se denominan "redes Hopfield". Una red simétricamente conectada de unidades ocultas se llama máquina de Boltzmann.

De hecho, en el post anterior se habló de algo sobre el perceptrón, así que lo reiteraré aquí.

Primero que nada, esta imagen

Esta es una neurona M-P

Una neurona tiene n entradas, cada entrada corresponde a un peso w, y la neurona La la entrada y el peso se multiplicarán y luego se sumarán dentro de la unidad. El resultado de la suma será diferente del desplazamiento. Finalmente, el resultado se colocará en la función de activación. La salida final suele ser binaria. y el estado 0 representa Inhibición, el estado 1 representa activación.

El perceptrón puede considerarse como una superficie de decisión de hiperplano en un espacio de instancias de n dimensiones. Para las muestras en un lado del hiperplano, el perceptrón genera 1 y, para las instancias del otro lado, genera 0. Esta decisión es súper. La ecuación del avión es w?x=0.

Los conjuntos de muestras positivas y negativas que pueden dividirse mediante un determinado hiperplano se denominan conjuntos de muestras linealmente separables y pueden representarse mediante el perceptrón en el gráfico.

Los problemas AND, OR y no son problemas linealmente separables y se pueden representar fácilmente usando un perceptrón con dos entradas. XOR no es un problema linealmente separable, por lo que se usa un perceptrón de una sola capa. la máquina no es suficiente, entonces es necesario utilizar el perceptrón multicapa para resolver el problema de la duda.

¿Qué debemos hacer si queremos entrenar un perceptrón?

Comenzaremos con pesos aleatorios y aplicaremos repetidamente el perceptrón a cada ejemplo de entrenamiento, modificando los pesos del perceptrón cada vez que clasifique erróneamente un ejemplo. Este proceso se repite hasta que el perceptrón clasifique correctamente todos los ejemplos. En cada paso, el peso se modifica de acuerdo con la regla de entrenamiento del perceptrón, es decir, el peso wi correspondiente a la entrada xi se modifica. La regla es la siguiente:

Aquí t es la salida objetivo de. ejemplo de entrenamiento actual, y o es la salida del perceptrón, η es una constante positiva llamada tasa de aprendizaje. La función de la tasa de aprendizaje es moderar el grado de ajuste de peso en cada paso. Generalmente se establece en un valor pequeño (como 0,1) y, a veces, disminuye a medida que aumenta el número de ajustes de peso.

El perceptrón multicapa, o red neuronal multicapa, no es más que agregar múltiples capas ocultas entre la capa de entrada y la capa de salida. Las redes neuronales posteriores, como CNN y DBN, simplemente se rediseñarán. tipo de cada capa. Se puede decir que el perceptrón es la base de las redes neuronales. Las redes neuronales más complejas posteriores son inseparables del modelo de perceptrón más simple.

Cuando hablamos de aprendizaje automático, a menudo seguimos otra palabra, se llama reconocimiento de patrones. pero el reconocimiento de patrones en entornos reales a menudo encuentra varios problemas. Por ejemplo:

Segmentación de imágenes: Las escenas reales siempre se mezclan con otros objetos. Es difícil saber qué partes pertenecen al mismo objeto. Partes de un objeto pueden ocultarse detrás de otros objetos.

Iluminación de objetos: La intensidad de los píxeles se ve fuertemente afectada por la iluminación.

Deformación de la imagen: Los objetos se pueden deformar de diversas formas no afines. Por ejemplo, la escritura a mano también puede tener un círculo grande o simplemente una punta puntiaguda.

Soporte situacional: las categorías a las que pertenecen los objetos a menudo se definen por cómo se utilizan. Por ejemplo, las sillas están diseñadas para que la gente se siente, por lo que vienen en una amplia variedad de formas físicas.

La diferencia entre una red neuronal convolucional y una red neuronal ordinaria es que la red neuronal convolucional contiene un extractor de características compuesto por una capa convolucional y una capa de submuestreo. En la capa convolucional de una red neuronal convolucional, una neurona solo está conectada a algunas de las neuronas vecinas. Una capa convolucional de CNN generalmente contiene varios planos de características (featureMap). Cada plano de características está compuesto por algunas neuronas dispuestas rectangularmente. Las neuronas en el mismo plano de características comparten pesos. Aquí*** El peso compartido es el núcleo de convolución. El núcleo de convolución generalmente se inicializa en forma de una matriz decimal aleatoria. Durante el proceso de entrenamiento de la red, el núcleo de convolución aprenderá pesos razonables. El beneficio directo de compartir pesos (núcleos de convolución) es reducir las conexiones entre cada capa de la red, al tiempo que reduce el riesgo de sobreajuste. El submuestreo también se denomina agrupación y generalmente se presenta en dos formas: submuestreo medio (agrupación media) y submuestreo máximo (agrupación máxima). El submuestreo puede considerarse como un proceso de convolución especial. La convolución y el submuestreo simplifican enormemente la complejidad del modelo y reducen los parámetros del modelo.

La red neuronal convolucional consta de tres partes. La primera parte es la capa de entrada. La segunda parte consta de una combinación de n capas convolucionales y capas de agrupación. La tercera parte consta de un clasificador de perceptrones multicapa totalmente conectado.

Aquí está AlexNet como ejemplo:

·Entrada: imagen de tamaño 224×224, 3 canales

·Primera capa de convolución: tamaño 11×11 Allí Hay 96 núcleos de convolución, 48 en cada GPU.

·La primera capa de max-pooling: núcleo 2×2.

·Convolución de segunda capa: 256 núcleos de convolución de 5×5, 128 en cada GPU.

·Max-pooling de segunda capa: núcleo 2×2.

·La tercera capa de convolución: completamente conectada con la capa anterior, con 384 núcleos de convolución de 3*3. Está dividido en dos GPU y tiene 192.

·La cuarta capa de convolución: 384 núcleos de convolución 3×3, 192 en cada una de las dos GPU. La conexión entre esta capa y la capa anterior no pasa a través de la capa de agrupación.

·La quinta capa de convolución: 256 núcleos de convolución 3×3, 128 en las dos GPU.

·La quinta capa de max-pooling: núcleo 2×2.

·La primera capa está completamente conectada: 4096 dimensiones. La salida de la agrupación máxima de la quinta capa está conectada a un vector unidimensional como entrada de esta capa.

·Segunda capa completamente conectada: 4096 dimensiones

·Capa Softmax: la salida es 1000, y cada dimensión de la salida es la probabilidad de que la imagen pertenezca a la categoría.

Las redes neuronales convolucionales tienen aplicaciones importantes en el campo del reconocimiento de patrones. Por supuesto, esta es solo la explicación más simple de las redes neuronales convolucionales. Todavía hay mucho conocimiento sobre las redes neuronales convolucionales, como las receptivas locales. campos, pesos, intercambio de valor por dinero, múltiples núcleos de convolución y otros contenidos se explicarán más adelante cuando tengamos la oportunidad.

Las redes neuronales tradicionales son difíciles de manejar muchos problemas. Por ejemplo, si desea predecir la siguiente palabra de una oración, generalmente necesita usar la palabra anterior, porque las palabras anteriores y siguientes de una oración. no son independientes. La razón por la que RNN se denomina red neuronal recurrente es que la salida actual de una secuencia también está relacionada con la salida anterior. La manifestación específica es que la red recordará la información anterior y la aplicará al cálculo de la salida actual, es decir, los nodos entre las capas ocultas ya no están desconectados sino conectados, y la entrada de la capa oculta no solo incluye la salida de la capa de entrada También incluye la salida de la capa oculta en el momento anterior. En teoría, RNN puede procesar datos de secuencia de cualquier longitud.

Esta es una estructura RNN simple. Puede ver que la capa oculta en sí se puede conectar a sí misma.

Entonces, ¿por qué la capa oculta de RNN puede ver la salida de la capa oculta en el momento anterior? De hecho, quedará muy claro cuando expandamos la red.

De la fórmula anterior, podemos ver que la diferencia entre la capa cíclica y la capa completamente conectada es que la capa cíclica tiene una matriz de peso adicional W.

Si llevamos repetidamente la ecuación 2 a la ecuación 1, obtendremos:

Antes de hablar de DBN, debemos tener una cierta comprensión de la unidad componente básica de DBN, que es RBM, una máquina Boltzmann restringida.

En primer lugar, ¿qué es una máquina Boltzmann?

[Error en la carga de la imagen...(image-d36b31-1519636788074)]

Como se muestra en la figura es una máquina Boltzmann, sus nodos azules son capas ocultas y el blanco El nodo está la capa de entrada.

En comparación con la máquina de Boltzmann y la red neuronal recursiva, las diferencias se reflejan en los siguientes puntos:

1. La esencia de la red neuronal recursiva es aprender una función, por lo que tiene entrada y capas de salida El concepto de la máquina Boltzmann es aprender la "representación intrínseca" de un conjunto de datos, por lo que no tiene concepto de capa de salida.

2. Los nodos de la red neuronal recursiva están conectados en un anillo dirigido, mientras que los nodos de la máquina de Boltzmann están conectados en un gráfico completo no dirigido.

¿Y qué es una máquina Boltzmann restringida?

La forma más sencilla es añadir una restricción, que convierte el gráfico completo en un gráfico bipartito. Es decir, consta de una capa visible y una capa oculta, y las neuronas de la capa visible y la capa oculta están completamente conectadas en dos direcciones.

h representa la capa oculta, v representa la capa explícita.

En RBM, hay un peso w entre dos neuronas conectadas para representar la fuerza de la conexión. Cada neurona tiene un sesgo. coeficiente b (para neuronas de capa explícita) yc (para neuronas de capa oculta) para representar su propio peso.

La derivación de la fórmula específica no se mostrará aquí

DBN es un modelo generativo probabilístico. En comparación con la red neuronal del modelo discriminante tradicional, el modelo generativo consiste en establecer datos de observación. y etiqueta La distribución conjunta entre ellos evalúa tanto P (Observación | Etiqueta) como P (Etiqueta | Observación), mientras que el modelo discriminante solo evalúa este último, que es P (Etiqueta | Observación).

DBN se compone de múltiples capas de máquinas Boltzmann restringidas (Máquinas Boltzmann restringidas). En la figura se muestra un tipo de red neuronal típico. Estas redes están "restringidas" a una capa visible y una capa oculta, con conexiones entre las capas pero no entre unidades dentro de las capas. Las unidades de capa oculta están entrenadas para capturar correlaciones de datos de alto orden representadas en la capa visual.

Las redes generativas de confrontación ya se han explicado en publicaciones anteriores, así que las explicaré aquí.

El objetivo de las redes generativas adversarias es generar. Nuestras estructuras de red tradicionales son a menudo modelos discriminativos, es decir, juzgar la autenticidad de una muestra. El modelo generativo puede generar nuevas muestras similares basadas en las muestras proporcionadas. Tenga en cuenta que estas muestras las aprende la computadora.

GAN generalmente consta de dos redes, una red modelo de generación y una red modelo discriminante.

El modelo generado G captura la distribución de los datos de muestra y utiliza el ruido z que obedece a una determinada distribución (distribución uniforme, distribución gaussiana, etc.) para generar una muestra similar a los datos de entrenamiento reales. El efecto es que cuanto más similar sea a las muestras reales, mejor; el modelo discriminante D es un clasificador binario que estima la probabilidad de que una muestra provenga de datos de entrenamiento (no de datos generados). Si la muestra proviene de datos de entrenamiento reales, D. genera una probabilidad alta; de lo contrario, D genera una probabilidad pequeña.

Por ejemplo: la red de generación G es como una banda de fabricación de moneda falsa, que se especializa en fabricar moneda falsa. La red de discriminación D es como la policía, que se especializa en detectar si la moneda utilizada es moneda real o. Moneda falsificada. El objetivo de G es encontrar formas de generar moneda que sea igual a la moneda real. La moneda hace imposible que D la identifique. El objetivo de D es encontrar formas de detectar la moneda falsificada generada por G. .

Red discriminante tradicional:

Red adversarial generativa:

A continuación se muestra un ejemplo de cDCGAN (escrito en el post anterior)

Generando red

Red discriminante

El resultado final es usar MNIST como muestra inicial. A través de los números generados después del aprendizaje, podemos ver que el efecto de aprendizaje es bueno.

Este artículo presenta muy brevemente la arquitectura de cuatro redes neuronales, CNN, RNN, DBN y GAN. Por supuesto, es sólo una breve introducción y no explica en profundidad su connotación. Las arquitecturas de estas cuatro redes neuronales son muy comunes y ampliamente utilizadas. Por supuesto, es imposible explicar el conocimiento sobre redes neuronales en unas pocas publicaciones. Aquí explicaremos algunos conocimientos básicos para ayudarlo a comenzar (zhuang) rápidamente (bi). Las siguientes publicaciones explicarán el codificador automático profundo, la red de memoria a corto plazo (LSTM) de la red Hopfield.