{"id":163203,"date":"2026-01-28T16:44:40","date_gmt":"2026-01-28T15:44:40","guid":{"rendered":"https:\/\/multi.liora.io\/?p=154106"},"modified":"2026-02-25T19:02:34","modified_gmt":"2026-02-25T18:02:34","slug":"vgg-que-es-este-modelo-daniel-te-lo-cuenta-todo","status":"publish","type":"post","link":"https:\/\/liora.io\/es\/vgg-que-es-este-modelo-daniel-te-lo-cuenta-todo","title":{"rendered":"VGG: \u00bfQu\u00e9 es este modelo? \u00a1Daniel te lo cuenta todo!"},"content":{"rendered":"\n<p><strong>De vuelta de Daniel, el personaje emblem\u00e1tico de nuestras formaciones que gu\u00eda a nuestros alumnos hacia su diploma. Hoy les va a presentar un modelo muy utilizado en Visi\u00f3n por Computador : VGG.<\/strong><\/p>\n\n\n\n<p>Ya tuvimos ocasi\u00f3n, hace tiempo, de detallar la noci\u00f3n de <a href=\"https:\/\/liora.io\/es\/que-es-el-transfer-learning\">Transfer Learning<\/a>. Si se perdi\u00f3 nuestro art\u00edculo sobre el tema, le invito a leerlo de nuevo aqu\u00ed. Lo que hay que tener en cuenta es que el transfer Learning (aprendizaje por transferencia) es la capacidad de utilizar los conocimientos ya adquiridos, desarrollados para resolver un problema determinado, para resolver un problema nuevo.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-un-poco-de-historia\">Un poco de historia<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\" style=\"margin-top:var(--wp--preset--spacing--columns);margin-bottom:var(--wp--preset--spacing--columns)\"><img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/2026\/02\/table-cnn-architectures-nb-1536x857.jpg\" alt=\"\" \/><\/figure>\n\n\n\n<p>VGG es una red neuronal convolucional propuesta por K. Simonyan y A. Zisserman, de la Universidad de Oxford, y adquiri\u00f3 notoriedad al ganar el Desaf\u00edo de Reconocimiento Visual a Gran Escala de ImageNet (ILSVRC) en 2014. El modelo alcanz\u00f3 una precisi\u00f3n del 92,7% en Imagenet, que es una de las puntuaciones m\u00e1s altas logradas. Supone una mejora respecto a los modelos anteriores al <b>proponer n\u00facleos de convoluci\u00f3n m\u00e1s peque\u00f1os (3\u00d73<\/b>) en las capas de convoluci\u00f3n de lo que se hab\u00eda hecho anteriormente. El modelo se entren\u00f3 durante semanas utilizando tarjetas gr\u00e1ficas de \u00faltima generaci\u00f3n.<\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex is-content-justification-center\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/liora.io\/es\/formacion-data-scientist\">link para saber m\u00e1s de nuestra formaci\u00f3n Data Scientist<\/a><\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-imagenet\">ImageNet<\/h2>\n\n\n\n<p>ImageNet es una enorme base de datos con m\u00e1s de <b>14 millones de im\u00e1genes etiquetadas <\/b>en m\u00e1s de 1000 clases, a partir de 2014. En 2007, una investigadora llamada Fei-Fei Li empez\u00f3 a trabajar en la idea de crear un conjunto de datos de este tipo. Aunque la modelizaci\u00f3n es un aspecto muy importante para un buen rendimiento, disponer de datos de alta calidad es igualmente importante para un buen aprendizaje. Los datos fueron recogidos y etiquetados desde la web por humanos. Por lo tanto, es de c\u00f3digo abierto y no pertenece a ninguna empresa en particular.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-la-arquitectura\">La arquitectura<\/h2>\n\n\n\n<p>En realidad hay dos algoritmos disponibles : VGG16 y VGG19. En este art\u00edculo nos centraremos en la arquitectura del primero. Aunque ambas arquitecturas son muy similares y siguen la misma l\u00f3gica, la VGG19 tiene un mayor n\u00famero de capas de convoluci\u00f3n.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/7\/2021\/04\/illu_VGG_Plan-de-travail-1.png\" alt=\"Architecture Algoritme VGG16\" \/><figcaption class=\"wp-element-caption\">Arquitectura del Algoritmo VGG16<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/7\/2021\/04\/illu_VGG-02.png\" alt=\"Structure VGG 16\" \/><figcaption class=\"wp-element-caption\">Estructura Algoritmo VGG16<\/figcaption><\/figure>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex is-content-justification-center\" style=\"margin-top:var(--wp--preset--spacing--columns);margin-bottom:var(--wp--preset--spacing--columns)\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/liora.io\/es\/formacion-data-scientist\">Saber m\u00e1s de nuestra formaci\u00f3n Data Scientist<\/a><\/div>\n<\/div>\n\n\n\n<p>El modelo s\u00f3lo requiere un pre-procesamiento espec\u00edfico que consiste en restar a cada p\u00edxel el valor RGB medio, calculado en el conjunto de entrenamiento.<\/p>\n\n\n\n<p>Durante el entrenamiento del modelo, el input a la <b>primera capa de convoluci\u00f3n<\/b> es una imagen RGB de tama\u00f1o 224 x 224. Para todas las capas de convoluci\u00f3n, el n\u00facleo de convoluci\u00f3n es de tama\u00f1o 3\u00d73: la dimensi\u00f3n m\u00e1s peque\u00f1a para capturar las nociones de arriba, abajo, izquierda\/derecha y centro. Esta era una especificidad del modelo en el momento de su publicaci\u00f3n. Hasta el VGG16, muchos modelos estaban orientados a n\u00facleos de convoluci\u00f3n de mayor dimensi\u00f3n (tama\u00f1o 11 o tama\u00f1o 5, por ejemplo). <b>Recordemos que el objetivo de estas capas es filtrar la imagen manteniendo s\u00f3lo la informaci\u00f3n discriminante, como las formas geom\u00e9tricas at\u00edpicas<\/b>.&nbsp;&nbsp;<\/p>\n\n\n\n<p>Estas capas de convoluci\u00f3n van acompa\u00f1adas de capas <b>Max-Pooling<\/b>, cada una de ellas de tama\u00f1o 2\u00d72, para reducir el tama\u00f1o de los filtros durante el entrenamiento.&nbsp;&nbsp;<\/p>\n\n\n\n<p>A la salida de las capas de convoluci\u00f3n y agrupaci\u00f3n, tenemos 3 capas de neuronas totalmente conectadas. Las dos primeras est\u00e1n compuestas por 4096 neuronas y la \u00faltima por 1000 neuronas con una funci\u00f3n de activaci\u00f3n softmax para determinar la clase de imagen.<\/p>\n\n\n\n<p>Como puede ver, la arquitectura es clara y sencilla de entender, lo que tambi\u00e9n es un punto fuerte de este modelo.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-resultados-de-imagenet\">Resultados de ImageNet<\/h2>\n\n\n\n<figure class=\"wp-block-image aligncenter\" style=\"margin-top:var(--wp--preset--spacing--columns);margin-bottom:var(--wp--preset--spacing--columns)\"><img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/7\/2021\/04\/image2-1.png\" alt=\"\" \/><\/figure>\n\n\n\n<p>La figura anterior compara los resultados de diferentes modelos de 2014 o de a\u00f1os anteriores. Podemos ver que VGG da los mejores resultados tanto en el conjunto de validaci\u00f3n como en el conjunto de prueba. Tambi\u00e9n observamos que el modelo funciona mucho mejor que en las sesiones de 2012 y 2013.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-y-el-transfer-learning\">\u00bfY el Transfer Learning?<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\" style=\"margin-top:var(--wp--preset--spacing--columns);margin-bottom:var(--wp--preset--spacing--columns)\"><img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/2026\/02\/ecran-programmation-code-1536x857.jpg\" alt=\"\" \/><\/figure>\n\n\n\n<p>Como ya hemos mencionado, el tiempo de entrenamiento de un modelo como el VGG puede ser muy largo, sobre todo si no se dispone de muchos recursos. Adem\u00e1s, dado que se ha entrenado en ImageNet, puede ser interesante recuperar los pesos del modelo entrenado y, en particular, los filtros de las capas de convoluci\u00f3n a partir del entrenamiento en ImageNet. <b><\/b><b>Esto es lo que se hace en la pr\u00e1ctica : recuperamos los pesos de las capas de convoluci\u00f3n y simplemente entrenamos las 3 capas que a\u00f1adimos<\/b><\/p>\n\n\n\n<p><b><\/b>&nbsp;El principio sigue siendo el mismo : utilizar los conocimientos adquiridos en ImageNet para resolver un problema similar.&nbsp;<\/p>\n\n\n\n<p>En particular, es posible recuperar directamente el modelo preentrenado de forma muy sencilla y aplicar el preprocesamiento espec\u00edfico solicitado por el modelo.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-un-poco-de-practica\">Un poco de pr\u00e1ctica<\/h2>\n\n\n\n<p>En realidad, hay dos algoritmos disponibles : VGG16 y VGG19.&nbsp;<\/p>\n\n\n\n<p>Gracias a la biblioteca keras de <strong>Tensorflow<\/strong>, es sencillo recuperar el modelo ya entrenado, por defecto, en ImageNet.&nbsp;<\/p>\n\n\n\n<p>En primer lugar, tenemos que aplicar el mismo tratamiento espec\u00edfico que se aplic\u00f3 cuando se entren\u00f3 el modelo. Adem\u00e1s, a\u00f1adimos un aumento de datos a los datos de entrenamiento para evitar el riesgo de sobreaprendizaje. Tambi\u00e9n es importante comprobar que las im\u00e1genes de entrada son im\u00e1genes RGB de tama\u00f1o 224\u00d7224.&nbsp;<\/p>\n\n\n\n<p>Entonces podemos recuperar los pesos optimizados de las capas de convoluci\u00f3n y entrenar las 3 capas densas que a\u00f1adimos y compilamos :&nbsp;<\/p>\n\n\n\n<p>Tras el entrenamiento, si los resultados no son lo suficientemente buenos, es posible dejar de congelar las \u00faltimas capas de convoluci\u00f3n y volver a entrenarlas para intentar obtener un mejor rendimiento. Una vez m\u00e1s, esto depende de los recursos disponibles, ya que este paso adicional puede llevar mucho tiempo.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-conclusion\">Conclusi\u00f3n<\/h2>\n\n\n\n<p>El VGG es un conocido algoritmo de <strong>visi\u00f3n por ordenador<\/strong> que suele utilizarse mediante el aprendizaje por transferencia para evitar tener que volver a entrenarlo y resolver problemas similares en los que el VGG ya ha sido entrenado. Hay muchos otros algoritmos del mismo tipo que VGG como ResNet o Xception disponibles en la biblioteca Keras. Si quieres formarte en problemas de <a href=\"https:\/\/liora.io\/es\/deep-learning-definicion\">Deep Learning <\/a>\/Computer Vision, \u00fanete a nosotros en el Bootcamp o en la formaci\u00f3n continua.\u00a0<\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex is-content-justification-center\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/liora.io\/es\/formacion-data-scientist\">Convi\u00e9rtete en Data Scientist<\/a><\/div>\n<\/div>\n\n\n\n<script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"FAQPage\",\n  \"mainEntity\": [\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Un poco de historia\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"VGG es una red neuronal convolucional propuesta por K. Simonyan y A. Zisserman (Universidad de Oxford), ganadora del ILSVRC 2014 con 92,7% precisi\u00f3n en ImageNet. Su innovaci\u00f3n fue usar n\u00facleos de convoluci\u00f3n m\u00e1s peque\u00f1os (3\u00d73) en lugar de tama\u00f1os mayores (11 o 5). El entrenamiento tom\u00f3 semanas usando GPUs de \u00faltima generaci\u00f3n.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"ImageNet\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"ImageNet es una base de datos open-source con m\u00e1s de 14 millones de im\u00e1genes etiquetadas en +1000 clases (2014). Iniciada en 2007 por Fei-Fei Li, los datos fueron recolectados y etiquetados manualmente desde la web. La calidad de los datos es tan importante como la modelizaci\u00f3n para un buen aprendizaje.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"La arquitectura\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Existen VGG16 y VGG19 (difieren en n\u00famero de capas convolucionales). Arquitectura VGG16: pre-procesamiento restando valor RGB medio, entrada imagen RGB 224\u00d7224. Capas convolucionales con n\u00facleos 3\u00d73 (tama\u00f1o m\u00ednimo para capturar arriba\/abajo\/izquierda\/derecha\/centro), acompa\u00f1adas de Max-Pooling 2\u00d72 para reducir tama\u00f1o filtros. Al final, 3 capas totalmente conectadas (2 primeras con 4096 neuronas, \u00faltima con 1000 neuronas y activaci\u00f3n softmax para clasificaci\u00f3n). Arquitectura clara y simple de entender.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Resultados de ImageNet\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"VGG obtuvo los mejores resultados en validaci\u00f3n y prueba comparado con modelos de 2012, 2013 y otros de 2014, demostrando su superioridad.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"\u00bfY el Transfer Learning?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Debido al largo tiempo de entrenamiento, es pr\u00e1ctico recuperar los pesos pre-entrenados en ImageNet (especialmente filtros de capas convolucionales) y solo entrenar las 3 capas a\u00f1adidas. Se aplica el mismo pre-procesamiento espec\u00edfico del modelo.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Un poco de pr\u00e1ctica\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Con keras de Tensorflow se puede recuperar VGG16\/VGG19 pre-entrenado en ImageNet. Pasos: aplicar pre-procesamiento espec\u00edfico, a\u00f1adir data augmentation para evitar sobreaprendizaje, asegurar im\u00e1genes RGB 224\u00d7224, recuperar pesos optimizados de capas convolucionales, entrenar las 3 capas densas a\u00f1adidas. Si resultados insuficientes, se pueden descongelar y re-entrenar \u00faltimas capas convolucionales (puede requerir muchos recursos).\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Conclusi\u00f3n\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"VGG es un algoritmo de visi\u00f3n por computador usado frecuentemente v\u00eda transfer learning para resolver problemas similares sin re-entrenar desde cero. Existen otros algoritmos como ResNet o Xception en Keras. Para formarse en Deep Learning\/Computer Vision, unirse a Bootcamp o formaci\u00f3n continua.\"\n      }\n    }\n  ]\n}\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>De vuelta de Daniel, el personaje emblem\u00e1tico de nuestras formaciones que gu\u00eda a nuestros alumnos hacia su diploma. Hoy les va a presentar un modelo muy utilizado en Visi\u00f3n por Computador : VGG.<\/p>\n","protected":false},"author":85,"featured_media":184307,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"editor_notices":[],"footnotes":""},"categories":[2440],"class_list":["post-163203","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-data-ia"],"acf":[],"_links":{"self":[{"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/posts\/163203","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/users\/85"}],"replies":[{"embeddable":true,"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/comments?post=163203"}],"version-history":[{"count":5,"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/posts\/163203\/revisions"}],"predecessor-version":[{"id":184312,"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/posts\/163203\/revisions\/184312"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/media\/184307"}],"wp:attachment":[{"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/media?parent=163203"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/categories?post=163203"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}