Es un proyecto muy, muy pequeño, pero brevemente: una investigación sobre cómo la activación sigmoidal puede hacer que una red neuronal sea más ‘expresiva’. Específicamente, un conjunto de redes neuronales.
Por ejemplo, supongamos que tiene un conjunto con 5 ramas CNN diferentes. ¿Cómo podría saber con certeza si las 5 ramas son incluso necesarias para su problema? ¿Cómo podría saber si esas 5 ramas pueden estar dañando su precisión de clasificación debido a la increíble cantidad de ruido que pueden crear 5 mínimos locales diferentes?
No puedes!
- ¿Puedes entrenar una red neuronal para convertir pseudocódigo arbitrario en código fuente canónico?
- En el aprendizaje por refuerzo, ¿cómo manejas un gran espacio de acción posible?
- ¿Debería leer el libro Inteligencia artificial: un enfoque moderno a pesar de que no tengo mucho conocimiento de algoritmos?
- ¿Cómo entrenó una red neuronal de Caffe en un conjunto de datos de grano fino como automóviles, pájaros, etc.?
- ¿Cómo podemos evitar el secuestro de IA de alto nivel por parte de delincuentes? ¿Cómo podrían usarlo contra el mundo?
Pero, lo que puede hacer es informarle a su red neuronal que tiene la opción de cerrar una de sus ramas cada vez que lo necesite. Tal vez aprenda a adaptarse al ruido y encontrar las gemas ocultas, pero si no puede, darle esta opción nuclear puede hacer maravillas por su precisión. Y eso es exactamente lo que puede hacer mi técnica de activación sigmoidal.
Ha funcionado? Sí, pero no en ningún grado que considere significativo. Dejé mi instancia de EC2 ejecutándose durante la noche, y volví a un aumento de precisión del .9% sobre el modelo no sigmoidal en CIFAR-10. Interesante, pero tan pequeño que podría deberse a una posibilidad aleatoria. E incluso si no se debió a una posibilidad aleatoria, esa baja protuberancia no vale los parámetros de 1.5M que agrega mi activación sigmoidea.
Rehice el modelo esta mañana y lo dejé correr nuevamente. Con suerte, serán algo más interesante una vez que termine.
ACTUALIZACIÓN: 7:26 PM el 10/02/18:
Mientras esperaba que el modelo no sigmoideo terminara de ejecutarse (el nuevo modelo sigmoide terminó esta mañana), decidí ver si las activaciones sigmoideas realmente podrían servir como un indicador prefabricado para imágenes adversas. Dado que las activaciones controlaban cada rama, parecía probable que una colección diferente de ramas activadas pudiera servir como un cable de disparo para ejemplos adversos.
Desafortunadamente, después de las pruebas, las activaciones con FGSM de baja épsilon son casi idénticas a las de las imágenes no adversarias, lo que demuestra que mi hipótesis es algo errónea. Digo ‘algo’, porque en un épsilon semi alto (.2), había una rama muy clara que señalaba si una imagen era o no adversaria. Un épsilon tan alto se detecta fácilmente mediante inspección visual, por lo que no fue muy útil para una red poder ver eso. Sin embargo, algo de esfuerzo, alguien con más experiencia de la que yo podría desarrollar este trabajo y hacer algo interesante.