Saltar navegación

Redes Neuronais Convolucionais CNN

Probando unha rede neuronal

Imos acercarnos ós conceptos básicos dunha rede neuronal convolucional, probando unha demo deseñada por Adam Hurley:

Demo dunha CNN por Adam Hurley
Adam Hurley. Demo dunha CNN (CC BY-SA)    🎥 Vídeo

Nela, permite debuxar un número,  e comprobar se o sistema de intelixencia artificial recoñéceo correctamente. Podes visualizar como cada capa dunha rede neuronal vai extraendo características ata que decide que número é . Móstranse en pantalla os diferentes filtros utilizados,  e como se combinan entre eles ata que o sistema calcula a probabilidade de que o número trazado corresponda a cada un dos 10 díxitos, do 0 ao 9.

Consegues enganar ao sistema debuxando un número que se clasifique incorrectamente?

Por que crees que se produciu ese erro?

Que número é?

Análise 7 CNN Adam Hurley
Creación propia. Análise 7 CNN Adam Hurley (CC BY-SA)

Actividade 1: Explorando os datos de entrada

Obxectivo: Comprender que son os datos de entrada e como se procesan nunha rede neuronal.

Entrada do dato 7 na CNN
Creación propia. Entrada do dato 7 na CNN (CC BY-SA)
  1. Acción na demo: Introduce unha imaxe na demo (por exemplo, debuxa o número "7").
  2. Que observar: Examina como os datos iniciais transfórmanse en valores numéricos.
    • Pregúntate:
      • Que representa cada número?
      • Como codifica a información do dato inicial?
  3. Investigación: Reflexiona sobre como os píxeles dunha imaxe tradúcense en datos que a rede pode interpretar. Discute o papel dos datos como punto de partida para a rede neuronal.
  4. Explicación: Os datos de entrada , son valores brutos que representan información inicial. As redes neuronais procésanos e transfórmanos en patróns detectables.

Resposta

Actividade 2: Analizando a primeira capa convolucional

Obxectivo: Entender que fan os filtros e como se extraen características.

Saída da primeira capa convolucional
Creación propia. Saída da primeira capa convolucional (CC BY-SA)
  1. Acción na demo: Observa como a imaxe inicial pasa pola primeira capa convolucional e como se aplican os filtros. Clica nos pixeles desta capa, e comproba de que conxunto de pixeles da capa previa procede cada un.
  2. Que observar: Identifica os bordos, formas ou patróns destacados na saída desta capa.
    • Pregúntate:
      • Que tipo de características detéctanse nesta etapa?
      • Por que son importantes?
  3. Investigación: Explora o concepto de filtros e extracción de características. Discute como os filtros identifican información relevante para a tarefa de predicción que realizará a rede.
  4. Explicación: Os filtros destacan características como bordos ou texturas importantes. Estas características son esenciais para que a rede comprenda os datos de forma máis abstracta, eliminando información irrelevante e simplificando os datos.

Resposta

Actividade 3: Explorando a capa de downsampling(simplificación)

Obxectivo: Descubrir como se reduce a resolución e mantéñense as características esenciais.

Capa de simplificación
Creación propia. Capa de simplificación (CC BY-SA)
  1. Acción na demo: Analiza a imaxe resultante da capa de downsampling (redución de resolución ou simplificación)
  2. Que observar: Examina como diminúe a resolución dos datos.
    • Pregúntate:
      • Que información permanece e cal se descarta?  Segues recoñecendo o dato?
      • Por que é útil reducir a resolución?
  3. Investigación: Discute o propósito do downsampling nas redes neuronais: mellorar a eficiencia, evitar o sobreaxuste e centrarse nas características máis relevantes.
  4. Explicación: O downsampling simplifica os datos mentres conserva a información máis importante. Isto permite que a rede procese os datos de maneira máis eficiente.

Resposta

Actividade 4: Entendendo a integración de capas

Obxectivo: Ver como as capas traballan xuntas para procesar datos e xerar saídas.

Todas as capas da demo CNN de Adam Hurley
Creación propia. Todas as capas da demo CNN de Adam Hurley (CC BY-SA)
  1. Acción na demo : Segue o fluxo de datos a través de varias capas (entrada, convolucionales, downsampling etc.)
  2. Que observar: Analiza como cada capa transforma os datos da anterior e prepara a información para a seguinte.
    • Pregúntate:
      • Como contribúen os grupos de píxeles de cada capa na obtención dos da seguinte?
      • Comprendes o proceso iterativo dunha capa a outra?
  3. Investigación: Reflexiona sobre o papel da capas intermedias e como colaboran para resolver problemas complexos.
  4. Explicación: As capas intermedias procesan os datos en etapas, extraendo e combinando características esenciais para tomar decisións máis precisas.

Resposta

Actividade 5: Tomando decisións e manexando incerteza

Obxectivo: Comprender como as redes neuronais chegan a tomar decisións e manexan a incerteza.

Resultado probabilístico: máis probable 7
Creación propia. Resultado probabilístico: máis probable 7 (CC BY-SA)
Resultado características esenciais compatible co 7
Creación propia. Resultado características esenciais compatible co 7 (CC BY-SA)
  1. Acción na demo: Observa o resultado final producido pola rede tras analizar os datos (como identificar o número "7").
  2. Que observar: Examina como a rede xera unha predición.
    • Pregúntate:
      • Que tan segura é a rede sobre a súa decisión?
      • Que factores poderían influír na incerteza?
  3. Investigación: Discute como os modelos adestrados xeran resultados probabilísticos, e o papel dos datos de adestramento en reducir a incerteza.
  4. Explicación: As redes toman decisións baseadas en patróns aprendidos. Con todo, sempre existe un grao de incerteza relacionado coa calidade do adestramento e a complexidade dos datos.

Resposta

Actividade 6: Descubrindo a capa fully-connected (rede neuronal completamente conectada)

Obxectivo: Comprender que fai a capa fully-connected (rede neuronal completamente conectada) e o seu papel na toma de decisións finais.

Capa totalmente conectada
Creación propia. Capa totalmente conectada (CC BY-SA)
  1. Acción na demo: Examina como a imaxe (o "7") pasa desde as capas anteriores ata a capa fully-connected (rede neuronal completamente conectada), que produce as predicións finais.
  2. Que observar: Analiza as saídas xeradas por esta capa, que adoitan ser as probabilidades asociadas a cada clase (neste caso, números do 0 ao 9).
    Datos de saída do 7
    Creación propia. Datos de saída do 7 (CC BY-SA)
    Datos de saída do 3
    Creación propia. Datos de saída do 3 (CC BY-SA)
    • Pregúntate:
      • Como decide a rede cal é a saída correcta?
      • Que rol xogan os valores nesta capa?
  3. Investigación: Reflexiona sobre como esta capa combina toda a información extraída polas capas anteriores. Discute o concepto de pesos nas conexións entre as neuronas(nodos).
  4. Explicación:A capa fully-connected (rede neuronal completamente conectada) é unha capa onde todas as neuronas(nodos) están conectadas entre si. Cada conexión ten un peso que indica a súa importancia.

Resposta

Datos de entrada dun pixel do 7
Creación propia. Datos de entrada dun pixel do 7 (CC BY-SA)

Que sucede cos datos de entrada?

Os datos de entrada (como a imaxe dun "7") convértense nunha matriz numérica, onde cada número representa a intensidade ou valor de cada píxel.A intensidade de branco ou brillo depende de se ése pixel pertence ó 7 debuxado ou non. Este é o formato que as redes neuronais poden interpretar.

Definición clave: Dato de entrada

Os datos de entrada son a representación inicial do problema que queremos resolver. No caso das imaxes, é unha matriz de píxeles que codifica a información visual.

Saída da primeira capa convolucional
Creación propia. Saída da primeira capa convolucional (CC BY-SA)

Que fan os filtros nesta capa?

Os filtros son matrices pequenas que se aplican sobre os datos de entrada para destacar características específicas como bordos, texturas ou formas que definen a esencia do dato. Cada filtro produce unha saída chamada mapa de características., eliminando información irrelevante e simplificando os datos. Isto fai máis fácil a súa xestión e aumenta a velocidade de procesamento.

Que tipo de características detéctanse?

Nas primeiras capas convolucionais, detéctanse patróns simples como bordos horizontais, verticais, liñas ou curvas.

Definicións crave: Filtro e Mapa de características

Filtro : É unha matriz que actúa como detector de características nos datos de entrada.

Mapa de características: É a saída xerada ao aplicar un filtro, que resalta as características detectadas.

Capa de simplificación
Creación propia. Capa de simplificación (CC BY-SA)



Que sucede nunha capa de downsampling? A capa downsampling reduce a resolución dos mapas de características, seleccionando só a información máis relevante. Isto adóitase facer mediante técnicas como o max pooling, que elixe o valor máximo nunha rexión específica.

Que información permanece? Permanecen as características máis destacadas, o que permite manter a esencia da entrada mentres se reduce a complexidade computacional.

Definicións crave:Downsampling e maxpooling

Downsampling: Proceso de reducir a resolución dos datos para simplificar a representación e mellorar a eficiencia.

Max pooling: Técnica común de downsampling que toma o valor máximo dunha rexión específica do mapa de características.

Todas as capas da demo CNN de Adam Hurley
Creación propia. Todas as capas da demo CNN de Adam Hurley (CC BY-SA)

Como contribúen as capas ocultas ao procesamento? As capas ocultas traballan de maneira progresiva, combinando as características detectadas nas capas anteriores para crear representacións máis complexas, nós xa non podemos recoñecer características, é como a extracción da esencia do dato de entrada. Por exemplo, mentres as primeiras capas detectan bordos, as posteriores poden identificar nun só pixel todo un bordo ou varios bordos.


Definicións crave: Capa oculta 

Capa oculta: Son as capas intermedias entre a entrada e a saída. Procesan os datos para extraer patróns máis abstractos pero máis manexables.

Resultado probabilístico: máis probable 7
Creación propia. Resultado probabilístico: máis probable 7 (CC BY-SA)
Resultado características esenciais compatible co 7
Creación propia. Resultado características esenciais compatible co 7 (CC BY-SA)

Como toma decisións unha rede neuronal? A rede calcula unha probabilidade asociada a cada posible saída (por exemplo, que tan probable é que o dato de entrada sexa un "7" ou "4" ou un "3"). Na imaxe da dereita podemos observar a intensidade do pixel final asociado a cada díxito. Isto é unha medida das "características" que comparte cada díxito co debuxado como entrada, podes apreciar como están máis intensos o do 7, o do 3 e o do 6 nesa orde. Podes comprobar os datos concretos clicando en cada pixel. A decisión final baséase na categoría con maior probabilidade. Neste caso, como pode comprobarse, decide 7. 

Datos de saída do 7
Creación propia. Datos de saída do 7 (CC BY-SA)
Datos de saída do 3
Creación propia. Datos de saída do 3 (CC BY-SA)

Que é a incerteza? A incerteza xorde cando os datos de entrada son ambiguos ou teñen características similares a varias categorías aprendidas. Isto reflíctese en probabilidades entre clases. Neste caso, hai posibilidades de que sexa o 7 pero non con total certeza, tamén podería ser o 3. Non está 100% segura de que sexa o 7, simplemente é o máis probable según a rede.

Definicións crave: Probabilidade e incerteza

Saída probabilística: A rede non dá unha resposta categórica, senón unha probabilidade para cada clase.

Incerteza: É a falta de confianza na decisión da rede debido a datos confusos ou insuficientes.

Ocorre cando un modelo de aprendizaxe automática, como unha rede neuronal, axústase demasiado ben aos datos de adestramento e non xeneraliza ben a datos novos.

Os Pesos nunha rede neuronal son fundamentais para o procesamento de información. Cada Peso determina a importancia da entrada que recibe un nodo.

  • Esta capa xera valores que representan as probabilidades de cada clase. A rede asigna -0,10 ó 7, que como indica é o máximo, e -0,21 ó 3 que é o seguinte maior.
    Datos de saída do 7
    Creación propia. Datos de saída do 7 (CC BY-SA)
    Datos de saída do 3
    Creación propia. Datos de saída do 3 (CC BY-SA)
  • Toma de decisións: A rede elixe a clase con maior probabilidade como a súa predición final. Neste caso, o 7 xa que ten o valor máximo.

Conceptos clave:

Fully-connected layer: É a parte da rede que sintetiza toda a información previa e toma decisións baseadas nos datos.

Peso: Valor que determina a importancia dunha conexión entre neuronas(nodos).

Sesgo: Axuste aplicado para mellorar a precisión da saída.

Rexistra no teu portafolio as respostas e conclusións

Explicación sinxela dunha rede neuronal

Rede neuronal

Unha rede neuronal é un sistema de intelixencia artificial inspirado en como funciona o cerebro humano. Imita como as neuronas do noso cerebro están interconectadas e traballan xuntas para procesar información e tomar decisións.

Rede neuronal artificial
Gengiskanhg. Rede neuronal artificial (CC BY-SA)

Por que se chama "rede neuronal"?

  • "Rede" porque está formada por moitas unidades (chamadas nodos ou neuronas artificiais) conectadas entre si, como unha tea de araña.
  • "Neuronal" porque o seu deseño inspírase nas neuronas e sinapsis do cerebro humano, onde cada neurona recibe, procesa e transmite sinais.
  • "As capas"  nunha rede neuronal son como as etapas ou pasos que segue para procesar información. Cada capa ten unha función específica e, xuntas, traballan para analizar datos e facer predicións.
    • Tipos de capas:
      • Capa de entrada:É a primeira capa. Aquí recíbese a información, como a imaxe dun número (o 7 do exemplo).Cada pixel da imaxe convértese nun dato que a rede usará.
      • Capas ocultas:Estas son capas internas que realizan cálculos  para atopar patróns nos datos.Buscan liñas, curvas ou detalles máis pequenos dentro da imaxe.Unha rede pode ter moitas capas ocultas dependendo da complexidade da tarefa.
      • Capa de saída:É a última capa. Aquí a rede decide cal é a resposta máis probable (por exemplo, dicir "isto é un 7").A rede usa o aprendido nas capas anteriores para dar a súa mellor predición.

Por que son importantes?

Cada capa ten un papel específico e pasa a información á seguinte, como un equipo que colabora para resolver un problema. Cantas máis capas haxa, máis detalles pode analizar a rede, aínda que tamén fai que o proceso sexa máis complexo e lento. É por isto que as redes profundas ( deep learning ) con moitas capas, son tan potentes para tarefas avanzadas como o recoñecemento de imaxes ou voz.

Rede neuronal profunda
BrunelloN. Rede neuronal profunda (CC BY-SA)

Rede neuronal convolucional


Que é?

É un tipo de rede neuronal que se usa principalmente para analizar imaxes.

A convolución é un proceso matemático que axuda a detectar patróns pequenos, como liñas ou curvas nunha imaxe, que logo se combinan para identificar algo máis complexo, como un número ou unha figura.

Convolución e pooling
Andreas Maier. Convolución e pooling (CC BY-SA)

Que elementos ten?

  • Capas convolucionales: Son como lupas que analizan partes pequenas da imaxe (por exemplo, fragmentos do número 7) buscando patróns básicos.
  • Capas de pooling (redución): Reducen o tamaño da imaxe para concentrarse só no esencial e evitar datos innecesarios.
  • Capas totalmente conectadas: Toman toda a información analizada e deciden, por exemplo, que número é.
  • Funcións de activación: Axudan á rede para enfocarse no máis relevante e descartar información que non sexa útil.

Cales son os parámetros importantes?

  • Filtros: Son as "lupas" que buscan patróns. Cuantos máis filtros hai, máis detallada é a procura.
  • Tamaño do kernel: É o tamaño da lupa (por exemplo, cuadraditos pequenos ou grandes para buscar detalles).
  • Épocas: Indican cantas veces a rede aprende e axusta os seus cálculos.
  • Taxa de aprendizaxe: Define canto axusta a rede os seus parámetros en cada intento.

Como funciona? Usando o exemplo que acabamos de realizar...

Cando lle debuxáchedes un 7, a rede analizouno capa por capa. Primeiro detectou liñas, logo curvas, e finalmente combinou esa información para entender que era un 7. Con todo, tamén viu certa similitude cun 3, por iso suxeriuno como segunda opción.

Ampliación:Proba esta demo de redes neuronais

Nesta ligazón (demo Playground Tensorflow de Daniel Smilkov, Shan Carter e D. Sculley) podes seguir 🎥  experimentando con redes neuronais:

  • proba a introducir capas
  • proba a incrementar o número de neuronas
  • proba distintos algoritmos e problemas a resolver
  • intenta comprender o texto explicativo
  • aquí tes un arquivo en castelán (pdf - 969989 B) (tradución da explicación de Kaz Sato) que che pode axudar na comprensión

Reflexión

Lista de Cotexo

Redes Neuronais Convolucionais CNN

Esta lista axúdache a organizar e verificar o progreso no teu portafolio.