View
3
Download
0
Category
Preview:
Citation preview
Introdução ao deep learning e suas
aplicações em genética e melhoramento
Viçosa-MG, 08/06/2018
Fabyano Fonseca e Silva Prof. Universidade Federal de Viçosa DZO - Melhoramento Genético
1) Motivação
2) Introdução as RNA
3) Arquiteturas de Deep Learning
4) Deep Learning em Genética e Melhoramento
5) Pesquisas em desenvolvimento
OUTLINE
6) Recursos computacionais
32,100
28,500
179,000
1) Motivação
Deep Learning nada mais é do que uma Rede Neural, só
que com (muito) mais camadas!!!
Fonte: Deep Learning in a Nutshell
O grande número de camadas do Depp Learning também se
distribui de forma mais complexa
Permite treinamentos específicos dentro de cada camada ou grupos de
camadas
Combina diferentes funções de ativação na mesma camada
Possibilita inversão de saídas entre as camadas e “re-treinamento” dentro
de cada camada
Possibilita utilizar estratégias de “fracionar” os dados de entrada em cada
camada (convolucionar) (“unidades replicadas em cada camada”)
OBS. Embora desfrute desta flexibilidade em termos de arquitetura de redes, o Deep Learning necessita de grande demanda computacional, o que é geralmente fornecida pela computação em paralelo (GPU´s e similares)
Fonte: Sivolella, 2016
Estruturação dos dados de entrada. Ex. matriz de pixels
INPUT
Classificação da imagem
Fonte: Adaptado de Moreira (2018)
Redes neurais tradicionais
Deep learning
Pré-processamento
Teria aplicação no
melhoramento
genético?
Classificação
automática de
fenótipos ?
E quanto aos
genótipos ?
“aproximadores universais de funções complexas que tentam explicar
fenômenos de interesse“
Predição de valores genéticos
Seleção de regiões genômicas relevantes
Classificação de imagens
Classificação de sons
Classificação de textos
Conceitos básicos RNA:
- Funções de ativação
- Neurônios
- Pesos
- Camadas
- Algoritmos de treinamentos
- Funções de perda
- Viés
2) Introdução as RNA
Quando as atualizações destes pesos não culminam em melhorias
significativas na eficiência de predição (mensurada via função de perda),
assume-se que a rede está treinada (Oe seja: o viés é mínimo)
Funções de ativação são funções arbitrárias capazes de aproximar relações
complexas entre variáveis respostas e preditoras.
Aproximações são possíveis por meio de algoritmos de
treinamento
Algoritmos de treinamentos (Ex. Levenberg-Marquardt e Scaled Conjugate
Gradient) atualizam os pesos (importâncias relativas de cada variável preditora)
em diferentes partições da informação denominadas de neurônios
Os neurônios fazem a conexão entre as diferentes camadas
Camadas são componentes (“níveis de aprendizados”) que atualizam os pesos
recebidos pelos e os transferem, via um novo conjunto de neurônios (novas
partições da informação), para as novas camadas
A melhoria nas predições tende a se estabilizar, sendo medida via função de perda
xip representa as variáveis (p=1,2,...,P) de entrada; ω1,p é peso da variável de
entrada p relacionado com cada um dos três neurônios da camada de
transferência (“oculta”); ω2,s é peso da variável transformada s (s=1,2,...,S),
neste caso S=3, relacionado com cada a camada de saída; y é o vetor de saída
(output); f(.) é a função de ativação da camada de transferência; g(.) é a
função de ativação da cama de saída; ∑ denota o somatório de todos os
neurônios; viés1 e 2 representam “uma tipo de erro” em cada camada
Viés 1 Viés 2
Camada de entrada Camada de transferência(hidden layer)
Camada de saída
Neurônio 1
Neurônio 2
Neurônio 3
Descrição algébrica da RNA apresentada
P(s) (s)
i s s 1p ip
p=1
z = f a + ω x ,
em que: (s)
iz é o valor resultante (denominado de escore) da transformação (ditada pela
função fs(.)) das combinações (provenientes de cada neurônio s, s=1,2,...,S) entre as co-
variáveis originais ipx ; sa é o intercepto de cada neurônio s; (s)
1pω é o peso da covariável
relacionada ao neurônio s na camada oculta.
Os escores produzidos ( (s)
iz ) na primeira camada são agora considerados co-variáveis na
camada de saída. S
(s)
i 2s i i
s=1
y = g b + ω z +e ,
em que: yi é o valor fenotípico predito pela RNA, resultante da transformação ditada
pela função g(.) aos escores z(s)
i produzidos pela camada oculta anterior, cujos pesos
são agora dados por 2pω considerando apenas um neurônio; b é o intercepto da camada
de saída e ei é o erro aleatório.
Descrição algébrica da rede apresentada
As duas camadas podem ser conjugadas para representar integralmente uma RNA como
um modelo estatístico:
S P(s)
i 2s s s 1p ip i
s=1 p=1
y = g b + ω f a + ω x +e .
O termo treinamento da rede consiste na verdade em estimar os valores dos pesos e dos
interceptos referentes a cada camada, de forma que as estimativas obtidas são valores
que minimizam o erro (função de perda).
Modelo não linear
Como estimar parâmetros de modelos não-lineares?
Isto é caixa-preta?
Algumas críticas quanto ao uso de RNA em Genética e Melhoramento
(Gianola et al., 2011).
- a maioria dos estudos não apresentam informações sobre a estrutura da
rede utilizada, fazendo com que esta técnica seja caracterizada como uma
“caixa preta”;
- não permite estimação de componentes de variância, inviabilizando a
estimação de parâmetros genéticos fundamentais para a área de
melhoramento, tal como herdabilidade;
- não são reportados erros-padrão para os valores preditos, o que impede o
cálculo da PEV (variância do erro de predição) e consequentemente da
confiabilidade (r2) dos valores genéticos;
- nas situações em que o número de parâmetros é muito maior que número
de observações (como em GWS) a convergência se torna muito lenta
porque geralmente é demandado um número muito grande de neurônios, o
que também causa sobre-ajuste (over-fitting), que consequentemente
compromete a eficiência de predição da rede.
A acurácia das redes convolucionais no reconhecimento de imagem é uma das
principais razões pelas quais o mundo testemunhou o sucesso do deep learning,
principalmente em Visão Computacional
São usadas para classificar imagens, agrupá-las por similaridade e realizar
reconhecimento de objetos dentro de cenas
As RNC “percebem” imagens como volumes; isto é, objetos tridimensionais,
em vez de estruturas planas a serem medidas apenas por largura e altura.
RNC recebe uma imagem como uma “caixa retangular” cuja largura e altura
são medidas pelo número de pixels ao longo dessas dimensões; e cuja
profundidade é de três camadas (uma para cada cor: RGB – red, green blue)
Redes Neurais Convolucionais (RNC)
Convolução: operador linear que, a partir de duas funções dadas, resulta numa terceira, que mede a área subentendida pela superposição das mesmas
3) Arquiteturas de Deep Learning
boibode
cabra
De camada em camada, suas dimensões “se refinam” à medida que atravessam
a rede neural convolucional até gerar uma série de probabilidades na camada de
saída.
Existe uma probabilidade para cada possível classe de saída. Aquela com maior
probabilidade, será a classe definida para a imagem de entrada.
Camadas de
classificação:
Softmax
resultado probabilístico
para classificação em
cada classe
Camadas ocultas: “caixa retangular” cuja largura e altura são
medidas pelo número de pixels ao longo dessas dimensões; e cuja
profundidade é de três camadas (RGB)
OBS.: Atenção às medidas de cada dimensão do volume da imagem, porque elas são a base das operações de álgebra linear usadas para processar imagens.
boibode
cabra
boibode
cabra
Teria aplicação no melhoramento genético? SIM
Classificação automática de fenótipos ? SIM
E quanto aos genótipos ????
Redes Neurais Recorrentes (RNR)
úteis para o processamento de dados sequenciais, como som, dados de séries
temporais (crescimento e desenvolvimento de organismos vivos)
incluem um loop de feedback, pelo qual a saída do passo n-1 é alimentada de
volta à rede para afetar o resultado do passo n, e assim por diante para cada
etapa subsequente
produzem modelos dinâmicos – ou seja, modelos que mudam ao longo do
tempo – de formas que produzem classificações precisas dependentes do
período de tempo considerado
Semanas em lactação
Kg
de
le
ite
Redes Neurais Recorrentes (RNR)
Feed-back: reclassificação e/ou reestimação dos pesos que relacionam cada camada de acordo com a “nova” reestruração das camadas anteriores
Representação em várias camadas: deep learning
Efeitos de SNPs (RNA tradicionais) sobre classificação
de produção leite e ou crescimento ao longo do tempo
SNPs ao longo do genoma se caracterizam “dados sequenciais”:
dependência espacial
Representação em várias camadas: deep learning RNR
“classificação da produção” sobre o tempo
Camada de transição
Efeitos de SNPs usando RNR sobre classificação de produção
temporal
Combinação: Redes Neurais Convolucionais (RNC) e Recorrentes (RNR)
• Ideia Original: Combinar RNC e RNR para associar predição genômica (via SNPs) para classificação de imagens (qualidade d ecarne) em melhoramento animal
Wisconsin-Madson, USA
boibode
cabra
Camadas extras antes da classificação Ex. Seleção de SNPs via RNR
RNC para análise de imagens
4) Deep Learning em Genética e Melhoramento
Reconhece SNP
Reconhece ambiente
Predição genômica
Mesmo papel do BLUP,
porém como entrar com imagem no
BLUP???
Imagem
Jeremy Howard Data Strategist University of San Francisco
5) Pesquisas em desenvolvimento
Interação GxE em gado de corte (“Ambientômica”)
Matriz de parentesco genômica
melhora a conexidade entre
diferentes animais provenientes
de ambientes
A G x E auxilia a “produção sustentável” em bovinos de
corte
Objetivo:
Classificação de diferentes “sub-
ambientes” em Minas Gerais
baseado em informações edafo-
climáticas via redes neurais
Bayesianas
Objetivo:
Recomendação de genótipos de
Eucalipto baseando em genômica
e informações imagens de satélite
“Ambientômica”
1 2 3 4
Como avaliar sobreposição de mapas? Quais touros são indicados para a mesma região??
Classificação de imagens: deep learning
Como mostrar os resultados (valores genéticos) para condição ambiental?
“Possivelmente como uma ferramenta “extra” dentro do sistema dos associados”
Fenótipos definidos por análises de imagens
Prof. Mario Luiz Chizzotti
DZO - UFV
Biometria por imagem • Equipe: Departamento de Engenharia agrícola
• Prof. Dr. Domingos Sarvio Magalhães Valente;
• Prof. Dr. Francisco De Assis De Carvalho Pinto;
• Doutorando André Mendes
R² = 0.809
320
370
420
470
520
570
330 380 430 480 530
Pes
o E
stim
ad
o
peso observado
Nelore
Prof. Mario Luiz Chizzotti
DZO - UFV
J. Anim. Sci. 2016.94:1–5 doi:10.2527/jas2015-0004
Prof. Mario Luiz Chizzotti
DZO - UFV
6) Recursos computacionais
deepnet. 2015. “Package deepnet,” (available at https://cran.rproject. org/web/packages/deepnet/deepnet.pdf).
H2O. 2015. “Package h2o,” (available at https://cran.rproject. org/web/packages/h2o/h2o.pdf).
MXNetR. 2016. “Installation guide: Mxnet 0.5.0 documentation,” (available at https://mxnet.readthedocs.org/en/latest/build.html)
Neural Network Toolbox™ - Deep Learning in MATLAB
https://la.mathworks.com/help/nnet/ug/deep-learning-in-matlab.html
https://www.datacamp.com/courses/deep-learning-in-python
Obrigado!!! fabyanofonseca@ufv.br
“A ciência de hoje é a tecnologia de amanhã”
Edward Teller
Recommended