mayo 14, 2020

~ 8 MIN

¿Por qué deberías aprender Inteligencia Artificial?

    BlogRSS

    ¿Por qué deberías aprender Inteligencia Artificial?

    Hoy en día la Inteligencia Artificial (IA) es un campo muy activo con muchas áreas de investigación. Algunos ejemplos son el reconocimiento de imágenes o de textos que hacen posibles aplicaciones como la conducción autónoma, asistentes virtuales o mejores sistemas de diagnóstico médico.

    ¿Qué es la IA?

    Para aquellos ajenos al tema la IA incluye todos aquellos algoritmos que, de alguna manera, son capaces de llevar a cabo tareas normalmente atribuidas a personas o animales y no a máquinas. En un programa tradicional tenemos una serie de reglas bien definidas que el ordenador va ejecutando de manera secuencial para así conseguir su objetivo. Sin embargo, existen problemas para los cuales o bien no conocemos tales reglas o, de hacerlo, necesitaríamos una lista tan larga que no podríamos expresarlas en un programa. Es aquí donde entra en juego la IA ya que en vez de definir estas reglas confiaremos en un algoritmo para que las descubra por sí mismo simplemente dándole ejemplos de lo que queremos hacer (por ejemplo, saber qué hay en una imagen o traducir una frase de un idioma a otro).

    1vs2

    La IA no es algo nuevo ya que desde los años 50 existen investigadores intentando desarrollar máquinas capaces de pensar por si mismas. La IA comprende un gran número de técnicas diferentes, todas con este objetivo. Entre estas técnicas la IA simbólica fue la predominante desde los años 50 hasta los años 80, momento en el que llegó a su máximo esplendor gracias a los sistemas expertos. Algunos ejemplos de aplicación de IA simbólica son programas para jugar al ajedrez o intentos primitivos de clasificación de imágenes o traducción de texto. En este tipo de algoritmos el conocimiento es codificado mediante reglas explícitas (lo cual, cómo ya hemos comentado, tiene sus limitaciones). A partir de los 80, sin embargo, un nuevo campo de la IA conocido como Machine Learning (ML) se hizo popular gracias, principalmente, a que es capaz de llevar a cabo tareas solo a partir de ejemplos. Ésto le permite a un algoritmo descubrir sus propias reglas a través del proceso de entrenamiento. Al no tener ningún tipo de conocimiento previo codificado por una persona, los modelos de ML son capaces de encontrar reglas que quizás nunca se nos habrían ocurrido o que ni siquiera tendrían sentido para nosotros. Aún así, estas reglas pueden ser mejores a la hora de llevar a cabo una tarea concreta, y este es el motivo de su desempeño superior. Algunos ejemplos de aplicación que dieron un empuje a este campo son sistemas de recomendación o filtros de spam para e-mail.

    1vs2

    Sin embargo, este tipo de algoritmos se encuentran limitados por la manera en la que los datos utilizados durante el entrenamiento son representados. Esto implica que para aquellos casos en los que los datos son complicados, la precisión de estos modelos se ve limitada debido a una representación deficiente. De nuevo, el factor limitante es el humano ya que esta representación es llevada a cabo por expertos en la tarea en cuestión. Si has sido capaz de descubrir el principal patrón en la evolución de la IA podrás sugerir una solución a este problema... De nuevo, la solución consiste en dejar que sea el mismo algoritmos el que descubra por sí mismo la mejor representación de los datos para llevar a cabo la tarea determinada. Es en este punto donde entra el Deep Learning (DL) con modelos que no son solo capaces de descubrir patrones en los datos sino también la mejor representación de los mismos. El DL es el campo de la IA más activo hoy en día, ya que desde principios de los años 2010 está dando muy buenos resultados en aplicaciones que hasta entonces habían estado lejos del alcance del ML.

    Son este tipo de algoritmos los que hoy en día son responsables de la percepción en coches autónomos, el reconocimiento de voz en asistentes virtuales o el diagnóstico médico, entre otras aplicaciones.

    Entonces, ¿por qué deberías aprender sobre IA?

    Una vez explicado de qué va la película voy a intentar darte los motivos por los que creo que deberías aprender IA.

    Pese a que la mayor parte de aplicaciones de IA que vemos hoy en día vienen principalmente del sector tecnológico, la IA tiene el potencial de impactar prácticamente cualquier industria (medicina, automoción, manufactura, turismo... La lista es infinita). Sin embargo, el conocimiento necesario para poder llevar a cabo proyectos de IA de manera efectiva hacen que su uso todavía no sea masivo fuera de aquellos sectores que sí poseen tal experiencia. Este hecho se traduce en que aquellas personas que sean capaces de utilizar herramientas para el desarrollo de proyectos de IA tengan más posibilidades a la hora de encontrar trabajo o trabajos mejor pagados. Por ejemplo, puestos como Data Scientist o Deep Learning Engineer son algunos de los puestos más solicitados hoy en día. Es por este motivo que es importante que el mayor número de personas pueda tener acceso a este conocimiento y experiencia, y ese es el principal objetivo de SensioAI y también el motivo de la existencia de este blog. Creo que la verdadera revolución estará en el uso de esta tecnología a menor escala (fábricas, tiendas, hoteles...) pero para ello es necesario que existan los recursos necesarios para aprender sobre IA y que sean accesibles a profesionales tradicionalmente alejados del campo de la programación y que podrían utilizar estas herramientas para mejorar en sus negocios o empresas.

    Desde un punto de vista social, opino que conocer cómo funcionan las APPs y gadgets inteligentes que utilizamos a diario (y que sólo hará que aumentar en número en el futuro) te puede ser útil para ser más consciente sobre su uso. Conceptos tales como la privacidad, el sesgo de los algoritmos, responsabilidad ante errores (que en aplicaciones cómo la conducción autónomo o sistemas médicos puede ser fatal) son problemas reales a los que se enfrenta el mundo de la IA y de los cuales debemos ser conscientes tanto desde el punto de vista de desarrolladores como de usuarios.

    Si eres una persona que no está en contacto con el mundo de la programación aquí encontrarás recursos que te pueden ayudar a adentrarte en este mundo. Hoy en día existen herramientas que facilitan mucho el desarrollo de modelos de IA y que, con un poco de formación, pueden ser utilizadas fácilmente para implementar soluciones con impacto real.

    Por otro lado, si eres un estudiante o desarrollador de software, también encontrarás contenido más avanzado que te permitirá entender cómo funcionan por dentro estos algoritmos y potencialmente desarrollar los tuyos propios. La IA, y en particular el del DL, es uno de los campos más divertidos en los que trabajar hoy en día. La gran cantidad de datos de los que disponemos hoy en día y que se siguen generando a cada minuto permiten el desarrollo de nuevas aplicaciones que hasta ahora no habían sido posibles. Esto le da a la IA un potencial enorme de impacto que otros campos de la ciencia no tienen hoy en día.

    Espero en este punto haberte convencido de que adentrarse en el mundo de la IA es una buena decisión (sobre todo si eres un estudiante que está pensando a qué dedicarse en su futuro). Te dejo a continuación una lista de recursos que te ayudarán a empezar a aprender sobre IA a tu propio ritmo, aunque si estás interesado te sugiero que sigas este blog 😛

    RECURSOS

    Cómo verás la mayor parte de recursos existentes hoy en día son en inglés. Este es otro de los motivos por los que escribo este blog. Para poder hacer más accesible la IA (sobretodo a gente no relacionada con el campo de la ciencia o desarrollo de software), necesitamos recursos en otros idiomas.

    Libros

    Porque la mejor manera de aprender una nueva disciplina es con leyendo con calma un buen libro, intentando reproducir los ejemplos y repasando las diversas referencias.

    • Hands-On Machine Learning with Scikit-Learn, Keras, and Tensorflow, 2nd Edition, by Aurélien Géron (O'Reilly). Copyright 2019 Kiwisoft S.A.S., 978-1-492-03264-9.
    • Python for Data Analysis by Wes McKinney (O’Reilly). Copyright 2017 Wes McKinsey, 978-1-491-95766-0.
    • Practical Deep Learning for Cloud, Mobile & Edge, by Anirudh Koul, Siddha Ganju, and Meher Kasam (O’Reilly). Copyright 2020 Anirudh Koul, Siddha Ganju, Meher Kasam, 978-1-1492-03486-5.
    • Deep Learning with Python, by François Chollet (Manning). Copyright 2018 Manning Publications Co. 9781617294433.
    • Goodfellow, I., Bengio, Y., Courville, A. (2016). Deep Learning.

    Cursos online

    Si aprender con vídeos es más lo tuyo:

    Youtube

    Canales interesantes y cursos de universidades:

    Podcasts

    Para aprender en el gimnasio, el coche o el metro:

    Twitter

    Gente interesante a la que seguir en Twitter para estar al día sobre todos los temas de IA:

    • @juansensio 😁
    • @GoogleAI
    • @antor
    • @lexfridman
    • @ai_memes
    • @karoly_zsolnai
    • @soumithchintala
    • @random_forests
    • @jeremyphoward
    • @bcnDLschool
    • @juansensio
    • @fastdotai
    • @karpathy
    • @ylecun
    • @fchollet
    • @DeepMind
    • @NVIDIAAI
    • @AndrewYNg
    • @OriolVinyalsML
    • @OpenAI
    • @facebookai
    • @DotCSV
    • @goodfellow_ian
    • @TensorFlow
    • @PyTorch