• Candidatura
  • Noticias
  • Próximos Eventos
  • Contacto

Tecnologías de la Información: ¿Qué son? Te explicamos su significado

Con mucha frecuencia, se utilizan los términos TI (Tecnologías de la Información) y  TIC (Tecnologías de la Información y la comunicación) como si fueran lo mismo, pero en realidad no lo son exactamente. ¿Quieres saber qué son las tecnologías de la información? Y ¿Qué diferencia tiene las TI y las TIC? En nuestro nuevo artículo te lo mostramos.

¿Qué son las tecnologías de la información?

La Tecnología de la Información (TI), son todas aquellas herramientas digitales o programas informáticos que permiten compartir, transmitir, administrar, tratar, recopilar datos o información. Con frecuencia, es utilizada por organizaciones y empresas para sus negocios.

Sin duda, el claro propósito es crear información, para después poder ser analizada por las personas, y tomar ciertas decisiones sobre ese análisis de datos. Cuando nos referimos a las TI, nos estamos refiriendo a todo el amplio aspecto de la información. De hecho, dentro de las tecnologías de la información encontramos el hardware, al software, a las redes, o a los periféricos.

que es tecnologias de la informacion

¿Qué efectos tienen las tecnologías de la información en las organizaciones?

Como todos sabemos, una empresa u organización está claramente vinculada al rendimiento, producción, competitividad y productividad. En este contexto, implementar las diferentes herramientas tecnológicas en las empresas es una clara necesidad para optimizar procesos, mejorar y evolucionar.

Las empresas deben de ser capaces de adaptarse a las nuevas tecnologías, modificar sus modelos de negocios o adaptar cambios de manera proactiva. Sus beneficios en las organizaciones empresariales son muchos, ya sean: la optimización de procesos, aumentar la productividad, reducir costes, mejorar la comunicación dentro y fuera de la empresa, mejora la competitividad, y la posibilidad de tomar decisiones mucho más precisas.

Otros conceptos:

  • TIC: Las TIC o tecnologías de la Información y la comunicación, no dejan de ser una parte de la TI, pero que implica el factor de las comunicaciones​, la integración de las telecomunicaciones y las computadoras.
  • IT: Es común encontrar las siglas en inglés de las tecnologías de la información, IT (Information Technology).
  • NTIC: Nuevas Tecnologías de la Información y de la Comunicación.

tecnologias de la informacion en las organizaciones

Fórmate para ser un experto de las nuevas tecnologías o en transformación digital

Si eres una persona joven, con ganas de aprender una profesión relacionada con tecnologías de la informática, en Epitech, disponemos de diferentes programas para ello. 

Sin duda, uno de los más prestigiosos estudios de nuestra escuela, es el grado y máster en informática, donde obtendrás un título oficial reconocido en la unión europea, y que te permitirá ser un experto en la información y las nuevas tecnologías. 

Además, tenemos un máster en transformación digital e innovación, el cual te permitirá liderar la innovación y la transformación digital en cualquier empresa, necesidad que tanto urge a empresas de todo el mundo.  

Contacta con nosotros para más información acerca de nuestros programas y aprende una profesión tan necesaria para el presente y el futuro. 

¡Te informaremos sin ningún tipo de compromiso!

¿Qué es un Hosting? ¿Cómo funciona?

Resumiendo mucho el concepto de que es un hosting, se podría decir que un hosting (o hosting web) es el espacio donde está alojada toda la información de una web o aplicación. Ahora bien, si quieres profundizar más sobre el concepto y aprender su significado, para que sirve y que diferentes tipos hay, este artículo es de tu interés.

¿Qué es un Hosting y qué significa?

La palabra hosting proviene del inglés y significa alojamiento. Un hosting es un servicio que se ofrece para el alojamiento de un sitio web o aplicación, y permite que cualquier persona a través de internet pueda acceder a ella. 

Vamos a poner un ejemplo fácil: Los archivos de tu dispositivo móvil se alojan en el mismo dispositivo, o en una tarjeta de almacenamiento externa. En el caso de un sitio web o aplicación, pasa lo mismo, pues se requiere un lugar donde almacenar los datos y que siempre estén disponibles,  para ello se usan servidores (hostings) donde se alojan datos de un gran número de webs.  

que es un hosting en informatica

¿Qué es un servidor y un servidor web?

Un servidor es un equipo informático diseñado para procesar un gran número de datos en diferentes ordenadores. Puede ser una red local o a través de internet. En el caso de un servidor web, es un software que está dentro del servidor y permite dar información al usuario que hace una petición de datos.

Pongamos un ejemplo para entenderlo mejor: es tan sencillo como realizar una búsqueda en Google, introducir una web en tu navegador, y le estarás enviando una solicitud al servidor donde la web está alojada, para que te comparta la información en tu ordenador, televisión, móvil o smartphone. 

qué es un hosting

¿Cómo funciona un hosting?

Ya lo hemos avanzado un poco en el punto anterior, pero a nivel práctico, un usuario usa un dominio (nombre de la web, en nuestro caso es https://www.epitech-it.es/) para acceder a una página web desde un dispositivo móvil u ordenador. Cada dominio tiene asignadas unas DNS (nameservers) y una IP (número que permite identificar a la web).

En una búsqueda normal por internet en un dominio cualquiera, introduces el nombre del dominio que quieres visitar. Con la ayuda de las DNS y la IP se localiza el servidor donde está alojada la web, los datos de ella, para que así el servidor comparta los datos con tu navegador. 

Epitech

¿Te apasiona el mundo de la informática? ¿Te gustaría formarte en una profesión que no tiene casi paro laboral? Si es así, en Epitech, somos una escuela de Informática superior, donde disponemos de diferentes tipos de programas en el ámbito de la informática. Conviértete en un experto informático, y aprende las habilidades necesarias para liderar proyectos digitales y de innovación tecnológica. 

El mundo de la informática es un sector muy importante en la actualidad y en el futuro. 

¡Contacta con nosotros si necesitas algún tipo de información!

Prácticas en estudios de informática: Trascendentales para la formación del profesional

En Epitech, nuestros alumnos adquieren las habilidades y conocimientos necesarios para convertirse en grandes expertos en informática. Además, en nuestra escuela superior entendemos que las prácticas de informática que deben de llevar a cabo los alumnos, son de vital importancia para acabar de formarse como profesionales completos de éxito en este sector. 

En este contexto, en nuestro nuevo artículo, hacemos referencia a la importancia de las prácticas profesionales de informática. Formación y prácticas es la combinación perfecta para conseguir una inmersión laboral tras finalizar los estudios, ya sea en una empresa o para iniciar un proyecto por su propia cuenta. 

practicas en informatica

La importancia de las prácticas en informática

La base de las prácticas profesionales de informática, permite a los alumnos poner en práctica todo lo aprendido durante su proceso de formación.  El alumno, debe considerar estas prácticas de informática como si de un trabajo real se tratase. 

Los alumnos de Epitech se han formado con una metodología basada en proyectos  y han potenciando sus soft skills, lo que les permitirá disponer de una actitud más resolutiva a la hora de trabajar en proyectos reales. Además, en la escuela se les plantean enseñanzas lo más cercanas al mundo laboral, lo que les permite afrontar en sus prácticas laborales con una actitud adecuada frente a problemas reales, y eso les será un punto de diferenciación clave frente a otros estudios más teóricos.

practicas informática

Para asegurar una experiencia valiosa, colaboramos con diversas empresas para hacer prácticas de informática. Esta asociación estratégica permite a nuestros estudiantes enfrentarse a desafíos reales del mundo laboral, preparándolos mejor para su futuro profesional.

Ventajas de las prácticas profesionales de informática

Vamos a revisar los beneficios más importantes de realizar prácticas profesionales al estudiar en el sector de la informática:

  1. Nuevas competencias: Aunque en Epitech, centramos nuestros métodos de estudios basados en la práctica, siempre hay una diferencia entre lo que pueden aprender en una empresa real. Hasta que el alumno no se encuentra con el día a día de una empresa, no puede poner en práctica todo lo aprendido de una forma real. Gracias a ello, se desarrollan nuevas habilidades, las cuales son esenciales para mejorar el perfil profesional del alumno. 
  2. Conexiones profesionales: Los conocimientos que se adquieren son importantes, pero el networking que se adquiere es impresionante. Se está en contacto con profesionales con perfiles muy diferentes, y se establecen lazos muy importantes para el futuro del alumno. Conocer el máximo número de personas en las prácticas profesionales de informática, aumenta considerablemente las oportunidades laborales.
  3. Posibilidad de ser contratado por la empresa: Dejar una impresión positiva en la empresa donde se realizan unas prácticas, es fundamental. Ya que en un futuro, se puede estar en la mente de la empresa, para futuras vacantes.
  4. Visión internacional: Aunque no todas las universidades o escuelas ofrecen prácticas internacionales, es un factor diferenciador para el profesional. Por este motivo, en los grados de Epitech las prácticas de informática se realizan en universidades repartidas por todo el mundo.

Epitech

Para Epitech es fundamental que nuestros alumnos estén 100% preparados para la vida laboral, que les depara al finalizar los estudios. Y para ello, disponemos de una red de 3.000 empresas asociadas en todos los sectores de la economía. 

¿Te apetece formarte para ser experto en el área de la informática? Revisa alguno de nuestros programas. Los años de experiencia formando profesionales de este sector nos avalan. 

El aprendizaje mediante una metodología por proyectos

¿Qué es una metodología por proyectos?

La metodología por proyectos es un tipo de enseñanza en la cual el alumno es el protagonista. Esta metodología activa, procura romper las barreras del aprendizaje, ayuda a fomentar las soft skills personales y sus competencias. 

El alumno debe de trabajar en resolver el problema con sus conocimientos, investigando, reflexionando o con los recursos que tenga a su alcance. Es indispensable que el alumno adquiera habilidades como la flexibilidad, o se sepa adaptar a diferentes situaciones, equipos y proyectos.

ventajas de la metodologia por proyectos

Ventajas de la metodología por proyectos

Existe una serie de ventajas al utilizar este tipo de estrategias de aprendizaje para los alumnos. Veamos algunas de las más importantes:

  1. Reforzar las capacidades del alumno: El alumno necesita poner en común sus ideas, debatir que es mejor o peor, y llegar a acuerdos entre diferentes puntos de entendimiento. Gracias a ello, se potencian las habilidades sociales mediante el intercambio de ideas y llegan a una conclusión común. 
  2. Motivación: El alumno debe de investigar y aprender, lo que desconoce, gracias a ello se logra despertar su curiosidad y motivación.
  3. Aprender de sus errores: La vida es un aprendizaje constante, y debemos aprender de los errores que cometemos, para ello la metodología basada en proyectos, permite que el alumno evalúe su propio trabajo, con el objetivo de identificar errores, y al mismo tiempo aprender de ellos. 
  4. Ayuda a aumentar la creatividad: Promover la creatividad del alumno es importante, ya que se debe dar respuesta a una cuestión previamente planteada. Crear un producto o servicio desde cero, les ayuda utilizar su creatividad, y ser lo más originales posibles en el camino. 
  5. Desarrollo de la autonomía: en la metodología por proyectos el alumno es protagonista, debe planificar, administrar las tareas, tomar sus propias decisiones, poner sus ideas en común, para desarrollar un producto final excelente. 

que es metodologia por proyectos

En Epitech, creemos firmemente en que los alumnos deben de adquirir diferentes tipos de competencias básicas que le servirán en su futuro.  Les ayuda a poner en práctica los temarios, les incentiva a la investigación, y a desarrollar el autoaprendizaje. 

Estos aspectos son esenciales en un futuro que está en constante cambio, y más en el ámbito de la informática. Cada vez es más necesario adaptarse a las nuevas tecnologías emergentes, y a los diferentes cambios de paradigma.

Epitech

¿Te apasiona el mundo de la informática y la programación? En Epitech, encontrarás una escuela superior de informática donde formamos a nuestros alumnos con las técnicas más innovadoras, para que los alumnos estén más que preparados para su futuro. 

En Epitech, creemos en la importancia de formar a nuestros alumnos con bases sólidas, y que cuando salgan en el mercado laboral, estén 100% preparados. El aprendizaje por proyectos o ABP, ha ido evolucionando en el tiempo, donde se ha incrementando lo que mejor funciona de las diferentes metodologías, tales como pueden ser de las metodologías Agile

Si te gustaría aprender informática en una formación basada en proyectos, revisa nuestros programas  y elige el que más te apasione. Si tienes alguna duda contacta con nosotros, te brindaremos una atención personalizada sin ningún tipo de compromiso. 

Qué es el Frontend y para qué sirve en diseño web

¿Te gustaría saber más acerca del frontend? En este artículo, hablamos en profundidad de que es frontend, quién lo desarrolla, y para qué sirve en diseño web. Además, como hemos mencionado en otros de nuestro post diferenciaremos “cuáles son las diferencias entre Front end y Back end”, y por qué es una parte fundamental de una web o aplicación. 

¿Qué es el frontend?

El frontend es la parte visible o interfaz de una web o aplicación, con la cual interactúa el usuario y es conocida como “el lado del usuario”.  En este contexto, es todo lo que vemos a través de nuestra pantalla, y como usuario podemos navegar e interactuar. 

El frontend está compuesto de textos, colores, efectos visuales, objetos en movimiento, desplazamientos, imágenes, entre otros muchos elementos más que el usuario puede apreciar en un producto digital. Los desarrolladores, crean unas bases en el backend que ayuda a que se trabaje el frontend con el diseño centrado en el usuario lo más perfecto posible.

frontend masters

Frontend developer o desarrollador frontend: El encargado de aplicar la magia visual

Trascendental en cualquier proyecto digital, el especialista frontend developer (o en su significado en español desarrollador frontend), se encarga de programar la interfaz (lado visible) de una web o aplicación. 

Aunque este está especializado en todo lo que gira alrededor del lado del usuario y diseño web, también debe de tener nociones de la estructura de las páginas, legibilidad de la web o aplicación, y se encarga de crear una experiencia buena para el usuario.

Lenguajes de programación esenciales para el Frontend

Un desarrollador que se encarga del lado del usuario, debe de conocer diferentes lenguajes de programación orientados a interactuar con la interfaz de una web o aplicación. Entonces estos lenguajes más utilizados son: 

que es front end

¿Te gustaría poder desarrollar proyectos web o incluso aplicaciones?

Si tu respuesta es sí, desde Epitech queremos transmitirte la importancia de formarte en una escuela superior líder en el sector de la programación y la informática. Para ello, nuestra escuela está especializada en este ámbito, con una filosofía centrada en que nuestros alumnos aprendan de una forma 100% práctica, siempre basada en proyectos, tal y como te encontrarás en el mundo laboral. 

Para ello, tenemos un grado + máster en Informática que brinda a los estudiantes las capacidades necesarias para ser expertos en las nuevas tecnologías y la programación. 

¡Contacta con nosotros, te informaremos sin ningún tipo de compromiso!

Los estudios de grado con más salidas

La elección de unos estudios de grado o de una carrera es una decisión importante, por lo que hay algunos factores trascendentales que debes de considerar antes de dar el último paso. Por supuesto, es muy importante que en tu elección, incluyas tus preferencias: gustos, expectativas o incluso si te apasiona algo desde siempre. La motivación por estudiar es un factor clave para llegar al fin de los estudios con éxito.

Otro aspecto importantísimo a conocer y tener en cuenta, son las salidas laborales que tengan los diferentes grados. Si combinas tus preferencias, con un grado que disponga de una amplia salida laboral, podrás tomar una buena decisión.

En nuestro nuevo artículo, te mostramos los estudios de grado con mayores salidas profesionales. 

estudios de grado en España

Estudios técnicos: Grados en ingeniería o formación en informática

En algunos sectores en auge, como el de la informática, te estarás preparado para encontrar empleo en un gran número diferente de sectores empresariales. Las profesiones técnicas, especialmente las relacionadas con la programación, aseguran una empleabilidad elevada.

  • Grado y Máster en Informática: Gracias a este tipo de grados, los alumnos son capaces de convertirse en expertos en tecnologías de la informática.  Además, estarás preparado para afrontar puestos muy diversos, ya sea como full-stack developer, consultor informático, ingeniero informático, project manager, director técnico, entre otros puestos más. Sin duda, este tipo de grados permite al alumno trabajar en una infinidad de sectores diferentes y los ratios de estudiantes que encuentran empleo en los primeros años es muy elevado.
  • Ingeniería Industrial: Este tipo de ingenierías disponen de diferentes tipos de especialización. El alumno adquiere un perfil muy versátil, y puede trabajar en empresas que se dediquen a la creación de productos electrónicos, mecánicos, entre otros.
  • Una ingeniería de telecomunicaciones: Los alumnos de ingeniería de telecomunicaciones, se encargan de diseñar, gestionar sistemas tecnológicos informáticos, y telecomunicaciones. Se puede encontrar trabajo en empresas de telecomunicaciones, de consultoría de ingeniería, o incluso en instituciones gubernamentales. Se tratan de profesionales técnicos muy demandados y apreciados.

Estudios de grado en el sector de las empresas y los negocios

Sin duda, algunos de los grados universitarios con más salidas son los relacionados con la empresa y la gestión de negocios, ya sea para trabajar en gran diversidad de sectores empresariales, como para emprender y crear tu propio negocio.

  • Grado y Máster en Digital Management: Te capacitas para ser experto en negocios digitales, donde te capacita para afrontar proyectos digitales en cualquier sector. Es trascendental entender el océano de posibilidades que se tiene al cursar un grado en negocios digitales, ya que se puede trabajar de Chief technical officer, marketing officer, digital officer, transformation officer, Project manager, data scientist, entre muchos otros puestos más. La polivalencia de salidas laborales de este tipo de grados es impresionante.
  • Grado en comercio y Marketing: Este tipo de estudios, son de los grados con más salidas profesionales. Son polivalentes, pero se centran en el comercio y en el marketing, existen un gran número de sectores que requieren a expertos en comercio y marketing, y ayudan a las empresas a expandirse, o a incrementar sus resultados empresariales.
  • Grado en Administración y Dirección de Empresas: Este otro grado, forma a sus alumnos para un gran número de sectores, ya que tienen mucha diversidad de puestos de trabajo a los que el graduado puede aspirar para  trabajar. 

grados con mas salidas profesionales

Sector de la salud

En el sector salud, también hay algunos de los estudios con más salidas.

  • Enfermería: Existe una gran demanda de enfermeros en la actualidad, y estos pueden ejercer en diferentes áreas, ya sea como enfermeros/as generalistas, o especializarse en pediatría, entre otras especialidades.
  • Medicina: La medicina, desde siempre ha sido una de las profesiones más demandadas. Una vez cursados los estudios, el médico/a se puede especializar en el ámbito de la medicina que más interés le despierte. 

Epitech

Como has podido comprobar, en general los grados con más salida laboral, suelen ser aquellos que engloban diversos sectores y pueden ser demandados en diferentes tipos de empresas. 

¿Te apasiona el mundo de la informática y la programación? ¿Buscas estudios de grado en España que te supongan grandes salidas profesionales? En Epitech, encontrarás una escuela superior de informática donde formamos a nuestros alumnos con las técnicas más innovadoras, para que los alumnos estén más que preparados para su futuro. 

Crea tu personal trainer con Inteligencia Artificial

Presentación del Taller

El pasado 15 de abril Saturdays.AI y Epitech realizamos el taller “Crea tu personal trainer”. Durante este taller se exploran las bases teóricas y prácticas del deep learning, en particular de modelos para la visión por computación (computer vision) y sus aplicaciones para una participación activa en nuestros hábitos diarios, como es mejorar la postura, o incluso ayudarnos a entrenar o bailar mejor.

Pose estimation

Una de las grandes áreas enmarcadas dentro del Deep Learning es la visión artificial. En este webinar se han introducido los conceptos básicos como son el perceptrón, las funciones de activación o las redes neuronales para poder comprender cual es la arquitectura de una red convolucional; que son aquellas empleadas para transformar las imágenes en un vector de características que pueda ser usado por una red neuronal.

Además, se ha intentado eliminar el concepto de “caja negra” que está en las redes neuronales; debido a que es muy complicado comprender porque realiza las decisiones que toma. Sin embargo, en el caso del computer visión; recientemente se han creado una serie de técnicas que permiten ver cuál es la función de cada una de las neuronas.

El objetivo del taller residía en ser capaces de crear un algoritmo de IA con el objetivo de que nos ayude en nuestros entrenamientos. Para afrontar este reto se ha usado el algoritmo de OpenPose, el cual permite obtener 25 puntos del cuerpo y conocer sus posiciones.

OpenAI Microscope
El objetivo del taller residía en ser capaces de crear un algoritmo de IA con el objetivo de que nos ayude en nuestros entrenamientos. Para afrontar este reto se ha usado el algoritmo de OpenPose, el cual permite obtener 25 puntos del cuerpo y conocer sus posiciones.

Herramientas y resultados del taller

Antes de enfrentarnos a una de las posibles soluciones se ha estudiado cuál ha sido el pipeline de los creadores de OpenPose:

Además, posteriormente se han realizado una serie de implementaciones usando la herramienta Google Colab que permiten ver cuáles son las funcionalidades dentro de este algoritmo y como pueden ser implementadas por nosotros mismos.

 

Finalmente, con el objetivo de afrontar el reto planteado se han presentado dos personas; una entradora y un entrenado mediante los cuales se estudiaba si la pose que realizaba la persona que no era experta era correcta, en caso de que no lo fuera se le daban las directrices que debía hacer con el fin de realizar bien la postura.

Conviértete en un personaje animado usando Inteligencia Artificial

Presentación del taller

El pasado 21 de Enero tuvo lugar el taller “Conviértete en dibujos animados usando Inteligencia Artificial” de la mano de Epitech y Saturdays. En este taller se exploraron las bases teóricas y prácticas de los modelos generativos, en particular de las redes GAN en la tarea de transferencia de estilo.

Los objetivos principales del taller fueron entender los fundamentos teóricos de los modelos generativos, la transferencia de estilo, y la implementación de una red GAN que permita realizar una transferencia de estilo con carácter general.

Conceptos teóricos

La Inteligencia Artificial (IA) aplicada a la visión por computador ha llegado para quedarse, y muestra de ello es el gran abanico de filtros que proporcionan algunas redes sociales como Snapchat, Instagram, o TikTok, que permiten distorsionar la realidad captada por la cámara.

Ya sea como entretenimiento o con fines comerciales, en los últimos meses han proliferado las aplicaciones que permiten convertir cualquier foto en una obra de arte, en un personaje de anime o en un personaje de dibujos animados. Esta misma tecnología está siendo utilizada por grandes empresas tecnológicas como Adobe para el desarrollo de la siguiente generación de Photoshop, por Disney para la creación de nueva tecnología de animación mucho más realista y con un menor consumo de recursos, o por IBM para la generación sintética de imágenes que permitan aumentar los limitados conjuntos de datos utilizados para el entrenamiento de modelos de inteligencia artificial mucho más complejos.

El conjunto de todas estas tecnologías que lidera el estado del arte y presenta nuevas aplicaciones mes a mes  se engloba dentro de un campo mucho mayor: los modelos generativos.

Para entender el contexto en el que están contenidos estos modelos deberemos distinguir entre los modelos discriminativos y los modelos generativos.

Los modelos discriminativos son modelos cuya función principal es la de llevar a cabo tareas de clasificación. A partir de un conjunto de características X, como pueden ser los píxeles de una imagen, el modelo tratará de clasificarla en una clase de entre las disponibles Y, proporcionando no sólo la clase a la que pertenece sino el grado de confianza de esta clasificación. Es decir, este tipo de modelos aprenderán la probabilidad condicional P(Y|X).

Por contrapartida, los modelos generativos son modelos cuya función principal es la de generar a partir de un conjunto de números aleatorio (ruido), un conjunto de características lo suficientemente bueno como para poder representar la clase a partir de la cual ha sido entrenado. Es decir, este tipo de modelos aprenderán la probabilidad condicional P(X|Y). Esta señal de ruido aleatorio será la encargada de proporcionar la diversidad al modelo, para evitar que siempre genere el mismo tipo de imágenes.

Pese a que existen distintos tipos de modelos de inteligencia artificial que pueden actuar como modelos generativos, sin duda uno de los más presentes en la literatura son las conocidas como Redes Generativas Adversarias (GAN).

Presentadas en el año 2014, las GAN llegaron para revolucionar el campo de la visión por computador, proporcionando los fundamentos de lo que sería el inicio del concepto de la creatividad en el contexto de la Inteligencia Artificial, y la base para el desarrollo de numerosas tecnologías con un gran impacto en ámbitos interdisciplinares como la conducción autónoma, la medicina, la agricultura o el diseño gráfico.

Una arquitectura GAN se compone principalmente de dos redes neuronales individuales: el generador y el discriminador. Mientras que la red generativa tratará de generar los resultados falsos más realistas posibles a partir de ejemplos de referencia, la red discriminativa tratará de distinguir estos resultados falsos de las imágenes reales.

Una analogía que trata de facilitar el entendimiento del funcionamiento de estas redes es la del falsificador y el experto de arte. La red generativa es el equivalente a un falsificador de cuadros: tratará de crear las réplicas más realistas posibles hasta que sean indistinguibles de los cuadros realistas, y consigan engañar al experto. Por su parte, la red discriminativa es el equivalente a un experto en arte: tratará de distinguir con la mayor precisión posible las falsas réplicas de los cuadros originales. En el proceso de entrenamiento, ambas redes competirán entre sí para tratar de ir por delante de su contrincante (por este motivo reciben el nombre de redes adversarias). El entrenamiento finalizará en el momento en el que el generador consiga engañar al discriminador en la mayoría de las ocasiones.

En realidad, tras finalizar el proceso de entrenamiento iterativo, la red discriminadora deja de ser necesaria, pues la red generadora ya ha aprendido la distribución de los datos originales, y puede utilizarla para la síntesis de nuevas imágenes. Los pesos entrenados de la red generadora serán almacenados y utilizados para la síntesis de nuevas imágenes a partir de ruido aleatorio.

Algunas modificaciones más avanzadas han sido presentadas desde la propuesta de las arquitecturas más básicas de GAN. Modelos como Pix2Pix (2016) o StyleGan (2019) permitieron que las GAN no sólo fueran capaces de generar nuevas realidades imaginadas, sino de utilizar una referencia para ello. De este modo, imágenes en blanco y negro podrían recuperar su color, imágenes tomadas de día podían simular haber sido tomadas de noche, cuadros paisajísticos podían tomar el aspecto de fotografías, etc.

Una de los eventos al respecto más destacables, es cuando recientemente el laboratorio de inteligencia artificial de NVIDIA (empresa líder en IA), liberó públicamente un modelo interactivo conocido como GauGAN capaz de transformar mapas semánticos en imágenes realistas. No sólo los resultados son muy cercanos a la realidad para cada una de las categorías, sino que se conserva el contexto semántico global de la imagen.

Estos nuevos modelos sentaron la bases de lo que se conoce como transferencia de estilo; la capacidad de trasladar el estilo de una imagen al contenido de una segunda.

Herramientas y resultados del taller

A lo largo del taller se utilizó la plataforma de trabajo Google Colab y el lenguaje de programación Python. Mediante algunas arquitecturas pre-entrenadas, los participantes fueron capaces de utilizar sus propias imágenes de contenido y estilo en la tarea de la transferencia de estilo.

A continuación se presenta uno de los resultados obtenidos por uno de los participantes:

Puedes ver el taller completo aquí:

Stress Wearables: combate el estrés con Inteligencia Artificial

Presentación del taller

El día 3 de junio Saturdays.AI junto con Epitech realizamos el taller “Combate el estrés con Inteligencia Artificial”. Durante este taller se exploran las bases teóricas y prácticas del machine learning, en particular de modelos de predicción como son los árboles de decisión, los bosques aleatorios y las regresiones lineales.

Imaginémonos que nos encontramos en época de exámenes, que suele ser bastante estresante para muchos, y decidimos que durante todo el día vamos a estar estudiando porque no llevamos muy bien el próximo examen. Le dedicamos tres horas seguidas de estudio por la mañana sin descansar, nos vamos a preparar la comida porque nos ha entrado hambre, pero aun así seguimos pensando en que tenemos que volver rápido al escritorio. Después de comer nos volvemos a sentar delante de nuestros apuntes y estamos otras 3 horas, pasadas esas 3 horas sentimos cierta molestia física y mental. ¿Qué puede estar pasando? Que nos estemos estresando demasiado por el examen y por culpa de eso estemos estudiando sin descanso, cosa que no es buena para la salud.

Ahora imaginémonos que volvemos a empezar el mismo día, pero tenemos un smartwatch puesto, nos decidimos a estudiar tres horas seguidas pero cuando llevamos 1 hora, vibra el smartwatch, le echamos un ojo para ver que dice y vemos que nos está avisando de que estamos aumentando el nivel de estrés y que sería conveniente descansar 10 minutos y una vez descansado el cuerpo y la mente estarán en mejor estado para seguir estudiando.

Lo que pretendemos con este taller es observar cómo a partir de datos de diferentes dispositivos se puede predecir el nivel de estrés para casos como el del ejemplo.

Los principales objetivos de este taller son entender y aprender a usar un conjunto de datos, prepararlo adecuadamente para ser utilizado para entrenar un modelo y por último saber crear un modelo de predicción que se ajuste a los datos vistos.

Conceptos teóricos

Cada vez más gente utiliza un smartwatch, prueba de ello es que van saliendo más modelos y mejores. Incluso hay algunos que miden el oxígeno en sangre. Para encontrar un reloj inteligente que cuide tu salud no hace falta ir a los que más cuestan, seguro que la mayoría conocéis a alguien que tenga una mi band, con eso es suficiente para tener una idea de cómo nos pueden ayudar estos aparatos a mejorar nuestra salud.

Ahora bien, cuando hablamos de wearables no solo hablamos de smartwatch sino que hay muchos más dispositivos, los que vayáis en bici seguro que conocéis los sensores de frecuencia cardíaca que se usan, para los demás, son una especie de pulsera o cinta que se suele poner como cinturón que mide con más exactitud tus pulsaciones cuando estás haciendo ejercicio.

Si a todos los datos obtenidos por dispositivos como estos les aplicamos la Inteligencia artificial podemos obtener grandes resultados que pueden ayudar a muchas personas.

Para entender los modelos que vamos a usar es importante entender antes que hay dos tipos de aprendizaje cuando hablamos de modelos. Podemos distinguir los dos siguientes:

  • Aprendizaje supervisado
  • Aprendizaje no supervisado

¿Cuál es la diferencia entre los dos tipos? Un aprendizaje supervisado es aquel en el que se usan diferentes técnicas para predecir una variable en concreto mientras que el aprendizaje no supervisado es aquel en el que los modelos realizados obtienen nueva información y no predicen una variable. SI lo que se desea es predecir el resultado de una variable, en este caso el nivel de estrés en el que la persona se encuentra tenemos delante un problema de aprendizaje supervisado mientras que si lo que deseamos es agrupar las muestras por similitudes hablamos de no supervisado y en específico podríamos hablar de una técnica de clustering. El clustering se encarga de agrupar las muestras siguiendo algún criterio establecido, normalmente distancia o similitud. Para entender el clustering mejor podemos ver la siguiente imagen.

En este taller se trabaja con aprendizaje supervisado ya que el propósito de este taller es clasificar el sujeto según los datos vistos y por lo tanto es un problema de clasificación en el que la intención es predecir la variable que nos indica el nivel de estrés que está sufriendo el paciente. Para ello se usan diferentes modelos, los más conocidos son los árboles de decisión y los bosques aleatorios. ¡Para ver con exactitud cómo funcionan con los datos de los wearables te recomendamos mirar el taller!

 Herramientas y resultados del taller

A lo largo del taller se utilizó la plataforma de trabajo Google Colab y el lenguaje de programación Python. Mediante la creación de algunos modelos de predicción los participantes pueden predecir el nivel de estrés en el que se pueden encontrar. Aunque en el taller también se observa cómo dependiendo de los datos que se usan para entrenar los modelos el resultado de la predicción es más acertado o menos.

Puedes ver el contenido completo de este taller aquí:

¿Quieres conocer aun nuevo amigo? Crea tu propio chatbot

Presentación del taller

¿Te gustaría charlar con tu personaje favorito cuando quieras? Usando inteligencia artificial (IA) puedes construir un chatbot para ello. El pasado jueves 18/3/2021 realizamos el taller “¿Quieres conocer a un nuevo amigo? Crea tu propio Chatbot!” de la mano de Epitech y Saturdays.AI durante el cual exploramos las bases teóricas y prácticas de los modelos de procesamiento del lenguaje natural (PLN o NLP en inglés), con un especial énfasis en los actuales modelos de tokenización como Transformers y los muy espectaculares “large language models” como GPT3.

El objetivo principal del taller es entender los fundamentos de la IA aplicada al lenguaje y la implementación de un modelo para desplegar un chatbot siguiendo el estilo de un personaje de ficción.

Conceptos teóricos

El procesamiento del lenguaje natural es una rama de la inteligencia artificial, cuyo objetivo es comprender los textos y posteriormente ser capaces de extraer información de estos. La historia del NLP tiene dos etapas diferenciadas; la época determinista en donde se definían las reglas que rigen los textos de manera manual y posteriormente la época del “Deep Learning” el cual ha revolucionado este ámbito.

Aplicaciones

Mediante una Jupyter Notebook se ha procedido a mostrar diversos ejemplos de las aplicaciones que tienen el NLP en la comprensión de textos.

En primer lugar se ha explicado cómo funcionan los algoritmos por dentro, cuál es el preprocesado que debe realizarse antes de pasar los datos por el modelo, destacando la importancia de mantener la coherencia con el modelo que se va a emplear.

También se han mostrado ejemplos de:

  • Question answering: Se le muestra un texto al modelo y se le hacen una serie de preguntas al respecto.

  • Fill the blank: Se deja un espacio en blanco en un texto y debe ser capaz de rellenarlo de manera coherente

  • Causal language modeling: El objetivo es ir completando una frase de palabra en palabra
  • Text generation: Ser capaz de devolvernos un texto a partir de una frase completa

Herramientas y resultados del taller

En primer lugar se han visto las limitaciones que tiene un algoritmo de NLP básico sin personalizar ni añadir parámetros específicos:

Se ha decidió usar

fine-tuning;

una técnica que permite personalizar un algoritmo mediante nuestros propios datos; en este caso se ha empleado un Dataset de la serie

Rick and Morty

. En este caso sí que se ha observado una adaptación al entorno en que se encuentra y una personificación de Rick.

Finalmente, después de hablar con el chatbot Rick, concluimos el taller y animamos a los participantes a seguir aprendiendo Inteligencia Artificial.

 

 

 

 

Puedes ver el taller completo aquí:

¡Que tu Inteligencia Artificial gane juegos por ti!

Objetivo del taller

En este taller aprendemos cómo construir una inteligencia artificial, o sea, un programa informático que usando diferentes técnicas de aprendizaje por refuerzo (reinforcement learning) nos permite jugar a diferentes juegos sencillos, además de ver otras implementaciones más complejas de esta misma técnica que han permitido vencer al campeón mundial de GO con el programa AlphaGO, conseguir niveles de élite en e-sports o competiciones profesionales de videojuegos como League of Legends (LOL), Dota2 o Starcraft world. Además, apuntamos potenciales oportunidades para aplicar estas mismas técnicas en la robótica y la industria hoy en día.

Todo ello de forma práctica, con ejemplos y para cualquier persona aunque no tenga conocimientos de programación lo pueda entender.

Base conceptual

El aprendizaje por refuerzo es una área dentro de la inteligencia artificial en la cual el objetivo es aprender en base a los errores que vamos cometiendo. La manera más sencilla de ejemplificar sería con un juego. Si por ejemplo estamos jugando al Mario Bros, somos el agente, iremos recibiendo recompensas positivas cada vez que consigamos una moneda, por ejemplo, sin embargo recibiremos una recompensa negativa si nos encontramos con alguna seta o caemos por un hoyo. Una vez acabada la partida, ganemos o perdamos tendremos que hacer un análisis de cuáles han sido las acciones que hemos realizado y nos han beneficiado y cuales son aquellas que no lo han hecho. Con este entrenamiento, la próxima vez que juguemos a la partida habremos aprendido que deberíamos hacer y qué no.

Mediante este ejemplo puede aproximarse el concepto de aprendizaje por refuerzo, fig.1. Hay una serie de elementos que es importante conocer a la hora de trabajar y comprender este campo.

Fig.1 Esquema básico del aprendizaje por refuerzo
Fig.1 Esquema básico del aprendizaje por refuerzo

En primer lugar se encuentra el agente, es el elemento principal que realiza las acciones y se mueve por el entorno. Cada vez que realiza una acción obtiene dos informaciones; el nuevo estado, por ejemplo si vamos andando por baldosas nos indicaría que estamos en la baldosa de la derecha si hemos realizado la acción de ir a la derecha; y además nos devuelve una recompensa, esta nos indica cómo de buena, mala o neutra ha sido nuestra acción.

El conjunto de acciones que vamos realizando nos dan lugar a una política, el objetivo de esta será maximizar el número de recompensas que obtenemos al final del recorrido o entorno.

Cuando nos movemos por un entorno puede suceder que encontremos un camino que nos lleva satisfactoriamente hacia el punto final, sin embargo, también puede suceder que haya más de un camino que nos lleve hacia ese punto y que incluso nos permite obtener mejores recompensas. Por esta razón cuando el agente se encuentra en un entorno, a la hora de realizar una acción debe buscar un equilibrio entre la exploración, descubrimiento de nuevos caminos, y la explotación, usar el conocimiento previo para tomar las acciones futuras. A este equilibrio se le conoce como política Є-greedy.

Uno de los métodos que se emplea en Reinforcement Learning es el conocido como Q-Learning. Este algoritmo durante el entrenamiento memoriza el estado de origen y la acción realizada junto con la recompensa obtenida y lo almacena en una tabla, fig.2. Sin embargo en caso de querer trabajar con videojuegos, en los cuales los datos de entrada son multidimensionales, dependiendo de los píxeles que haya en la imagen, o en caso de trabajar con entornos muy grandes, el hecho de almacenar los datos en una tabla no es sostenible. Con el fin de solventar estos problemas, en 2015 Deep Mind usó Deep Learning, concretamente una red convolucional para aplicarla junto a Q-Learning.

Fig.2 Comparativa entre el algoritmo Q-Learning y el Deep Q-Learning
Fig.2 Comparativa entre el algoritmo Q-Learning y el Deep Q-Learning

Hay una serie de entornos creados por OpenAI que pueden ser usados por el público en general con el fin de interactuar con el mundo del aprendizaje supervisado. https://gym.openai.com/

Entre ellos destacan Frozen Lake (fig.3) , un entorno estocástico, por lo tanto un entorno en el que tomando la acción de ir hacia arriba es posible que acabemos en otra posición, debido a que el hielo resbala y el CartPole (fig.4), un entorno en el cual el objetivo es aplicar el concepto del péndulo inverso, es decir mantener un palo en posición vertical.

Descripción y herramientas

En este taller se han empleado y explicado en más profundidad los conceptos mencionados usando ejemplos sencillos. Mediante una Google Colaboratory (https://colab.research.google.com/) se presentan los ejemplos anteriormente mencionados, Frozen Lake y Cartpole de los cuales se dispone gracias a la librería gym de OpenAI (https://gym.openai.com/), el lenguaje de programación usado es Python y el entorno para modelizar los programas y hacer los ejercicios es Jupyter Notebook. En este ejercicio práctico se usan tanto conceptos propios del Machine Learning, como es el algoritmo Q-Learning para implementar el Frozen Lake, como el estado del arte en el que se mezcla tanto Machine Learning como Deep Learning usando el Deep Q-Learning para su aplicación en el CartPole.

Además, se imparte el taller apoyándonos en la plataforma Eduflow (https://www.eduflow.com/) como espacio de trabajo, y la comunidad de Saturdays.ai (https://community.saturdays.ai/) para consultar dudas y continuar el aprendizaje, realizando el streaming en Youtube.

Puedes ver el taller completo aquí:

¿Qué es el Backend? Clave para el funcionamiento de un sitio web

Como ya hemos mencionado en otros artículos de nuestro blog, como por ejemplo en la comparativa Front end vs Back end, el back end es una parte trascendental de la programación web. En nuestro nuevo artículo, profundizaremos más en qué es el Backend, qué significa, y los principales lenguajes de programación que se utilizan en la programación backend.

¿Qué es el Backend?

El back end es una parte trascendental dentro del desarrollo web y el desarrollo de aplicaciones, pues se encarga de todos los procesos necesarios para que la web se ejecute de forma correcta. El back end ejecuta procesos y funciones que no son visibles para el usuario final, pero que tienen trascendental importancia en el buen funcionamiento de una app o web.

En una web o aplicación, el usuario interactúa con un interfaz (frontend), lo que entendemos como “el lado del usuario” y que hace que el usuario pueda navegar e interaccionar con un producto digital. El backend, por su parte, es todo aquello que el usuario no ve, de hecho, se le denomina también “el lado del servidor” al estar alojado en la parte del servidor y únicamente ser accesible para los webmasters o programadores de la web o aplicación.

El backend en una web o aplicación es sumamente importante, ya que permite que todo funcione como es debido. Entre las diferentes funcionalidades que realiza el backend a la hora de ejecutarse, es permitir la conexión con la base de datos, añadir funcionalidades a una página y comunicarse con el hosting donde la web o aplicación está alojada.

que es backend

Características y funcionalidades de un Backend developer o desarrollador backend 

Un Backend developer (o en su traducción al español “desarrollador backend”) es el experto que se encarga de desarrollar y optimizar el lado del servidor de un sitio web o aplicación. Este desarrollador backend debe de tener un extenso conocimiento de los diferentes lenguajes de programación que se usan en el lado del servidor, frameworks, y los diferentes tipos de bases de datos.

Un Backend developer no necesita conocer todos los lenguajes de programación que se usan en backend, pero es primordial que domine algunos de los utilizados en backend que le permitirán realizar las modificaciones pertinentes en un producto digital o web.

Lenguajes de backend

A continuación, mostramos los lenguajes de backend más conocidos y más útiles para este tipo de developers especializados en backend, lenguajes que disponen de una gran comunidad detrás y la ventaja de disponer de frameworks muy potentes.

  •       Python.
  •       Node.js.
  •       PHP.
  •       Go.
  •       Ruby.
  •       C#.

La gran mayoría de los lenguajes de programación de backend, disponen de frameworks, de los cuales hemos hablado en otro de nuestros artículos del blog “Qué es un framework”, (si aún no sabes que es, este artículo te resultará de lo más interesante).

En resumen, son patrones o plantillas de trabajo en los diferentes lenguajes de programación de backend, las cuales te proporcionan un gran número de ventajas al usarlas al programar frente a programar sin estos. A nivel práctico, el Backend developer ahorra tiempo en el largo plazo, y le permite desarrollar webs o aplicaciones mucho más potentes, gracias a la solidez de código de las plantillas de trabajo de lenguajes de backend.

backend web

¿Te gustaría formarte como programador?

En Epitech, somos una escuela superior de informática especializada en formar a futuros expertos programadores y desarrolladores. En nuestra escuela, puedes optar por realizar el grado en informática + máster, que te permitirá acercarte a las nuevas tecnologías y a la programación, de una forma muy efectiva y práctica

¡Contacta con nosotros y empieza a formarte!

 

¿Qué es JavaScript y por qué es clave en el desarrollo web?

JavaScript es un lenguaje de programación interpretado (donde la mayoría de las implementaciones se ejecutan con instrucciones directas), sin que se necesite compilación (no se necesita transformar el lenguaje a otro formato). En este contexto, se puede decir que es un lenguaje de secuencia de comandos, donde podemos dotar de dinamismo y interactividad cualquier tipo de página web. 

Este lenguaje de programación, es un complemento del HTML y el CSS, el cual permite crear páginas web. 

¿Te gustaría saber cuales son sus principales usos? Te mostramos las principales habilidades que puedes hacer con JavaScript:

5 principales usos de JavaScript

El JavaScript es un lenguaje web, y aunque se esté convirtiendo en un lenguaje de programación multipropósito, es un lenguaje centrado en la creación de páginas o aplicaciones web. 

A Continuación te mostramos algunos conocidos y otros sorprendentes usos de JavaScript:

Java script

1. Desarrollo web lado del usuario: 

Dentro del desarrollo web, el JavaScript está centrado en el frontend (el lado del usuario), donde el usuario interactúa directamente. Si no conoces que es el término te recomendamos nuestro artículo de que es el frontend

En este contexto, en la actualidad el número de frameworks que existen para JavaScript ha tenido un incremento abismal, por ejemplo: Angular, React, Vue.js, Ember.js, Meteor, Mithril, entre otros muchos más. Gracias a ello, se puede desarrollar aplicaciones de frontend, con una facilidad increíble, de una manera muy rápida, y con un resultado final sobresaliente. 

2. Desarrollo web lado del servidor:

La popularidad de JavaScript, ha ido ganando peso con el tiempo, y gracias a frameworks como Node.js se puede desarrollar una aplicación completa en el lado del servidor. Por lo tanto, aunque su mayor funcionalidad la encontramos en el frontend, también es un lenguaje de programación de backend (Si no conoces que es el backend, puedes consultarlo en nuestro post de que es el backend

La personalidad que tiene javascript, hace de este lenguaje de programación un tipo de lenguaje muy interesante. Además, si tu objetivo es convertirte en desarrollador web, aprender JavaScript te abrirá muchas ventajas laborales. 

3. El uso de JavaScript para las bases de datos: 

Sin duda, el uso de JavaScript en las bases de datos quizás es desconocido para algunos, e increíble de imaginar hace unos años atrás. El sistema de base de datos NoSQL  MongoDB, es un sistema de base de datos no relacional, y está orientado a documentos y de código abierto. El lenguaje que se usa para trabajar con MongoDB es el JavaScript, y una especificación similar a JSON.

que es Java script

4. Desarrollo de aplicaciones de escritorio

Actualmente, se puede desarrollar aplicaciones con el lenguaje JavaScript, gracias al framework de código abierto Electron. Electron permite crear aplicaciones gráficas de escritorio, usando tanto el lado del cliente como el lado del servidor. El fundamento de esto es sencillo, se desarrolla una web, al usar Electron, permite abrirla en una ventana de Chrome, pero se da un formato de ventana de escritorio ya sea Windows, u otro sistema operativo. 

5. JavaScript para el desarrollo de aplicaciones en móviles

JavaScript permite desarrollar aplicaciones Mobile, que permiten un funcionamiento multi plataforma. Las llamadas aplicaciones híbridas, que se pueden usar en Android, IOS, o en otros sistemas operativos móviles. 

Epitech

Ahora, ya conoces más acerca de este magnífico lenguaje de programación. Pero… ¿Te gustaría dominarlo? Si es así, En Epitech, disponemos de un programa de grado + máster en informática, el cual te permitirá aprender todos los conocimientos básicos para convertirte en un programador de éxito. 

¡Contacta con nosotros y conviértete en desarrollador!

Solicita información
Le informamos que los datos anteriores se tratarán para las finalidades indicadas en el formulario y se incorporarán a un fichero personal propiedad de Epitech Barcelona. El visitante tiene reconocidos los derechos de acceso, rectificación, cancelación u oposición, tal y como indica la Ley Orgánica 15/1999 de 13 de Diciembre de LOPD y en su Real Decreto 1720 de 21/12/2007, así como en la LSSI.CE y podrá ejercitarlos a través del mail: [email protected], o en la dirección de Campus Epitech Barcelona, Calle Joan Miró, 21 Barcelona (08005).