Está en la página 1de 9

Deep Learning con Keras/Tensorflow

en Python

David Fuentes Jiménez Deep Learning con Keras/Tensorflow en Python


Arquitecturas más Conocidas:
Alexnet
Como tal la Alexnet fue de las primeras redes convolucionales más destacables. SU
arquitectura es la más simple y se basa en capas Convolucionales+Max Pooling para
extraer características seguido de capas Clásicas o Fully connected para
clasificación o regresión. A día de hoy no es una red competitiva, pero representa la
base de las primeras CNN.

David Fuentes Jiménez Deep Learning con Keras/Tensorflow en Python


Arquitecturas más Conocidas:
VGG
Tras la Alexnet se vió la necesidad de mejorar la potencia y capacidad de
representación de las CNN, los laboratorios de Stanford acuñaron la arquitectura
VGG, que supero con creces a Alexnet y fue la primera en introducir la novedad de
los bancos de filtros de convolución, la cual aumento la capacidad de representación
de estas redes notablemente. Por contra se observó que esta arquitectura era muy
pesada en procesado y número de parámetros y que sufría el llamado
desvanecimiento de gradiente si se añadían muchas capas.

David Fuentes Jiménez Deep Learning con Keras/Tensorflow en Python


Arquitecturas más Conocidas:
Resnet
Para abordar los problemas de procesado excesivo y desvanecimiento de gradiente
de la VGG. Una de las alternativas para superar dicho problema fue la Resnet. La
gran lacra de estas redes es la pérdida de información a causa del sucesivo filtrado
y procesado de información , que sumado al desvanecimiento de gradiente dificulta
mucho su entrenamiento. Pues bien la Resnet propuso una alternativa para evitar
eso con bloques residuales, para poder preservar el gradiente y la información de
entrada añadieron recirculaciones de información como las de las imágenes
inferiores, de tal manera que los problemas encontrados en la VGG no volvieran a
darse. Otra gran contribución fue el empleo de las capas de normalización de Batch
que resultaron en una red que se podía entrenar con mucha mayor velocidad con
respecto a sus rivales

David Fuentes Jiménez Deep Learning con Keras/Tensorflow en Python


Arquitecturas más Conocidas:
Inception V3
Para abordar los problemas de procesado excesivo y desvanecimiento de gradiente
de la VGG. Una de las alternativas para superar dicho problema fue la Inception V3,
al contrario que la Resnet, trató de aumentar más el procesado por etapa en lugar
de la profundidad de las redes dado que una mayor profundidad de red implica
mayor dificultad para actualizar el gradiente a través de toda la red. Por lo tanto en
lugar de aumentar mucho la profundidad de la red, la Inception V3 propuso
aumentarla a lo “ancho”, es decir introducir un filtrado multiescala en paralelo,
filtros de 3x3,5x5, 1x1 y poolings y la concatenación de los mismos a la salida,
enriqueciendo notablemente la información de la red. El problema es que al
contrario que la Resnet continuó teniendo ciertos problemas de desvanecimiento de
gradiente que solventaron con clasificadores auxiliares.

David Fuentes Jiménez Deep Learning con Keras/Tensorflow en Python


Arquitecturas más Conocidas:
Xception
A medida que pasó el tiempo nació una nueva alternativa a la Inception V3 de
manos de Francois Chollet y Google que postularon que una alternativa mucho más
rápida y ligera con respecto a las convoluciones convencionales, fue lo que llamaron
convoluciones separables (Depthwise Separable Convolution). Este tipo de
convolución es computacionalmente más eficiente y constituida en la arquitectura
Xception demostró tener resultados incluso ligeramente superiores al Inception V3
convencional, además de un entrenamiento más rápido.

David Fuentes Jiménez Deep Learning con Keras/Tensorflow en Python


Arquitecturas más Conocidas:
Inception-Resnet->Inception V4
Una vez la Resnet y la Inception V3 fueron presentadas y construidas, se determinó
que podrían complementarse entre sí, dado que la Resnet tenía esa solución más
efectiva ante los desvanecimientos de gradiente, mientras la Inception V3 tenía esa
información mucho más rica en características gracias a las capas multiescala. Esto
llevó a la construcción de la Inception-Resnet o Inception V4 que trató de combinar
las características de sus dos predecesoras en bloques combinados como los de la
figura siguiente. Por contra esta red seguía siendo computacionalmente muy
costosa al igual que sus predecesoras

David Fuentes Jiménez Deep Learning con Keras/Tensorflow en Python


Arquitecturas más Conocidas:
Comparación
Por último vamos a ver un pequeño Benchmark de estas arquitecturas y muchas otras que
muestra resultados prácticos de clasificación de cada una de las arquitecturas sobre la base de
datos Imagenet. Estos resultados enfrentarán el número de operaciones de cada arquitectura
con sus resultados de clasificación en Top-1, que indica si la clase más probable coincidía con la
clase objetivo. Podemos ver claramente que la peor de las arquitecturas estudiadas es la más
clásica o Alexnet, a esta se siguen la VGG-16 y 19 que muestran claramente estar acotadas
aproximadamente a un 72%.

David Fuentes Jiménez Deep Learning con Keras/Tensorflow en Python


Arquitecturas más Conocidas:
Comparación
Mientras tanto la Resnet Dependiendo del numero de capas introducidas(18,34,50,101,152)
oscila entre un 69-76%. La Inception V3 por su lado se sitúa aproximadamente en un 76%
también mientras que la Xception la supera ligeramente y la Inception-V4 o Inception-Resnet
corona con un 81%

David Fuentes Jiménez Deep Learning con Keras/Tensorflow en Python

También podría gustarte