Se puede usar una red neuronal convolucional (convNet) como detector de características faciales para alimentar clasificadores como una máquina de vectores de soporte lineal (SVM). La idea es entrenar a la convNet de manera que aprenda un conjunto de características o incrustaciones de caras de modo que estos vectores estén cerca uno del otro para caras que se parezcan y muy separadas para caras que son diferentes.
La parte convNet necesita ser entrenada usando dos convNets siameses para aprender la incrustación facial. La idea es presentar la cara [matemática] x_ {i} [/ matemática] a la red A y luego la cara [matemática] x_ {j} [/ matemática] a la red B.
[matemáticas] y_ {A} = f_ {A} (x_ {i}, w) [/ matemáticas]
- ¿Qué 2 cursos entre estructuras de datos y algoritmos, diseño de software, introducción a IA, aprendizaje automático y sistemas operativos, debo elegir?
- ¿Cuáles son las aplicaciones más prometedoras de ML / AI en el cuidado de la salud, excluyendo la informática de imágenes?
- ¿Qué es la precisión en el aprendizaje automático?
- Cómo evaluar la precisión del entrenamiento para una red neuronal con una capa oculta
- ¿Cuáles son los temas candentes del aprendizaje profundo para el análisis de imágenes médicas en 2017?
[matemáticas] y_ {B} = f_ {B} (x_ {j}, w) [/ matemáticas]
Donde [math] w [/ math] = parámetros de red, [math] f () [/ math] es la función de mapeo para aprender
Nota : El parámetro [math] w [/ math] es el mismo porque se trata de redes siamesas.
El objetivo es minimizar
[matemáticas] e ^ 2 = [/ matemáticas] [matemáticas] || y_ {A} -y_ {B} || ^ {2} [/ math]
si las caras [matemática] x_ {i} [/ matemática] y [matemática] x_ {j} [/ matemática] son de la misma persona y maximícela si son de dos personas diferentes. El resultado final será una sola convNet definida por el parámetro [math] w [/ math] que proyecta caras en un nuevo espacio de características [math] y [/ math].
[matemáticas] y = f (x, w) [/ matemáticas]
Luego puede proyectar todas las caras [math] x [/ math] en tal incrustación y luego entrenar un SVM lineal de múltiples clases en los vectores resultantes [math] y [/ math], cada salida SVM lineal corresponde a una cara registrada particular.
La buena parte del uso de esta técnica es que durante el registro de caras nuevas, no es necesario ajustar o volver a entrenar toda la red, solo se debe entrenar la parte SVM lineal. Es muy eficiente de esta manera y, por lo tanto, este sistema puede admitir un número variable de caras registradas para reconocer. Para eliminar una cara simplemente desenganche el SVM correspondiente de la red y para registrar una nueva cara, conecte otra SVM lineal y capacítelo en los nuevos ejemplos de caras utilizando una estrategia de uno contra todos.
Espero que esto ayude.