• Nenhum resultado encontrado

Redes de aprendizado profundo são modelos de redes neurais com mais camadas de neurônios que consiguem aprender representações de dados com mais níveis de abstra-ção. Assim, melhor fica a eficiência do modelo, permitindo aplicações complexas como reconhecimento de fala e reconhecimento de objetos. ODeep Learning, a partir do algo-ritmo de retropropagação (ouBackpropagation), mostra como deve alterar os parâmetros de cada camada da rede interna, com base na camada anterior (LECUN Y., 2015).

O Backpropagation calcula o gradiente de uma função, a qual desejamos otimizar, em relação aos parâmetros das multicamadas, ou seja, aplicação da regra da cadeia que aplicamos em derivada. Essa técnica pode ser aplicada inúmeras vezes com intuito de propagar esse gradiente entre as camadas, inclusive na camada saída, onde é realizada a previsão (LECUN Y., 2015).

Nestes tempos, é muito comum ouvir falar do uso de inteligência artificial, para re-conhecimento facial e de placas de automóveis. O objetivo deste trabalho é conseguir classificar ações a partir de uma sequência de imagens, assim fornecendo um contexto para rede neural (VINíCIUS, 2018).

2.1.1 Convolutional Neural Networks (CNN)

As redes convolucionais são um tipo particular de rede de aprendizado profundo, que tem como entrada vários vetores, tem quatro fundamentos importantes que a caracterizam, são elas: conexões locais, pesos compartilhados,poolinge uso de múltiplas camadas.

As ConvNet como são chamadas as CNN mostradas na Figura 1, a arquitetura na forma padrão, é feita em várias etapas. A primeira etapa é composta por duas cama-das, uma camada convolucional, que faz a convolução dos dados, com objetivo de extrair

Capítulo 2. Fundamentação Teórica 17

características (LECUN Y., 2015), e a segunda é uma camada depool, ou agrupamento, mostrada na Figura 2 que tem como objetivo simplificar as informações da saída da convo-lução. Essa segunda camada tem como ideia principal que cada unidade noMax Pooling 2(a), possa representar uma região de vários neurônios da convolução. Também existem outras técnicas de agrupamento, como Average Pooling mostrada na Figura 2(b), que é implementada com a média das ativações na região (RYU; YANG; LIM, 2018).

Como a maioria das modelagens de neurônios são inspiradas em neurônios reais, a camada de convolução e agrupamento, também é inspirada em células simples e células complexas na neurociência visual (LECUN Y., 2015).

Desde a década de 1990, as CNN têm sido implementadas em inúmeras aplicações, como reconhecimento de fala e processamento de documentos, detecção de objetos em imagens naturais, como rostos e mãos (DRUCKER et al., 1997), e para reconhecimento facial (LAWRENCE et al., 1997). Isso é normalmente devido ao surgimento de novos dispositivos e técnicas que melhoram a eficiência de ConvNets, como uso adequado de graphics processing unit (GPU), e técnicas de regularização comoDropoutque tem como objetivo principal excluir diferentes conjuntos de neurônios problemáticos. Assim, esse procedimento consegue simular a média de efeitos de números de redes diferentes, com intuito de reduzir OverFitting (SRIVASTAVA et al., 2014) e geração fictícia de novas amostras a partir das existentes, deformando-as.

Figura 1 – Arquitetura ConvNet, onde para cada camada é realizado Pooling de 2x2 ou seja a informação da convolução é reduzida pela metade e que cada numero a baixo da imagem representa a dimensão da mesma naquela etapa da convolu-ção. Fonte: Autoria própria.

2.1.2 Recurrent Neural Networks (RNN)

Redes Neurais Recorrentes (Recurrent Neural Networks - RNN), por sua vez, procu-ram resolver tarefas cujas entradas seguem uma ordem, como processamento de lingua-gem natural. Na arquitetura da RNN, como mostra a Figura 3, a entrada é um elemento em sequência, mantendo a ordem e as características, ou seja, o vetor de estados que guarda informações sobre histórico de entrada (LECUN Y., 2015). AsRecurrent Neural

Capítulo 2. Fundamentação Teórica 18

(a)Max Pooling. (b) Average Pooling.

Figura 2 – Estrategias dePolling, onde tem como principal objetivo reduzir a representa-ção da imagem, seja pela estrategia de valor máximo ao média.

Fonte: Autoria própria.

Networks são modelos dinâmicos e poderosos. Porém, existe dificuldade em treiná-las adequadamente, devido ao gradiente retro propagado que varia tanto para mais quanto para menos a cada sequência, de forma que em muitos passos de treinamento o histórico do modelo ou aumenta demais, ou quase não existe (BENGIO; SIMARD; FRASCONI, 1994).

A arquitetura da RNN teve significativas melhorias (GOODFELLOW et al., 2014) desde sua versão inicial e o surgimento de técnicas diferentes de treino para essa rede (PASCANU; MIKOLOV; BENGIO, 2013) conseguiu de forma geral que as redes recor-rentes tivessem um bom desempenho em prever próximos passos de uma sequência. Com isso, aplicações como prever caracteres de um texto, ou palavra, e também avaliar

sequên-Capítulo 2. Fundamentação Teórica 19

cias de ações tarefas possíveis, como é o caso da aplicação proposta neste trabalho.

Figura 3 – Arquitetura RNN. onde cada quadrado representa uma celular da arquitetura RNN, com objetivo de conseguir persistir a informação dentro da rede

Fonte: Autoria própria.

2.1.3 Recurrent Neural Networks e Convolutional Neural Networks (RNN-CNN)

Esta abordagem foi proposta para realizar tarefas mais complexas, como tradução de significado de texto (SUTSKEVER; VINYALS; LE, 2014). Por exemplo, a entrada será uma imagem, montando um codificador usando umaConvNet, os pixels da imagem serão um vetor de atividade da última camada oculta, e criando um decodificadorRNN, com essa combinação de arquiteturas, podemos resolver problemas, mais complexos, como o proposto neste trabalho de forma mais eficiente, do que somente utilizando umaRNN padrão (SIMONYAN et al., 2015).

Quando utilizamos Redes Recorrentes considerando o tempo, as camadas da rede compartilham entre si os neurônios. Dessa forma, consegue ter uma noção de longo prazo.

2.1.4 Transformers

Embora as redes RNN tenham se tornado eficientes para várias aplicações, elas tam-bém têm seus pontos negativos. Um deles é adependência de longo prazo, quando nosso objetivo é aprender palavras muito grandes, pois essas redes têm tendência de esquecer o que foi aprendido. Um outro problema é a variação brusca do gradiente, assim tornando instável a rede, ao ponto de parar a otimização da função de custo. Com isso, foi proposta a arquitetura Transformersmostrada na Figura 4, que tem com ideia base a inclusão de duas camadas, das quais a primeira é chamada de mecanismo de atenção ela pegará a entrada após o processo de incorporação de palavras e codificação posicional e calculará

Capítulo 2. Fundamentação Teórica 20

a relação de cada palavra com outras palavras. Após o produto escalar, é gerado um vetor que representa o peso da relação entre cada palavra. E a segundaPositional Encodingque calcula a relação de cada palavra com outras palavras. Após o produto escalar, é gerado um vetor que representa o peso da relação entre cada palavra..

Figura 4 – ArquiteturaTransformers. onde é essencialmente formado por dois blocos, do lado esquerdo é chamado de bloco Encoder, e do lado direito é chamado de Decoder

Fonte: Autoria própria.

NaTransformers, também existem dois grandes blocos, chamados de Encodere De-coder. NoEncoderé onde a informação será extraída ou entendida, e noDecoderé onde o modelo irá aprender a relacionar as entradas de alguma forma com a saída desejada (CHOLLET, 2021).

OEncoder é formado por quatro camadas: a primeira é aMulti-Head Self-Attention Mechanism; a segunda é simplesmente umaFeed Forward Neural NetworkouMultilayer Perceptrons (MLP); somado a isso, existem uma camada de normalização e uma camada de resíduos. Também, é muito comum aplicar mais vezes o bloco deEncoderpara obter melhores resultados na predição. E, antes da informação entrar no bloco de Encoder, é usual a entrada passar pelaInput Embedding, onde a informação será convertida emWord Embedding, e em seguida na camadaPositional Encoding, parte essa que garante que o algoritmo compreenda a noção de posição, ou sequência das entradas (VASWANI et al.,

Capítulo 2. Fundamentação Teórica 21

2017).

ODecoder, tem as mesmas quatro camadas doEncoder, a única diferença é que adi-cionamos uma nova sub-camada chamada de Multi-Head Attention, que faz múltiplas Attetion por query com pesos diferentes e de forma paralela, seguidas de uma conca-tenação dos resultados dos Attetions, e uma camada de Normalização e outra resíduos.

Percebeu-se também que temos uma camada denominadaMasked Multi-Head Attention, que é apenas uma variação da descrita anteriormente, com o intuito principal de fazer a camada Attention não olhar para a sequência longa, e depender de valores passados (CHOLLET, 2021).

2.1.5 Aprendizagem por transferência

O Aprendizado por transferência vem sendo muito divulgado na literatura recente, sendo fundamentada na metodologia dos dados de treinamento e teste, para saber se tem domínio comum entre a rede de transferência e a rede de treinamento final (WEISS K., 2016). Porém, em alguns casos essa suposição em aprendizado de máquina não é válida.

Além disso, em outros casos, os dados de treinamento e testes, são difíceis de coletar e de alto custo financeiro. Portanto, é necessário criar modelos de redes neurais, que sejam treinados com diferentes domínios, generalizando a rede.

A técnica de transfer learning é usada para melhorar o desempenho de uma rede neural em domínio especifico, transferindo as informações para um domínio relacionado, e geralmente os dados de treinamento e os de destino tem uma diferença de subdomínios, porém para um mesmo domínio. Essa observação é importante para que ao realizar a transferência os dados não degradem a rede.

Essa técnica é de grande importância para este trabalho devido à dificuldade de co-letar grande volume de amostra de dados a qual pertence ao subdomínio de atividades suspeitas. Dessa forma, podemos utilizar desse artifício para melhorar nosso resultado como um todo. O aprendizado por transferência é utilizado em inúmeras aplicações atu-almente, desde classificação de sentimento, imagem, e até mesmo de atividades humanas (GAL-ON; MANNOR, 2010), entre outros.

Trabalhos recentes na literatura (WITTEN; FRANK, 2002) afirmam que uma rede treinada para um determinado domínio de origem sempre terá perdas de desempenho para um domínio de destino que as distribuições no limite dos domínios têm entradas diferentes. Quando ocorre uma transferência heterogênea, ou sejaP(xs)̸=P(xt), há uma degradação dos pesos modelo, devido aos dados de treinamento rotulado do domínio de origem serem diferentes dos dados retreinados do domínio de destino. É importante

Capítulo 2. Fundamentação Teórica 22

ressaltar que existem vários tipos de aprendizado de transferência, como por exemplo Homogeneous transfer learning, ondexs=xt.

Atualmente grandes empresas de tecnologias, como Google, Microsoft e IBM, criam arquiteturas ou melhorias e as disponibilizam as comunidades, e esses modelos disponi-bilizados são treinados com milhões de dados, que precisam de alto poder computacional para treinar e meses de treinamento. Porém com aprendizado de transferência, pode-mos reaproveitar esse treinamento mais genérico e de grande escala, e transferir esse aprendizado para aplicação. Dentre as arquiteturas disponibilizadas por essas empre-sas estão: densenet, efficientnet, efficientnet_v2, imagenet_utils, inception_resnet_v2, in-ception_v3, mobilenet, mobilenet_v2, mobilenet_v3, nasnet, resnet, resnet50, resnet_v2, vgg16, vgg19, xception.

Documentos relacionados