Cuando usa ReLU, está usando una función escalonada que se evalúa a 0 cuando la entrada es menor o igual a 0. Debido a esta naturaleza por partes, el gradiente es 0 si la entrada es <= 0, ya que la pendiente aquí es 0. Sin embargo, si cada ejemplo de entrenamiento hace que una determinada neurona tenga un valor negativo (que luego se convierte en 0 después de aplicar ReLU), entonces la neurona nunca se ajustará, ya que no importa qué ejemplo de entrenamiento se seleccione (o qué lote) el gradiente en la neurona será 0. Por lo tanto, la neurona es completamente inútil: genera 0 independientemente de qué ejemplo de entrenamiento se presente, y no importa cuánto entrenamiento, siempre generará 0 (ya que sus pesos nunca cambian; el gradiente siempre es 0 )
En la práctica, una red con activaciones de ReLU a menudo tiene algunas neuronas muertas, pero algunas neuronas muertas no causarán demasiado problema. Sin embargo, hay demasiadas neuronas muertas y la red neuronal pierde mucho de su poder explicativo. Afortunadamente, hacer un seguimiento de las neuronas muertas no es terriblemente difícil.
Como mencionó Tapabrata, el uso de ReLU con fugas resuelve el problema de las neuronas muertas.
- ¿Cómo negocia una IA?
- ¿Cuál es el subcampo más popular dentro de la IA hoy en día?
- ¿Podría la burocracia ser reemplazada por inteligencia artificial? ¿Qué pasa con el sistema de justicia?
- Si se te ocurrieran tres nuevas leyes de la robótica, ¿cuáles serían?
- ¿Se podría utilizar el aprendizaje automático para enseñar a una IA (o mejorar una existente) cómo jugar MMORPG / MOBA (por ejemplo, WoW, LoL)? ¿Qué tan bueno podría ser la IA?