redes recurrente oculta neuronales neuronal humanas funciones explicacion ejemplos combativas capa activacion artificial-intelligence neural-network

artificial intelligence - recurrente - Salida continua en redes neuronales



redes neuronales explicacion (3)

Gran parte del trabajo en el campo de la neuroevolución implica el uso de redes neuronales con entradas y salidas continuas.

Hay varios enfoques comunes:

  • Un nodo por valor
    • Funciones de activación lineal : como otros han notado, puede usar funciones de activación no sigmoideas en los nodos de salida si le preocupa el rango limitado de funciones sigmoideas. Sin embargo, esto puede causar que su salida sea arbitrariamente grande, lo que puede causar problemas durante el entrenamiento.
    • Funciones de activación sigmoideas : simplemente escalar la salida sigmoidea (o cambiar y escalar, si quiere valores negativos) es un enfoque común en la neuroevolución. Sin embargo, vale la pena asegurarse de que su función sigmoidea no sea demasiado empinada: una función de activación pronunciada significa que el rango de valores "útiles" es pequeño, lo que obliga a que el peso de la red sea pequeño. (Esto es principalmente un problema con los algoritmos genéticos, que utilizan una estrategia de modificación de peso fijo que no funciona bien cuando se desean pequeños pesos).

sigmoide regular http://natekohl.net/media/sigmoid-reg.gif empinado sigmoide http://natekohl.net/media/sigmoid-steep.gif

  • Múltiples nodos por valor : difundir un solo valor continuo sobre múltiples nodos es una estrategia común para representar las entradas continuas. Tiene el beneficio de proporcionar más "funciones" para que una red juegue, a costa de aumentar el tamaño de la red.
    • Binning : distribuye una única entrada sobre múltiples nodos (por ejemplo, redes RBF , donde cada nodo es una función base con un centro diferente que se activará parcialmente con la entrada). Obtiene algunos de los beneficios de las entradas discretas sin perder una representación fluida.
    • Representación binaria : divida un solo valor continuo en 2 fragmentos N , luego introduzca ese valor en la red como un patrón binario para N nodos. Este enfoque es compacto, pero es algo frágil y da como resultado una entrada que cambia de manera no continua.

¿Cómo puedo configurar redes neuronales para que acepten y generen un rango continuo de valores en lugar de uno discreto? Por lo que recuerdo de hacer una clase de la Red Neural hace un par de años, la función de activación sería sigmoidea, que arroja un valor entre 0 y 1. Si quiero que mi red neuronal arroje un escalar de valor real, ¿qué debo hacer? ? Pensé que tal vez si quería un valor entre 0 y 10, podría simplemente multiplicar el valor por 10. ¿Qué pasa si tengo valores negativos? ¿Es esto lo que la gente suele hacer o hay alguna otra manera? ¿Qué hay de la entrada?

Gracias


Normalmente necesitará filtrar (conversión de nivel, etc.) tanto en la entrada como en la salida. Obviamente, filtrar la entrada cambiará el estado interno, por lo que es necesario tener en cuenta que no se pierda la señal que está tratando de entrenar.


No hay reglas que requieran que la salida (*) sea una función particular . De hecho, normalmente necesitamos agregar algunas operaciones aritméticas al final de la función per-se implementada en un nodo dado, para escalar y forzar la salida a una forma particular.

La ventaja de trabajar con salidas de todo o nada y / o de 0.0 a 1.0 de salida normalizada es que hace que las cosas sean más fáciles de tratar, y también evita problemas de desbordamiento y cosas por el estilo.

(*) "Salida" puede entenderse aquí como el salto de un nodo dado (neurona) dentro de la red o el de la red como un todo.
Como indica Mark Bessey, la entrada [a la red como un todo] y la salida [de la red] típicamente reciben algún tipo de filtrado / conversión. Como se insinuó en esta respuesta y en el comentario de Mark, puede ser preferible tener nodos normalizados / estándar en las capas "ocultas" de la red, y aplicar cierta normalización / conversión / discretización según se requiera para la entrada y / o salida de la red. la red; Sin embargo, tal práctica es solo una cuestión de practicidad más que un requisito imperativo de las Redes Neuronales en general.