• Nenhum resultado encontrado

Uso de aprendizado profundo na detecção de defeitos externos em tomates

N/A
N/A
Protected

Academic year: 2021

Share "Uso de aprendizado profundo na detecção de defeitos externos em tomates"

Copied!
123
0
0

Texto

(1)

Arthur Zanatta da Costa

Uso de aprendizado profundo na detecção

de defeitos externos em tomates

Campinas 2018

(2)

Uso de aprendizado profundo na detecção de defeitos

externos em tomates

Dissertação apresentada à Faculdade de Engenharia Elétrica e de Computação da Universidade Estadual de Campinas como parte dos requisitos exigidos para a obtenção do título de Mestre em Enge-nharia Elétrica, na Área de Telecomuni-cações e Telemática.

Supervisor/Orientador: Hugo Enrique Hernández Figueroa Co-supervisora/coorientadora: Juliana Aparecida Fracarolli

Este exemplar corresponde à versão final da dissertação defendida pelo aluno Arthur Zanatta da Costa, e orientado pelo Prof. Dr. Hugo En-rique Hernández Figueroa e coori-entado pela Profa. Dra. Juliana Aparecida Fracarolli.

Campinas 2018

(3)

Ficha catalográfica

Universidade Estadual de Campinas Biblioteca da Área de Engenharia e Arquitetura

Rose Meire da Silva - CRB 8/5974

Costa, Arthur Zanatta da,

C823u CosUso de aprendizado profundo na detecção de defeitos externos em tomates / Arthur Zanatta da Costa. – Campinas, SP : [s.n.], 2018.

CosOrientador: Hugo Enrique Hernández Figueroa. CosCoorientador: Juliana Aparecida Fracarolli.

CosDissertação (mestrado) – Universidade Estadual de Campinas, Faculdade de Engenharia Elétrica e de Computação.

Cos1. Aprendizado profundo. I. Hérnandez-Figueroa, Hugo Enrique, 1959-. II. Fracarolli, Juliana Aparecida, 1984-. III. Universidade Estadual de Campinas. Faculdade de Engenharia Elétrica e de Computação. IV. Título.

Informações para Biblioteca Digital

Título em outro idioma: Detection of external defects in tomatoes using deep learning Palavras-chave em inglês:

Deep learning

Área de concentração: Telecomunicações e Telemática Titulação: Mestre em Engenharia Elétrica

Banca examinadora:

Juliana Aparecida Fracarolli [Coorientador] Romis Ribeiro de Faissol Attux

Angel Pontin Garcia

Data de defesa: 26-11-2018

Programa de Pós-Graduação: Engenharia Elétrica

(4)

Candidato: Arthur Zanatta da Costa RA:116194 Data: 26 de novembro de 2018

Título da Tese: Uso de aprendizado profundo na detecção de defeitos externos em

tomates.

Profa. Dra. Juliana Aparecida Fracarolli (Presidente, FEAGRI/UNICAMP)

Prof. Dr. Romis Ribeiro de Faissol Attux (FEEC/UNICAMP)

Prof. Dr. Angel Pontin Garcia (FEAGRI/UNICAMP)

Ata da defesa com as respectivas assinaturas dos membros encontra-se no SIGA/Sistema de Fluxo de Dissertação/Tese e na Secretaria do Programa da Unidade.

(5)

Aos meus pais, Asimar Gomes da Costa e Marilza Zanatta, pelo amor e suporte ao longo de toda minha vida. À minha parceira, Larissa Fauat Schraier, pela compreensão e companhia.

(6)

Agradeço aos meus pais pela vida e suporte.

Agradeço à minha parceira Larissa Fauat Schraier pela vida que estamos construindo.

Agradeço ao meu orientador Professor Dr. Hugo Figueroa por me dar a liberdade necessária para a construção deste trabalho.

Agradeço à minha coorientadora Professora Dra. Juliana Fracarolli por me introduzir ao maravilhoso mundo da agricultura e dar o ponto de partida desta tese.

Agradeço à futura Dra. Juliana Prado pelas discussões e trabalhos que realiza-mos ao longo dessa jornada.

Agradeço ao grande Galego por ter me ensinado tanto sobre tomates. Agradeço aos participantes que me ajudaram a realizar o experimento 1. Agradeço aos professores Drs. Angel Garcia e Romis Attux pelos comentários e críticas construtivas durante minha qualificação e minha defesa de tese.

Agradeço aos meus amigos André Uhlmann, André Massa, Alexandre Daoud, Luiz Telles, Maurício Donatti, Ricardo Zago, entre muitos outros pela troca de idéias, discussões de projetos e pelas risadas compartilhadas ao longo desses dois anos.

Agradeço aos membros de várias comunidades online por dedicarem parte de seu tempo na divulgação de conhecimento e informação de qualidade.

(7)
(8)

Esta dissertação estudou o uso de redes neurais profundas na detecção de defeitos externos em tomates. Duas bases de dados contendo imagens de tomates saudáveis e defeituosos foram criadas e estão disponíveis gratuitamente online. A primeira base tem 416 imagens de tomates em laboratório com condições controladas de pose, fundo e iluminação. A base foi etiquetada do começo ao fim por 7 participantes com o objetivo de identificar padrões e as variâncias no gosto dos consumidores. Dado seu tamanho pequeno, somente a extração de descritores com uma rede profunda pré-treinada foi implementada. Os melhores classificadores profundos nessa base forneceram performance satisfatória na previsão do gosto de cada participante, com a área sob a curva característica de operação do receptor (AUC) variando entre 83.0% − 94.0% na base de teste. A comparação da AU Cteste de todos os participantes sugere que os piores resultados decorrem de pessoas

com gosto mais exigente ou de possíveis erros durante o processo de etiquetagem. É preciso estender o trabalho, trazendo mais participantes e colhendo mais dados, para descobrir se as performances mais baixas aumentam com o número de dados e se as classificações de alguns participantes podem ser consideradas outliers. A segunda base tem 43843 imagens de tomates adquiridas durante a operação normal de uma máquina de seleção. Não houve censura sobre os tipos de defeitos que poderiam aparecer durante a aquisição. A base foi etiquetada pelo autor da tese com ajuda de um especialista em seleção. Três técnicas de aprendizado profundo foram implementadas e comparadas sobre essa base: extração de descritores, ajuste fino e detecção de anomalia usando uma rede geradora adversarial (GAN). As duas primeiras técnicas alcançaram resultados acima de 90% na AUCteste,

enquanto a terceira falhou em apresentar resultados relevantes devido ao tamanho da base. O melhor resultado veio do ajuste fino de todas as camadas de uma ResNet50. Esse classificador atingiu AUCteste = 97.6%. Até onde os conhecimentos dos autores vão, essa é

a melhor performance de um classificador na literatura em uma base contendo dezenas de milhares de amostras sem restrição nos tipos de defeitos apresentados. Além disso, o classificador não possui nenhum conhecimento a priori de que o fruto é um tomate, indicando a viabilidade de estender o método para outros alimentos. O resultado fornece um novo horizonte para a melhora significativa dos algoritmos de seleção em máquinas.

(9)

This dissertation studied the application of deep neural networks on the problem of sorting external defects in tomatoes. Two datasets containing images of healthy and defective tomatoes were created and are available online for free. The first one has 416 images of tomatoes on laboratory with controlled pose, background and lighting. All instances of the dataset were labeled by 7 volunteers. The purpose was to identify patterns and variances in consumer taste. Due to the small size of the dataset, only feature extraction with a pretrained deep neural network was implemented. The best deep classifiers showed satisfactory performance with area under the receiver operating characteristic curve AUC raging from 83.0% to 94.0% on the test set. The comparison among all AUCtest suggests that the worst results are due picky volunteers or possible

mistakes made during the labeling phase. The experiment need to be continued with more data and volunteers in order to find out if it’s possible to improve the worst classifiers with more data and if the labeling of some volunteers are outliers. The second dataset has 43843 images of tomatoes acquired during the normal operation of a tomato sorter machine . There was no censorship on the kinds of defects which could appear during acquisition. The dataset was labeled by the author of the thesis with the help of an fruit sorter expert. Three different deep learning techniques were implemented: feature extraction, fine tuning and anomaly detection with a generative adversarial network (GAN). The two first techniques achieved AUCtest above 90%, while the third was a failure due to

the lack of data. The best result came from a ResNet50 with all layers fine tuned. This classifier achieved AUCtest = 97.6%. As far as the authors are aware, this is the best

performance in the literature of a classifier in a dataset with dozens of thousands of images without restriction on which defects might appear. Furthermore, the classifier doesn’t have any prior on the images being tomatoes, suggesting the method should also work when sorting other foods. The result raises a new horizon for significant improvement of sorting algorithms in commercial machines.

(10)

4.1 Base de dados do exemplo de regressão. . . 29 4.2 Base de dados do exemplo de regressão junto com função hipótese encontrada

a partir da minimização do MSE. . . 32 4.3 Conjunto de treino, conjunto de teste e hipótese determinada a partir da

minimização do MSE durante o treino. . . 33 4.4 Comparação entre diversas hipóteses polinomiais com graus diferentes

usando o conjunto de treino. Os polinômios de ordem 1 e 2 não são capazes de prever os dados de treino de forma correta. Por outro lado, os polinômios de grau 4 e 10 possuem essa capacidade. Contudo, a forma da hipótese para o polinômio de grau 10 não é muito natural e parece estar se ajustando aos dados artificialmente. . . 34 4.5 Comparação entre diversas hipóteses polinomiais com graus diferentes

usando o conjunto de teste. Os polinômios de ordem 1 e 2 novamente não são capazes de prever os dados de forma correta. O polinômio de grau 4 prevê novos valores melhor do que o polinômio com grau 10. . . 35 4.6 Fluxograma padrão de aprendizado supervisionado. Primeiro, os dados crus

são combinados e pré-processados. Segundo, hipóteses são criadas na fase de treino. A melhor delas é escolhida durante a validação. O teste dá a medida de performance mais confiável do melhor modelo. As etapas de pré-processamento, treino e validação são as mais demoradas. É usual essas fases exigirem muitas iterações. . . 39 4.7 Exemplo de um bloco residual de uma ResNet [1]. . . 45 4.8 Esquemático do funcionamento de uma GAN. . . 48 5.1 Imagens da base de dados 1. Fonte original dos dados: laboratório de

tecnologia de pós colheita da FEAGRI na UNICAMP [2]. . . 51 5.2 GUI do programa em Python usado para classificação dos tomates pelos

participantes. O programa permite ao usuário classificar cada imagem de tomate como sendo saudável ou defeituosa. . . 52 5.3 Máquina de seleção de tomates da Fomesa, operando normalmente durante

um dia de semana. As imagens mostram as seguintes partes da máquina, indo da esquerda para direita, de cima para baixo: ponto de entrada para tomates não selecionados, câmara de aquisição de imagens, ponto de saída para tomates selecionados, ponte de saída junto com uma visão geral da fábrica. . . 55 5.4 Dentro da câmara de aquisição de imagens. Cada esteira é iluminada por

duas lâmpadas. As câmeras filmam as esteiras de cima. . . 55 5.5 Imagens de tomates saudáveis da base de dados 2. . . 57

(11)

e mancha, mancha de chuva, corte longitudinal, pedúnculo largo e muito escuro. . . 58 5.7 Arquiteturas das ResNets subdivididas em blocos de camadas neurais.

Alguns blocos contém somente uma camada, como conv1 nas cinco arquite-turas. Outros blocos são formados pela repetição de blocos menores. Por exemplo, na rede ResNet34, o bloco conv4_x é formado por 6 repetições de duas camadas convolucionais. Fonte original: [1] . . . 62 5.8 Fluxograma do algoritmo de detecção de anomalia. O algoritmo reconstrói as

imagens de tomates saudáveis com sucesso. A comparação sugere amostras saudáveis. . . 63 5.9 Fluxograma do algoritmo de detecção de anomalia. O algoritmo gera

ima-gens distintas das imaima-gens originas de tomates com defeito. A comparação sugere amostras defeituosas. . . 64 5.10 Custo do gerador J(G) para três métodos de treinamento diferentes:

heurís-tica não saturante, máxima verossimilhança e minimax. A figura ilustra o problema de gradiente evanescente tanto para máxima verossimilhança quanto para minimax. Quando D tem bastante certeza de que G(z) é falso, o gradiente de J(G) é muito pequeno. Isso faz as amostras ruins contribuírem de forma reduzida durante cada passo da otimização. Como no começo do treinamento, virtualmente todas as amostras são ruins, o treino se torna lento e instável. A heurística não saturante evita esse problema, construindo uma função de custo que não é horizontal na parte esquerda do gráfico. Fonte original: [3]. . . 65 6.1 Mapa de calor com todas as votações de cada participante. Cada traço

preto/cinza indica uma amostra saudável/defeituosa para o participante da coluna correspondente. . . 69 6.2 Mapa de calor com a votação de cada participante e a do cliente médio. . . 69 6.3 Performance de validação dos modelos envolvendo extração de descritores.

A mudança de kernel não influencia muito a performance dos melhores modelos. Por outro lado, quanto menor o kernel, maior o IQR e menor o limite inferior, sugerindo a presença de overfitting. Os outliers não são mostrados na figura. . . 74 6.4 Performance de validação dos modelos envolvendo ajuste fino. A mudança

do número de camadas ajustadas tem impacto significativo na performance dos melhores modelos. O melhor modelo ajusta todas as camadas neurais. Além disso, os modelos que treinaram todas as camadas apresentam menor variedade do que modelos que treinaram menos camadas. Isso sugere a existência de amostras o suficiente na base de treino para treinar toda a rede sem overfitting. Já que há dados o suficiente para treinar os modelos de maior capacidade, não é surpresa eles apresentarem as melhores performances. Os outliers não são mostrados na figura. . . 75 6.5 Amostras de G após o treino. . . 76 6.6 Exemplos de imagens de tomates saudáveis adquiridas na máquina de seleção. 77

(12)

foi gerada por z = 0. A amostra da direita foi gerada por z ∼ N (0, I). . . . 79 A.1 Exemplo de uma curva ROC junto ao baseline. Observe a relação entre o

cotovelo afiado da curva e o grande valor de AUC (0.94). . . 97 D.1 Comparação entre imagens originais e suas respectivas reconstruções.

To-mates saudáveis com λ = 0.25 e f = 1. . . 114 D.2 Comparação entre imagens originais e suas respectivas reconstruções.

To-mates defeituosos com λ = 0.25 e f = 1. . . 115 D.3 Comparação entre imagens originais e suas respectivas reconstruções.

To-mates saudáveis com λ = 0.25 e f = 2. . . 115 D.4 Comparação entre imagens originais e suas respectivas reconstruções.

To-mates adversos com λ = 0.25 e f = 2. . . 116 D.5 Comparação entre imagens originais e suas respectivas reconstruções.

To-mates saudáveis com λ = 0.25 e f = 3. . . 116 D.6 Comparação entre imagens originais e suas respectivas reconstruções.

To-mates adversos com λ = 0.25 e f = 3. . . 117 D.7 Comparação entre imagens originais e suas respectivas reconstruções.

To-mates saudáveis com λ = 0.50 e f = 1. . . 117 D.8 Comparação entre imagens originais e suas respectivas reconstruções.

To-mates adversos com λ = 0.50 e f = 1. . . 118 D.9 Comparação entre imagens originais e suas respectivas reconstruções.

To-mates saudáveis com λ = 0.50 e f = 2. . . 118 D.10 Comparação entre imagens originais e suas respectivas reconstruções.

To-mates adversos com λ = 0.50 e f = 2. . . 119 D.11 Comparação entre imagens originais e suas respectivas reconstruções.

To-mates saudáveis com λ = 0.50 e f = 3. . . 119 D.12 Comparação entre imagens originais e suas respectivas reconstruções.

To-mates adversos com λ = 0.50 e f = 1. . . 120 D.13 Comparação entre imagens originais e suas respectivas reconstruções.

To-mates saudáveis com λ = 0.75 e f = 1. . . 120 D.14 Comparação entre imagens originais e suas respectivas reconstruções.

To-mates adversos com λ = 0.75 e f = 1. . . 121 D.15 Comparação entre imagens originais e suas respectivas reconstruções.

To-mates saudáveis com λ = 0.75 e f = 2. . . 121 D.16 Comparação entre imagens originais e suas respectivas reconstruções.

To-mates adversos com λ = 0.75 e f = 2. . . 122 D.17 Comparação entre imagens originais e suas respectivas reconstruções.

To-mates saudáveis com λ = 0.75 e f = 3. . . 122 D.18 Comparação entre imagens originais e suas respectivas reconstruções.

(13)

6.1 Número de tomates de cada classe de acordo com os sete participantes. . . 68 6.2 Resultados da primeira fase de treino da base 1. . . 71 6.3 Resultados da segunda fase de treino da base 1. . . 72 6.4 AUC de treino e teste para todos participantes e a base de dados 1. A

última coluna é um lembrete do percentual de tomates com defeito segundo cada participante. . . 73 B.1 Resultados da primeira fase de treino do extrator de descritores com pooling

4 x 4. . . 99 B.2 Resultados da segunda fase de treino do extrator de descritores com pooling

4 x 4. . . 100 B.3 Resultados da terceira fase de treino do extrator de descritores com pooling

4 x 4. . . 100 B.4 Resultados da primeira fase de treino do extrator de descritores com pooling

2 x 2. . . 101 B.5 Resultados da segunda fase de treino do extrator de descritores com pooling

2 x 2. . . 102 B.6 Resultados da terceira fase de treino do extrator de descritores com pooling

2 x 2. . . 102 B.7 Resultados da primeira fase de treino do extrator de descritores sem pooling.103 B.8 Resultados da segunda fase de treino do extrator de descritores sem pooling.104 B.9 Resultados da terceira fase de treino do extrator de descritores sem pooling. 104 C.1 Resultados da primeira fase de treino do ajuste fino em conv5_x. . . 106 C.2 Resultados da segunda fase de treino do ajuste fino em conv5_x. . . 106 C.3 Resultados da terceira fase de treino do ajuste fino em conv5_x. . . 107 C.4 Resultados da primeira fase de treino do ajuste fino em conv4_x - conv5_x.108 C.5 Resultados da segunda fase de treino do ajuste fino em conv4_x - conv5_x. 108 C.6 Resultados da terceira fase de treino do ajuste fino em conv4_x - conv5_x. 109 C.7 Resultados da primeira fase de treino do ajuste fino em conv3_x - conv5_x.110 C.8 Resultados da segunda fase de treino do ajuste fino em conv3_x - conv5_x. 110 C.9 Resultados da terceira fase de treino do ajuste fino em conv3_x - conv5_x. 111 C.10 Resultados da primeira fase de treino do ajuste fino da rede completa. . . . 112 C.11 Resultados da segunda fase de treino do ajuste fino da rede completa. . . . 112 C.12 Resultados da terceira fase de treino do ajuste fino da rede completa. . . . 113

(14)

AUC - Área sob a curva Característica de Operação do Receptor CNN - Rede neural convolucional

CV - Visão computacional DNN - Rede neural profunda

FEAGRI - Faculdade de Engeharia Agrícola

FEEC - Faculdade de Engeharia Elétrica e Computação da UNICAMP FFT - Transformação rápida de Fourier

GAN - Redes geradoras adversárias

HOG - Histograma de gradientes orientados IA - Inteligência artificial

ILSVRC - ImageNet Large Scale Visual Recognition Challenge IQR - Amplitude interquartil

L-BFGS - Método de otimização da família Quasi Newton MAP - Estimador de Máxima a Posteriori

ML - Aprendizado de máquina

MLE - Estimador de Máxima Verossimilhança MLP - Perceptron multicamadas

MNIST - Base de dados de dígitos escritos a mão PCA - Análise de componentes principais

ResNet - Redes residuais

ROC - Curva Característica de Operação do Receptor SIFT - Transformação de descritores invariantes a escala SVM - Máquina de Vetor Suporte

SQP - Programação sequencial quadrática

(15)

Lista de Figuras 10 Lista de Tabelas 13 1 Introdução 17 2 Objetivos 20 3 Revisão Bibliográfica 21 4 Teoria 24 4.1 Aprendizado de máquina . . . 24 4.2 Aprendizado supervisionado . . . 26 4.2.1 Visão geral . . . 26 4.2.2 Inferência estatística . . . 27 4.2.3 Treino . . . 28 4.2.4 Teoria da decisão . . . 30 4.2.5 Teste . . . 32 4.2.6 Underfitting e Overfitting . . . 33

4.2.7 Aprendizado de máquina na prática . . . 38

4.2.8 Algoritmos de aprendizado supervisionado . . . 40

4.2.9 Engenharia de descritores . . . 40

4.2.10 Aprendizado profundo . . . 41

4.3 Aprendizado não supervisionado . . . 46

4.3.1 Redes generativas adversárias . . . 47

4.3.2 Detecção de anomalias . . . 49 5 Metodologia 50 5.1 Bases de dados . . . 50 5.1.1 Base de dados 1 . . . 51 5.1.2 Base de dados 2 . . . 54 5.2 Estratégia de aprendizado . . . 59 5.2.1 Base de dados 1 . . . 59 5.2.2 Base de dados 2 . . . 60 6 Experimentos 68 6.1 Base de dados 1 . . . 68

6.1.1 Etiquetagem da base pelos participantes . . . 68

(16)

6.2 Base de dados 2 . . . 74

6.2.1 Classificação por extração de descritores . . . 74

6.2.2 Classificação por ajuste fino . . . 74

6.2.3 Detecção de anomalia: modelo generativo . . . 75

7 Análise dos resultados 80 7.1 Base de dados 1 . . . 80

7.2 Base de dados 2 . . . 81

8 Conclusão 84 8.1 Trabalhos futuros . . . 85

9 Referências 87

A Anexo A - Curva ROC e a métrica AU C 95

B Anexo B - Tabelas de resultados da extração de descritores no

experi-mento 2 98

C Anexo C - Tabelas de resultados do ajuste fino no experimento 2 105

(17)

Capítulo 1

Introdução

A seleção de frutos é uma atividade de extrema importância econômica. Para o Brasil, terceiro maior produtor de frutas do mundo [4] e com agronegócio correspondendo a 23.0% do PIB em 2016 [5], o mérito dessa tarefa se torna ainda maior. A forma tradicional de seleção é por meio de mão de obra humana. Na pós-colheita, há pessoas responsáveis por inspecionar os frutos visualmente e classificá-los de acordo com a cor, peso, maturidade, doenças, deformações, entre outros atributos.

Uma alternativa ao método tradicional é a automação do processo por meio de máquinas seletoras de frutos. Elas dispõem de várias esteiras 1 responsáveis por

carregar frutos em paralelo até seus sensores. Neles, ocorre a aquisição de dados e seu encaminhamento para um software de decisão responsável pelo destino de cada fruto. Ao determinar o destino, o programa age sobre os atuadores da esteira para garantir o despejo no local correto.

A automação do processo de seleção traz três benefícios. Primeiro, redução dos erros. Dada a natureza repetitiva e massiva da tarefa, humanos estão mais propensos a erros do que máquinas. Segundo, redução do custo de réplica. Classificar frutos de forma correta e rápida exige treinamento. O treinamento de humanos consome tempo, precisa ser refeito para cada novo funcionário e nada garante que os novatos vão ter desempenho igual ou melhor do que os veteranos. Por outro lado, para replicar o processo de uma máquina, basta construir um novo modelo e carregar os softwares desejados. Terceiro, aumento da taxa de seleção. Existe uma taxa máxima de quantos frutos pessoas e máquinas podem classificar por segundo. É evidente que a máquina é ordens de grandeza superior ao humano nesse aspecto.

O emprego das máquinas de seleção acarreta maior produtividade e lotes mais uniformes. O aumento da produtividade possibilita mais vendas. A uniformização possibilita direcionar os melhores produtos para mercados exclusivos, dispostos a pagar mais por frutas grandes, belas e saborosas. A uniformização dos lotes também possibilita

1Nem todas as máquinas seletoras são baseadas em esteiras mecânicas. Há modelos pneumáticos para

(18)

destinar os piores produtos às indústrias como matéria prima para molhos, misturas e etc. Apesar dos benefícios da automação no processo de seleção, ela não é uma tarefa trivial. Do ponto de vista da engenharia elétrica e da computação 2, realizar

a separação exige os sensores adequados e algoritmos com alta taxa de acerto e baixa complexidade computacional. Graças à natureza da tarefa, uma solução natural é mimetizar a inspeção humana. Nessa situação, câmeras tradicionais fazem o papel do olho filmando a esteira, enquanto o programa decide o destino do fruto baseado nas imagens. Sob essa perspectiva, os desafios encontrados nas máquinas seletoras estão dentro do domínio da visão computacional (CV).

O potencial da CV na agricultura é reconhecido desde o início da década de 90. Em [6], o autor aponta a necessidade de estudar formas de incluir conhecimento nos algoritmos de imagem. No decorrer das duas próximas décadas, pesquisadores e empresas empregaram técnicas de inteligência artificial (AI) para atingir esse objetivo. Hoje, a AI tem seu principal foco no aprendizado de máquina (ML), cuja proposta é fazer a máquina aprender a partir do conhecimento extraído de dados.

O uso de aprendizado de máquina já está estabelecido e oferece resultados promissores no problema de seleção de frutos. Em [7] os autores fazem uma revisão da literatura de seleção automática de frutas. No trabalho, é possível observar o aumento de acurácia dos métodos de aprendizado de máquina ao longo dos anos. Por exemplo, [8] reporta acurácia de 89 % na detecção de machucados, final do cálice e pedúnculo em maçãs. Quatros anos depois, [9] reporta uma acurácia de 94 % no mesmo problema.

Em [10], os autores fazem outra revisão do assunto, com foco na avaliação da qualidade de frutas e vegetais usando sistemas de visão tradicional, sistemas multiespectrais e sistemas hiperespectrais 3. O trabalho faz referências a artigos reportando acurácias

acima de 90 % nos problemas de separação por cor, maturidade, forma, tamanho e defeitos. Os resultados podem levar o leitor a pressupor que não há muito espaço para melhorias nos métodos. Todavia, isso não é verdade. No problema de detecção de defeitos, há poucos trabalhos utilizando sistemas tradicionais de visão. Os autores da revisão reconhecem a dificuldade dessa tarefa devido a grande quantidade de defeitos diferentes e a existência de concavidades na região cálice e pedúnculo. Trabalhos como [11–14] se restringem a defeitos específicos que alteram significativamente a aparência do fruto. Para defeitos mais sutis ou internos, os autores sugerem o uso de sistemas multiespectrais ou hiperespectrais.

O uso de sistemas multiespectrais ou hiperespectrais ganharam atenção pois detectam mais defeitos do que os sistemas tradicionais usando os mesmos algoritmos.

2Máquinas seletoras também apresentam desafios na parte mecânica. Todavia, eles não serão

contem-plados nesta tese.

3O sistema de visão tradicional mimetiza a visão humana e possui três canais de cor dentro do espectro

de luz visível. O sistema multiespectral possui entre 1 e 10 canais de frequências que podem estar localizados em faixas de frequência fora da luz visível. Por fim, o sistema hiperespectral possui mais de 10 canais de frequência que também podem estar localizados fora do espectro da luz visível.

(19)

No entanto, eles apresentam dois fatores limitantes. Primeiro, o tempo de aquisição e processamento de câmeras hiperespectrais é grande, podendo variar de alguns segundos até vários minutos. Segundo, é preciso buscar as faixas de frequências ótimas para cada aplicação do sistema. A busca envolve um extenso trabalho por parte dos pesquisadores e não costuma ser extensível para outras aplicações. Em outras palavras, um sistema calibrado para detectar fungos em café pode ser inútil na detecção de fungos em peras.

Na seleção de defeitos externos, o uso dessas câmeras mais avançadas parece ser um exagero. A maior parte das pessoas consegue inspecionar um fruto e detectar um defeito grave. Pessoas treinadas conseguem identificar defeitos mais sutis. De qualquer forma, o aparato visual bem treinado é o suficiente para avaliação da qualidade externa. Assim, esta dissertação propõe inverter a sugestão dada por [10]. Ao invés de melhorar o sensor e manter o algoritmo, vamos manter o primeiro e melhorar o segundo.

A essência da proposta é o desenvolvimento de um algoritmo de visão com-putacional tão bom quanto o aparato humano na identificação de defeitos externos em frutos. Nesta tese, não há interesse em se saber o tipo específico de defeito, somente sua existência4. Um candidato promissor à solução se encontra nos últimos avanços da

visão computacional. Desde de 2012, tanto a CV quanto outras linhas da inteligência artificial como reconhecimento de fala e processamento de linguagem natural vem sendo revolucionados por uma técnica de aprendizado de máquina conhecida como aprendizado profundo [1,15–21].

Resumidamente, o aprendizado profundo/deep learning propõe o uso de redes neurais profundas para aproximar funções de todo tipo de complexidade. As funções são construídas a partir da composição de unidades de computação simples e são capazes de extrair padrões relevantes da base de dados para resolver a tarefa 5. Em particular,

redes convolucionais profundas já ultrapassaram o desempenho humano na tarefa de reconhecimento de imagens [23]. Além disso, desde 2012, todos os vencedores da competição ImageNet Large Scale Visual Recognition Competition (ILSVRC)6 usaram algoritmos

envolvendo redes profundas [1,15,16,22,24]. Fortuitamente, a detecção de defeitos externos em frutos pode ser modelada dentro do paradigma do aprendizado profundo e aproveitar seus benefícios.

Nesse cenário, a proposta desta tese se revela por completo. Estudar métodos de detecção de defeitos externos7 baseados em aprendizado profundo.

4Na prática saber o tipo de defeito é crucial em alguns cenários e em outros não. Por exemplo,

identificar defeitos externos pode ajudar ao produtor a combater melhor pragas e doenças no pré-colheita. Por outro lado, no pós-colheita, é possível que todos os frutos defeituosos sejam encaminhados para uma fábrica. Assim, não há ganhos evidentes em se determinar o tipo de defeito

5Como exemplo, redes profundas são capazes de construir representações internas sensíveis a bordas,

formas e texturas no problema de classificação de imagens. [22]

6Esta é a maior competição de CV do mundo e é popularmente conhecida como a olimpíada da visão

computacional.

7O conceito de defeito possui certo grau de subjetividade. Assim, a definição de defeito será feita na

(20)

Capítulo 2

Objetivos

Esta dissertação propõe o estudo de métodos de detecção de defeitos externos utilizando aprendizado profundo. Mais especificamente, serão utilizadas redes neurais profundas para a separação entre tomates saudáveis e tomates com defeitos externos. Não há a preocupação em identificar o tipo específico de cada defeito. Em termos de contribuições, este trabalho pretende:

• Criar duas bases de dados propícias ao aprendizado de máquina na tarefa de separar tomates saudáveis de tomates com defeitos externos e divulgá-las online gratuita-mente.

• Treinar aprendizes nas duas bases de dados usando técnicas de aprendizado profundo condizentes com seus respectivos tamanhos.

• Avaliar a generalização dos algoritmos e discutir a possibilidade de estender os métodos para cenários reais.

(21)

Capítulo 3

Revisão Bibliográfica

O emprego de técnicas de visão computacional é comum na indústria alimentícia. Em [25], Brosnan e Sun revisam como o uso de CV na inspeção de alimentos evoluiu desde seu nascimento até o começo do século XXI1. Nesta mesma época, métodos baseados na

engenharia de descritores e aprendizado de máquina começaram a dominar os estudos envolvendo reconhecimento e localização de objetos. O descritor SIFT foi introduzido no final do século XX [26]. O modelo de bag of visual words (BoVW) e o descritor HOG ganharam bastante popularidade na primeira década do século XXI [27,28].

Hoje, a visão computacional está dominada por técnicas envolvendo apren-dizado profundo/deep learning [21]. A proposta do aprenapren-dizado profundo é substituir os descritores desenvolvidos por pesquisadores após anos de pesquisa por descritores construídos automaticamente a partir da base de dados estudada [?,21]. Para atingir esse objetivo, o aprendizado profundo faz uso de redes neurais profundas, de bases de dados massivas 2 e do poder computacional disponível nos hardwares de processamento paralelo

atuais3.

Dada a onipresença das redes profundas na literatura atual de CV, era de se esperar seu uso em problemas envolvendo alimentos. Em particular, a seleção de frutos é uma área em que o aprendizado profundo se adaptaria naturalmente. Entretanto, uma revisão recente da literatura de inspeção externa de frutas e vegetais feita por Zhang et al. sequer menciona o termo ’deep learning’ [10]. Curiosamente, na mesma publicação são mencionadas inúmeras técnicas de avaliação de qualidade dependendo de algoritmos de aprendizado de máquina. Alguns exemplos presentes são: K-means, PCA, SVM e redes neurais. Em relação às redes neurais, é importante ressaltar que as arquiteturas

1A revisão engloba tanto frutas, que é o tópico desta dissertação, quanto outros tipos de alimento

como carnes, pães e bolos.

2O número de instâncias necessárias para treinar uma rede neural depende da capacidade do modelo,

como explicado no capítulo 4. Na literatura, redes profundas costumam ser treinadas em bases de dados com pelo menos algumas milhares de amostras.

3Redes profundas costumam ser treinadas em GPUs. Há modelos que são treinados combinando GPUs

e CPUs. O Google possui um hardware dedicado para o treino de redes neurais profundas chamado de TPU (tensor processor unit).

(22)

tradicionalmente utilizadas nesse ramo não se enquadram nem têm o mesmo potencial das arquiteturas usadas no aprendizado profundo.

Há duas razões para justificar a falta de difusão do aprendizado profundo nesse ramo. Em primeiro lugar, redes neurais tradicionais têm a fama de métodos de ”caixa preta” simples de se usar e com alta probabilidade de dar resultados interessantes. O cenário atual das redes neurais profundas é mais complicado. Para ter sucesso com as redes profundas, o usuário pode ser obrigado a gerenciar e instalar softwares no nível de aplicativo e sistema. Também há a possibilidade de ele ter de montar e configurar o hardware a ser utilizado para a computação. Por fim, é obrigatório ter familiaridade com algum framework de construção de grafos computacionais e ter uma boa base tanto em otimização não linear quanto em inferência estatística e programação. Como resultado, a maior parte dos trabalhos de qualidade advém ou de grupos de pesquisa de inteligência artificial focados em pesquisa básica ou de funcionários das melhores empresas do mercado digital como Adobe, Amazon, Google e Microsoft.

Em segundo lugar, estudos envolvendo redes profundas costumam trabalhar em cima de bases de dados contendo desde alguns milhares até milhões de instâncias. Infelizmente, pesquisas envolvendo alimentos não costumam ter bases tão grandes4. Isso

se deve à dificuldade de colher amostras de alimentos satisfazendo as condições para a construção de uma base de qualidade e a falta de iniciativa de membros da comunidade para colaborar na criação de uma base massiva. Nesse ponto, vale ressaltar que a falta de iniciativa não está sendo associada à preguiça ou falta de vontade por parte dos pesquisadores da área. O fato é que muitas pessoas ainda não contemplam os benefícios nem possuem os bons hábitos para se trabalhar em um ”mundo baseado em dados”.

Apesar dos desafios, alguns grupos de pesquisa já mostraram resultados estado da arte utilizando redes profundas [29–31]. Em particular, os autores de [29] usaram redes convolucionais profundas na identificação de plantas. O trabalho usou uma base de dados com 10413 imagens contendo plantas de 22 espécies diferentes e obteve acurácia de 86.2%. O artigo termina informando que o método classificou melhor espécies com mais imagens à disposição. Em particular, a máquina obteve acurácia de 96% na espécie mais abundante, enquanto obteve acurácias abaixo de 30% para espécies em menor quantidade. A conclusão induz o leitor a associar o aumento de amostras de uma classe ao aumento de sua acurácia quando avaliada pela rede profunda. Esse resultado está de acordo com a literatura sobre o assunto [?].

O artigo [29] possui mais uma contribuição significativa. Ele mostra uma tabela comparando o método estudado com os de outros trabalhos recentes. A tabela mostra que nenhum trabalho sequer chegou perto do número de espécies diferentes utilizadas ou do

4Essa afirmação não se estende ao setor privado. Há várias empresas no ramo do agronegócio nos

EUA que detêm bases massivas e as usam como um dos suportes para seus negócios. A John Deere é um exemplo desse tipo de empresa.

(23)

tamanho da base de dados dele. Ademais, trabalhos com algoritmos reportando acurácias acima de 80% não atingiram sequer 50% quando utilizados na base de dados de 22 espécies e 10413 imagens. Essa divergência nos resultados leva ao questionamento da performance dos métodos presentes hoje na literatura em bases com mais dados e maior variabilidade entre as amostras. Afinal, nada garante a um algoritmo com 99 % de acurácia em uma base de dados pequena e com restrições rígidas o potencial sucesso em uma situação de campo ou indústria.

Esse questionamento sobre a performance dos algoritmos também é válido na separação de frutos com defeitos externos. Por exemplo, os autores de [14] trabalham com 720 imagens de laranja, envolvendo 7 tipos de defeito. Os autores de [11] trabalham com 2294 imagens de frutas cítricas, envolvendo 11 tipos de defeito. Ainda não há um trabalho na literatura envolvendo uma base com dezenas de milhares de imagens sem restrições nos tipos de defeitos externos encontrados.

Com isso em mente, esta dissertação buscou iniciar o estudo da detecção de defeitos externos usando aprendizado profundo em uma base de dados massiva. Não houve nenhuma restrição nos tipos de defeitos durante a construção da base. Até onde os conhecimentos do mestrando vão, ainda não há nenhum trabalho publicado unindo aprendizado profundo e avaliação da qualidade externa de frutos nesta escala. Assim, a tese apresenta potencial para contribuição original de impacto. Como um adendo, o uso do aprendizado profundo também foi investigado em uma base pequena contendo cerca de 400 imagens. Os resultados e possíveis aplicações são discutidos ao longo da tese.

(24)

Capítulo 4

Teoria

Esta seção apresenta ao leitor o aprendizado de máquina e as técnicas utilizadas nesta tese. A introdução aos fundamentos do aprendizado de máquina é necessária graças ao caráter multidisciplinar da tese. É pressuposto que leitores da engenharia agrícola e engenharia agronômica não possuem familiaridade com esse tema e, por conseguinte, são fortemente encorajados a ler toda seção. Para aqueles já familiarizados com certos aspectos do aprendizado de máquina, é recomendado pular as seções correspondentes.

4.1

Aprendizado de máquina

Aprendizado de máquina é o ramo da inteligência artificial responsável por fazer máquinas aprenderem a executar tarefas a partir da experiência. Uma forma bem conveniente de definir a área é: “Um programa de computador aprende com a experiência E a respeito de uma classe de tarefas T e medida de performance P se a performance nas tarefas em T, medidas por P, melhoraram com a experiência E” [32]. A partir dessa definição, pode-se identificar três componentes durante o aprendizado: a tarefa, a experiência e a performance. A tarefa se sobressai entre os três membros, pois determina os tipos de experiência e de performance necessárias para o aprendizado. Com relação aos outros requisitos, a experiência sempre advém de uma base de dados e a performance é uma métrica quantitativa cujas particularidades dependem do problema em mãos. Ao variar a combinação de tarefas, experiências e performances, cenários com desafios diferentes são construídos.

Graças à pluralidade de situações se enquadrando como problema de aprendi-zado de máquina, a disciplina se dividiu em três grandes áreas. Elas são o aprendiaprendi-zado supervisionado, o aprendizado não supervisionado e o aprendizado por reforço. A seguir segue uma breve descrição de cada uma delas:

• Aprendizado supervisionado: base de dados contém os dados e as etiquetas corretas de cada um deles (ex: imagem de tomate sem defeito com etiqueta “sem defeito”).

(25)

A tarefa é generalizar o conceito aprendido na base de dados para realizar previsões corretas em novos dados sem etiqueta.

• Aprendizado não supervisionado: base de dados não apresenta nenhuma etiqueta. A máquina deve descobrir padrões escondidos nos dados por si só.

• Aprendizado por reforço: mecanismo de acúmulo de recompensa. A máquina toma decisões e é recompensada por decisões apropriadas e penalizada por decisões inapropriadas. O objetivo é encontrar a sequência de ações que maximizará a recompensa total.

Dentre as três áreas, o aprendizado supervisionado é indubitavelmente o mais popular. Sua popularidade se deve a sua sólida fundação teórica [?], a sua popularização em cursos e plataformas online [33,34], ao aumento da performance em base de dados de referência [35] e às aplicações criadas ou melhoradas a partir dessa tecnologia [36–39].

O aprendizado não supervisionado é o ramo mais ambicioso e de maior interesse por parte da academia. Há um consenso entre os pesquisadores sobre a importância de avanços nessa área para elevar a inteligência artificial a um novo patamar. Todavia, a fundação teórica desse tipo de aprendizado não é tão sólida quanto a do aprendizado supervisionado e ainda há muita pesquisa a ser feita. A situação é sintetizada em uma citação famosa de Yann LeCun, criador das redes convolucionais e atual diretor de inteligência artificial do Facebook :

If intelligence was a cake, unsupervised learning would be the cake, supervised learning would be the icing on the cake, and reinforcement learning would be the cherry on the cake. We know how to make the icing and the cherry, but we don’t know how to make the cake.

Por fim o aprendizado por reforço é a área com o histórico mais conturbado. Ele estuda problemas onde é preciso planejar ações porque as decisões do passado afetam o estado do sistema e a decisão a ser tomada no presente. Esses problemas costumam ser modelados utilizando processos de decisão markovianos e foram amplamente estudados em outras disciplinas como controle, robótica e pesquisa operacional. Até pouco tempo atrás, sob a ótica da inteligência artificial, essa subárea tinha pouco a oferecer. Seus fundamentos teóricos são rasos para ajudar no entendimento da inteligência e ela não conseguia resolver quase nenhum problema de importância prática. Esse cenário vem mudando nos últimos anos. O uso de conceitos antigos, como a função Q, aliado as novas redes neurais profundas deu vida a uma série de aplicações interessantes. Entre os destaques estão agentes autônomos capazes de jogar video games, carros autônomos [40,41] e uma máquina capaz de vencer o melhor jogador de Go do mundo, um marco na história da inteligência artificial [42,43].

(26)

Dentro do escopo dessa tese, não há necessidade de planejamento de ações. A decisão sobre a qualidade de um tomate não se propaga para as decisões feitas para os próximos tomates. Logo, a teoria irá focar no aprendizado supervisionado e não supervisionado. A apresentação do restante da introdução será baseada nos livros de pós graduação mais indicados para o estudo de aprendizado de máquina [?,?,44–47].

4.2

Aprendizado supervisionado

4.2.1

Visão geral

Na seção anterior, foi fornecida uma sinopse do aprendizado supervisionado. Agora, a subárea será explicada em mais detalhes, para que o leitor não familiarizado se acostume com a metodologia e as nomenclaturas. Os termos chaves serão ressaltados em negrito. Um algoritmo/aprendiz de aprendizado supervisionado é um programa que recebe uma base de dados etiquetada na entrada e produz um modelo/hipótese h na saída. O modelo deve ser capaz de generalizar o conceito embebido na base de dados. Por base de dados etiquetadas, entende-se um conjunto D = {(xi, yi) : i = 1, ...N}, onde

xi é um vetor de entrada e yi é um vetor de saída. Cada elemento de D é chamado de

instância. Os componentes do vetor de entrada são chamados de atributos. As saídas

são conhecidas como etiquetas ou alvos. Caso as saídas sejam finitas e categóricas o problema é conhecido como classificação. Caso as saídas sejam contínuas o problema é conhecido como regressão.

No aprendizado supervisionado, assume-se a existência da relação y = f(x) +  entre os atributos e os alvos. f é a função que se deseja aprender e  é um termo de ruído envolvendo fatores não modelados e flutuações intrínsecas ao processo. No cenário ideal, o aprendiz produz h(x) tal que h = f. Nesse caso, o aprendiz foi capaz de generalizar a relação entre os atributos e os alvos da melhor forma possível. Note que mesmo no melhor caso, ainda há um componente de erro graças à . Se nenhum novo atributo for introduzido não é possível reduzir essa incerteza do modelo.

Dada a definição do problema do aprendizado supervisionado, é natural se questionar sobre estratégias inteligentes para aprender h. Como esse problema se resume a inferir uma função utilizando uma base de dados finita e ruidosa, uma boa sugestão é basear as escolhas na teoria da probabilidade. Em particular, a inferência estatística e a teoria da decisão são uma sólida base teórica para a formulação dos problemas de aprendizado de máquina. Por isso, a continuação dessa introdução ao tema dará atenção especial a esses campos de estudo e seu relacionamento com o aprendizado.

Por curiosidade, outra maneira comum de aprender h é parametrizar a função e selecionar os parâmetros a mão. Nesse caso, os parâmetros são selecionados por humanos especialistas sobre um assunto com o intuito de codificar seu conhecimento na máquina.

(27)

Tal abordagem é denominada engenharia do conhecimento. Ela era mais popular do que o aprendizado de máquina há algumas décadas, antes da ubiquidade de dados causada pela internet, smartphones, sensores remotos e outros meio de aquisição de dados [48].

4.2.2

Inferência estatística

A inferência estatística é a área do conhecimento responsável por raciocinar de forma rigorosa sobre quantidades incertas a partir de evidências experimentais. Ela possui duas vertentes principais: bayesiana e frequentista. Sua principal diferença diz respeito à interpretação da função probabilidade e onde ela pode ser aplicada. De forma resumida, bayesianos interpretam probabilidades como um grau de incerteza subjetivo. Por outro lado, frequentistas interpretam probabilidades como o limite das frequências relativas de experimentos repetitivos. Concretamente, esse desacordo entre as duas visões leva a formas distintas de se trabalhar durante as operações estatísticas. Por exemplo, bayesianos podem trabalhar com o conceito de probabilidade de parâmetros, visto que eles são grandezas desconhecidas. Em contrapartida, frequentistas são proibidos de trabalhar com esse conceito, e devem recorrer a outras ferramentas como a verossimilhança 1 e

bootstraping. Percebe-se de imediato as limitações da abordagem frequentistas quando comparada a bayesiana 2.

A divergência na interpretação da probabilidade repercute por todo desenvol-vimento lógico do processo de inferência. Logo, um mesmo problema quando atacado pelas duas formas de inferência, pode chegar a resultados significativamente diferentes. Isso é relevante para o aprendizado supervisionado, porque a tarefa de encontrar boas hipóteses h a partir dos dados em D é naturalmente formulada como um problema de inferência. Aliás, as duas formas mais comuns e populares de se determinar h são por meio dos estimadores de máxima verossimilhança (MLE) e de máxima a posteriori (MAP). O primeiro é um estimador 100% frequentista, enquanto o segundo é construído a partir do primeiro usando ideias bayesianas.

Na prática, as ideias das duas escolas de pensamento estatístico são usadas para encontrar bons modelos. Durante a busca, o aprendiz passa por pelo menos dois estágios: treino e teste. O treino tenta encontrar uma boa hipótese. O teste verifica se houve generalização por parte do aprendiz. A necessidade da fase de teste ficará mais clara adiante.

1Pode-se traçar um paralelo entre as duas formas de inferências e as mecânicas clássica/relativística.

Da mesma forma que a mecânica clássica assume a existência de um referencial privilegiado (éter), os frequentistas privilegiam os parâmetros de modelos, ao proibirem a aplicação da função probabilidade sobre eles. O privilégio se deve a crença de que os parâmetros são grandezas físicas reais, mas desconhecidas. Por outro lado, tanto a relatividade quanto os bayesianos democratizaram a área por considerarem todos os referenciais/quantidades desconhecidas como iguais.

2Efron [49] faz uma discussão interessante sobre os méritos das duas abordagens e sobre a razão da

(28)

4.2.3

Treino

O treino é o estágio onde a estimativa de h é feita. Ele começa considerando um

espaço de hipóteses/espaço funcional Hadequado a tarefa em mãos e um critério de busca para navegar nesse espaço. O principal guia do critério de busca no espaço

de hipóteses é a base de dados D disponível. Como regra geral, espaços de funções mais abrangentes possuem maior capacidade de generalização. Por outro lado, eles exigem critérios de busca mais sofisticados e estão propensos ao overfitting, fenômeno a ser discutido posteriormente em mais detalhes 4.2.6.

Para ilustrar o processo de treino, considere um problema de regressão onde possuímos a base de dados D = {(0.0, 0.0), (1.0, 1.0), (2.0, 4.3), (3.0, 8.8), (4.0, 17.0)}, mostrado na figura 4.1. Considerando o espaço de hipóteses mais genérico possível H= {h|h : R → R}, existem infinitas funções com características bem diferentes capazes de representar esses dados perfeitamente. Contudo, não estamos interessados em represen-tar bem os dados já conhecidos. O interesse jaz em fornecer boas previsões para novos pontos de dados.

Assim, é normal fazer suposições para trabalhar apenas com um subconjunto do espaço funcional original e remover funções exóticas incapazes de generalização. Pode-se começar assumindo que H = C1. 3 Além disso, dado o espalhamento dos pontos na figura

4.1, é razoável parametrizar o espaço de hipóteses como um polinômio (H = {h|h =

Pd

i=0wixi, wi ∈ R, d ∈ N} ). O modelo paramétrico é unicamente determinado pelo valor

de seus parâmetros. Neste caso, dado o grau do polinômio d, o modelo é unicamente determinado pelos coeficientes {wi}i=0:d. Selecionando d = 2, o modelo passa a ser descrito

pelos três parâmetros do polinômio de segunda ordem w = (w0, w1, w2)4.

3As hipóteses possuem derivada de primeira ordem contínua.

4O grau do polinômio d é estabelecido antes do treino para o polinômio ter um número finito de

coeficientes. Parâmetros estabelecidos antes do treino são conhecidos como hiperparâmetros. A escolha adequada de hiperparâmetros é feita durante a etapa de validação. Ela é um estágio opcional entre o treino e o teste e será detalhada nesta introdução mais a frente 4.2.6.

(29)

Figura 4.1: Base de dados do exemplo de regressão.

Após a escolha do espaço de hipóteses, o próximo passo é determinar o critério de busca para encontrar os coeficientes do polinômio. O critério de busca está intimamente relacionado ao conceito de generalização. De um modo bem intuitivo, generalizar significa estender o conceito além daquilo experienciado. Com a ajuda da fundação teórica da

(30)

4.2.4

Teoria da decisão

A teoria da decisão é responsável por ajudar um observador a realizar ações ótimas em relação a suas observações incertas da natureza (dados experimentais). A teoria pressupõe que para cada estado da natureza y, uma observação x é gerada. Se o agente realizar a ação a, ele sofrerá uma penalização dado pela função de perda L(y, a). A tarefa é encontrar uma política de ações δ : X → A capaz de minimizar o valor esperado da perda:

δ(x) = argmina∈AE[L(y, a)] (4.1)

No caso específico do aprendizado supervisionado, a política de ações é a função hipótese h : X → Y. Dado a hipótese h, a função de perda L e a densidade de probabilidade dos dados p(x, y), o erro de generalização pode ser definido como:

L(h) , Ep(x,y)[L(y, h(x))] (4.2)

Minimizar essa quantia é o verdadeiro significado por trás da generalização do aprendiz. Por exemplo, em um sistema automático de negociação de ações, a projeção dos preços dos papéis deve corresponder a realidade da melhor forma possível. A quantidade e a gravidade dos erros nas projeções refletem diretamente no erro de generalização e vão indicar se o aprendiz pode automatizar tarefa5.

A princípio, a generalização parece se resumir a encontrar a hipótese h capaz de minimizar a equação 4.2. Porém, esse pensamento está incorreto. Em um problema de aprendizado de máquina, a distribuição de dados p(x, y) é desconhecida. Portanto, não é possível otimizar 4.2 diretamente. Para contornar esse desafio, uma quantidade parecida com 4.2 é minimizada. Ela aproxima p(x, y) a partir das instâncias (x, y) disponíveis durante o treino do aprendiz e depende do tipo de inferência escolhida (frequentista vs bayesiano).

Assumindo uma parametrização θ para a distribuição p(x, y|θ), a formulação final do erro bayesiano envolve ponderar todos os modelos possíveis. Nesse caso, o problema de minimização se torna:

minh Z

p(θ|D)L(θ, h)dθ (4.3)

Apesar da elegância da formulação bayesiana, ela não é tão popular quanto a formulação frequentista, baseada na minimização do risco empírico (ERM). Seu nome advém da distribuição p(x, y) ser aproximada pela distribuição empírica pemp construída a

5A adequação de um aprendiz a uma tarefa depende da natureza da atividade e do contexto. Um

sistema de recomendação para filmes não tão bem treinado pode ser adequado se estiver aumentando o lucro líquido de uma empresa. Por outro lado, um sistema de navegação de um carro autônomo treinado por especialistas em inúmeras condições não é adequado se estiver atropelando pessoas no trânsito.

(31)

partir da base de dados de treino. A popularidade dessa formulação frequentista se deve a sua simplicidade aliada aos bons resultados obtidos com ela em problemas reais. Assim, pelo resto dessa introdução, vamos assumir o uso da ERM.

Antes de calcular Ep(x,y)[L(y, h(x))] não basta realizar uma aproximação para

a distribuição dos dados. É preciso também estabelecer a função de perda L. Diferentes funções de perda tendem a fornecer diferentes resultados. No problema de regressão introduzido na seção anterior, uma escolha comum para a função de perda é L(y, h(x)) = (y − h(x))2. Essa quantia é conhecida como erro quadrático (SE). Ao dividir o SE pelo

número de instâncias N, obtém-se o erro quadrático médio (MSE).

É possível demonstrar a equivalência entre minimizar o MSE e calcular o MLE, assumindo y|x ∼ N (wtx, σ2). Isso é uma boa justificativa probabilística para usar essa

função de perda para se encontrar o modelo h. Assim, considerando a ERM como o MSE, o treino consiste em resolver o seguinte problema de otimização:

w= argminw N X i=0 (yi− h(xi))2 h(x) = w0+ w1x+ w2x2 (4.4)

Esse problema de otimização é chamado de mínimos quadrados ordinários (ols). Fortuitamente, ele é um problema convexo e possui um mínimo global dado pelas equações normais [?]. O mínimo global da Eq. 4.4 é w = (0, −0.3, 1.1). A figura 4.2 mostra os dados experimentais junto a hipótese encontrada. Visualmente, a hipótese parece representar bem o conjunto de treino.

Terminada a etapa de treino, agora é hora do teste verificar se a hipótese encontrada possui capacidade de generalização para novas entradas x.

(32)

Figura 4.2: Base de dados do exemplo de regressão junto com função hipótese encontrada a partir da minimização do MSE.

4.2.5

Teste

Durante o treino, a máquina aprendeu uma hipótese por meio da ERM. No teste, é preciso verificar se a hipótese é capaz de generalizar o conceito aprendido. A princípio, é plausível assumir uma relação forte entre a minimização da ERM e uma boa generalização. Entretanto, a estimativa dada pela ERM costuma ser otimista e pouco confiável [?].

A falta de confiança decorre do próprio processo de otimização. Como a distribuição da base de dados de treino não é igual a distribuição verdadeira dos dados, os parâmetros estão mais otimizados para explicar a distribuição empírica do que a distribuição real dos dados. Esse fenômeno é conhecido como otimismo do erro de treino.

Para realizar uma estimativa confiável do erro de generalização, a forma usual é coletar uma nova base de dados do mesmo processo e determinar o risco empírico sobre ela. Essa nova base é chamada de conjunto de teste. Seu tamanho pode variar entre pequenas porcentagens até ordens de grandeza o tamanho da base de treino. Voltando ao exemplo de regressão, adquirindo a nova base Dteste= {(1.5, 2.25), (2.0, 1.0), (5.0, 23.0)}

do mesmo processo, os erros de treino e teste são:

M SEtreino = 0.1

M SEteste = 0.7

(33)

Figura 4.3: Conjunto de treino, conjunto de teste e hipótese determinada a partir da minimização do MSE durante o treino.

De acordo com Eq. 4.5, o erro de teste é sete vezes maior do que o erro de treino. O erro de teste é a melhor estimativa do erro de generalização do aprendiz no exemplo de regressão. É preciso saber a aplicação final para afirmar se esse resultado é aceitável ou não. De qualquer forma, a partir da figura 4.3, é possível dizer que o aprendiz entendeu a estrutura geral por trás dos dados.

Na próxima seção, a importância do erro de teste será levada a um novo patamar ao discutirmos a capacidade dos modelos e sua influência no treino e na generalização dos aprendizes.

4.2.6

Underfitting e Overfitting

Nas seções anteriores, um exemplo de regressão foi usado para ilustrar os conceitos do aprendizado supervisionado. Em uma parte do desenvolvimento, o espaço de hipóteses foi restringido a polinômios de segunda ordem. Uma pergunta natural a se fazer é: seria possível diminuir o erro de generalização, treinando polinômios de outras ordens? Para responder essa pergunta, considere a figura 4.4. Ela mostra quatro hipóteses polinomiais de graus distintos em um novo conjunto de treino. A base de treino foi amostrada de uma função seno com um pequeno ruído aditivo gaussiano.

Na figura 4.4, é possível observar a incapacidade dos polinômios de primeira e segunda ordem de representar a função f responsável pela geração dos dados. Esse problema é denominado underfitting. Ele decorre do uso de um espaço funcional que não possui nenhuma função apropriada para aproximar f.

O polinômio de grau d = 4 se ajusta bem aos dados e apresenta uma forma bem definida. O polinômio de grau d = 10 também se ajusta bem ao conjunto de treino.

(34)

Entretanto, ele não apresenta uma forma tão natural quanto o modelo com d = 4. A curva está se retorcendo muito para tentar justificar a aparição de todos os pontos de dados. Esse problema é denominado overfitting. Ele decorre do uso de um espaço funcional tão amplo que possui hipóteses capazes de representar bem o conjunto de treino, embora não representem bem a função desejada f. A inadequação do modelo com d = 10 pode ser confirmado na figura 4.5, onde os modelos são desenhados junto ao conjunto de teste.

Figura 4.4: Comparação entre diversas hipóteses polinomiais com graus diferentes usando o conjunto de treino. Os polinômios de ordem 1 e 2 não são capazes de prever os dados de treino de forma correta. Por outro lado, os polinômios de grau 4 e 10 possuem essa capacidade. Contudo, a forma da hipótese para o polinômio de grau 10 não é muito natural e parece estar se ajustando aos dados artificialmente.

(35)

Figura 4.5: Comparação entre diversas hipóteses polinomiais com graus diferentes usando o conjunto de teste. Os polinômios de ordem 1 e 2 novamente não são capazes de prever os dados de forma correta. O polinômio de grau 4 prevê novos valores melhor do que o polinômio com grau 10.

Underfitting e overfitting costumam ser vistos como lados opostos do mesmo problema envolvendo a capacidade do modelo. A capacidade de um modelo está rela-cionada ao tamanho e a complexidade de seu espaço funcional. Por exemplo, o espaço funcional de todas as funções periódicas possui maior capacidade do que o espaço fun-cional de todos as funções do tipo seno. Modelos com baixa capacidade tendem a ser fáceis de treinar, mas costumam não generalizar tão bem. Enquanto isso, modelos com alta capacidade costuma ser difíceis de treinar, mas costumam apresentar os melhores resultados.

Existem formas para combater ambos os problemas. A solução óbvia seria ajustar a capacidade do modelo até chegar no ponto ideal. Para combater o underfitting é preciso aumentar a capacidade do modelo. Para combater o overfitting, realiza-se o inverso. Essa estratégia é interessante quando mudar a capacidade do modelo é tão simples quanto mudar o grau do polinômio. Contudo, ela perde um pouco de apelo ao se trabalhar com espaços funcionais mais complexos como os gerados por processos gaussianos e redes neurais.

Uma solução alternativa à escolha detalhada da capacidade é o emprego de um modelo de alta capacidade aliado a técnicas de regularização. O uso de técnicas de

(36)

regularização começa a fazer sentido ao se investigar mais a fundo a causa do overfitting. Lembrando do exemplo de regressão estudado nas seções anteriores, o critério de busca envolveu encontrar o MLE para os coeficientes w. O uso do MLE não é específico para aquele problema. Pelo contrário, ele é a forma tradicional de se realizar o treino no aprendizado supervisionado na linha de raciocínio frequentista.

O uso do MLE como estratégia padrão faz sentido principalmente por ser um estimador consistente. Ao acertar a parametrização do espaço funcional, um estimador consistente consegue recuperar os parâmetros w verdadeiros, caso haja dados o suficiente para o processo de inferência. Na prática, ter dados o suficiente é um luxo disponível para poucas aplicações, principalmente para modelos de alta capacidade. Caso existisse uma fonte de dados acessível capaz de fornecer uma base de dados etiquetada de tamanho arbitrária, não haveria necessidade de mecanismos adicionais de regularização. Pela propriedade de consistência do MLE, o aumento da base dados age como mecanismo de regularização.

Quando essa fonte de dados ideal não existe, o MLE se torna frágil. Sua formulação matemática busca explicar da melhor forma possível os dados do conjunto de treino. Essa explicação não leva em conta que nem sempre o que está presente na base de treino é necessariamente a explicação mais provável para os dados. Por exemplo, na distribuição gaussiana y|x ∼ N (y|wtx, σ2) há uma pequena probabilidade de y estar a

mais de dois desvios padrões de distância de wtx. Para corrigir essa limitação do MLE,

um compromisso com a abordagem bayesiana é estabelecido. Formalmente, define-se uma distribuição a priori para os parâmetros, transformando o MLE em um estimador MAP, como explicado em Murphy [?]. Operacionalmente, o mecanismo de regularização se manifesta como um termo de penalização envolvendo a norma l1 ou l2 na função de

custo. Assim, retomando a função de custo de mínimos quadrados, o novo custo a ser minimizado é: J(w)λ,d = N X i=0 (yi− h(xi))2+ λ||w||22 w= argminw J(w)λ,d h(x) = d X i=0 wixi (4.6)

A Eq. 4.6 adicionou um novo hiperparâmetro λ ao modelo. Dado λ e d, pode-se resolver a equação 4.6 acima de forma analítica. A questão final agora é como determinar

(37)

λ e d de forma ótima? Isso é feito minimizando o risco estruturado [50].

λ, d= argminλ,dJ(w∗)λ,d,Dval Dval - base de dados de validação

(4.7)

A Eq. 4.7 não pode ser otimizada usando o conjunto de treino, pelas razões discutidas ao longo de toda essa seção. Ela também não pode ser otimizada usando o conjunto de teste porque isso tornaria a estimativa do erro de generalização enviesada. A solução é realizar uma etapa intermediária entre o treino e teste, denominada validação. Nela, uma nova base é utilizada com o intuito de escolher os hiperparâmetros do modelo. Por esse motivo, ela também é conhecida como seleção de modelos. Realizando a seleção de modelos nas quatro hipóteses dessa seção, é possível chegar a d = 4 como o melhor resultado. Como sugestão de extensão desse exemplo ilustrativo, pode-se realizar a seleção de modelos com d = {3, ..., 9}.

Antes de encerrar essa discussão, existe um último ponto importante a ser considerado durante a validação. Nem sempre há dados o suficiente em mãos para criar as bases de treino, teste e validação. Nesse caso, é possível fazer a etapa de validação somente com o conjunto de treino, usando uma técnica de reamostragem denominada validação

cruzada. Ela é uma técnica da inferência frequentista que descarta o uso de um conjunto

de validação a custo de um tempo maior de treino. Leitores interessados devem recorrer ao livro de Hastie, Tibshirani e Friedman [47], para saber mais detalhes sobre o método.

(38)

4.2.7

Aprendizado de máquina na prática

Devido à crescente demanda do mercado pelo aprendizado de máquina, pessoas com experiências distintas buscam formas de adentrar ao ramo. A forma tradicional seria pela academia, tomando conhecimento dos fundamentos matemáticos por trás da disciplina e implementando os algoritmos no computador. Uma alternativa ganhando tração ultimamente rejeita o estudo de matemática avançada e foca em "botar a mão na massa", trabalhando em cima de exemplos e problemas reais. Essa abordagem é popular entre aqueles sem uma base matemática tão forte.

Para atender esse público, diversas iniciativas surgiram ao longo da última década. Como ponto em comum, elas favorecem o empirismo, heurísticas bem elaboradas e o pensamento algorítmico em detrimento da inferência e do raciocínio probabilístico. MOCCs como Coursera e Udacity e plataformas como o Kaggle são a prova viva dessa comunidade. [33,34,51]. Apesar de algumas fragilidades, como o fato de algumas competições Kaggle terem sido vencidas por pessoas aproveitando vazamentos nos dados 6, esse tipo de

abordagem é uma iniciativa fantástica para divulgar e popularizar não só o aprendizado de máquina como a ciência de dados e a inteligência artificial. Inspirado nesse foco prático, a figura 4.6 mostra um fluxograma padrão para um problema de aprendizado supervisionado dentro do molde dessa comunidade.

6Ao se ter vazamentos entre o conjunto de treino e teste, a estimativa do erro de teste se torna tão

inconfiável quanto a do treino. O modelo consegue se sobreajustar na base de teste a fim de obter um placar artificial alto.

(39)

Figura 4.6: Fluxograma padrão de aprendizado supervisionado. Primeiro, os dados crus são combinados e pré-processados. Segundo, hipóteses são criadas na fase de treino. A melhor delas é escolhida durante a validação. O teste dá a medida de performance mais confiável do melhor modelo. As etapas de pré-processamento, treino e validação são as mais demoradas. É usual essas fases exigirem muitas iterações.

A partir desse fluxograma, é possível conseguir resultados profissionais em problemas reais. Esse tipo de ferramenta é indispensável aos profissionais do futuro que se especializarão no trabalho com dados, os cientistas de dados. Prevista na década de 60 por John Tukey [52], criador da transformada rápida de Fourier (FFT) e da visualização boxplot, essa nova profissão encara os dados de uma nova forma mais pragmática, focada a resultados e computacionalmente eficiente do que o estatístico do século XX.

É importante deixar claro a diferença entre profissionais do aprendizado de máquina e cientistas de dados. Apesar da interseção dos interesses, cientistas de dados dominam diversas técnicas e ferramentas necessárias na manipulação de todas as formas de dados concebíveis e têm interesse em extrair valor dos dados. Por sua vez, o profissional especializado em aprendizado de máquina está interessado nas inúmeras formas de se fazer uma máquina aprender a partir da experiência. Concretizando essa diferença com um exemplo, um cientista de dados pode ter como tarefa principal distribuir e processar uma base de dados com bilhões de amostras entre nós de uma nuvem pública usando a plataforma Spark [53]. Do outro lado da moeda, problemas menos populares do aprendizado de máquina como o problema da cinemática inversa em robótica [54] não podem ser resolvidos usando o paradigma de estimadores MLE e MAP. Assim, um cientista de dados com uma bagagem básica de aprendizado de máquina não será capaz de contribuir

Referências

Documentos relacionados

Este trabalho se justifica pelo fato de possíveis aportes de mercúrio oriundos desses materiais particulados utilizados no tratamento de água, resultando no lodo

ETAPAS DO PLANEJAMENTO DE UMA CAMPANHA PARA CRIANÇAS, ONDE O DESENHO COESO DO GRAFISMO É FATOR LATENTE... ESPECIALIDADE

Nas fraturas subtrocantéricas instáveis, como Seinsheimer IV-V com fragmentos que não podem ser reduzidos pelo método fe- chado em mesa de tração, a parte lateral da porção

Se você vai para o mundo da fantasia e não está consciente de que está lá, você está se alienando da realidade (fugindo da realidade), você não está no aqui e

tem por objeto o exercício da atividade de realização de estudos e projetos de arquitetura, planeamento urbano e regional e projetos especiais (estabilidade);

Os dados mostraram aumento do número de visitantes à cidade, aumento do número de hospedagens, oferta de empregos no período do evento, aumento de consumo nos bares e

Os objetivos da triagem ou classificação de risco são, entre outros: identificar rapidamente os pacientes em situação de risco de morte, determinar área mais adequada

Beatriz (filha do rei D. Fernando), cujo casamento com um conde espanhol punha em perigo a independência do _b)__________. João viu-se confrontado com um exército de _d)__________