Código: | LIB10143 | Sigla: | IA | |
Área Científica: | Informática |
Página Web: | http://arturmarques.com/edu/ia/ |
Área de Ensino: | Informática |
Sigla | Nº de Estudantes | Plano de Estudos | Ano Curricular | Créditos | Horas Contacto | Horas Totais |
---|---|---|---|---|---|---|
LIB1 | 46 | Despacho n.º 9236/2020, de 28 de setembro | 3º | 7 | 75 | 175 |
Teórico-Práticas: | 70,00 |
Docência - Horas Semanais
|
Docência - Responsabilidades
|
Uma vez obtida aprovação na disciplina, o aluno deverá:
(o1) Entender o conceito de "Inteligência Artificial" (IA)/"artificial intelligence"/"machine intelligence", suas origens e correntes, assim como ter sensibilidade para a importância de abordagens responsáveis e éticas;
(o2) Ter conhecimento de algumas das linguagens e ferramentas melhor estabelecidas para o desenvolvimento de soluções;
(o3) Saber aplicar as linguagens e ferramentas estudadas, ao desenvolvimento de soluções concretas para problemas específicos, nomeadamente nas áreas de procura, conhecimento e aprendizagem;
(o4) Ter a capacidade de abstrair soluções e modelos pré-disponíveis e estudados, mas também a capacidade de entender os seus resultados e teoria subjacente.
Introdução à Inteligência Artificial (IA)
- Conceito
- Áreas proeminentes
- História, marcos, casos de estudos
- IA "responsável" e "ética"
Linguagens e ferramentas
- Seleção
- Refresh/introdução às linguagens e ferramentas selecionadas
Search / Procura de soluções por agentes inteligentes
- Conceitos e terminologia: agente, estado, estado inicial, ações, modelo de transição, espaço de estados, objectivo(s), custo
- Programação de agente(s) inteligente(s) para procura
- Algoritmos
Conhecimento / knowledge-based agents
- Conceitos e terminologia: lógica, notação, operadores, modelo, inferência
- Programação com knowledge-based agents
Aprendizagem / learning
- Conceitos e terminologia: classificação, under/overfitting, supervised learning, transfer-learning, data pipeline, data augmentation
- Programação de soluções para classificação de inputs, utilizando modelos pré-treinados; construção de modelos por diferentes técnicas, aferição de modelos
Os tópicos permitem ao estudante fazer um caminho que começa por discutir e entender o que é "IA", a abrangência do conceito, e as múltiplas perspetivas assumidas ao longo dos anos, que têm conduzido a diferentes áreas de estudo. O poder computacional do presente e o alcance transversal da "IA" obrigam a uma responsabilidade para a qual os estudantes são sensibilizados (o1)
O desenvolvimento prático de soluções faz-se com linguagens e ferramentas, que são selecionadas e postas em ação (o2).
As linguagens e ferramentas selecionadas, são aplicadas à concretização de soluções de software para problemas específicos de procura, conhecimento e aprendizagem, gradualmente, à medida que os conceitos relacionados vão sendo estudados (o3).
Esta abordagem deverá conferir a aptidão de criar soluções, inclusive reutilizando soluções existentes, entendendo o seu fundamental (o4).
Apresentações e casos de estudo.
Desenvolvimento prático de soluções de IA.
Avaliação:
Trabalhos propostos pelo estudante e acordados com o docente (T)
Elemento de avaliação controlado pelo docente (E)
Nota final = 0.4 * T + 0.6 * E
As apresentações e os casos de estudo, introduzem e concretizam os conceitos, respetivamente, devendo facilitar o seu entendimento.
O desenvolvimento na prática expõe os estudantes à realidade das soluções adotadas, devendo traduzir-se em aptidões para a criação de software de IA.
Ertel, W. and N. T. Black (2017). Introduction to Artificial Intelligence, Springer.
Bird, A., et al. (2019). The Python Workshop: Learn to code in Python and kickstart your career in software development or data science Packt Publishing.
Ameisen, E. (2020). Building Machine Learning Powered Applications: Going from Idea to Product, O'Reilly Media.