sábado, 10 de noviembre de 2018

XiuaElectronics: Inteligencia artificial aplicada a microcontroladores Parte #01

Inteligencia artificial aplicada a microcontroladores Parte #01

Buenos días estimados lectores. 

En el día de hoy veremos un tema de mucha importancia actualmente ya que nos proveerá el conocimiento necesario sobra las tecnologías emergentes como lo son la IA o inteligencia artificial y su implementación actual. Comencemos.

En la actualidad han aparecido diferentes tecnologías que han optimizado los procesos y la tareas de la cotidianidad, como lo son las tareas que requieren cierto grado de supervisión y toma de decisiones con base en señales proveniente de ellas. Un ejemplo claro de esto seria el buzón de voz de nuestros celulares. La tarea sería llamar; las posibles señales serían por ejemplo en caso en el que el usuario contestara, otra señal sería el caso de que no conteste y la otra señal sería el caso en el que el celular este apagado. cada una de estas señales requieren cierto tipo de respuesta, y para eso las tecnología nos ha provisto de procesadores los cuales cumplen la función de efectuar una decisión previamente programada. Por ejemplo cuando el usuario no contesta, el procesador esta programado para que nos redireccione al buzón de voz de nuestro servicio de telefonía. Ojo con esto último, no estamos hablando del procesador de nuestros celulares, sino de los servidores que nuestro proveedor de servicios utiliza para sistematizar las comunicaciones.

Acá es donde empezamos a ver lo complejo del asunto, ya que anteriormente dijimos que las decisiones son previamente programadas, pero ¿qué pasaría si hubieran nuevos parámetros desconocidos por el prestador de servicios y el programador de acciones del procesador?. En el caso hipotético donde necesitáramos de una nueva acción no programada, el procesador no sabría como actuar y por tal motivo nos arrojaría respuestas aleatorias o tal vez se quedaría dormido. Para solucionar este inconveniente se aplican técnicas como lo son el machine learning  o aprendizaje automático para la toma de decisiones con base en distintas señales y sin necesidad de efectuar una programación de respuestas sistemáticas. En este punto lo que hace el programa es utilizar distintas variables para poder ejecutar una respuesta con base en un ejemplo previamente programado. para entender mejor como funciona el learning machine vamos a utilizar un ejemplo de  un equipo biomédico para la predicción de tumores.


Figura 1: Predicción de tumores malignos con respecto al tamaño
Resulta que la implementación del aprendizaje automático para la predicción de tumores tiene como punto de referencia ejemplos de la vida real, y de esta forma se vuelve un método probabilístico muy confiable. vamos a desglosar mejor este asunto. 

En la figura 1 podemos observar una gráfica que nos muestra un eje horizontal que representa el tamaño de un tumor y el eje vertical nos representa si efectivamente el tumor el benigno o maligno. Los cuadros azules nos representan los casos en los que el tumor fue benigno, y los hexágonos nos van a representar los casos en los que el tumor fue maligno. Según la gráfico podemos ver que entre el tumor fue más grande hubo más casos en los que fue maligno, pero en cambio para los casos que el tumor fue benigno, era de menor tamaño. Los casos anteriormente mostrados los podemos tomar como ejemplo para crear un programa que obtenga el tamaño de un tumor y con base en este podamos saber que probabilidades tiene de que sea un tumor benigno o maligno. Imaginemosnos el escenario donde a través de una resonancia magnética un equipo biomédico nos mida le tamaño de un tumor y con base en ejemplos de la vida real se pueda predecir si es o no maligno. Pues bien, funcionaría de la forma en la que lo describimos anteriormente en la gráfica, y es aquí donde empieza a jugar el aprendizaje automático, ya que un tumor es probablemente maligno no lo por su tamaño sino que también por la edad del paciente, y otras características que posea el portador del tumor; en estos casos lo que se utiliza es una gran base de datos en una nube para tomar miles de ejemplos de diagnósticos positivos y negativos y así decidir si es o no maligno.

Pero cuando no tenemos grande cantidades de datos solo podemos tener en cuenta cierta cantidad de ejemplos. Recordemos que una nube es simplemente un servidor conectado a la red de Internet, así que en los casos que no haya Internet necesitaremos otras maneras, o simplemente estaremos limitados. Pero bueno dijimos que esto solo es aplicado a los servidores, que funcionan con microprocesadores, pero, ¿no podemos implementarlo en microcontroladores?. La respuesta de la anterior pregunta reside en cual es la diferencia de un procesador y un microcontrolador.


¿Qué son los microprocesadores?


Son los encargados de ejecutar los programas, desde el sistema operativo hasta las aplicaciones de usuario; sólo ejecuta instrucciones programadas en lenguaje de bajo nivel, realizando operaciones aritméticas y lógicas simples, tales como sumar, restar, multiplicar, dividir, las lógicas binarias y accesos a memoria.
Puede contener una o más unidades centrales de procesamiento (CPU) constituidas, esencialmente, por registros, una unidad de control, una unidad aritmético lógica (ALU) y una unidad de cálculo en coma flotante (conocida antiguamente como «coprocesador matemático»).



¿Qué son los microcontroladores?


Un microcontrolador (abreviado μC, UC o MCU) es un circuito integrado programable, capaz de ejecutar las órdenes grabadas en su memoria. Está compuesto de varios bloques funcionales, los cuales cumplen una tarea específica. Un microcontrolador incluye en su interior las tres principales unidades funcionales de una computadora: unidad central de procesamiento, memoria y periféricos de entrada/salida.

Según lo anterior dentro de un microcontrolador hay un microprocesador, y es aquí donde entramos a la pregunta clave de este tema, ¿podemos utilizar el aprendizaje automático con los microcontroladores ya que poseen un microprocesador en su interior?; esto lo veremos en la siguiente entrada amigos.






Esperemos en la próxima entrada la continuación de este tema tan interesante y de suma importancia.

Aquí podrás ver la Parte #02.

Escrito por: Breismam Alfonso Rueda Díaz


Fuente:
  • https://www.cancer.net/cancer-types/31366/view-all
  • https://jaimetorresy.blogspot.com/p/unidad-central-de-proceso-ucp-cpu.html
  • https://tallerelectronica.com/2014/11/30/microcontroladores/






Bien muchachos, esto es todo por hoy. Estén pendientes de mi canal, de mi blog y de mi pagina de Facebook para más contenido.




Cualquier duda, trabajo, tutoria personalizada por correo electrónico o pagina en facebook:
Facebook: https://www.facebook.com/electronicalibrexc/