El ANN funciona como un clasificador después de entrenar, es decir, cuando se alimenta con una “nueva” imagen de entrada (una que no se usa en su entrenamiento, por lo general) dice “sí” o “no” en relación con la existencia de la propiedad de imagen que fue utilizado para entrenar a la red.
Este es un ejemplo: si el ANN se alimenta con una imagen y se le pregunta “¿es esta una imagen de un gato, sí o no?”, El ANN luego responde con un número generalmente entre 0 (“no”) y 1 (“sí “), Que tiene algo el significado de una probabilidad que indica el grado de confianza entre” totalmente no “y” totalmente sí “. Suponemos que el ANN fue entrenado previamente con muchas imágenes de gatos y muchas imágenes de “no gatos” (perros, cerdos, autos, selfies, árboles, …).
Entonces, para usar el ANN como un clasificador de imágenes, primero debe entrenarlo con muchas imágenes que pertenezcan, o no pertenezcan, a la clase que desea reconocer. ¿Cómo alimentar la imagen es otra historia: como una matriz de 2 × 2? Como un vector? Dividir como varias matrices 2 × 2 más pequeñas? Muchos muchachos ya han dedicado grandes porciones de sus vidas al estudio de estas preguntas 🙂 Busquen en la literatura y únanse al club …
- ¿Alguna vez has construido un robot?
- ¿Los analistas / asesores financieros serán reemplazados por robots e IA en los años 2020 o 2030? ¿Cuáles serán los pros / contras?
- Cuando la IA alcance la conciencia, ¿cómo lo sabremos?
- ¿Los robots reemplazarán a los seres humanos en el lugar de trabajo por completo?
- ¿Qué soluciones de monitoreo de redes sociales están utilizando inteligencia artificial? ¿Cuál es el uso futuro de la IA para aumentar el poder de las tecnologías de escucha social?
Hay varias formas de entrenar el ANN, siendo el algoritmo de retropropagación uno de los más populares y eficientes. Encontrará mucha información sobre la formación de ANN en la Web, y sugiero las diapositivas que Geoffrey Hinton usa en sus cursos. Ver
http://www.cs.toronto.edu/~tijme…
y también las otras diapositivas de la clase (lec4, lec5, etc.… reemplace estos números en el enlace anterior)
Matlab tiene una biblioteca (o módulo) para trabajar con ANN:
Caja de herramientas de red neuronal
al igual que su clon libre, Octave:
Paquete de red neuronal de octava
Python tiene PyBrain.
Quizás encuentre más información en esos enlaces. Lo que está preguntando ciertamente se explica en los manuales de los paquetes anteriores. Personalmente, nunca implementé ANN en Matlab (creo que lo hice parcialmente en Octave, cuando me inscribí en el primer curso de ML de Andrew Ng en Coursera …), por lo que no puedo ser un ayudante sólido …
Una lectura interesante es una publicación de blog donde se implementa la retropropagación en 11 líneas de código Python:
Una red neuronal en 11 líneas de Python (Parte 1)
y otro es sobre el entrenamiento de ANN con la implementación del descenso de gradiente:
Una red neuronal en 13 líneas de Python (Parte 2 – Pendiente de gradiente)