PSI3472 (2024): Concepção e Implementação de Sistemas Eletrônicos Inteligentes

Materiais:

Informações sobre o curso (parte 1 do prof. Hae):

Este ano (2024), vou dar aulas presenciais baseadas em apostilas. Elas procuram ser auto-explicativas. Essas apostilas podem ser alteradas até o dia/hora da aula.

Teremos alternadamente aulas teóricas e práticas. Usarei o início da aula prática (algo como 50 minutos iniciais) para terminar a aula teórica.

    Aulas teóricas: segundas-feiras, 09:20-11:00, sala B2-09.
    Aulas práticas: terças-feiras, 7:30-9:10, sala GD-06 (sala de computadores).

A avaliação será baseada em "lições de casa" (LC) e em "exercício programa" (EP). Na minha parte da disciplina, não haverá prova.

1) "Lições de casa":

Cada conjunto de duas aulas (aula teórica 2ª-feira + início da aula prática 3ª-feira) pode ter "lição de casa" que consiste em exercícios computacionais. Além disso, pode ter um exercício extra, mais desafiador e opcional, que vale pontos extras na nota.

Essas lições deverão ser resolvidas em grupos de dois alunos (ou, excepcionalmente, sozinho). Os alunos podem mudar de grupo ao longo do semestre. Não se esqueçam de escrever/falar os nomes da dupla (ou do único aluno) em três lugares diferentes: no campo "comentários sobre o envio", no início do vídeo e no início dos programas-fontes. Caso contrário, um dos alunos da dupla pode ficar sem a nota. Cada dupla deve fazer uma única entrega (não façam a mesma entrega duas vezes).

Essas "lições de casa" podem ser resolvidas durante a aula prática e mostradas ao professor/especialista. Se não conseguir terminar durante a aula, o grupo poderá terminar em casa até o início da próxima aula prática (terça-feira) e mostrar ao professor/especialista sem perder nota. Nestes casos, o professor/especialista atribuirá a nota imediatamente e o grupo só precisará postar o código-fonte em edisciplinas (isto é, não precisa postar o vídeo). Escreva no campo "comentários sobre o envio" a frase "lição entregue durante a aula" ou "lição entregue na aula seguinte".

Caso não tenha resolvido a "lição de casa" até a próxima aula prática, o grupo ainda pode postar o vídeo, além de colocar o código-fonte, no Moodle. Escreva no campo "comentários sobre o envio" a frase "lição feita após a aula". Exercícios entregues com atraso terão desconto de 1 ponto por dia de atraso. As lições não podem ser entregues após 13/outubro, para não invadir as aulas do prof. Márcio. Para entregar o código-fonte em edisciplinas, envie .py, .ipynb ou um link para Google Colab. Se vocês vão entregar código-fonte/vídeo através de um link, deve assegurar que todos os professores (Hae e Maurício - hae.kim@usp.br, mlisboa@usp.br) tenham acesso ao seu conteúdo.

O vídeo deve ter no máximo 40s (por aula). Não pode enviar vídeo com mais de 40s, pois a quantidade de alunos do curso não nos permite corrigi-los - pode haver desconto na nota. É necessário que o vídeo contenha áudio com explicações. Vocês devem convencer o espectador do vídeo (o professor/especialista vai corrigi-lo) que fizeram a lição solicitada e que ela está funcionando corretamente. Não precisam explicar teorias. A dupla deve se alternar na gravação do vídeo. Isto é, se Fulano gravou vídeo 1, Ciclano deve gravar vídeo 2, etc. É necessário que o vídeo contenha áudio, pois é muito difícil entender um vídeo sem a explicação falada. O vídeo não pode ter sido acelerado para diminuir a duração, pois dificulta entender a fala. Podem gravar a tela do computador usando celular ou usando algum programa de captura de tela (por exemplo Zoom, Google Meet, ou OBS Studio). Em algum momento, deve aparecer no vídeo o rosto e algum documento do aluno que gravou o vídeo (como a carteira USP, RG, CNH, etc). Vocês podem enviar o vídeo em si (.mkv, .mp4, .avi, etc.) ou um link para o vídeo (YouTube, Google Drive, etc).

2) "Exercício programa":

Além das lições de casa, haverá um exercício-programa para fazer. As instruções deste exercício programa estarão no seu enunciado.

3) Cálculo da média final:

MHae = (ML + EP) / 2

onde MHae é média final da minha parte da disciplina, ML é a média das lições de casa e EP é a nota do exercício-programa.


Planejamento das aulas (este cronograma pode mudar ao longo do semestre):

1 - (05/08) Introdução e recordação. Rede neural densa. Rede neural convolucional. Modelos pré-treinados para ImageNet. A maior parte desta aula será recordação de PSI3471.
2 - (06/08) Aula prática. (Entrega de lição: 13/08)
3 - (12/08) Cifar10; data augmentation. Redes avançadas: VGG, Inception, ResNet.
4 - (13/08) Aula prática. (Entrega de lição: 20/08)
5 - (19/08) EfficientNet. Transfer learning.
6 - (20/08) Aula prática. (Entrega de lição: 27/08)
7 - (26/08) Automatic differentiation. Segmentação semântica. Fully convolutional net.
8 - (27/08) Aula prática. (Entrega de lição: 10/09)
9 - (09/09) Segmentação semântica. One-shot learning, reconhecimento facial.
10 - (10/09) Aula prática. (Entrega de lição: 24/09)
11 - (23/09) Reconhecimento facial. Auto-encoder. Detecção de objetos. GAN.
12 - (24/09) Aula prática. (Entrega de lição: 08/10)
13 - (07/10) Introdução à processamento de linguagem natural. Classificação de séries temporais por CNN. Class Activation Map e Grad-CAM. 
14 - (08/10) Aula prática. (Entrega de lição: 13/10 - domingo)

As lições não podem ser entregues após 13/10 - domingo.

Transparências auxiliares para 1ª aula: transp1.odt
Exercícios programas: