[Desarrollo AI] fórmula cero código para que pueda entender la entrada y salida de la red neuronal

El título de este artículo es bastante extraño, similar a la Internet pueden rara vez dedicado a la entrada de la red neuronal y artículos relacionados con la producción. En mi proceso de trabajo y aprendizaje real, es necesario encontrar las entradas y salidas de redes neuronales hacer una introducción más amplia. Al igual que con el anterior blog, no aparece en esta clase de artículos de código correspondiente o la fórmula, o si desea utilizar un gráfico más intuitivo para ilustrar el problema, los lectores tienen menos probabilidades de obtener el código mediante la lectura de artículos o soluciones con el fin de solicitar directamente al proyecto real en. Desde que hago principalmente CV relacionada con la red neuronal de convolución para entender más, este artículo se refiere a la red neuronal red neuronal de convolución CNN.

Para que respecta al aprendizaje supervisado (este artículo sólo para el aprendizaje supervisado), el principal problema a resolver es x-> y del problema de asignación, es decir la entrada X, nuestro modelo es predecir su salida Y. Digamos que aquí es la entrada X, Y aquí está la salida, X e Y puede ser una matriz de alta dimensión (no el concepto tradicional de valores continuos).

Si el aprendizaje tradicional o máquina neuronal basada en red de aprendizaje profundo, sobre todo, de acuerdo con esta ley, por lo que el álgebra lineal en la máquina de aprendizaje es muy importante. Después de determinar el formato de entrada de la salida, el número de red neuronal de entrada-salida (rama) de diferentes estructuras pueden variar, resumió que contiene un total de cuatro.

 

SISO

Esta combinación de entrada y salida son más comunes, una introducción general a los artículos básicos sobre redes neuronales son citados como ejemplos de tales estructuras. La estructura de la red contiene sólo una rama de entrada y una rama de salida, tales como perros y gatos identificados tasas ejemplos más familiares que pertenecen a esta clase son predichos. Pasaremos una imagen de entrada RGB como una red neuronal de convolución, salida de la red neuronal es la probabilidad de que los gatos y los perros. Vamos a albergar un atributo (tamaño, posición, orientación, número de retretes etc.) pasa como entrada a una red neural completamente conectado, la red neuronal precios de las casas de salida. Podemos ver el problema con esta red neuronal de una sola entrada simple y salida para resolver relativamente sencillo, puede representar una predicción rama de salida, y requirió la predicción basada en redes neuronales (entrada) es también relativamente simple, una rama puede recibir todas las entradas de entrada.

Como se muestra arriba, la mitad superior de perros y gatos es un problema clásico de identificación (clasificación), que comprende una rama de entrada, una de tres canales receptor de imágenes RGB, que comprende una rama, la salida de las probabilidades de salida de gatos y perros. La mitad inferior es una predicción clásico RATE (regresión), que comprende una rama de entrada que recibe las características de atributo de una casa, que comprende una rama de salida, la salida de las tasas de predicción casa.

Si un poco más profundas, gatos y perros siempre asumiendo otra red neural tamaño de la imagen de entrada es 224 * 224, la salida de la función de activación utilizando Softmax, que comprende dos nodos, cada uno representan probabilidades gatos y perros, y añadir 1 (podemos función de activación sigmoide usando el problema de dos clases de tratar, sólo un nodo). red neuronal de predicción de tasa supuesta que comprende un área de entrada (valor), orientación (antiguo valor discreto), baja (valor), la posición (definido seis regiones Wuhan, valor discreto) y el número de habitaciones (definido entre 1-4 , valor discreto), la salida es función de activación de línea, que comprende un nodo, que representa la tasa de la casa. A continuación, podemos ver el formato de los datos de entrada y salida para cada rama:

Se muestra, podemos ver arriba, aunque una pluralidad de valores de entrada y de salida pueden incluir, pero todavía estos valores se pueden combinar en una matriz de alta dimensión (vector pertenece a la matriz), es una entrada de proceso o de las ramas de salida demostrado de nuevo, la importancia del álgebra lineal en el aprendizaje automático. En particular, la profundidad del estudio, todos los datos se transmiten en unidades de la matriz, la profundidad de aprendizaje de nomenclatura marco TensorFlow de la comparación de imágenes: flujo tensor (es decir tensor de la matriz), se describe en el proceso de transferencia de datos de la red neural.

 

Entrada Única Salida Múltiple

En muchos casos, se resuelve un problema complejo. Por ejemplo, los gatos y los perros identificados anteriormente ejemplos citados, sólo para identificar un animal es lo que, si ahora no sólo debe identificar la figura es un gato o un perro, también es necesario para identificar perros color del pelaje y gatos, el original no puede ser el tipo de estructura de red también apropiarse, ya que sólo tiene una rama de salida, la rama de salida sólo puede se trata de un gato o un perro. ¿Cómo hacer este caso el diseño de redes neuronales? La respuesta es simple, es para dar la salida de la red neuronal más una rama, los gatos y los perros predicción de saltos para la piel:

Como se muestra arriba, añadimos una rama de salida, capa la predicción de ramificación animal. Ahora, para cualquiera de la imagen de entrada, no sólo somos capaces de identificar la figura es un gato o un perro, podemos identificar su color del pelo, un montón de red neuronal de gran alcance. Veamos más, supongamos que la piel de los animales se define entre el negro, blanco y gris, entonces la entrada de la rama de salida del formato de datos de la red:

Por encima, hay dos ramas de salida, la primera rama es un binario, un vector de 2 dimensiones de salida, que representa las especies animales predichos, la segunda rama de tres categorías, la salida de un vector de 3 dimensiones, que representa la capa del animal . red neuronal rama de salida ha cambiado, entonces tiene formato de datos de entrenamiento va a cambiar, justo antes de los animales especificados clasificación de datos, y ahora también tienen que especificar el pelaje del animal, por lo que para cualquier datos de entrenamiento trainX, tenemos que especificar como un TrainY1 etiqueta y TrainY2, correspondientes, respectivamente, la clasificación de animales TrainX y capa de clasificación.

Podemos ver una nueva rama de salida sigue haciendo la tarea de clasificación, si podemos clasificar y volver a fusionarse con ella? Por supuesto que podemos. Vamos a aumentar la edad de una rama de salida para predecir los animales:

Como se muestra arriba, hemos añadido otra vez una nueva rama de salida, la rama volverá la tarea de predecir la edad del animal, su salida es un vector de 1 dimensión, representante de la edad del animal. La misma red de sucursales de salida cambiado, la formación de sus formatos de datos también tienen que cambiar con él, para cada uno de datos de entrenamiento TrainX, tenemos que especificar el TrainY1 correspondiente, TrainY2 y TrainY3, que representa la clasificación de los animales, el color del pelaje y la edad real correspondiente.

Tenga en cuenta que esto sólo para ilustrar una red neuronal puede contener múltiples ramificaciones de salida, y no consideró la razonabilidad de los escenarios, después de todo, a juzgar por la imagen de una imagen de un gato edades de hecho un poco difícil, cara de gato como los rasgos faciales no es suficiente, sería difícil decir que la edad.

 

Multiple-entrada y salida única

Explicada anteriormente se de entrada de modo único, una rama de entrada puede recibir todos los datos necesarios para la red neural. En algunas ocasiones, una rama no puede procesar una pluralidad de diferentes formatos de datos de entrada, tales como la red neural contiene imágenes, números y otros valores discretos como entrada. Aquí está un gato poner un ejemplo: proporcionando una imagen del gato y la edad del gato y el género de predecir el precio del gato. Así que esta vez tenemos que tener dos rama de entrada a la red neuronal, y recibir imágenes y los gatos de edad y sexo:

Como se muestra arriba, la red neural que comprende dos ramas de entrada, una primera rama recibe la imagen RGB como entrada, una edad gato rama segunda de recepción y el sexo (y valores numéricos discretos) como entrada, la salida de la red neural de los últimos gatos de venta precio. Tenga en cuenta que: cuando CNN típicamente manejar datos complejos como formato de imagen, la figura dos ramas de entrada de cada una con un enfoque diferente, pero el valor final de la Rama característica intermedia por dos de mezcla, etc además combinarse juntos procesar la conclusión de que el valor predicho. Aquí la salida final por el efecto combinado de las dos primeras ramas.

El gato se supone que el tamaño de la imagen de entrada es de 416 * 416, sigue siendo el color de las imágenes RGB, entonces esta rama de cada formato de datos:

Como puede observarse, las dos ramas de entrada tienen sus propios requisitos de formato de datos. Una primera rama recibe una matriz de 416 * 416 * 3, una segunda rama de recepción un vector de 3 dimensiones, el gato precio final de salida predicho. Después de la entrada de la red sucursal cambio neuronal, también es necesario el formato de datos correspondiente formación que ser ajustado, basado en el contenido de las ediciones anteriores, esta formación incluye la entrada TrainX1 y TrainX2, que representa las imágenes de gato y la edad del gato y el género, la salida es TrainY, es decir, los gatos el precio de venta real. Aunque la red neural comprende dos Branch, pero después de la formación, error de propagación hacia atrás, dos Branch promedio en peso se puede ajustar y optimizado.

 

Múltiple Salida Múltiple Entrada 

Esto no quiere decir, la combinación de ellos se describe anteriormente MIMO. La única advertencia es que las ramas de entrada y de salida modifican la estructura, lo que corresponde a la formación formatos de datos necesitan hacer cambios, como TrainX1, TrainX2 corresponde TrainY1 y TrainY2.

Marco común profundidad de aprendizaje tales como tensorflow, caffe, Keras, etc., se puede lograr fácilmente la encima de cuatro estructura de salida de la red neural de profundidad.  Sentado en su casa dos meses, y finalmente volver a trabajar la próxima semana. Si usted tiene alguna pregunta sobre este artículo, recepción para dejar un mensaje.

 

Supongo que te gusta

Origin www.cnblogs.com/xiaozhi_5638/p/12591612.html
Recomendado
Clasificación