-
Deep Learning
é muito guloso por dados, ou seja,
-
ele exige uma base de dados grande
para poder treinar os modelos.
-
Agora, nem sempre nós temos muitos dados
-
a disposição para treinar
o modelo de classificação, por exemplo.
-
Claro que no caso de uma rede geral
-
que verifica a sua imagem, tem um gato,
um cachorro, um passarinho ou um piano.
-
É muito simples e fácil
você conseguir dados internet
-
para compor uma base grande
desse tipo de dado.
-
Agora, em aplicações mais específicas,
como por exemplo, imagens médicas,
-
nem sempre
podemos garantir a existência desses dados
-
quando nós não temos disponíveis.
-
A primeira alternativa
tentar buscar novos dados,
-
por exemplo, coletando novas imagens
O novamente.
-
Num caso geral,
a coleta de dados é mais fácil.
-
No entanto,
em casos específicos e domínios
-
muito bem particulares,
você conquistar uma nova imagem.
-
O novo caso daquele exemplo
pode ser mais difícil.
-
Portanto, podemos lançar
mão de três estratégias principais.
-
A primeira estratégia é a D também,
ou seja, alimentação artificial de dados.
-
Cada linha representa uma imagem
em direção de pele original, ou seja,
-
é uma lesão real
coletada de um caso verídico.
-
Cada coluna possui essa mesma imagem
-
como uma perturbação artificial
feita por processamento de imagem.
-
Podemos ter maior zoom, menos aumentar
o brilho diminui ou diminui o brilho.
-
Aumentar o contraste,
fazer uma rotação e remover
-
partes da imagem também
-
Combinar essas características
e assim sucessivamente.
-
Podemos ter essa mesma
operações para cada uma das imagens.
-
Então em cada uma dessas
-
exemplos de entrada
podemos fazer n pertubações diferentes.
-
A principal vantagem de comentei é que
a partir de uma única imagem de entrada,
-
nós conseguimos produzir
N cópias diferentes
-
e um dado diferente
Não é bem a mesma imagem,
-
mas são cópias que representam
aquele mesmo conceito.
-
Ou seja, eu posso fazer pertubações
leves na imagem de um gato
-
e aquela imagem resultante
também continua sendo um gato.
-
Outra mutação interessante
utilizar uma gama para gerar
-
dados artificiais
que representam o mesmo dado de entrada.
-
Por exemplo, eu posso pegar
imagens reais, lesão de pele
-
e ensinar a reproduzir essa imagem
artificialmente,
-
gerando imagens falsas que não são reais,
mas que apresentam com grande precisão
-
as características de uma lesão de pele
real,
-
por exemplo,
as que foram geradas na própria imagem.
-
Todas as imagens parecem imagens reais
de lesão de pele.
-
Parece, de fato,
-
um caso de um ser humano
que foi documentado por um dermatologista.
-
Mas na verdade, essas imagens são imagens
falsas.
-
A rede neural artificial é profunda.
-
Um tipo.
-
Alguém aprendeu a imitar
as características desse tipo de imagem
-
e gerou essas imagens artificiais
para imitar uma imagem real.
-
Note o grau de precisão
em trazer pelos com essa regrinha
-
que mede o tamanho da lesão na vida real.
-
Essa seleção de dados é tão boa
que pode até confundir o ser humano
-
para distinguir
se a imagem é real ou falsa.
-
Essa é uma forma artificial de aumentar
a quantidade de dados disponível
-
para treinar as suas redes.
-
E a terceira estratégia é trabalhar
com transfer learning e fine tuning.
-
Isso aqui é uma técnica bem interessante
no trabalho, qualquer tipo de rede neural,
-
porque isso permite fazer
a transferência de conhecimento
-
ou então o ajuste fino desse aprendizado.
-
Como ele funciona?
-
Nós partimos de uma rede neural artificial
profunda treinada do zero
-
e um conjunto de dados muito grande,
e pode até mesmo uma imagem
-
generalista distinguir
se uma imagem é um passarinho,
-
uma flor, uma árvore,
-
um instrumento musical e outras coisas.
-
Nós utilizamos milhões de imagens
para treinar do zero uma geral profunda
-
que classifica a qual tipo de objeto
está presente nessa imagem.
-
Quando
a rede está treinada, você chega ao fim.
-
Todos os pesos de cada camada
já estão no lugar.
-
Nós podemos fazer uma transferência
de conhecimento, ou seja,
-
o transfer learning.
-
Copiamos essa arquitetura
-
para uma outra rede, ou seja,
copiamos arquitetura.
-
A quantidade de camadas,
como elas são encadeadas
-
e também os pesos
já treinados para essa efígies
-
e utilizamos uma leve alteração
na última camada que é a decisão.
-
Aqui no caso,
estou partindo de uma crítica geral
-
de uma base de dados geral bem grande
-
para aprender a distinguir
uma lesão de pele e câncer de pele.
-
Ou não é melanoma ou é, ou seja,
a minha rede neural artificial.
-
Ela não está aprendendo
a extrair fatores desses dados.
-
Eu uso a rede já treinada
como extrator de filtros padrão
-
para distinguir
features relevantes dessas imagens.
-
Aí eu vou aprender na camada de decisão
-
como seus filhos são relacionadas
com câncer de pele ou lesão benigna.
-
Transfer lane Essencialmente como nós
-
aprendemos uma coisa nova,
nós nunca aprendemos algo do zero.
-
Sempre.
-
O nosso cérebro está tentando fazer
associação com algo que nós já conhecemos,
-
que é parecido ou diferente de algo
que estamos vendo pela primeira vez.
-
Ou seja,
estamos aprendendo por uma transferência
-
de conhecimento
de um domínio para o outro.
-
o transfer lane que por si só é justamente
essa transferência de conhecimento,
-
de transferir os pesos aprendidos,
-
uma rede em um domínio,
em um novo domínio.
-
Nós podemos refinar um pouquinho
mais aprendizado com o fair Tune,
-
que é o ajuste fino.
-
Ou seja, além de deixar o dado e os pesos
copiados de uma tarefa para outra,
-
podemos permitir que
-
em tempo de treinamento,
esses pesos sejam levemente alterados,
-
levemente ajustados à tarefa de destino.
-
Isso melhora
ainda mais a precisão da classificação.