AI has had a profound impact on the world of Information and Communication Technology (ICT) by automating processes and enhancing productivity. The potential for AI is limitless, the impact of AI on the ICT industry is only set to grow.
In recent years, AI has become a hype term, omnipresent and of which, unfortunately, even professionals linked to the field of ICT are unaware of its foundations, capabilities and also limitations and problems
Providing professionals in the technological and ICT fields with the necessary foundations to understand the current mechanisms that support the new AI revolution is undoubtedly the main objective of this course.
This course is designed to provide a solid foundation in AI, machine learning, and deep learning, enabling students to develop all types of applications and solutions using the latest tools in these areas.
Topics covered include data processing, analysis, and treatment, predictive models that aid in decision-making, the use of unstructured information sources such as images, audio, and signals for classification, regression, and segmentation tasks, recommendation systems and content generation, and how to use this knowledge to develop end-to-end solutions. Additionally, we will address the deployment and monitoring of these solutions in production.
The basic foundations for developing these types of applications are based on the use of foundation models, utilizing state-of-the-art development tools, the latest developments in AutoML tools, and code generation assistance, with an aim to use high-level tools that allow us to decrease complexity in application development.
With the increasing demand for AI-based solutions, this course provides students with the knowledge and skills needed to excel in this exciting and rapidly developing field.
This course is especially aimed at those with an interest in:
- Know the fundamentals that underlie current AI solutions. Without a deep technical or mathematical depth, but with enough rigor to know its mechanisms.
- Know the different approaches what it is called Artificial Intelligence, and provide the current landscape of possibilities and their applications.
- Address a practical approach to AI, focusing its study through practical analysis of the different problems that can now be solved thanks to the latest advances in the field.
The course does not require prior technical foundations and is open to:
- ICT professionals.
- Engineers or professionals working on technological sectors.
- Professionals with current knowledge on software development solutions but not familiar with current AI solutions (mainly focused on machine and deep learning).
- Introduction to basic fundamental elements, skipping deep mathematical background, and with just some background in programming and software development
- Mainly practical, with many use cases
- End-to-end solutions and different use cases
- A Data-centric approach as encouraged by Andrew Ng to approach the use of AI in problem-solving.
- A Foundation Model approach (1, 2), where models will be presented with the required explanations to understand them, but with the main focus on using them to solve particular problems and future challenges
- Use of state-of-the-art tools for solving all the stages in AI product analysis, development, and deployment:
- Python and main libraries overview
- AutoML tools: pycaret (low code ML), BigML (data-driven no-code solutions), etc.
- Google Colaboratory, Jupyter Notebooks, VSCode + Copilot (and other possible AI assistants), etc
- HuggingFace and other open-source foundation models providers
- Deployment: REST API, dockers
Module 1. Introduction to Machine Learning for ICT professionals
Introduction to Artificial Intelligence
- Definition of Intelligence and Artificial Intelligence
- Types of AI
- Different approaches to AI
- Current landscape, areas of applications, and pros and cons
Introduction to Machine Learning
- Deduction vs. Induction
- Principles of ML
- Metrics and ML model evaluation. Bias.
- ML life cycle
- Feature engineering and data-wrangling
- Different ML approaches and main techniques (Linear regression, logistic regression, Naïve Bayes, SVM, Decision trees, ensemble methods)
- Main Python libraries for ML
- Introducing AutoML tools
Introduction to Deep Learning
- A brief introduction to artificial neuron, neural networks, and deep learning
- Some basic examples based on feed-forward neural networks
Module 2. Introduction to Deep Learning for ICT professionals
Introduction to Deep Learning
- Connectionism approach to ML
- Deep Learning as a subset of ML
- Structured vs. unstructured input information and representation learning Training a NN, gradient descent, and back propagation
- Regularization and optimization
Convolutional neural networks
- The convolutional operator
- Convolutional layers
- Pooling layers
- Final dense layer
- Transfer learning
- Common CNN architectures
- Object detection and segmentation
Recurrent neural networks and a basic introduction to transformers
- Basic ‘vanilla’ RNN
- LSTM and GRU
- Language Models
- Attention mechanism and an introduction to transformers
- Large Language Models
- Some examples of NLP solutions
Autoencoders and Generative Adversarial Networks
- Encoders, decoders, autoencoders and variational autoencoders
- Generative Adversarial Networks
Module 3. Foundation models in discriminative and generative AI
Introduction to foundation models
- Discriminative AI and Generative AI
- Introduction to Foundation Models
- Basic training process of FMs
- Fine tuning, transfer learning, context learning
FM in NLP, ASR, text-to-speech and others
- FMs in NLP, ASR, text-to-speech and other text-based contexts
- Applications in sentiment analysis, summarization, chatbots etc.
FM in multimodal Generative AI
- Stable Diffusion models
- FMs in image, video, animation generation
Module 4. Deployment. Cloud services. MLOps.
- Introduction to the ML cycle workflow
- Introduction to MLOps
Deploying a model
- Models as services
- Environments and dockers
- Deploying ML/DL models
Introduction to Big Data and Big Data for ML
- Introduction to Big Data
- Main Big Data platforms
- Apache Spark and integration into ML models
Cloud solution for ML
- Introduction to cloud computing
- Different alternatives for cloud-based solution to ML/DL model generation and deployment
- A use-case based on Microsoft Azure ML
Module 5. Final Project.
To ensure the follow-up of the course, participation in the forum will be required, through questions, giving answers to other classmates or adding information of common interest (such as links to related topics or news etc.). Minimum of 1 monthly contribution.
The final mark will depend on the evaluation carried out on:
- One assignment per module (4 modules): 50%
- A final project: 50%
Attendance at synchronous classes will not be mandatory. These classes will be recorded and published, so that any student can access the content whenever they want, with the purpose of adapting to the schedule that suits them best.