Checking date: 08/07/2020

Course: 2020/2021

Artificial neural networks
Study: Bachelor in Computer Science and Engineering (218)

Coordinating teacher: GALVAN LEON, INES MARIA

Department assigned to the subject: Department of Computer Science and Engineering

Type: Electives
ECTS Credits: 6.0 ECTS


Branch of knowledge: Engineering and Architecture

Students are expected to have completed
Programming Linear Algebra Statistics
Competences and skills that will be acquired and learning results. Further information on this link
The aim of this course is that the student knows and develops computational learning techniques in the context of Artificial Neural Networks in addition designing and implementing applications and systems that use them, including those dedicated to automatic extraction of information and knowledge from data. In more detail, the competences acquired by students are: - Knowledge (PO: a, e, k) -To know the mathematical / biological foundations of artificial neural neurons. -Acquiring the concept of neural network and learning process. -To know the different architectures of neural networks. -To know the different learning paradigms of neural networks and their theoretical foundation. -To know the differences among different types of neural networks from an applied perspective. -To understand the operation of artificial neural networks, adapting each technique to the specific characteristics of problem. -To know the different areas of applicability of artificial neural networks. - Application (PO: b, d, e, g, k) -To apply knowledge of neural networks in solving real problems, with emphasis on the accuracy and complexity of models. -To identify correctly the different phases for solving a problem using neural networks. -To develop an application that solves approximation, prediction or classification problems using neural networks. -Ability to design a set of experiments that lead to solving the problem. -To document correctly solving a problem using neural networks. - Analysis, synthesis and evaluation (PO: b, e) -Ability to analyze and interpret results. -To recognize and classify the different problems that can be solved by artificial of neural networks. -To combine and extrapolate the knowledge acquired for the design of a neural network, deciding the architecture and their parameters. -Ability to assess the effectiveness of neural networks for solving a specific problem. -To consider the relationship between computational cost and improvement of different solutions, choosing reasonable solutions to the characteristics of a given problem.
Description of contents: programme
1. Introduction to Artificial Neural Networks 1.1. Biological Foundations 1.2. Computation Model 1.3. Learning and Generalization 1.4. History of Neural Networks 2. Early computation models 2.1. Simple Perceptron 2.2. Adaline 2.3. Linear Classification and Regression 2.4. Time Series Prediction 3. Multilayer Perceptron 3.1. Introduction 3.2. Architecture 3.3. Learning algorithm 3.4. Learning process 3.6. Non-Linear Classification and Regression 4. Unsupervised learning 4.1. Basic Features 4.2. Kohonen self-organizing maps 4.3. Clustering. Other algorithms 5. Radial Basis Neural Networks 5.1. Introduction 5.2. Architecture 5.3. Learning methods 5.4. Radial basis networks versus multi-layer perceptron 6. Introduction to Deep Learning 6.1 Vanishing Gradient Problem. Some solutions 6.2 Convolutional Neural Networks (CNN) 6.3 Hyper-parameters of CNNs 6.4 Examples of application of the CNN 7. Introduction to Recurrent Neural Networks 7.1 Basic Concepts 7.2 Some recurrent neural network architectures 7.3 Time Series Prediction
Learning activities and methodology
Theory: Lectures will be focused on teaching all concepts related to neural networks, so that students acquire knowledge on artificial neural networks necessary for professional development (PO: a, e, k) and they will be carried out in synchronous on-line mode. Practical sessions (small groups): The practical classes will be developed so that, in a supervised way, students learn to solve real problems with artificial neural networks. The practices will be carried out in groups of 2 students, enhancing teamwork (PO: b, d, e, g, k) (Soft-skill: teamwork). They will be held in synchronous on-line mode, except for 5 sessions that will be in-class. These sessions will be devoted to evaluation, the presentation of the practices and the discussion and sharing on the progress of the practices. The weekly planification shows the exact distribution for each activity.
Assessment System
  • % end-of-term-examination 40
  • % of continuous assessment (assigments, laboratory, practicals...) 60
Basic Bibliography
  • Ian Goodfellow, Yoshua Bengio & Aaron Courville. Deep Learning . MIT Press. 2016.
  • Simon O. Haykin. Neural Networks and Learning Machines. Prentice Hall, 3rd edition. 2008
Additional Bibliography
  • Charu C. Aggarwal. Neural Networks and Deep Learning: A Textbook. Springer. 2018.
  • Mohamad H. Hassoun: . Fundamentals of Artificial Neural Networks . MIT Press. 2003
  • T.M. Mitchell. Machine Learning. McGraw Hill. 1997

The course syllabus and the academic weekly planning may change due academic events or other reasons.