Saltar navegación

As máquinas aprenden a partir de patróns

Buscando imitar ós humanos

Durante moito tempo o ser humano buscou crear ferramentas ou máquinas que fosen capaces de imitar a intelixencia humana, pero sempre se atopaba cunha limitación, pasar da información ao coñecemento.

Calculadora científica
lumalabs.ai. Calculadora científica (CC BY-SA)
Ordenador persoal
lumalabs.ai. Ordenador persoal (CC BY-SA)
Supercomputador
lumalabs.ai . SuperPC (CC BY-SA)

Co tempo creamos máquinas con capacidade de codificar a información e desenvolvemos algoritmos capaces de inferir nova información a partir de información almacenada. Pero, como pode unha máquina adquirir coñecemento?

O feito de que unha máquina poida recibir información do mundo xa a converte nun sistema de intelixencia artificial? Pois non, para considerala así é necesario que sexa capaz de extraer significado desa información, de crear coñecemento e tomar decisións en base a esa aprendizaxe.

Recoñecemento de patróns e aprendizaxe

Aprendizaxe

Recoñecemento de patróns  Aprendizaxe  Xeneralización porta dun supermercado

Porta automática
Leif Jørgensen. Porta automática (CC BY-SA)

Pensemos nunha porta dun supermercado que se abre cando un sensor detecta movemento.

O sistema é demasiado simple como para poder percibir quen ou que está a entrar,  e poder tomar decisións en base a este significado.

Non só deixa pasar a humanos, se non que deixaría pasar a calquera animal salvaxe.

Se o sistema rexistra suficientes datos de humanos como para “aprender” a distinguir un humano dun animal salvaxe , analizando e establecendo patróns nas imaxes de humanos ,  sí estaría xerando coñecemento e sería capaz de xeneralizar se un patrón pertence a un humano ou non.

Trataríase entón dunha intelixencia artificial: o sistema recoñece patróns nas novas imaxes, decide se é un humano ou non, e toma a decisión correcta de abrir ou non a porta.

Extracción de características

Pero, como extraen información os computadores dun conxunto de números que representa unha imaxe dun humano , por exemplo? 

Esa transformación, de dato a información, prodúcese en etapas progresivas mediante un proceso que se chama “extracción de características”.

 Imaxina unha imaxe dunha persoa, que o computador xa codificou nunha matriz de números a partir da información da sua cámara. Pero como podería saber que se trata dunha persoa e non dun tigre? Buscando combinacións específicas de valores que representan pixels claros e escuros en zonas pequenas da imaxe, pódese detectar a localización e a orientación de diferentes bordos na imaxe.

A miña imaxe codificada
Creación propia. A miña imaxe codificada (CC BY-SA)

Así, o resultado de aplicar filtros para detectar bordos , mediante un proceso por etapas de extracción de características, no que se van utilizando e combinando diferentes tipos de filtros, é como se vai transformando un dato en información. Deste xeito, se recoñece a postura, as extremidades, os tamaños,etc... E  fabrícase o “patrón” da imaxe dun humano. Vai ser diferente que o dun tigre non?

Cos textos e  sons faise algo parecido. Por exemplo, para o recoñecemento de voz. Xa que cada vogal e cada consonante pódese asociar a diferentes patróns dun espectrograma, que é unha representación visual que permite identificar as diferentes variacións da frecuencia e a intensidade do son.

Detectando bordos con deeplizard

Duración:
50 min
  1. Pensa e indica as diferenzas que unha imaxe dun 4 e outra dun 7 , escritos ou non por unha persoa, van ter respecto á forma e posición dos seus bordos esquerdos. 
  2. A continuación fai unha análise con esta ferramenta e comproba se acertaches .
    • Fíxate como a máquina representa o díxito con números en cada pixel, que números hai nos que claramente hai trazo? e cal número donde non? que hai nos bordos?
    • Non te preocupes de comprender polo dagora, 🎥que fai esta demo, só escolle o filtro esquerdo o número que queres analizar e dalle a play.
    • A máquina irá aplicando o filtro a cada grupo de píxeles e asociando un novo número de saída.
    • Os bordos do filtro elixido veranse coma pixeles en vermello (é un bordo esquerdo 100% ) ou laranxa ( ten moitas posibilidades de selo). Canto maior é a posibilidade de que sexa un bordo esquerdo máis intensa é a cor vermella.
    • Os que aparecen en azul, son os que NON son bordes esquerdos, os que teñen menor posibilidade de selo, canto son intensos é que 100% non son bordos esquerdos.
      Demo CNN deeplizard
      Creación propia. Demo CNN deeplizard (CC BY-SA)
  3. Fai o mesmo cos dereitos. Comproba coa ferramenta que os pixeles que antes estaban en vermello ou laranxa, agora están en tonalidades de azul.
  4. Intenta darlle a PAUSE  cando se está calculando un laranxa, un vermello e un azul, que observas nos valores de saída? Que significan esos resultados con respecto á cor?
  5. Repite o proceso para superiores e inferiores. Fíxate como cambia a matriz do filtro según escolles un ou outro, donde aparece -1, 1 ou 0 no filtro superior? e no inferior?
  6. Podes saber de que grupo de píxeles da imaxe de entrada ven cada pixel de saída, con só colocarte nel. Fíxate nos números dos pixeles de entrada e como se "extraen as súas características"  comúns nun só dato.
  7. Acabas de usar a túa primeira rede neuronal convolucional e aplicar os teus primeiros filtros!

Extra: Podes probar distintos filtros superiores como o Sobel e o Prewitt e ver as diferencias de resultados co básico

Rexistra no teu portafolio as respostas e conclusións.

Patróns e predicción. Incerteza dunha predicción.

Aprendizaxe

Datos ⇒ Recoñecemento de patróns    Predicción máquina expendedora de chocolatinas

Máquina expendedora
Copilot. Máquina expendedora (CC BY-SA)
  • Imaxina unha máquina expendedora de chocolatinas, que expende chocolatinas de chocolate branco e negro.Unha chocolatina de cada vez.
  • Estamos de acordo en que emite datos, cada chocolatina emitida é un dato, pero agora imos analizalo desde o punto de vista da información.
  • Imaxinemos que a nosa máquina, expende chocolatinas brancas continuamente (o mesmo caso se emitise negras constantemente). Pasa o tempo e sempre emite brancas.
  • Seriamos capaces de predicir con absoluta certeza nun momento dado a seguinte chocolatina? Sí.
  • Imaxinemos agora que a máquina, emite unha chocolatina cada vez pero de forma completamente aleatoria.
  • Seriamos capaces de predicir con absoluta certeza nun momento dado, de que tipo será a seguinte chocolatina? Non.
  • A forma de medir a cantidade de información que emite esta máquina, está intimamente relacionada coa incerteza: no primeiro caso non existe incerteza (sempre é cero) e no segundo caso a incerteza é completa (non podemos asegurar nunca cal será a seguinte chocolatina).
  • Se ignoramos ambos os extremos e só contemplamos as situacións intermedias, onde temos información (saen chocolatinas) e a súa natureza non é completamente aleatoria , entón estamos ante unha situación donde unha máquina pode “adiviñar” cal será a seguinte chocolatina.
  • Por exemplo, pode haber unha secuencia de 100B, 5N, 10B, 25N, 100B, 5N, etc...Nestes casos, podemos afirmar que existen patróns no fluxo de chocolatinas, xa que a previsibilidade das chocolatinas indica unha estrutura subxacente na secuencia emitida pola nosa máquina.
  • Incerteza 0?Non!
  • Cantos máis datos de saídas de chocolatinas teña a máquina, máis baixará a incerteza.
  • Pode haber unha secuencia repetitiva e despós un cambio e volver esa secuencia repetitiva, e volver o cambio...

Unha máquina, a través de suficientes datos de saída de chocolatinas, é capaz de detectar a presenza de patróns no fluxo de información (chocolatinas brancas e negras neste caso) e fai que esta sexa predicible.

No ámbito da Intelixencia Artificial, a incerteza refírese á falta de certeza ou confianza sobre unha decisión ou predición. Por exemplo, nun modelo de clasificación, se lle pedimos que identifique un animal, pode dicir que é unha "ovella" cunha probabilidade do 60 % e unha "cabra" cunha probabilidade do 40 %. A incerteza reside en que o modelo non está completamente seguro e distribúe as súas predicións entre varias posibilidades. Isto pode deberse a datos limitados ou características pouco claras nos exemplos. É como cando dubidas entre se algo é azul ou verde dependendo da luz: hai incerteza na percepción!

Patróns e aprendizaxe

Se un patrón pódese detectar nunha serie de datos       unha máquina pode aprender, xeneralizar e tomar decisións en base a eses patróns.

O mecanismo de aprendizaxe (atopar patróns na información) non é o único medio de xenerar coñecemento nunha máquina, pero sí é o mecanismo máis importante.

Reflexión

Lista de Cotexo

De dato a coñecemento, o superpoder humano

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