Has tocado uno de los puntos que me parece más apasionante de todo este ecosistema: la elección de la arquitectura base desde la óptica de la ingeniería y no solo de la academia pura. Respondiendo a tu interesante pregunta final sobre los "criterios para elegir una arquitectura base cuando se trabajan con datasets pequeños o con restricciones de cómputo", mi experiencia me ha enseñado que el pragmatismo es la mejor métrica.
A decir verdad, en la automatización dentro de la Rama Judicial —donde a menudo hay un acervo documental enorme pero pobremente etiquetado, y los servidores no disponen de cientos de GPUs de última gama— la respuesta es casi siempre basarse en Transfer Learning (Sarkar et al., 2018). Jamás me arriesgaría a entrenar una arquitectura profunda desde cero bajo esas condiciones restrictivas. El criterio clave en mi proceso es: utilizar un modelo base (como un ResNet50 preentrenado) y simplemente hacer un fine-tuning a las últimas capas densas con nuestro corpus específico.
Esto me ha demostrado que es posible alcanzar una solución lo suficientemente robusta sin fundir el presupuesto en estrambóticas instancias de cómputo en la nube. A fin de cuentas, la ingeniería trata en encontrar ese balance óptimo de recursos.
Sarkar, D., Bali, R., & Ghosh, T. (2018). Hands-on transfer learning with Python: Implement advanced deep learning and neural network models using TensorFlow and Keras. Packt Publishing.