Architecture and Development of Intelligent Systems

Data is displayed for academic year: 2023./2024.

Course Description

With the rapid development of the field of artificial intelligence (AI), such as machine learning algorithms (ML), the industry's interest in using such algorithms in everyday life and work is growing. Thus, intelligent systems are already used for many purposes such as sales (e.g., product recommendation), marketing (e.g., intelligent customer segmentation), product management (e.g., parameterization of banking products to better fit customer needs), fraud detection (e.g., financial fraud), infrastructure management (e.g., cloud infrastructure load management and forecasting) and similar. Interest in the installation and use of intelligent systems is growing, which is accompanied by doubts about the need, usefulness, and usability of intelligent systems. Many established companies already have a large infrastructure for their existing information systems, as well as well-established design and development processes. Strict separation of data and program code, as is the case with classical information systems, cannot be done in intelligent systems, in which such separation does not exist. The addition and installation of intelligent systems requires additional knowledge and decisions regarding the selection of infrastructure, and the design, development, and maintenance of these systems, which is a major obstacle to the introduction of intelligent systems. The goal of the course is to acquaint students with the current main business reasons for the introduction of intelligent systems, as well as important use-cases in various industries, to be able to identify the context in which intelligent systems are useful and can bring significant business benefits. Students will be introduced to additional knowledge required for the implementation and use of intelligent systems and algorithms, basic differences in relation to classical information systems, interfaces between these environments, and to be able to suggest upgrades in infrastructure, data and methods design, development and maintenance required for the introduction of an intelligent system. The course will cover the entire life cycle of the development and maintenance of intelligent systems, and agile methodologies that support such a life cycle (e.g., MLOps). As part of the maintenance of the intelligent system, methods of monitoring and continuous improvement of the intelligent system will be discussed, so that the intelligent system with its decisions and recommendations evolves towards changes in data, which indirectly reflect customer behaviour.

Study Programmes

University graduate
[FER3-HR] Audio Technologies and Electroacoustics - profile
Elective Courses (2. semester)
[FER3-HR] Communication and Space Technologies - profile
Elective Courses (2. semester)
[FER3-HR] Computational Modelling in Engineering - profile
Elective Courses (2. semester)
[FER3-HR] Computer Engineering - profile
Elective Courses (2. semester)
[FER3-HR] Computer Science - profile
Elective Courses (2. semester)
[FER3-HR] Control Systems and Robotics - profile
Elective Courses (2. semester)
[FER3-HR] Data Science - profile
Elective Courses (2. semester)
[FER3-HR] Electrical Power Engineering - profile
Elective Courses (2. semester)
[FER3-HR] Electric Machines, Drives and Automation - profile
Elective Courses (2. semester)
[FER3-HR] Electronic and Computer Engineering - profile
Elective Courses (2. semester)
[FER3-HR] Electronics - profile
Elective Courses (2. semester)
[FER3-HR] Information and Communication Engineering - profile
Elective Courses (2. semester)
[FER3-HR] Network Science - profile
Elective Courses (2. semester)
[FER3-HR] Software Engineering and Information Systems - profile
Elective Course of the profile (2. semester)
Elective Courses (2. semester)

Learning Outcomes

  1. Define typical business use-cases for using intelligent systems, and assess the suitability and need for the introduction of an intelligent system for a particular business use-case.
  2. Identify which of the modern algorithms or types of intelligent systems is suitable for solving the business use-case.
  3. Assess the adequacy of the existing environment and infrastructure for the operation of the intelligent system and recommend the necessary upgrades to support the introduction of the intelligent system.
  4. Analyze existing information systems and design the integration of an intelligent system with existing information systems.
  5. Design and develop an intelligent system using modern and up-to-date programming languages and tools.
  6. Develop an automated way to continuously improve the decisions and recommendations made by the intelligent system.
  7. Develop and recommend a method of monitoring the operation of the intelligent system.
  8. Develop a project plan and cost estimate for the introduction of an intelligent system.

Forms of Teaching

Lectures

In class

Independent assignments

Final project

Laboratory

Laboratory exercises for practical demonstration.

Grading Method

Continuous Assessment Exam
Type Threshold Percent of Grade Threshold Percent of Grade
Laboratory Exercises 0 % 20 % 0 % 20 %
Class participation 0 % 10 % 0 % 10 %
Seminar/Project 0 % 70 % 0 % 70 %

Week by Week Schedule

  1. 1. Introduction to the application of intelligent systems in industry • Practical use of intelligent systems in industry. Terminology. • Business use-cases of using intelligent systems. • Assessment of justification and potential for cost-effectiveness of the introduction of an intelligent system. • Problems with the introduction of intelligent systems, and negative use-cases. About what is not an intelligent system and why companies remain disappointed with efforts to introduce intelligent systems.
  2. 2. Overview of the basics of intelligent systems • Types of intelligent systems and typical architectures. • Algorithms used for intelligent systems. • Making decisions and recommendations as the result of the operation of the intelligent system.
  3. 3. Assessment of the current state of infrastructure and information systems, and recommendations for upgrades for the introduction of an intelligent system • Infrastructure suitable for the execution of intelligent systems. • Review of the current environment and information systems and identify the necessary differences for the introduction of an intelligent system. • Recommendations for upgrading infrastructure and information systems.
  4. 4. Integration of existing environment and information systems with intelligent system - data integration • Overview of current data sources and their models. • Data flows. • Methodologies for analytics and data collection. • Analysis and need for data cleansing. • Data transformations for use in intelligent systems. • Presentation of the results of the intelligent system through data.
  5. 5. Integration of existing environment and information systems with intelligent system - service integration • Review of current services and adequacy assessments. • Using services as a source of data. • Functional use of subroutine calls in existing information systems. • Presentation of the results of the intelligent system through services.
  6. 6. Design and development of intelligent systems • Modern and current programming languages for the development of intelligent systems. • Development tools. • Algorithm selection. • Learning: scaling, parallelism, models. • Model: a combination of algorithms and data. Model parameters as the result of the algorithm learning process.
  7. 7. Design and development of intelligent systems • Assessment of the adequacy and correctness of the model. • Calibration and interventions in learning data. • Troubleshooting. • Problems in data that reflect on the results of an intelligent system. Data security. The impact of a closed cycle between data, intelligent system, and customers.
  8. Pause for midterm exams (no midterm exam on the course)
  9. 8. Practical example • A real-life example, from a data source to a specific intelligent system.
  10. 10. Specific applications of intelligent systems • Analysis of large data streams • Intelligent systems usage management: infrastructure management. • Intelligent optimization: business processes, supply chain, production, and similar. • Massive and parallel intelligent systems.
  11. 11. Current methodologies for intelligent system life cycle management • Life cycle stages. • The impact of changes on the existing information system. • Creating a project plan and making cost estimates. • Recommendations to upgrade standard procedures for design, development, and maintenance of information systems in the company with elements of methodologies for design, development and maintenance of intelligent systems.
  12. 12. Automation of design and development of intelligent systems • Automation concepts as part of continuous improvement of intelligent system operation. • Incremental learning and adaptation. • The impact of changes in input and / or user and customer behaviour on the need to adapt an intelligent system.
  13. 13. Infrastructure for intelligent systems • Cloud infrastructure or own infrastructure - opportunities and cost-effectiveness analysis. • Container virtualization. • Harmonizing the life cycles of intelligent systems and infrastructure. • Production transition of the intelligent system.
  14. 14. Monitoring and analysis of results • Monitoring the results of an intelligent system. Success and quality of decisions and recommendations given by an intelligent system. • Infrastructure load. • Business analysis of the justification of the introduction of an intelligent system.
  15. Project presentations

Literature

Emmanuel Ameisen (2020.), Building Machine Learning Powered Applications: Going from Idea to Product, O'Reilly Media
Andrew Ferlitsch (2021.), Deep Learning Design Patterns, Manning Publications
Valliappa Lakshmanan, Sara Robinson, Michael Munn. (2020.), Machine Learning Design Patterns: Solutions to Common Challenges in Data Preparation, Model Building, and MLOps, O’Reilly Media
Ben Weber (2020.), Data Science in Production: Building Scalable Model Pipelines with Python,
Harvinder Atwal (2019.), Practical DataOps: Delivering Agile Data Science at Scale, Apress
Mark Treveil, Nicolas Omont, Clément Stenac, Kenji Lefevre, Du Phan, Joachim Zentici, Adrien Lavoillotte, Makoto Miyazaki, Lynn Heidmann. (2020.), Introducing MLOps: How to Scale Machine Learning in the Enterprise, O’Reilly Media
Jeremy Howard, Sylvain Gugger (2020.), Deep Learning for Coders with Fastai and PyTorch: AI Applications Without a PhD, O’Reilly Media
Géron, Aurélien (2020.), Hands-on machine learning with Scikit-Learn, Keras, and TensorFlow: Concepts, tools, and techniques to build intelligent systems, O’Reilly Media

For students

General

ID 240754
  Summer semester
5 ECTS
L0 English Level
L1 e-Learning
30 Lectures
0 Seminar
0 Exercises
15 Laboratory exercises
0 Project laboratory
0 Physical education excercises

Grading System

90 Excellent
75 Very Good
60 Good
50 Sufficient