A medida que la investigación ha progresado y nuestras posibilidades técnicas han evolucionado, la IA ha hecho lo mismo y existen varios conceptos diferentes. Ya los descubriremos.
Cuando se dota a los ordenadores de la capacidad de aprender de las experiencias que realizan, se habla de Inteligencia Artificial. La IA es la teoría y el desarrollo de sistemas informáticos capaces de realizar tareas que requieren inteligencia humana, como la percepción visual, el reconocimiento de voz, la toma de decisiones y la traducción de idiomas. El aprendizaje automático es cuando se utiliza la inteligencia artificial para que los sistemas aprendan y mejoren automáticamente a partir de la experiencia, en lugar de programarlos. Es decir, desarrollar habilidades informáticas para comprender y manejar de forma independiente grandes cantidades de datos. Para lograr la independencia, se utilizan algoritmos que permiten a los ordenadores interpretar y aprender de los datos para crear una opinión o predicción sobre algo. Con la ayuda del aprendizaje automático, los ordenadores aprenden cada vez más a medida que procesan y analizan nueva información. Por tanto, se vuelven más inteligentes con el tiempo.
El aprendizaje automático se utiliza a menudo para predecir resultados futuros basándose en datos pasados. Estos resultados permiten a la empresa tomar mejores decisiones empresariales en el futuro. Otro término con el que probablemente te hayas topado es Aprendizaje profundo. El Aprendizaje Profundo ha surgido del Aprendizaje Automático y se centra en herramientas y métodos seleccionados para permitir la aplicación del Aprendizaje Automático. Después, la máquina puede resolver esencialmente cualquier problema que requiera cursos de pensamiento humano o artificial. A continuación, el concepto se basa en la idea de crear y utilizar redes artificiales como método para procesar y decidir sobre datos dados. La investigación en Aprendizaje Profundo se centra en desarrollar constantemente estas redes, para manejar conjuntos de datos tan grandes como, por ejemplo, el banco de imágenes de Google o todos los tweets que se han escrito en Twitter.
Aprendizaje automático de AWS
IA Inteligencia Artificial y Aprendizaje Automático – Amazon Web Services (AWS): Como has leído anteriormente en el blog, Amazon Web Services llega a Suecia este otoño, lo que crea grandes oportunidades para las empresas suecas. Con AWS, las empresas no sólo obtienen soluciones informáticas rentables y flexibles, sino también la capacidad de la IA en la empresa con facilidad.
El gigante del comercio electrónico Amazon lleva mucho tiempo invirtiendo en Inteligencia Artificial AI y muchos de los servicios de AWS en este ámbito se utilizan de distintas formas. Un ejemplo es su asistente virtual Amazon Alexa o servicios completos basados en API como Amazon Recognition. Se utiliza para el análisis de imágenes y vídeo y puede reconocer personas u objetos. Amazon Comprehend reconoce idiomas, palabras clave, personas, lugares, eventos, etc. Amazon Transcribe convierte la voz en texto e incluso puede reconocer distintas voces y separarlas. En cambio, Amazon Polly convierte texto a voz en muchos idiomas y con varias voces diferentes. Amazon Translate traduce texto entre diferentes idiomas mediante modelos de Deep Learning para obtener una traducción más precisa y natural, en comparación con los servicios de traducción más tradicionales. Con Amazon Lex podemos construir bots de chat para tener contacto directo con los clientes o usuarios. Además, existen servicios de aprendizaje automático como Amazon SageMaker para construir, entrenar y distribuir modelos.
Por regla general, los servicios de AWS están diseñados para sus fines específicos y eliminan la complejidad de administrar la infraestructura y los sistemas subyacentes. Sólo pagas por lo que consumes y cuando lo gastas.
Modos de fallo y tasa de fallo
Aunque todo esto empezó con la inyección de latencia, como en los artículos de Yan Cui, la latencia está lejos de ser el único fallo posible que podemos tener en nuestras aplicaciones sin servidor. En fallo-lambda, fallo-azurefunctions y fallo-cloudfunctions hay ahora cinco modos de fallo diferentes entre los que elegir:
Identificar los puntos débiles
Inyecta latencia a la función ejecutada, controlada mediante un intervalo mínimo y máximo de milisegundos. Esto puede utilizarse, por ejemplo, para simular la latencia del servicio o para probar y ayudar a establecer tus valores de tiempo de espera.
Excepción
Lanza una excepción en la función. Te ayuda a probar cómo tu aplicación y tu código gestionan las excepciones.
Código de estado
Tu función devolverá un código de estado a elegir, por ejemplo 502 o 404 en lugar del normal 200. Esto te da la posibilidad de probar qué ocurre cuando hay errores.
Espacio en disco
Llenará tu disco temporal de archivos para crear un fallo. Si utilizas un disco para almacenar archivos temporales, puedes probar cómo se comporta tu aplicación si ese disco se llena o no puedes almacenar en él.
Lista negra (cortesía de Jason Barto)
Bloquea las conexiones a los hosts especificados. Utilízalo para simular que los servicios o terceros no están disponibles.
Todos estos modos de fallo pueden utilizarse junto con un índice de fallo que tú establezcas. Por defecto, se inyecta un fallo en cada invocación, pero en realidad, es probable que, por ejemplo, un tercero no esté disponible en el 50% de las llamadas realizadas a ese host o que se lance una excepción en una cuarta parte de las invocaciones. Fijar la tasa te permitirá conseguirlo.
