Por dentro do AstroClassifier

Como uma rede neural aprende a reconhecer objetos astronômicos?

O AstroClassifier recebe informações numéricas sobre objetos observados no céu e aprende a reconhecer padrões que ajudam a diferenciar estrelas, galáxias e quasares.

A rede não observa uma fotografia do céu como nós observaríamos. Ela trabalha com números que descrevem características da luz recebida de cada objeto e com o seu redshift.

O ponto de partida

O que a rede recebe?

Cada objeto é representado por 20 características. Dessas, 15 correspondem a medidas fotométricas do SDSS, 4 a medidas no infravermelho do WISE e 1 ao redshift do objeto.

SDSS

15 características

Medidas de brilho obtidas nas bandas u, g, r, i e z por meio de diferentes formas de medir a luz do objeto.

WISE

4 características

Medidas no infravermelho nas bandas W1, W2, W3 e W4, acrescentando informações observadas em outra região do espectro eletromagnético.

Redshift

1 característica

O desvio para o vermelho representa o deslocamento observado do espectro do objeto para comprimentos de onda maiores.

Aprendizado

Como a rede aprende?

Imagine mostrar milhares de objetos à rede dizendo qual é a classificação correta de cada um deles. Aos poucos, ela tenta descobrir quais combinações de características ajudam a distinguir uma classe da outra.

Quando uma previsão está errada, seus parâmetros internos são ajustados. Esse processo é repetido diversas vezes durante o treinamento para que os erros sejam gradualmente reduzidos.

8.000 exemplos para aprender

Esses objetos foram utilizados durante o treinamento para que a rede pudesse ajustar seus parâmetros e aprender padrões nos dados.

20 ciclos de treinamento

A rede percorreu o conjunto de treinamento várias vezes, refinando gradualmente suas previsões. Cada passagem completa pelos dados é chamada de época.

2.000 objetos para testar

Esses objetos ficaram de fora do aprendizado e foram utilizados depois para verificar como a rede se comportava diante de dados que não haviam sido usados para ajustá-la.

A rede do AstroClassifier

Dos números até uma classificação

Dentro da rede neural, as informações passam por etapas chamadas camadas. Cada camada combina os valores recebidos e transmite novas informações para a etapa seguinte.

No AstroClassifier, os 20 valores de entrada passam por duas camadas internas antes de chegar às três possibilidades de classificação.

Entrada

20

Características que descrevem cada objeto astronômico.

Processamento

64 → 64

Duas camadas internas combinam as informações e aprendem padrões úteis para diferenciar os objetos.

Resposta

3

A saída representa as três classes possíveis: GALAXY, QSO e STAR.

Ferramentas utilizadas

E onde entram Python e PyTorch?

Por trás desse processo existem ferramentas de programação e aprendizado de máquina que permitem preparar os dados, construir a rede e avaliar seus resultados.

Python

Linguagem utilizada para organizar e preparar os dados, treinar a rede, analisar os resultados e gerar as visualizações do projeto.

PyTorch

Biblioteca utilizada para construir a rede neural e realizar o processo de treinamento e aprendizado.

Scikit-learn

Biblioteca utilizada em etapas de preparação dos dados e na avaliação do desempenho do modelo.

Do início ao fim

O caminho dos dados

Da observação do céu até a avaliação do modelo, os dados passam por algumas etapas importantes.

1. Observar

SDSS e WISE fornecem medidas de objetos astronômicos observados em diferentes regiões do espectro eletromagnético.

2. Preparar

Os valores são tratados e organizados para que possam ser utilizados pela rede neural.

3. Aprender

A rede recebe exemplos cuja classificação já é conhecida e ajusta seus parâmetros tentando reduzir os erros das previsões.

4. Testar

Depois do treinamento, o modelo é avaliado usando objetos que não participaram do processo de ajuste.

5. Interpretar

Métricas e gráficos ajudam a observar onde o modelo acerta, onde confunde classes e quão bem consegue separá-las.

Para quem quer saber mais

Quer ir mais fundo?

Até aqui, vimos como a rede funciona de forma intuitiva. Se você quiser conhecer os detalhes técnicos do modelo utilizado no AstroClassifier, eles estão reunidos abaixo.

Ver detalhes técnicos do modelo

Arquitetura

MLP · 20 → 64 → 64 → 3

O modelo é uma MLP (Multi-Layer Perceptron), uma rede neural totalmente conectada com 20 valores de entrada, duas camadas ocultas de 64 neurônios e 3 valores de saída.

Ativação

ReLU

Função aplicada nas camadas ocultas para introduzir não linearidade e permitir que a rede aprenda relações mais complexas entre as características.

Regularização

Dropout · 0,3

Durante o treinamento, parte dos neurônios é temporariamente desativada para reduzir a dependência de caminhos específicos e ajudar a evitar sobreajuste.

Otimização

Adam · 0,001

O otimizador Adam ajusta os parâmetros da rede durante o treinamento. A taxa de aprendizado utilizada foi 0,001.

Função de perda

CrossEntropyLoss

Mede o quanto as previsões da rede diferem das classes corretas e fornece o sinal utilizado para orientar os ajustes durante o treinamento.

Treinamento

Batch 64 · 20 épocas

Os exemplos foram processados em grupos de 64 objetos, e o conjunto de treinamento foi percorrido completamente durante 20 épocas.