Vamos a utilizar como ejemplo de pruebas un problema en el cual unas imágenes están más o menos dañadas y se trata de con la entrada de la imagen dar cómo salida una valoración de la calidad (de -1 a 1).

  1. Probamos una red ordinaria (conectividad completa). Aquí tienes un programa ya con todo para empezar
  2. Probamos una red convolutiva como las que hemos usado para reconocer cifras.
  3. Vamos con la variante tipo Inception. A la hora de definir la arquitectura de la red, la parte Inception es a su vez una lista, cuyo primer componente es 'i' y luego sucesivas listas, cada una conteniendo las capas de esa rama. Por ejemplo, ['i',['3c3'],['3c5']] Pruébalo, utilizando distintos parámetros para ver distintas posibilidades. En concreto, haz las siguientes pruebas:
    1. Como la salida va de -1 a 1 podemos darle esa pista a la red. Pon como activación de salida, por ejemplo, una capa Hardtanh
    2. Prueba la regularización y algún otro de los métodos que vimos para controlar la complejidad de la red
    3. Prueba distintas medidas de error y métodos de ajuste
    4. Indaga la influencia de la muestra y la inicialización variando el número de pruebas que hace
    5. Las capas ordinarias varíalas en cantidad y parámetros
    6. La parte variante, pon más o menos ramas y más o menos complejas
    7. Añade reductoras
  4. Vamos con la variante tipo Xception. La definición es similar, pero el primer componente es 'x' Fíjate que en los bloques Xception, las ramas son todas de 1 procesador, así que mejor que ni siquiera lo pongas, para no liarte (si no hay número antes de la c toma 1). Y que hay tantas ramas como procesadores tenga la capa previa; asegúrate. Por ejemplo, si la capa previa fuese de 3 procesadores, podría ser ['x',['c3'],['c5'],['c3']] Haz las mismas pruebas que antes.
  5. Combina un par de variantes distintas en una misma red
  6. Viendo la estructura de estas dos variantes, ¿cómo harías tú otra distinta?