Primeiro, precisamos falar sobre a transferência de aprendizado. Imagine que você treinou uma rede neuronal através de um conjunto de dados de imagens para detectar gatos. Você pode usar parte do treinamento realizado para trabalhar com outra detecção de outra coisa. Isso é conhecido como aprendizado de transferência.
Para transferir o aprendizado, você removerá a última camada totalmente conectada do modelo e as conectará lá. A saída do modelo "truncado" será os recursos que preencherão o seu "modelo". Esses são os recursos de gargalo.
O VGG16 é um modelo de pré-treinamento no catálogo ImageNet que possui uma precisão muito boa. Na postagem que você compartilhou, está usando esse modelo como base para detectar cães e gatos com maior precisão.
Os recursos de gargalo dependem do modelo. Nesse caso, estamos usando o VGG16. Existem outros modelos pré-treinados como VGG19, ResNet-50
É como se você estivesse cortando um modelo e adicionando suas próprias camadas. Principalmente, a camada de saída para decidir o que você deseja detectar, a saída final.