Este repositório contém materiais e exercícios desenvolvidos durante a especialização "AI for Good", oferecida pelo DeepLearning.AI em parceria com o Coursera. A especialização demonstra o papel da inteligência artificial na criação de soluções para desafios globais críticos, como saúde pública, mudanças climáticas e gestão de desastres naturais.
- Sobre a Especialização
- Configuração do Ambiente
- Projeto de Aprendizagem Aplicada
- Cursos Incluídos
- Resultados Esperados e Impacto
- Tecnologias e Ferramentas Utilizadas
- Possíveis Extensões
- Demonstração e Visualização
- Contribuição para a Comunidade
- Agradecimentos
- Contato
A especialização "AI for Good" destaca como a IA pode ser utilizada para enfrentar desafios significativos em áreas como saúde pública, mudanças climáticas e gestão de desastres. Ao longo dos cursos, você aprenderá com o instrutor Robert Monarch, que possui mais de 20 anos de experiência na construção de produtos de IA na indústria e no trabalho na interseção de IA, saúde pública e gestão de desastres. Robert também é autor do livro "Human-in-the-Loop Machine Learning", focado em aplicações de IA centradas no ser humano.
Durante os cursos, você ouvirá especialistas envolvidos em iniciativas de "AI for Good" que visam abordar questões sociais e ambientais. Ao combinar inteligência humana e de máquina, conjuntos de dados do mundo real, melhores práticas em privacidade de dados e considerações éticas, você desenvolverá o conhecimento e as habilidades fundamentais para enfrentar seus próprios projetos de "AI for Good".
Para garantir que outros usuários não enfrentem os mesmos problemas que eu encontrei ao configurar o ambiente, siga as instruções abaixo para configurar corretamente seu ambiente de desenvolvimento.
- Anaconda ou Miniconda: Para gerenciamento de ambientes e pacotes.
- Python 3.11: Versão utilizada nos projetos.
- Visual Studio Code (VS Code): Recomendado para edição e execução dos notebooks Jupyter.
- Extensão Jupyter para VS Code: Para suporte a notebooks dentro do VS Code.
-
Abra o terminal e certifique-se de que o Conda está instalado executando
conda --version
. -
Crie um novo ambiente chamado
ai_env
com Python 3.11:conda create -n ai_env python=3.11
-
Ative o ambiente:
conda activate ai_env
Com o ambiente ai_env
ativo, instale as bibliotecas necessárias:
-
Atualize o Conda:
conda update conda
-
Instale os pacotes principais usando Conda:
conda install numpy pandas scikit-learn matplotlib
-
Instale pacotes adicionais do canal
conda-forge
:conda install -c conda-forge folium shapely
-
Instale pacotes que não estão disponíveis via Conda usando
pip
:pip install colour
-
Instale o kernel do IPython para Jupyter:
conda install ipykernel
-
Registre o ambiente
ai_env
como um kernel Jupyter:python -m ipykernel install --user --name ai_env --display-name "Python (ai_env)"
Para garantir que os notebooks usem o ambiente correto:
-
Abra o VS Code e instale a extensão Jupyter, se ainda não o fez.
-
Abra o notebook desejado.
-
Selecione o kernel:
- Clique no nome do kernel no canto superior direito.
- Selecione "Python (ai_env)" na lista de kernels disponíveis.
-
Verifique o ambiente executando no notebook:
import sys print(sys.executable)
Deve retornar o caminho para o Python dentro de
ai_env
.
-
Erro
ModuleNotFoundError: No module named 'colour'
: Certifique-se de que o pacotecolour
está instalado no ambienteai_env
e que o kernel do Jupyter está usando este ambiente. -
Mistura de Ambientes (
conda
evenv
): Evite ativar múltiplos ambientes simultaneamente. Desative quaisquer ambientes virtuais (venv
) antes de ativar oai_env
. -
Importação de
utils.py
: Verifique se o diretório atual no notebook é o mesmo ondeutils.py
está localizado ou adicione o caminho aosys.path
:import sys sys.path.append('/caminho/para/o/diretório')
Para facilitar a reprodução do ambiente:
conda env export --no-builds > ai_env.yml
Outros usuários podem recriar o ambiente com:
conda env create -f ai_env.yml
- Monitoramento da Qualidade do Ar: Crie uma aplicação para monitorar a qualidade do ar na cidade de Bogotá, Colômbia.
- Previsão de Energia Eólica: Desenvolva um modelo de IA para prever a geração de energia eólica, tornando-a mais previsível ao fornecer previsões com 24 horas de antecedência.
- Monitoramento da Biodiversidade: Aplique técnicas de visão computacional para detectar e classificar animais com o objetivo de monitorar a biodiversidade.
- Avaliação de Danos por Desastres: Construa uma pipeline de classificação de imagens para realizar avaliações de danos usando imagens de satélite capturadas após o furacão Harvey nos EUA em 2017.
- Análise de Solicitações de Ajuda: Utilize técnicas de processamento de linguagem natural para analisar tendências em mensagens de texto enviadas após o terremoto de 2010 no Haiti.
Objetivos de Aprendizagem
- Resumir a importância dos dados para um projeto de IA.
- Listar vários exemplos de algoritmos de aprendizado de máquina.
- Definir "AI for Good" e identificar exemplos nessa área.
- Explicar em alto nível o que são inteligência artificial, aprendizado de máquina e aprendizado profundo, e suas relações entre si.
- Descrever algumas limitações da IA, preocupações e questões éticas relacionadas.
- Identificar os componentes-chave do aprendizado supervisionado.
Objetivos de Aprendizagem
- Descrever o framework de desenvolvimento de projetos "AI for Good".
- Listar os resultados esperados de cada fase do framework.
- Reconhecer como o framework é aplicado em projetos do mundo real.
- Explorar um problema real (qualidade do ar em Bogotá) usando o framework "AI for Good".
- Interpretar gráficos comuns de análise exploratória de dados (EDA).
- Usar um Jupyter Notebook para executar código Python e explorar dados de qualidade do ar.
Laboratório: Fase de Exploração - Explorando Dados de Qualidade do Ar
Quiz 2: Explorando a Qualidade do Ar
Objetivos de Aprendizagem
- Esclarecer como abordar um problema de IA e por quê.
- Listar vários desafios que você pode encontrar em projetos relacionados à IA.
- Resumir as tarefas realizadas nas fases de design e implementação.
- Descrever algumas abordagens para imputação de dados faltantes.
- Determinar o desempenho dos modelos usando MAE.
- Diferenciar entre modelos com base em seu desempenho usando MAE.
- Interpretar gráficos comuns de EDA e heatmaps.
- Projetar e implementar o projeto AI4G, incluindo a estratégia do modelo e a experiência do usuário.
- Determinar como garantir a proteção e privacidade dos dados.
Laboratório 1: Fase de Design - Estimando Valores Faltantes de PM2.5
Laboratório 2: Fase de Design e Implementação - Estimando Entre Sensores e Construindo um Mapa
Quiz: Design e Implementação da Qualidade do Ar
Objetivos de Aprendizagem
- Explicar o efeito estufa e como emissões de gases de efeito estufa aumentam a temperatura global.
- Descrever como as mudanças climáticas causam crises sociais e ambientais.
- Avaliar a aplicação de técnicas de IA para previsão de energia eólica.
- Identificar contextos onde a IA é utilizada para enfrentar mudanças climáticas.
Laboratório: Explorando Mudanças de Temperatura Globais
Quiz: Mudanças Climáticas e Aquecimento Global
Objetivos de Aprendizagem
- Avaliar a aplicabilidade de tecnologias de IA na previsão de geração de energia eólica.
- Determinar como técnicas de aprendizado de máquina (ex.: LSTMs) podem ser usadas para prever geração de energia eólica.
- Identificar métricas úteis para avaliar o desempenho de um modelo de regressão.
Laboratório 1: Fase de Exploração - Distribuição dos Dados de Energia Eólica
Objetivos de Aprendizagem
- Descrever o impacto das mudanças climáticas na perda de habitat e diversidade.
- Explicar como a análise de dados de imagem pode ajudar na preservação da biodiversidade.
- Determinar como dados de armadilhas fotográficas são analisados atualmente e como a IA pode contribuir.
Laboratório: Fase de Exploração - Explorando Dados de Imagem do Karoo
Objetivos de Aprendizagem
- Examinar os impactos imediatos e de longo prazo dos desastres nas comunidades.
- Definir as quatro fases do ciclo de gestão de desastres.
- Descrever considerações éticas ao trabalhar com comunidades afetadas.
Objetivos de Aprendizagem
- Analisar imagens de satélite para definir o problema e identificar stakeholders.
- Implementar uma rede neural convolucional para classificar imagens de satélite.
- Avaliar o desempenho do modelo com matrizes de confusão.
Laboratório 1: Fase de Exploração - Dados do Furacão Harvey
Quiz: Avaliação de Danos para Resposta e Recuperação de Desastres
Objetivos de Aprendizagem
- Explorar o desastre do terremoto no Haiti em 2010 para definir o problema, identificar stakeholders, determinar onde a IA pode ser aplicada e se é realmente necessária.
- Descrever como processar dados textuais para aplicações de linguagem natural.
- Implementar a técnica LDA (Latent Dirichlet Allocation) para modelagem de tópicos e avaliar o desempenho utilizando a métrica de coerência.
Laboratório 1: Fase de Exploração - Explorando Dados de Mensagens de Texto do Terremoto no Haiti
Laboratório 2: Fase de Design - Limpeza e Processamento de Dados Textuais
Laboratório 3: Fase de Design - Modelagem de Tópicos em Mensagens de Texto com LDA
Quiz: Análise de Texto para Mitigação e Preparação para Desastres
Este projeto não apenas destaca o uso da inteligência artificial para abordar problemas reais, mas também demonstra a aplicação prática de IA para fins sociais e ambientais. Ele ilustra a viabilidade de soluções tecnológicas em cenários críticos e a capacidade de análise e desenvolvimento de IA para apoiar o bem-estar público. Esses exemplos servem como referência para projetos que busquem impacto social positivo com IA.
- Python: Programação e desenvolvimento de modelos de IA.
- Jupyter Notebooks: Ambiente para desenvolvimento e visualização de análises.
- Pandas, NumPy: Manipulação e análise de dados.
- Scikit-Learn: Implementação de algoritmos de aprendizado de máquina.
- TensorFlow/PyTorch: Modelagem de redes neurais para tarefas de visão computacional e processamento de linguagem natural.
- Matplotlib, Seaborn: Visualização de dados.
- NLTK, spaCy: Processamento de linguagem natural para análise textual.
- Conda: Gerenciamento de ambientes e pacotes.
- VS Code: Ambiente de desenvolvimento integrado para código e notebooks.
- Monitoramento em Tempo Real: Implementar um sistema de monitoramento contínuo para qualidade do ar ou previsão de energia eólica.
- Integração com APIs Externas: Conectar com APIs de monitoramento de clima, qualidade do ar ou sistemas de alerta de desastres para obter dados em tempo real.
- Aplicação de Modelos mais Complexos: Experimentar arquiteturas de redes neurais profundas, como LSTM para previsão sequencial de energia eólica ou modelos transformers para análise textual em desastres.
- Notebooks Interativos no Google Colab: Link para os Notebooks
- Imagens de Resultados: Gráficos, heatmaps e diagramas estão incluídos nos notebooks para facilitar a compreensão dos resultados.
- Vídeo ou Apresentação: Em breve, adicionarei um vídeo explicando o projeto e seu impacto.
Gostaria de expressar meus sinceros agradecimentos ao professor Robert Monarch por compartilhar sua experiência e pela clareza de suas explicações ao longo desta especialização. Agradeço também ao DeepLearning.AI e ao Coursera pela criação de uma plataforma tão abrangente e bem estruturada, que permite aos alunos explorarem como a IA pode gerar impacto positivo no mundo.
Para discutir mais sobre este projeto ou outras iniciativas de IA para o bem, você pode me encontrar no LinkedIn.