neural-network - las - redes neuronales explicacion
DiseƱando Redes Neuronales (3)
Estoy aprendiendo sobre redes neuronales y la propagación hacia atrás. Creo que entiendo cómo funciona la red, en términos de entrada, salida, capas ocultas, pesos, sesgos, etc. Sin embargo, todavía no entiendo completamente cómo diseñar una red para que se ajuste a un problema. Es decir: digamos que quería una red neuronal para aprender a jugar Drafts, ¿cómo traduciría el problema a un diseño de red neuronal? Saludos :)
Bueno, creo que tu problema es el problema de cualquier otro diseñador de NN ... Una cosa que siempre debes tener en cuenta, las NN son modelos heurísticos. Por lo tanto, aprenden por experiencia, de manera similar a nosotros. No puede "insertar" conocimiento puro en la NN (que es posible en otros algoritmos de SC) Mi enfoque a su problema, o cualquier problema general que enfrente, es comenzar con una pregunta : "¿Cómo le enseñaría esto a alguien?"
Tienes que conocer las reglas del juego, y con qué variables puedes jugar y qué quieres. Entonces, tienes que entrenar la red (obtener datos) con el objetivo de ganar el juego, como si fuera un niño. Después de suficientes cambios en los datos y el peso, la NN debería poder contestar jugadas razonables para ganar el juego ... ¡a medida que más datos obtengas, más precisa la respuesta que puedas tener y, por lo tanto, un mejor jugador!
No es nada concluyente ni lineal, pero es mi perspectiva;) ¡Buena suerte!
Definitivamente hay muchas decisiones que deben tomarse al diseñar una red neuronal, y no hay una respuesta correcta. Sin embargo, hay algunas preguntas generales que a menudo son útiles para pensar:
¿Qué estás tratando de generar como salida? Drafts parece ser un juego desafiante para jugar con una red neuronal, porque hay muchos movimientos posibles y los disponibles cambian de turno a turno, pero probablemente querrás que la salida sea el siguiente.
¿Cuáles son tus entradas? Esto debería incluir cualquier cosa que crea que sería útil para tomar la decisión que desea que tome la red neuronal. En el ejemplo de los borradores, es probable que necesites darle a la red neuronal la ubicación de todas las piezas en el tablero.
¿Recurrente o feed-forward? En general, a menos que haya una razón realmente importante para proporcionarle información sobre lo que se hizo en el pasado, es mejor utilizar el feed-forward, porque le permite entrenar la red con la propagación hacia atrás. Para los borradores, por ejemplo, es probable que desee utilizar una red de feed-forward.
¿Necesitas una capa oculta? Esta es una pregunta difícil de conocer, y podría requerir algo de experimentación, a menos que sepa mucho sobre el espacio de alta dimensión que ocupan sus entradas. Los borradores son lo suficientemente complejos como para requerir una capa oculta, pero es difícil estar seguro.
Obviamente, hay muchas más decisiones que pueden / deben tomarse con respecto a la configuración de la red neuronal, pero esperamos que estas le ayuden a avanzar.
Modelar el problema utilizando una red neuronal (o cualquier otro tipo de modelo) es un problema desafiante; No hay una bala mágica para esto. Recomendaría leer sobre técnicas que otros hayan desarrollado y ver si puede aplicarlas a su problema. Podrías comenzar con una referencia como,
https://en.wikipedia.org/wiki/Types_of_artificial_neural_networks
Y busca en google scholar para más ejemplos.