Buscar

Deep learning - Uninassau

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 116 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 116 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 116 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

APRENDIZAGEM 
PROFUNDA 
Sigmundo Preissler 
 
Presidente do Conselho de Administragdo Janguié Diniz 
Diretor-presidente Janyo Diniz 
Diretoria Executiva de Ensino Adriano Azevedo 
Diretoria Executiva de Servicos Corporativos Joaldo Diniz 
Diretoria de Ensino a Distancia Enzo Moreira 
Autoria Sigmundo Preissler 
Coautor Umberto Luis Vicari e Rodrigo José Fagundes 
Projeto Graficoe Capa DP Content 
DADOS DO FORNECEDOR 
Analise de Qualidade, Edi¢do de Texto, Design Instrucional, 
Edicdo de Arte, Diagramacao, Design Grafico e Revisao. 
© Ser Educacional 2019 
Rua Treze de Maio, n° 254, Santo Amaro. 
Recife-PE - CEP 50100-160 
*Todos os graficos, tabelas e esquemas sdo creditados a autoria, salvo quando indicada a referéncia. 
Informamos que é de inteira responsabilidade da autoria a emissdo de conceitos. 
Nenhuma parte desta publicacdo podera ser reproduzida por qualquer meio 
ou forma sem autorizacao. 
Aviolacao dos direitos autorais é crime estabelecido pela Lei n.° 9.610/98 e punido pelo 
artigo 184 do Cédigo Penal. 
Imagens de icones/capa: © Shutterstock
 
 
 
 
 
ASSISTA 
Indicagao de filmes, videos ou similares que trazem informacgoes comple- 
mentares ou aprofundadas sobre o contetido estudado. 
CITANDO 
Dados essenciais e pertinentes sobre a vida de uma determinada pessoa 
relevante para o estudo do contetido abordado. 
CONTEXTUALIZANDO 
Dados que retratam onde e quando aconteceu determinado fato; 
demonstra-se a situagao historica do assunto. 
CURIOSIDADE 
Informagao que revela algo desconhecido e interessante sobre o assunto 
tratado. 
DICA 
Um detalhe especifico da informacao, um breve conselho, um alerta, uma 
informacao privilegiada sobre o conteddo trabalhado. 
EXEMPLIFICANDO 
Informagao que retrata de forma objetiva determinado assunto. 
EXPLICANDO 
Explicagao, elucidacao sobre uma palavra ou expresso especifica da 
area de conhecimento trabalhada.
 
Unidade 1 - Conceituando Aprendizagem Profunda 
Objetivas: tha imide ssccesssccssssccscscuscssvsssvcuscecguscccncactsortccsseccwiectcatttea casts tecese coc teeccscuscentasctee 12 
 
Dimensionalidade 
Classificagao 
REQIESSAO wvessssecssssesssseecsssecesssecesnsccesuscessuscessucessssessuecsssseessnscssuuseesuusessneeessuecessuesenneeeeanectee 
 
FungGes de ativaGa siccssisscesciccssccsnsssviscassusaicescanetscavsuesscitasesbiasetinsnsounssscasecessuessucntieasctsenton 28 
Tre amaMne Mt sscicscscis scvscssctccs ceteris cenccsnctcnsscantecanescnuitbcuastanscivatwatectusiteuaces uietesudiecastncbuntooucttoete 30 
Sintetizando 
 
Referéncias bibliogr:
 
Unidade 2 - Algoritmos e técnicas empregadas em Aprendizagem Profunda 
Oa jeotiweiss chat tnd NG ssi casccncscscncssccccssrccccer sa corcacancacstaassrcseaanccraaescncmacuaceneearaoues a 
 
Algoritmos de otimizagao 
 
Algoritmo Adagrad 
Algoritmo RMSProp 
 
Algoritmo Adadelta . 
Algoritmo Adam 
Algoritmo MOMe@ntum .....cccssssessssecssssecssssesssnscessnecessnessuusessneccsnneessnuceesueeessueeesnueessneessneees 43 
Algoritmo Nesterov Accelerated Gradient (NAG) ...........scssssssesssesseessnteeeeesneteeeeeeee 45 
Boece por copie ey ath 0s sscascssccsacernartncrsscostescescssuascstananss cates tecasscass tecnica edanscua ineiStenasicld 48 
Backpropagation Through Time (BPTT) ..........ssssssssssssseessssssseesesssneeesessnneeeeessnneeseessnees 38 
Greate sisissiccssiasssesccuesasssstivzseasousscsovssassanicccususiceuassasnebiaatvaieddeaciescunsstecebeaaistesuavansictueenniitis 
 
Descida de gradiente em lote 
 
Descida estocastica de gradientes de minilote. 
Gradiente estocastiCo ......ccccsssecssssseessssseccssssssesssssssessssssseeesssssueeesssssecessssseeessnneeses 54 
Entropia Crazed at ssssissssccsssscscescicisacssutssvisestsuucteescanes saavivuiscivascsbtascciniescunscasasecetuuessucatteaccsseniten 55 
Sintetizando 
 
Referéncias bibliogr:
 
Unidade 3 - Recorréncia e crengas em aprendizagem profunda 
Objotivos da Umid ade issssessisisissscsscssescssnscisssesivsuscscvvncerescscostcevusensnastissendbessesesvevsaibsncastensciness 62 
Redes neurais recorrentes . 
Feedforward Neural Network (FFNN)... 
Rede Neural Recorrente ou Recurrent Neural Network (RNN) 
Treinamento dos algoritmos de RNN 
Long Short-Term Memory (LSTM) = 
Gated Recurrent Unit (GRU)...0.........sscsssssscsssssssssecssssscesuecessuesssscssssecesssecesssecssneesseneeesnee 
 
 
Redesdoicromgas profimdasssscssessissssacsscsssesssssstussssscesiccesecctssasssessuacsnceetcessicsonnsthecibeivente 76 
Auto-Encoder (AE) 
Denoising Auto-Encoder (DAE). 
Stacked Auto-Encoder (SAE)... te 
Maquinas de Boltzmann Restritas ou Restricted Boltzmann Machines (RBM)... 81 
 
Filtragem colaborativa com RBM reconhecendo fatores latentes nos dados..... 83 
Processo de treinamento do algoritMO RBM .........ccsssssessssseessesessssessssecsssesssncessneeese 86 
Sintetizando 
Referéncias bibliograficas. 
 
 
Unidade 4 - Convolugao e aplicagoes comerciais em aprendizagem profunda 
Objetivos da umidade..........csssssccssssssssesssssesssssessssssessseesssseessseesssseessnseessnsesssseessnneessaseensneesse 91 
Redes convolucionais baseadas €M regiOeS ..........ssssssssssssssessssseesssseessseeessnsesssseessneeess 92 
Convolugao como mascara... 
Processo de convolugao.... 
Arquitetura de Rede Neural Convolucional (CNN ou ConvNet, 
Camada de entrada ou input 
Camada convolucional ou camada de convolugao 
Camada de nao-linearidade ou estagio detector via fungao de ativagao Rectified 
Linear Unit (ReLU) 
Camada de pooling ou camada de subsampling 
Camada totalmente conectada.........sccsssecsee 
Arquitetura de Rede Neural Convolucional baseada em Regides (R-CNN)........ 104 
R-CNNs. 
 
Fast R-CNNs. 
Faster R>CNINS@ BPNS sicssesssesenisvssssisisnsicisuonisienvorsscenienvesinunsiinnivannssisnsindscenieiaanatisias 107 
AplicagGes COMO Cals: csisiciassiciccsccsnsccecascescuscrcns ceanscrouescpeucntuvsceutecsdenneoutieetbetceienectensta 110 
Seguranga publica. 
Comercio e varejo ... 
Acessibilidade e comunicagao. 
Transportes e logistica 
Satde e medicina.... 
 
 
 
Sintetizando 
Referéncias bibliograficas 
 
Apresentacgao 
 
O universo da Ciéncia da Computagdao nos traz uma infinidade de desafios, 
novidades e, com elas, duvidas sobre como essas tecnologias funcionam, como 
evoluiram e o que elas efetivamente resolvem. 
Tendo isso em mente, nesta disciplina, vocé aprendera um pouco sobre a 
evolucao da Inteligéncia Artificial, sobre o Aprendizado de Maquina (Machine 
Learning) e qual a sua relagdo com a Deep Learning (Aprendizagem Profunda). 
Dessa forma, vocé conseguira compreender, ao final de suas leituras e ativi- 
dades, 0 real significado e importancia da area, bem como suas derivacées. Vai 
conseguir visualizar como problemas do dia a dia, que até pouco tempo eram 
praticamente impossiveis de serem resolvidos por sistemas computacionais, 
sao rapidamente solucionados com o auxilio da Aprendizagem Profunda, den- 
tre outras coisas. 
Venha navegar pelo universo da Aprendizagem Computacional Profunda, 
uma das tematicas mais em alta na area da Tecnologia da Informagcdo (TI). 
APRENDIZAGEM PROFUNDA &
 
O professor Sigmundo Preissler Junior 
é PhD em Computer Science pela Sa- 
pienza Universita di Roma - Italia (2017), 
doutor em Engenharia e Gestdo do Co- 
 
nhecimento pela Universidade Federal 
de Santa Catarina - UFSC (2017), mestre 
em Engenharia Elétrica com énfase em 
Inteligéncia Artificial pela Universida- 
de Estadual de Santa Catarina - UDESC 
(2009), especialista em Redes de Compu- 
tadores e Aplicacdes para Internet (2004) 
e bacharel em Informatica (2002)pela 
Universidade do Contestado - UnC. 
Curriculo Lattes: 
http://lattes.cnpq.br/4979955190655938 
Dedico este trabalho a minha familia, a toda equipe, a quem deseja mudar 
o mundo e aos que chegam agora para este barco dos vencedores. 
APRENDIZAGEMPROFUNDA © 
 
 
 
Sef 
Iran nal 
educacio
OMe MTT CCl 
Apresentar os conceitos de redes neurais artificiais; 
Ambientar 0 aluno na area da Inteligéncia Artificial e no Machine Learning; 
Conceituar e demonstrar as principais aplicagdes e divis6es daAprendizagem 
Profunda. 
Topicos de estudo 
Cte ee ate t by 
@ Tipos 
@ Dimensionalidade 
@ Classificacao 
@ Regressdo 
Funcoes de ativacao 
Treinamento 
APRENDIZAGEM PROFUNDA © 
&e 
Redes neurais profundas 
Na Ciéncia da Computagdao, estudamos uma area conhecida como Inteli- 
géncia Artificial (IA). Essa area é responsavel por estudar e desenvolver mode- 
los que representam o conhecimento humano e a natureza com 0 objetivo de 
solucionar problemas reais, ou seja, estudar e “imitar” a inteligéncia humana e 
natural, a fim de obter respostas por meio de sistemas computacionais. 
Uma das técnicas da IA é o Machine Learning (ML) ou Aprendizado de Ma- 
quina. Nessa técnica, objetiva-se fazer com que os computadores possam 
“aprender” a tomar decis6es com base em exemplificacées de problemas, e 
ndo necessariamente por meio de uma programacdo especifica e pré-estabe- 
lecida. Estes algoritmos de ML precisam de dados a partir dos quais se possam 
extrair aprendizados que, entao, se convertem em decis6es futuras. 
Dentro da area de ML, existe uma técnica chamada Aprendizagem Pro- 
funda, ou Deep Learning (DL), que utiliza redes neurais artificiais (RNA) para 
a resolucdo de problemas de aprendizagem. Esses modelos buscam simular 0 
comportamento de processamento de um ser humano. 
No entanto, é impossivel falar de redes neurais profundas sem resgatarmos 
suas origens historicas. Esse conceito foi originado nos anos 50, periodo no 
qual a propria area da Inteligéncia Artificial nasceu. Em sua publicagdo “The 
perceptron: a perceiving and recognizing automaton”, de 1957, Frank Rosen- 
blatt da ao mundo as primeiras pistas de como um neurénio poderia ser des- 
crito em linguagem computacional. Nascia, desse modo, 0 perceptron. 
A ideia do perceptron era representar 0 comportamento do neurénio hu- 
mano por meio de uma funcao matematica que pudesse ser replicada em um 
ambiente computacional. Partiu-se da ideia da representagdo da inteligéncia 
humana para a resolucdo de problemas em um sistema compu- 
tacional. O perceptron era, portanto, um neurénio humano re- 
presentado por meio de um modelo matematico 
 
passivel de realizar processamento de dados 
em um computador. Rosenblatt trouxe, a luz 
da ciéncia, uma analogia ao neurénio do cé- 
rebro humano que viria, a posteriori, revolu- 
cionar o seu tempo. 
APRENDIZAGEM PROFUNDA ©
A Figura 1 apresenta uma compara¢ao entre a estrutura tipica de um neuré- 
nio versus a estrutura de um neur6nio artificial, representada por Rosenblatt. 
No cérebro humano, 0 conhecimento gerado ocorre pelas sinapses, que con- 
sistem em reacdes quimicas geradoras de impulsos elétricos. Esses impulsos 
atravessam o neur6nio pelos dendritos, passam pelo nucleo e ax6nios até che- 
garem aos terminais, que transmitem ao proximo neurdénio esse impulso elé- 
trico “processado”. 
ESTRUTURA DE UM NEURONIO TIPICO 
Niicleo da célula 
Soma 
(Corpo celular) 
Terminal Axénico 
ESTRUTURA DE UM NEURONIO ARTIFICIAL 
Valor padrao 
rt 40 Ww. 4 nico (Bias) 
Fungo de Ativagao 
Entradas 4 Ng o——> Wa 
X3o—>W3 
Pesos 
 
Figura 1. Estrutura de um neur6nio tipico versus estr 
Acesso em: 28/10/2019. 
 
ra de um neur6nio artificial (perceptron). Fonte: Shutterstock 
 
A estrutura de uma rede neural artificial (RNA) se da pela existéncia de 
entradas (inputs) e pesos (weights) que agem sobre essas entradas (sdo multi- 
plicadas por elas), gerando um valor padrao Unico (bias). Esse bias, por sua vez, 
passa por uma funcao de ativagdao e, por ultimo, gera uma saida (output), ou 
seja, uma saida especifica para o conjunto de entradas (inputs) que foi dado. 
APRENDIZAGEM PROFUNDA &
ASSISTA 
0 video Redes Neurais e Machine Learning, produzido pelo 
Canal Nerdologia, apresenta uma breve introdugdo a estes 
temas, que serao melhor explicados ao longo da unidade. 
 
Além disso, é importante destacar a diferenca entre redes neurais artificiais 
convencionais de uma so camada e multicamada. Bezerra, no artigo “Introdu- 
¢do a Aprendizagem Profunda", publicado em 2016 no 31° Simpdosio brasileiro 
de Banco de Dados, afirma que: 
A transmissdo do sinal de um neurénio a outro no cérebro é 
um processo quimico complexo, no qual substdncias especi- 
ficas sao liberadas pelo neur6énio transmissor [...]. De forma 
semelhante a sua contrapartida bioldgica, uma RNA possui 
um sistema de neurénios artificiais (também conhecidas como 
unidades de processamento ou simplesmente unidades). Cada 
unidade realiza uma computa¢do baseada nas demais unida- 
des com as quais esta conectada (p. 3). 
Dessa forma, por meio da citacdo, foi possivel comparar & 
um neur6nio bioldgico a um neur6nio artificial. Veja também 
a diferenga sobre a quantidade de camadas, mencionada 
 
pelo mesmo autor: 
Os neur6nios de uma RNA sdo organizados em camadas, com 
conexées entre neurénios de camadas consecutivas. As co- 
nex6es entre unidades sdo ponderadas por valores reais de- 
nominados pesos. A RNA mais simples possivel contém uma 
Unica camada, composta por um Unico neurénio. Redes des- 
sa natureza sdo bastante limitadas, porque resolvem apenas 
processos de decisdo bindrios (i.e., nos quais ha duas safdas 
possiveis) e linearmente separaveis (e.g., fung¢des booleanas 
AND e OR). Por outro lado, @ possivel construir redes mais 
complexas (i.e, capazes de modelar processos de decisdo 
ndo linearmente separaveis) por meio de um procedimento 
de composi¢ao de blocos de computagdo mais simples orga- 
APRENDIZAGEM PROFUNDA © 
nizados em camadas (p. 03).
Para ficar mais facil o entendimento sobre como a RNA pode funcionar, va- 
mos utilizar o caso de reconhecimento de escrita. Imagine que vocé possua um 
smartphone e deseje escrever um numero a mado livre, sem o uso do teclado. 
Uma possivel solugdo para a deteccdo do numero vocé esta tentando escrever 
pode se dar pelo uso das RNA. 
Veja a Figura 2 e entenda como isso pode ser feito. Basicamente, toda a area 
util para a escrita a mao livre é mapeada de forma binaria, ou seja, com zeros e 
uns. Como padrdao, podemos deixar os espacos nao utilizados sinalizados com 
o numero 1 e os demais, que foram utilizados para a escrita manual, com o 
codigo 0. Vamos entender, ainda, que toda essa area editavel € uma matriz 
quadrada de 20x20 posic6es binarias. 
1 
1 
1 
@ 
8 
e 
e 
1 
% 
£ 
1 
1 
1 
1 
e 
@ 
e 
@ 
1 
1 P
R
O
S
S
O
S
O
T
O
C
O
S
P
S
P
V
O
S
O
S
S
O
V
O
H
H
 
P
R
O
E
S
T
O
T
V
O
P
®
P
®
P
A
P
V
P
P
O
S
P
O
I
P
D
V
O
K
K
 
F
P
R
O
S
T
T
T
T
O
S
C
O
S
S
P
V
O
O
O
V
O
K
K
 
P
R
O
S
T
O
S
C
O
V
C
S
O
S
P
S
P
I
P
S
O
S
O
I
S
V
O
H
K
H
 
P
R
E
S
C
O
T
T
 
V
P
C
S
C
P
O
S
P
V
P
S
O
O
S
O
O
O
H
H
 
P
R
 
O
S
C
C
O
R
B
P
B
P
 
H
R
B
 
B
R
E
 R
R
H
E
E
R
R
H
 1 
1 
1 
1 
@ 
8 
e 
1 
1 
1 
1 
2 
1 
1 
e 
@ 
8 
8 
1 
1 
 
Figura 2. Mapeamento binaric mero 1 pa cimento de escrita, Fonte: OLIVEIRA, 2018, p. 15. (Adaptado 
 
Uma vez que esse modelo esteja implementado, ou seja, que vocé tenha 
a area de escrita mapeada no formato de matriz, que seu algoritmo entenda 
que os zeros sdo as areas digitaveis, vocé deve treinar 0 seu algoritmo para 
que aprenda quais as possiveis combinacées de escrita do numero um devem 
gerar esse resultado. Ai entra a fase de treinamento que também sera tratada 
no final deste capitulo. 
No entanto, antes de ir para o treinamento, perceba como uma RNA pode 
agir no reconhecimento de escrita (Figura 3). Note que a area de digitacdo esta 
conectada a células azuis (que contém os algarismos de 0 a 9) e que, por sua 
APRENDIZAGEM PROFUNDA ©
vez, neste processamento em especifico, foram gerados quadros verdes a di- 
reita. Esses quadros contém o valor percentual de acertopara o referido nu- 
mero (circulo azul). 
Em outras palavras, o numero 1 foi escrito no quadro da esquerda (amarelo 
quadriculado). O algoritmo de reconhecimento foi executado tentando identifi- 
car qual numero foi escrito ali e buscou gerar, para cada algarismo de 0 a9, um 
percentual de acerto. Para esse caso, 0 algoritmo retornou 0,1 (10%) de acerto 
para o numero 0; 0,8 (80%) de acerto para o numero 1; 0,4 (40%) para o numero 
2 e assim por diante. O maior percentual esta relacionado com o numero 1, 0 
que significa dizer que ha 80% de certeza de que o numero digitado no quadro 
esquerdo € o algarismo 1. 
Z Oo 
@&—__—_“m 
Entrada~Perceptrons »Saida »Predicao 
 
Figura 3, Resolucdo, via perceptrons, do reconhecimento de escrita do numero 1. Fonte: Weights & Biases, [s.d.]. 
Acesso em: 28/10/2019 
EXPLICANDO 
E importante destacar que uma RNA é capaz de fazer predigdes medidas 
em valores percentuais. Uma vez em posse desse valor percentual, um 
segundo algoritmo pode ser acionado para tomar decisdes. 
APRENDIZAGEM PROFUNDA © 
 
A Inteligéncia Artificial, assim como a Deep Learning, vem evoluindo rapida- 
mente e tomando proporcées de crescimento exponencial. Muito se fala des- 
sas redes de Aprendizagem Profunda e as maravilhas que elas vem fazendo, 
sendo literalmente demonstradas para todo o mundo. No entanto, as coisas 
nem sempre foram assim. 
A franca evolucdo das redes neurais artificiais, mais especificamente da 
Deep Learning, deve-se a possibilidade de termos mais recursos computacio- 
nais do que tinhamos em 1950. 
O ganho de recursos computacionais como memoria, processamento e a 
computagdo em nuvem potencializaram o surgimento de aplicacdes voltadas 
para a Aprendizagem Profunda. Além disso, a capacidade de escalar servidores 
em processamento na nuvem (Cloud Computing) trouxe mais facilidades para 
os pesquisadores da area. 
Para finalizar essa andlise sobre a evolugao da Deep Learning até chegar nas 
redes neurais artificiais modernas, podemos dizer que a presenca das tecno- 
logias SaaS (Software as a Service) contribui significativamente para esse amplo 
conhecimento e aplicagdo das técnicas de RNA profundas. Veja, por exemplo, 
a Google e a IBM lancando frameworks que ja implementam uma rede neural 
artificial para a resolugdo de problemas. Basta enviar uma requisig¢do com da- 
dos para esta rede e ela processa, responde e vocé paga apenas pelo quanto 
de trafego ou processamento utilizou. 
 APRENDIZAGEM PROFUNDA ©
°e 
Tipos 
Antes de iniciar os estudos sobre Deep Learning, é interessante falarmos 
sobre o que é Inteligéncia Artificial, Machine Learning e, por fim, o estado da 
Deep Learning (Aprendizagem Profunda). 
Primeiramente, é necessario responder a seguinte pergunta: 0 que é inte- 
ligéncia? A inteligéncia é a habilidade que uma pessoa ou maquina tem de en- 
tender e utilizar o conhecimento adquirido para resolver problemas. Etambém 
sua habilidade de compreender informacées para que, com base nelas, consiga 
tomar decisdes e acumular conhecimento, conseguindo usar o que ja aprendeu 
em decis6es passadas. 
Nesse sentido, a inteligéncia artificial vers sendo estudada desde a década 
de 50 e um dos maiores motivos dos cientistas por tras desses estudos tem 
relacdo com conseguir simular a inteligéncia humana. 
O autor Silva, em “Deteccdo e contagem de plantas utilizando técnicas de 
inteligéncia artificial e machine learning”, publicado em 2018, traz referéncias 
sobre o tema de IA. De acordo com 0 autor: 
Segundo Akerkar (2014), a Inteligéncia Artificial (IA) €é um campo 
de estudo que procura analisar e desenvolver sistemas capazes 
de desempenhar fung6es que, caso um ser humano fosse exe- 
cutar, seriam consideradas inteligentes (p. 34). 
Ainda, de acordo com esse mesmo autor e artigo, pode-se tentar resumir a 
complexidade da area de IA em trés pontos: 
De acordo com Ertel (2011), a IA é um conceito amplo, do qual 
podemos descrever algumas caracteristicas basicas que a com- 
pdem, como: 
a) Capacidade de raciocinio: aplicar regras logicas a um conjunto 
de dados disponiveis para chegar a uma conclusdo. 
b) Aprendizagem: aprender com os erros e acertos para maximi- 
zar os futuros resultados. 
c) Reconhecer padrées: detectar e classificar objetos, texturas e 
padrées de comportamento. 
d) Inferéncia: capacidade de aplicar raciocinio em situagdes coti- 
dianas (SILVA, 2018, p. 34). 
APRENDIZAGEM PROFUNDA ©
Além disso, é possivel ver, na Figura 4, a evolucao temporal da IA e de suas 
subareas. 
INTELIGENCIA ARTIFICIAL APRENDIZAGEM DE MAQUINA APRENDIZAGEM PROFUNDA 
Nascimento da Inteligéncia O Machine Learning comeca Progresso em Aprendizagem 
Artificial causa frenesi. a florescer. Profunda direciona o 
aumento de interesse em IA. 
1950 1960 1970 1980 1990 2000 2010 
Desde o otimismo dos anos 1950, subareas menores da inteligéncia 
artificial vem causando disrupgées cada vez maiores. 
 
storica da area de Inteligéncia Artificial e suas subareas. Fonte: ANADIOTIS, 2017. Acesso em: 
 
Nos dias de hoje, é possivel utilizar técnicas de Inteligéncia Artificial para ana- 
lisar a proxima jogada em uma partida de xadrez ou em algum outro jogo de ta- 
buleiro, por exemplo, e termos uma boa acuracia. No entanto, esses algoritmos 
ndo sao tdo bons para analisar um grande volume de dados, como quais e-mails 
sao spam com base nos dados de palavras-chave e remetente, por exemplo. Os 
algoritmos que serdo vistos a seguir possuem mais capacidade para isso. 
Aprendizado de Maquina (Machine Learning) 
O Machine Learning (Aprendizado de Maquina) é um grupo de técnicas den- 
tro da area de estudo de Inteligéncia Artificial que aplica algoritmos para fazer 
com que as maquinas realizem uma fungdo para a qual nao necessariamente 
tenham sido programadas. Esse método pode ser agrupado em trés tipos: 
a) Aprendizado supervisionado: sdo oferecidas entradas e saidas de ob- 
jetos rotulados por um professor humano com a intencao de fazer com que o 
algoritmo aprenda regras e padrées. Desse modo, quando 0 algoritmo atingir 
um valor de precisdo alta, sera capaz de classificar os dados parecidos com os 
APRENDIZAGEM PROFUNDA © 
que foram utilizados para treina-lo.
b) Aprendizado nao supervisionado: neste modelo de algoritmo, nao sao for- 
necidos dados de exemplo. Dessa forma, o proprio algoritmo deve encontrar um 
padrao entre os dados e agrupa-los da forma que achar melhor. 
c) Aprendizado por reforgo: 0 algoritmo de Machine Learning obtém feedbacks 
do ambiente externo e os utiliza conforme seus resultados, positivos ou negativos, 
para ir calculando melhor seus pesos, neurénios e melhorar seus resultados. 
A Figura 5 apresenta as trés caracteristicas basicas que compdem o Machine 
Learning. 
Dados rotulados 
Feedback direto 
Prever resultado/futuro 
STANCE) 
Aprendizagem 
Nao-Supervisionada Por reforco 
Sem rétulos Processo decisorio 
Sem feedback Sistema de recompensas 
“Encontrar estrutura oculta” Aprender série de agées 
 
Center, 2019, Acesso em Figura 
28/10 
s trés pilare: 
(Adaptado) 
dizado de maquina. Fonte: MIT Deshpa 
 
Hoje em dia, por meio do Aprendizado de Maquina, conseguimos trabalhar 
com uma grande quantidade de dados e extrair caracteristicas importantes deles. 
Embora os algoritmos apresentem uma grande evolugdo no uso de técnicas e 
estatisticas em relacgdo aos algoritmos iniciais de Inteligéncia Artificial, isso ainda 
nado € o suficiente para fazer o reconhecimento de uma imagem. Para isso, foram 
APRENDIZAGEM PROFUNDA © 
iniciados os estudos sobre as redes neurais artificiais.
De acordo com Bittencourt e Osdrio, no artigo denominado “Sistemas inte- 
ligentes baseados em redes neurais artificiais aplicados ao processamento de 
imagens”, publicado em 2000, as redes neurais artificiais (RNA) estado relacionadas 
com um algoritmo de computador dentro da area de inteligéncia artificial, que tem 
por objetivo simularo funcionamento dos neurdénios do cérebro humano. Com 
isso, adquire a capacidade de realizar uma acdo nao programada a partir de um 
conjunto de dados que serve como exemplo apés 0 treinamento do algoritmo. 
Conforme Fausett, citado no artigo de Dantas, Godoi e Petroli, denominado 
“Ferramenta para automatizacdo do processo de concessdo de crédito utilizando 
de conceitos de inteligéncia artificial”, publicado em 2017, as redes neurais artifi- 
ciais sdo algoritmos utilizados para resolver problemas que podiam ser resolvidos 
apenas pelo cérebro humano. 
As principais caracteristicas da RNA sao definidas por sua forma de desenvol- 
vimento e particularidade, como quantidade de neurénios, funcdes de ativacgao, 
numero de camadas, etc. Esses mesmos valores sdo treinados de acordo com a 
necessidade do desenvolvedor, pois talvez seja necessario mais precisdo ou ve- 
locidade em seus treinamentos. Pensando nisso, varios modelos e arquiteturas 
podem ser implementados. 
A conexdo entre os neurdnios é simulada por meio do uso de pesos (fungdes 
que servem para definir a prioridade de cada dado de entrada) e, a partir disso, é 
enviada uma informacao conhecida como activity level (AC), que consiste em uma 
fungdo de entrada de dados. Com a entrada dessas informagées nos neurénios 
da rede neural, é enviado um sinal de activity level para outros neurénios. Cada 
neurdénio pode fazer um Unico processamento de entrada de dados, ou seja, eles 
recebem somente um tipo de dado, mas podem possuir varias entradas de dife- 
rentes sinais. Quando esses dados passam por neurénios, eles sao agrupados, ou 
seja, caso os dados passem pelos neurénios X, 0 algoritmo diz que é uma imagem 
de um cachorro, caso os dados (sinais) passem por neurdnios Y, o algoritmo diz 
que é um gato, etc. 
O efeito desses dados emitidos ao longo da rede neural, passando de ® 
um neur6nio para o outro, é determinado pela multiplicacdo 
do valor do dado recebido. Sendo assim, a RNA vai multipli- 
car ainformacao que esta presente de acordo com a primei- 
APRENDIZAGEM PROFUNDA © 
ridade que essa informacao tem na rede.
As arquiteturas de uma RNA estdo intrinsecamente ligadas ao tipo de proble- 
ma que se quer utilizar. Portanto, nado vai ser possivel ter uma boa performance 
utilizando uma rede neural para identificar imagens de rostos ou de animais. Elas 
também sdo agrupadas pelo o numero de camadas (camada Unica ou de mul- 
tiplas camadas), pela quantidade de neurdénios que cada camada possui, pelo 
formato de conexdo (se sdo de feedforward ou de feedback), bem como pelo 
modelo de sua topologia. 
Sinal de entrada 
Camada Primeira Segunda 
deentrada camada oculta camada oculta 
 
Figura 6. Exemplo de RNA. Fonte: DANTAS; GODOI; NETO, 2017, p. 212. (Adaptado). 
Além disso, é possivel evidenciar a existéncia de trés caracteristicas: 
a) a camada de entrada, também conhecida como a camada de distribuicdo 
de rede, tem como objetivo fazer a distribuicado dos dados de entrada para os 
neurdnios das proximas camadas ocultas; 
b) uma, nenhuma ou varias camadas ocultas, cujo 0 objetivo é obter as in- 
formagées estaticas e fazer a realizacdo de problemas que ndo sdo separaveis 
de forma linear; 
c) acamada de saida possui uma quantidade de neurénios igual ou superior 
a quantidade de dados de saida da rede. 
Redes neurais artificiais sao, em resumo, técnicas para simular de forma ar- 
tificial as redes neurais presentes no cérebro humano. Dessa forma, 0 algoritmo 
consegue apreender algo sobre o qual ele nao tinha conhecimento em sua pro- 
gramacao inicial. Entretanto, essas técnicas de redes neurais possuem poucas 
APRENDIZAGEM PROFUNDA ©
camadas profundas, uma vez que, na época em que comegaram seus estudos, 
ndo existiam processadores e placas de videos poderosas para executar seus 
treinamentos. A partir de 2014, comecgou a chegar a Deep Learning, ou seja, re- 
des neurais artificiais profundas. 
Aprendizagem Profunda (Deep Learning) 
Os estudos comuns de aprendizado de maquina nos trouxeram a cons- 
trucdo de algoritmos inteligentes que podem simular a inteligéncia humana. 
Muitas tarefas, consideradas complexas para um ser humano, sao facilmen- 
te executadas por um computador, desde que ele seja previamente progra- 
mado. Para isso, utilizamos regras matematicas, algoritmos, estruturas de 
dados, logicas de programacdo, arvores de decisdo, etc. 
Uma das melhores definigdes para algoritmos de Deep Learning é: con- 
junto de algoritmos para solucionar problemas que os seres humanos con- 
seguem solucionar de forma natural. Dessa forma, a técnica faz 0 uso de 
dados brutos, ou seja, sem tratamento, para compreender o problema por 
meio de hierarquias e suas interacgées. 
Para conseguirmos ter uma melhor andlise dos algoritmos de Deep Lear- 
ning e os algoritmos tradicionais, vamos fazer uma analogia com um jogo 
de xadrez. Embora 0 xadrez seja um jogo de tabuleiro bastante complexo, é 
facil ensinar um computador a joga-lo. O jogo possui 32 pecas que podem se 
locomover entre 64 casas, sendo que apenas 30 podem caminhar de acor- 
do com regras estabelecidas. Embora seja um jogo de estratégia bastante 
complexo, suas regras sdo, de certa forma, simples de serem ensinadas a 
um computador, uma vez que se trata de uma lista de re- 
gras formais que podem ser passadas ao algoritmo com 
antecedéncia. 
E diferente de ensinar a um computador o que é uma 
moto ou o que é um carro, pois sdo coisas que 
nao possuem um padrdo formal nem regras 
exatas, além de dependerem de varios fatores 
 
como iluminacado, modelo, tamanho, etc. Desse 
modo, para ensinar uma IA o que € um carro ou 
 
uma moto, é recomendado o uso de algoritmos de Deep 
APRENDIZAGEM PROFUNDA ® 
Learning previamente treinados.
 © 7 Dimensionalidade 
A arquitetura de uma rede neural convencional é tratada como um grafo 
direcionado. Neste tipo de rede, os vértices sdo representados pelos neurdnios 
e as arestas sdo representadas pelos pesos das conexées. 
Para cada camada das extremidades damos os nomes de camada de entra- 
da (input layer) e camada de saida (output layer). A camada de entrada recebe 
os dados a serem processados pela rede e a camada de sajda apresenta os 
resultados processados. 
Entre as duas, pode haver L camadas, nas quais ocorrem os processamen- 
tos internos da rede. Na Deep Learning (DL), chamamos essas camadas inter- 
medidrias de camadas ocultas (hidden layers), conforme apresentado na Fi- 
gura 7. Uma vez treinada, essa rede é capaz de produzir um mapeamento de 
vetores no espaco M-dimensional para vetores no espaco N-dimensional, no 
qual M é0 numero de vetores da camada de entrada e N € o numero de vetores 
da camada de saida. 
Camada Camadas 
de entrada ocultas 
SI >< 
\ 
DO 
\Z SZ. Ko 
EAR 
PRD 
OY PNES Figura 7. Estrutura modelo de camadas de uma Deep Learning. Fonte: Adobe Stock. Acesso em: 28/10/2019. APRENDIZAGEM PROFUNDA ©
A dimensionalidade de entrada de dados, portanto, esta diretamente re- 
lacionada com a quantidade de variaveis a serem informadas para a rede, no 
sentido de realizar 0 processamento. Hipoteticamente, se uma determinada 
rede neural X é produzida para reconhecer imagens de animais em uma cena, 
quanto mais variaveis de entrada puderem ser informadas sobre a cena, mais 
assertiva sera a resposta. 
Aqui reside um dos principais problemas do uso das RNA: quanto maior o 
numero de pardmetros de entrada, maior a probabilidade de acerto da rede. 
Todavia, quanto maior o numero de entradas, mais recurso computacional 
sera necessario para realizar o processamento. 
O principal problema da dimensionalidade esta relacionado com a per- 
da de foco do algoritmo, que pode gerar respostas erradas. Vamos para um 
exemplo mais claro: imagine que vocé deseje comprar uma casa para morar. 
Para auxiliar no processo de decisdo, vocé reuniu tantas caracteristicas (di- 
mens6es) que acabou ficando sem saber qualescolher. Esse € um problema 
classico das RNAs. 
© ° Classificagao 
Dentro da grande area de aprendizagem supervisionada, os modelos de 
 
resolugdo de problemas objetivam encontrar uma fungdo de saida a partir de 
dados de entrada rotulados, conhecidos e informados ao algoritmo. No tipo de 
Aprendizagem de Classificacdo, objetiva-se, com base nos rétulos conhecidos 
e informados, encontrar parametros otimos para gerar uma Saida equivalente 
ao desejado. Tal busca ocorre no processo de treinamento da rede. 
Caso o rétulo conhecido seja um numero real, a tarefa de busca pela solu- 
¢ao é chamada de regressdo. Ja no caso em que 0 rotulo venha de um conjunto 
finito, bem como ndo ordenado, temos uma tarefa de classificacao. 
A Figura 8 apresenta dois casos de aprendizagem supervisionada. A esquer- 
da, tem-se uma tarefa de Classificagdo, na qual o algoritmo de RNA objetiva 
criar uma linha diviséria entre os elementos diferentes. A direita, os pontos 
apresentam um comportamento positivo crescente, com rdtulos (labels) iguais 
e oriundos (hipoteticamente) de numeros reais. Nesse caso, temos um tipico 
APRENDIZAGEM PROFUNDA ® 
formato de Regressdao.
Classificacao Regressao 
 
Figura 8. Di 
Regressao 
Os algoritmos de Regressdo mais utilizados sao os de Regressdo Linear e 
 
Regressdo Logistica. Veja, no Grafico 1, a diferenga entre eles. 
GRAFICO 1. DIFERENCA ENTRE REGRESSAO LINEAR E REGRESSAO LOGISTICA 
 
Regressao Linear Regressdo Logistica 
 
 
 
 
Y previsto pode y 
exceder 0 intervalo 
entre0e1 
Y previsto esta 
contido no intervalo 
entreQe1 
Na representagdo a esquerda, temos uma linha reta que cruza 0 eixo X. Nessa 
situagdo, o valor de predi¢do para Y pode exceder 0 intervalo entre 0 e 1. Ja na ima- 
gem a direita, temos uma Regressdo Logistica. Nesse caso, perceba que a linha nado 
é eta, e sim sinuosa. O valor de predic¢ao para Y esta dentro do intervalo entre 0 e 1. 
APRENDIZAGEM PROFUNDA ®
Vamos compreender em mais detalhes 0 significado e aplicagdes destes dois 
tipos de regressdo. 
Regressao Linear 
A Regressdo Linear € um dos métodos mais encontrados dentro da area de 
Aprendizagem de Maquina. Para exemplificar seu funcionamento, vamos criar uma 
situacgdo hipotética. Suponha que vocé precise analisar e comparar um conjunto de 
casas por meio de dois atributos: tamanho (t) e preco (p). Vamos imaginar, ainda, que 
queremos desenvolver um programa de computador que receba 0 dado t (tamanho 
da casa) e retorne o dado p (prego estimado). 
Neste caso, esse sistema deveria possuir uma funcao f para retornar o preco, 
como: p = f(t). Tal fun¢gdo deveria ser explicitamente programada dentro do sistema. 
Suponha que vocé nao faga a minima ideia sobre qual funcdo se trata. Nesse 
caso, devemos definir um conjunto (familia) de regras para f, como f(t) = at + b, coma 
e bdescritos como parametros nao especificados (graus de liberdade) que precisam 
ser definidos com base nos dados disponiveis e, logicamente, segundo tal estratégia. 
Para um problema de Regressdo Linear, a ideia é simples: selecionar valores para 
aeb, tal que a soma do erro quadrado entre as saidas reais e as saidas esperadas 
seja minimizado. 
Regressdo Logistica 
A Regressdao Logistica nao possui premissa basica. Diferentemente da Regressdo 
Linear, ha a necessidade da existéncia de uma relac¢do linear entre as variaveis expli- 
cativas e as variaveis respostas. A Regressdo Logistica leva este nome por utilizar uma 
fungao logaritmica na expressdao de sua resposta grafica. 
Além disso, a Regressdo Logistica possui um retorno binario para Y (0 ou 1). Eles 
sdo denominados como “fracasso” e “sucesso”, respectivamente. Dessa forma, po- 
demos dizer que a Regressdo Logistica € recomendada para situagdes nas quais a 
variavel dependente é de natureza dicotémica ou, ainda, binaria. 
 
 Funcées de ativacgao 
Um dos componentes mais importantes em uma rede neural é a funcao de ati- 
vacgao. Caso uma RNA nao possua uma fungdo de ativac¢do, o resultado originado 
pela soma entre todos os dados de entrada (x), multiplicados pelos seus pesos (w), 
mais um bias (6), € 0 de uma fungdo de transformacao linear simples. 
APRENDIZAGEM PROFUNDA ©
Para exemplificar 0 calculo realizado dentro de uma RNA simples, vamos ana- 
lisar 0 neurénio biolégico representado na Figura 9 e o neur6nio artificial repre- 
sentado pela Figura 10. Na Figura 10, é possivel identificar as entradas de dados 
(x7, ..., xn), bem como seus respectivos pesos (w7, ..., wn). Eles sao multiplicados, 
somados e, posteriormente, acrescidos de um bias (b), gerando uma fungao f. 
Impulsos 
transmitidos para 
© corpo celular 
Ramificagées dos 
axénios 
Terminal 
dos axGnios 
Impulsos transmitidos 
para o sentido externo 
ao corpo celular 
Corpo celular 
> wxte 
7 Saida do axGnio 
Fungo de ativacao 
1: 28/10, 
 
Figura 10. Neurénio artificial em model atico. Fonte: CS23 
 
APRENDIZAGEM PROFUNDA ©
A fungdo de ativagdo cria uma transformacao nao linear aplicada aos dados 
de entrada, permitindo que seja realizado um aprendizado de tarefas mais com- 
plexas na rede. 
DICA 
Tipos de dados complexos, como audios, fala, video e outros, requerem 
transformacoes nao lineares. 
® * Treinamento 
O processo de treinamento é uma das etapas mais importantes na verificagdo 
 
de eficacia de uma RNA. Ele consiste em realizar uma insergdo de dados na cama- 
da de entrada, ajustando os pesos das camadas intermedidarias até que se obtenha 
o resultado desejado na camada de saida. 
Durante a etapa de treinamento, é realizado 0 calculo de erro da execugao. O 
objetivo do treinamento é, portanto, minimizar o erro entre o resultado esperado 
e aquele obtido no treinamento atual. 
Existem basicamente trés grupos de treinamento em RNA baseados em apren- 
dizado: 
1. sem treinamento: os pesos sdo previamente estabelecidos e sofrem ape- 
nas um ajuste; 
2. treinamento supervisionado: os dados para a camada de entrada sao in- 
formados, bem como os valores de saida, existindo a necessidade de verificacao 
das saidas existentes (se estado corretas ou nao); 
3. treinamento nao supervisionado: a rede extrai as caracteristicas dos dados 
de entrada, realizando agrupamentos em classes, também conhecidos como clusters. 
Sabemos também que, de acordo com Chettri, Cromp e Birmingham, no artigo 
“Design of neural networks for classification of remotely sensed imagery”, publi- 
cado em 1992: 
O treinamento da rede é concluido quando o erro é menor que um 
dado limiar, ou um numero maximo de iteracdes definido. E impor- 
tante evitar o excesso de treinamento, conhecido como overfitting, 
uma vez que a rede pode classificar perfeitamente os dados de trei- 
namento, mas ndo funcionar com os dados de teste (tradu¢ao livre). 
APRENDIZAGEM PROFUNDA ©
Por fim, é valido ressaltar que estima-se que o cérebro humano possui 86 
bilhdes de neurdnios, com conexées antigas e novas sendo realizadas a cada 
milissegundo. Podemos concluir, portanto, que a Aprendizagem Profunda, quan- 
do comparada ao cérebro humano em termos de poténcia, esta apenas engati- 
nhando. Mas sua evolucdo é constante. 
APRENDIZAGEM PROFUNDA ©
Sintetizando e 
SSS? 
Nesta unidade, tratamos dos conceitos de Inteligéncia Artificial e Aprendi- 
zagem de Maquina. Tragamos a relagdo entre essas areas e a Aprendizagem 
Profunda. 
O tema de Aprendizagem Profunda foi introduzido e, com isso, pudemos al- 
cancar todos os objetivos tragados para esta unidade, uma vez que 0 aluno foi 
ambientado na area de Inteligéncia Artificial e de Machine Learning. Também 
mostramos as principais divisdes e aplicagdes destes conceitos. 
Este é um tema que traz muita duvida e discussdo na area da Ciéncia da Com- 
puta¢gdo, muito embora nao se trate de um assunto novo. Seu crescente uso 
se deve a disposi¢do de recursos computacionais que ainda ndo possufamos 
tempos atras. 
Desse modo, falamos sobre seus tiposde redes neurais (Machine Learning e 
Aprendizagem Profunda), suas dimensionalidades, classificagées e tipos de re- 
gressdo (Linear e Logistica). 
Conseguimos, por fim, entender o quanto a Aprendizagem Profunda pode ser 
utilizada em nosso dia a dia, como funciona a Classificagdo e Regressdo dentro 
da drea, bem como 0 treinamento de redes neurais. 
Falamos também sobre Dimensionalidade e um pouco da matematica utilizada 
nestas redes neurais artificiais por meio das fung6es de ativacgao. 
APRENDIZAGEM PROFUNDA ©
Referéncias bibliograficas e 
AKERKAR, R. Introduction to artificial intelligence. [s.|.]: PHI Learning Pvt. 
Ltd., 2014. 
ANADIOTIS, G. Caffe2: Deep Learning with flexibility and scalability. ZDNet, 01 
mai. 2017. Disponivel em: <https://www.zdnet.com/article/caffe2-deep-learnin- 
g-wide-ambitions-flexibility-scalability-and-advocacy/>. Acesso em: 19 out. 2019. 
AREL, |; ROSE, D. C; KAMOWSKI, T. P. Deep Machine Learning - A New Frontier in 
Artificial Intelligence Research. IEEE Computational Intelligence Magazine, 5, 
EUA, pp.13-18, 2010. 
BEZERRA, E. Introdugao a Aprendizagem Profunda. In: 31° Simpésio Brasileiro 
de Banco de Dados, Salvador, 2016. 
BITTENCOURT, R. J.; OSORIO, F. Sistemas Inteligentes baseados em redes neurais 
artificiais aplicados ao processamento de imagens. In: | Workshop de Inteligén- 
cia Artificial, Universidade de Santa Cruz do Sul, [s.I.], 2000, pp. 1-19. Disponivel 
em: <http://osorio.wait4.org/oldsite/wia-unisc/wia2000-mini.pdf>. Acesso em: 
29 out. 2019. 
CHETTRI, S. R.; CROMP, R. F.; BIRMINGHAM, M. Design of neural networks for 
classification of remotely sensed imagery. Telematics and Informatics, [s.|.], 
1992, v. 9, pp. 145-156. 
CS231n. Convolutional Neural Networks for Visual Recognition (Stanford 
University). Disponivel em: <http://cs231n.github.io/neural-networks-1/>. Aces- 
soem: 19 out. 2019. 
D'ANGELO, H. Cérebro humano tem 16 tipos diferentes de neurdnios, reve- 
la estudo, Revista Superinteressante, Sdo Paulo, 2016. Disponivel em: <ht- 
tps://super.abril.com.br/saude/cerebro-humano-tem-16-tipos-diferentes-de- 
-neuronios-revela-estudo/>. Acesso em: 29 out. 2019. 
DANTAS, G.; GODOI, L. F.; NETO, S. P. Ferramenta para automatizacao do pro- 
cesso de concessao de crédito utilizando de conceitos de Inteligéncia Artificial. 
Ensaios USF, [s.I.], v. 1, n. 1, pp. 117-129. Disponivel em: <http://ensaios.usf.edu. 
br/ensaios/article/view/63>. Acesso em: 29 out. 2019. 
DESHPANDE, A. Deep Learning research review week 2: Reinforcement Lear- 
ning. Adeshpande. Disponivel em: <https://adeshpande3.github.io/Deep-Learnin- 
g-Research-Review-Week-2-Reinforcement-Learning>. Acesso em: 29/10/2019. 
APRENDIZAGEM PROFUNDA ©
ENCYCLOPEDIA BRITANNICA. Perceptrons | computer science | Britannica. 
com. Disponivel em: <https://www.britannica.com/technology/perceptrons>. 
Acesso em: 19 out. 2019. 
ERTEL, W. Introduction to artificial intelligence. [s.|.]: Springer Science & Busi- 
ness Media, 2011. 
FAUSETT, L. V. Fundamentals of neural networks: architectures, algorithms, 
and applications. [s.I.]: Prentice-Hall, 1994. 
GITHUB. GitHub - dsacademybr/DeepLearningBook: Repositorio do Deep 
Learning Book - www.deeplearningbook.com.br. Disponivel em: <https://gi- 
thub.com/dsacademybr/DeepLearningBook>. Acesso em: 19 out. 2019. 
GITHUB. Deep Learning Research Review Week 2: Reinforcement Learning - 
Adit Deshpande - Engineering at Forward | UCLA CS ‘19. Disponivel em: <https:// 
adeshpande3.github.io/Deep-Learning-Research-Review-Week-2-Reinforce- 
ment-Learning>. Acesso em: 19 out. 2019. 
GOODFELLOW, |; BENGIO, Y; COURVILLE, A. Deep Learning: Adaptive Computa- 
tion and Machine Learning series. Cambridge: MIT Press, 2016. 
GUIMARAES, H. R. Recuperagdo de informagées musicais: uma abordagem 
utilizando Deep Learning. 2018. 65 f. Projeto de graduacao - Escola Politécnica, 
Universidade Federal do Rio de Janeiro, 2018. Disponivel em: <http://monogra- 
fias.poli.ufrj.br/monografias/monopoli10025687.pdf>. Acesso em: 29 out. 2019. 
HAYKIN, S. Redes Neurais: Principios e Pratica. 2. ed. Porto Alegre: Bookman, 
2001. 
LECUN, Y.; BENGIO, Y.; HINTON, G. Deep Learning. Nature, [s.1.], 2015, v. 521. Dis- 
ponivel em: <https://www.cs.toronto.edu/~hinton/absps/NatureDeepReview. 
pdf>. Acesso em: 29 out. 2019. 
LUDWIG, O.; COSTA, E. M. M. C. Redes neurais: fundamentos e aplicacdes com 
programas em C. Rio de Janeiro: Editora Ciéncia Moderna, 2007. 
OLIVEIRA, E. L. Redes neurais artificiais e reconhecimento de caracteres nu- 
méricos em imagens. 2018. 105 f. Trabalho de Conclusdo de Curso - Funda¢ao 
Educacional do Municipio de Assis (FEMA), Assis, 2018. Disponivel em: <https://ce- 
pein.femanet.com.br/BDigital/arqiccs/1611320164.pdf>. Acesso em: 19 out. 2019. 
OLIVEIRA, W. Software para reconhecimento de espécies florestais a partir 
de imagens digitais de madeiras utilizando Deep Learning. 2018. 103 f. Disser- 
tacdo de Mestrado - Universidade Tecnoldgica Federal do Parana, Medianeira, 
APRENDIZAGEM PROFUNDA ©
2018. Disponivel em: <http://repositorio.utfpr.edu.br/jspui/bitstream/1/3189/1/ 
MD_PPGTCA_M_Oliveira%2c%20Wellington_2018.pdf>. Acesso em: 29 out. 2019. 
PICKELL, D. The complete guide to Machine Learning in 2019. G2, [s.I.], 24 jun. 
2019. Disponivel em: <https://learn.g2.com/machine-learning>. Acesso em: 29 
out. 2019. 
REDES NEURAIS E MACHINE LEARNING - Nerdologia tech. Postado por Nerdo- 
logia. (9 min.12s.). son. color. port. ou leg. Disponivel em: <https://www.youtube. 
com/watch?v=1_c_MA1F-vU>. Acesso em: 19 out. 2019. 
ROSENBLATT, F. The perceptron: a perceiving and recognizing automaton. Re- 
port 85-460-1, Cornell Aeronautical Laboratory, 1957. Disponivel em: <https:// 
blogs.umass.edu/brain-wars/files/2016/03/rosenblatt-1957.pdf>. Acesso em: 29 
out. 2019. 
RUSSELL, S. J.; NORVIG, P. Artificial Intelligence: a modern approach. New Jer- 
sey: Editora Prentice Hall, 1995. 
SILVA, G. C. Detecgao e contagem de plantas utilizando técnicas de Inteligén- 
cia Artificial e Machine Learning. 2017. 94 f. Trabalho de conclusdo de curso - 
Universidade Federal de Santa Catarina, Floriandpolis, 2018. 
VARGAS, A. C. G; CARVALHO, A. M. P; VASCONCELOS, C. N. Um estudo sobre re- 
des neurais convolucionais e sua aplicacdo em deteccdo de pedestres. SIBGRAPI 
- XXIX Conference on Graphics, Patterns and Images, Sdo José dos Campos, 
2016. 
WEIGHTS & BIASES. Multilayer Perceptrons. Disponivel em: <https://www.wan- 
db.com/classes/intro/class-2-notes>. Acesso em: 19 out. 2019. 
APRENDIZAGEM PROFUNDA ©
 
 
se. 
Sef 
educacional
Ome M TCLs 
@ Apresentar e descrever os principais algoritmos de otimizacao; 
@ Apresentar backpropagation, também conhecido como backward- 
propagation ou backprop; 
@ Apresentar e descrever os principais tipos de gradiente; 
@ Apresentar entropia cruzada. 
Topicos de estudo 
©@ Algoritmos de otimizacgao ® Gradiente 
Algoritmo Adagrad Descida de gradiente em lote 
Algoritmo RMSprop Descida estocastica de gradientes 
Algoritmo Adadelta de minilote 
Algoritmo Adam Gradiente estocastico 
Algoritmo Momentum 
PAF eXoYaldanteM Nick] ® Entropia cruzada 
Accelerated Gradient (NAG) 
®@ Backpropagation 
Backpropagation Through 
Time (BPTT) 
APRENDIZAGEM PROFUNDA © 
&e 
Algoritmos de otimizagao 
De acordo com informacées retiradas do site Dive Into Deep Learning, os algorit- 
mos de otimizacdo sao ferramentas de extrema importancia para a construgdo de 
modelos eficientes de redes neurais artificiais (RNAs), pois através do uso delas é 
possivel alterar pardmetros de treinamento e, assim, conseguir minimizar o valor 
da fungdo de perda. Para muitas pessoas que executam tarefas mais simples em 
RNAs, algoritmos de otimizagdo mais comuns, como AdaGrad, RMSProp, Momen- 
tum, Adadelta, Nesterov, entre outros, ja sdo suficientes devido a boa performan- 
ce em varios casos de aplicacao. 
Porém, para fazer bem um trabalho com a performanceou uso de recursos 
computacionais, é preciso ter um conhecimento mais aprofundado sobre 0 que 
sdo algoritmos de otimizacdo, seus tipos e sua importancia para o aprendi- 
zado profundo ou Deep Learning (DL). Por outro lado, existem treinamentos 
de modelos que sao complexos quanto ao aprendizado profundo, que levam 
dias ou semanas. E a escolha por um algoritmo de otimizac¢dao vai interferir na 
performance do modelo. Dessa forma, ter uma percepc¢ao sobre alguns dos 
principais algoritmos de otimizacado e 0 porqué de cada pardmetro dara mais 
preparo para uma maior performance dos algoritmos de otimiza¢do e, por con- 
sequéncia, tornara a rede neural artificial mais eficiente. 
Neste topico serdo analisadas as relagdes entre os algoritmos de otimiza- 
¢do e as técnicas de aprendizado profundo. Para aplica-los em um problema 
de treinamento, é definida qual é a fungdo de perda e, para tanto, se aplica 
um algoritmo de otimizacao para tentar diminui-la. No processo de otimiza- 
¢do, a funcdo de perda é mencionada como uma funcao objetivo do problema 
de otimizagao. Via de regra, a maior parte dos algoritmos de otimizagao estdo 
preocupados com a minimizacdo dos erros. A seguir, serdo apresentados os 
principais algoritmos de otimizacao. 
© * Algoritmo Adagrad 
O algoritmo de Adagrad funciona com o uso de variadveis cumulativas “st”, 
 
valor obtido numa operacao quadrada por elementos no gradiente estocastico 
de minilote gt, no qual, no passo 0, o Adagrad comega a inicializar os elementos 
APRENDIZAGEM PROFUNDA ©
em sO a 0. Na fase do tempo t, 0 passo inicial € somar os valores da operagao 
quadrada mediante um elemento para 0 gradiente de minilote gt para se obter 
uma varidvel st: 
st<—st-1+gtOgt 
O simbolo © € 0 sinal de multiplicagdo por um elemento. Depois, é rea- 
justada a taxa de aprendizado para cada variavel, independente da fun¢gdo de 
objetivo, pelas operacées de elemento. 
N 
VS,+€ 
O valor de aprendizado é representado por 7, enquanto € € é uma constante 
inserida para manter a estabilidade numérica, como 10°°, em que as operacées 
X,<—X,,- Og, 
de raiz quadrada, divisdo e de multiplicacdo sao as operacdes do elemento, de 
modo que cada elemento disposto na variavel independente da func¢ao possui 
o seu proprio valor de aprendizado apés as operacgées de elementos 
Os algoritmos de Adagrad possuem algumas qualidades a serem inter- 
pretadas para melhor conhecimento sobre seu funcionamento. A variavel 
cumulativa st € produzida por uma operacdo quadrada por meio de ele- 
mentos no gradiente estocastico de minilote, que faz parte de um denomi- 
nador de taxa de aprendizado. Desta forma, se um elemento na variavel, 
independente de uma funcao de objeto, possuir uma derivada parcial de 
valor constante e grande, a taxa de aprendizado do mesmo caira rapida- 
mente. E, ao contrario, se a derivada parcial de um elemento se mantiver 
pequena, sua taxa de aprendizado tendera a diminuir lentamente. Por- 
tanto, desde st, que soma 0 gradiente quadrado por elemento, a taxa de 
aprendizado do mesmo de cada elemento na variavel independente ou 
diminuira ou permanecera inalterada durante a interacdo. 
Em outras palavras, quando ocorre da taxa cair muito ligeiramente durante 
as execucées iniciais, porém a solugdo inicial ainda nao é suficientemente boa, 
o algoritmo de Adagrad nao se sai muito bem para encontrar uma boa solucao, 
tendo em vista que a taxa de evolucdo no aprendizado sera muito baixa nas 
proximas execucées do treinamento. 
A fungao objetivo f(x) = 0. KG a 0.2x, é um exemplo para pesquisar o tra- 
jeto interativo da variavel independente em Adagrad. Caso queira se aplicar 
em cddigo o algoritmo de Adagrad, a trajetdria da variavel fica independente 
APRENDIZAGEM PROFUNDA ©
e mais leve. No entanto, por causa do efeito somatorio de st, a taxa do apren- 
dizado cai continuamente, uma vez que a variavel independente ndo se altera 
muito nos proximos estagios da interacao. 
@ &» 
Algoritmo RMSProp 
O algoritmo de otimizagao RMSProp, embora seja um algoritmo que, assim 
como o Adagrad, ndo faz 0 uso de descida de gradiente, tem caracteristicas 
diferentes, uma vez que a variavel de estado st é classificada como uma soma 
de quadrado por elemento. Da mesma forma que todos os gradientes estocas- 
ticos do minilote gt até a fase do tempo t, o RMSProp faz 0 uso da média movel 
ponderada exponencialmente no quadrado pelos resultados dos valores dos 
elementos dos gradientes. Para ser mais exato, por intermédio do hiperpara- 
metro 0 <y <10 <y <7, o RMSProp funciona se baseando no calculo do intervalo 
do tempo t> 0. 
St<—yst-1+(1-y)gt©Ogt 
Algumas funcgées do RMSProp sdo parecidas com as do Adagrad, como o 
fato do RMSProp reajustar o seu valor de aprendizado de cada elemento em 
uma variavel independente de sua fungao objetivo com operacgées do elemen- 
to e, em seguida, adaptar o valor na variavel independente: 
N 
VST+€ Og, 
Segundo a funcdo acima, 0 n representa o valor de taxa de aprendizado, 
X,<—X,,- 
que ocorre ao mesmo tempo que € se mantém como uma constante adiciona- 
da com 0 objetivo de se manter uma estabilidade numérica, como 10-"°. 
© ° Algoritmo Adadelta 
Assim como o RMSProp, 0 Adadelta também é um algoritmo de otimizagao 
 
bastante comum e que tem como um dos seus objetivos de desenvolvimento 
encontrar solugdes boas em fases posteriores da interagdo, o que é compli- 
cado de se fazer ao aplicar algoritmos como Adagrad para tentar resolver o 
problema. Algo bastante curioso é que o algoritmo Adadelta nao possui hiper- 
APRENDIZAGEM PROFUNDA © 
pardmetro para valor de aprendizagem.
Semelhante ao algoritmo RMSProp em algumas propriedades, o Adadelta 
utiliza a variavel st que, por sua vez, € um EWMA nos seus quadrados de ele- 
mentos em gradiente estocastico de seus minilote gt. No passo 0, todos os 
elementos estdo iniciados com 0. Entdo, é dado 0 hiperpardmetro 0 < p< 1 (ao 
contrario do de yno RMSProp) em fase do tempo em t > 0. 
St <— pst-1+(1-p)gtOgt 
Diferentemente do que acontece com o RMSProp, 0 algoritmo Adadelta pro- 
cura ter uma variavel com o estado adicional, Axt, no qual os elementos tam- 
bém se iniciam na fase 0. No Adadelta, 0 Axt - 7 verifica a variagdo da variavel 
independente: 
8 ey [Pu O8, 
S,+€ 
Na equacdao, € €é uma constante colocada para fazer uma estabilidade nu- 
mérica com 10-5, Em sequéncia, se altera o valor da variavel independente: 
xt <— xt, 8", 
Por fim, se usa Ax e registra o EWMA nos quadrados dos elementos g", visto 
que é uma variagdo de uma variavel independente: 
Ax, <— pAx,,+ (1 - p)8',O8'- 
Assim, é possivel saber se o impacto de € nao é avaliado aqui, com o Adadel- 
ta se diferenciando do RMSProp com a substituigdo do hiperparametro n com: 
vAX,, 
© * Algoritmo Adam 
Diederik Kingma e Jimmy Ba, no artigo “Adam: A Method for Stochastic Op- 
 
timization”, publicado em 19 de novembro de 2015 na revista The Berkeley View, 
descrevem 0 algoritmo de Adam como uma técnica de otimizagdo de funcgdes 
objetivas estocasticas a partir de gradientes de primeira ordem e se baseando 
na estimac¢do adaptativa de momento de ordens anteriores. O seu nome vem 
do inglés “Adaptive Moment Estimation", ou “estimacao dos momentos adaptati- 
vos". Logo, ele € 0 algoritmo que realiza uma estimagdo média de um momento 
adaptativo, combinando algumas das qualidades do AdaGrad e do RMSprop. 
Ainda segundo os autores este algoritmo se vale de técnicas que combinam 
as taxas de aprendizado adaptativas de forma separadas para os varios para- 
metros com base nos calculos de estimativa, nos momentos de primeira e de 
APRENDIZAGEM PROFUNDA ©
segunda ordem dos gradientes. Em suma, o Adam é um algoritmo de otimiza- 
¢do para redes neurais artificiais profundas que trabalha a partir da otimizagao 
baseada em gradientes de primeira ordem e calcula os valores de aprendiza- 
gem para cada um dos parametros. 
DICA 
0 funcionamentodo algoritmo Adam pode ser feito em 5 passos, resumi- 
dos por Kingma e Ba: 
1-0 primeiro passo do algoritmo é calcular qual sera o gradiente eo 
quadrado de elementos do mesmo por parametros atuais; 
2-0 Adam adapta a média local exponencial do momento da 1° ordem e 
do momento da 2? ordem; 
3-E feito o calculo da média nao parcial do momento da 1° ordem assim 
como do momento da 2° ordem; 
4-E realizar os calculos para a atualizagao dos valores dos pesos: pela 
média imparcial dos momentos de 1° ordem que sao divididos pela raiz 
quadrada do valor de média imparcial do momento de 2° ordem (escala 
através da taxa de aprendizado); 
5 - A partir disso é feito 0 ajuste nos pesos do algoritmo. 
Liset Romaguera, autora de Segmentacdo do miocdrdio em imagens de MRI 
cardiaca utilizando redes neurais convolutivas, tese defendida em 2017, declara 
que é necessario 0 uso de alguns calculos para que o mesmo funcione correta- 
mente, como Se vé na equac¢ao a seguir: 
(m),= B,(m,,), + (1- B) (V L(w), 
(V),= BAV,,), + (1 - BY (V L(w)y’, 
= vi -(B)' (mJ) (W,,,), = (w,),- @ ~—— i 
? V1 -(B,)t, Vv), € 
Ainda de acordo com Romaguera, é possivel notar que a € 0 valor da taxa 
 
de aprendizado B,' e B,', denotando que f7 e B2 sobre a poténcia t,VL(Wt) é 0 
valor do gradiente da fungdo de erro conferida pelo vetor de pesos Wt. Desta 
forma, 0 algoritmo atualiza as médias méveis, exponenciais do gradiente (mt) e 
do gradiente quadrado (vt) em que os valores de hiperparametros £7, B2 € [0, 1) 
manipulam apenas as taxas de decaimento exponencial de suas médias moveis. 
As médias méveis sao estimativas do primeiro (a média) e do segundo momento 
raso (conhecida como variancia nao centrada) do gradiente. Nao obstante, os 
valores de médias méveis se inicializam como vetores de zeros, levando as esti- 
APRENDIZAGEM PROFUNDA ©
mativas dos momentos que estdo polarizados para zero, principalmente duran- 
te o processo de passos de tempo iniciais, quando as taxas de decaimento sdo 
baixas e os Bs estado com valores préximos a 1. Segundo os desenvolvedores do 
algoritmo, a = 0.001, 87 = 0,9, B2 = 0,999 e € = 10* sdo boas configuracgées para a 
aplicagado em grande parte dos algoritmos de aprendizagem profunda. 
wy * Algoritmo Momentum 
De acordo com dados do site Data Science Academy, 0 algoritmo de Momen- 
 
tum altera a descida do gradiente de duas formas, o que torna mais proximo 
a imagem fisica dado que, primeiramente, ele adiciona a nocdo de velocidade 
Para os parametros que esta tentando ajustar e, a partir dai, o gradiente tra- 
balha para alterar a velocidade para os valores de pardmetros em ajuste e ndo 
a sua posi¢do, da mesma maneira que as forgas fisicas alteram a velocidade 
mudando a posicao indiretamente. Em segunda caracteristica, o método Mo- 
mentum trabalha com a introdugdo de um termo de friccdo que reduz gradual- 
mente a velocidade. 
Uma descricdo matematica mais exata disto é feita pela introdugdo de va- 
riaveis de velocidade v = v7, v2., com uma para cada valor existente na variavel 
WJ correspondente. Desta forma, substitui-se a regra de atualizacdo para des- 
cida de gradiente w' = w - nVC por 
v— v’=pv-nvce 
w—> WwW =wev’, 
Assim, 0 pf vira um hiperparametro que consegue controlar o numero 
de amortecimento ou de atritos do sistema. O primeiro valor em p = 7 
significa que ndo ha atrito. Enquanto isso, a analise das equagdes mos- 
tra que a “forca” VC esta alterando a velocidade e, por- 
tanto, ela esta gerenciando o valor da variacdo de W. 
 
Uma forma de aumentar a velocidade é com a adi- 
¢dao de repetidos termos de gradiente a ela. Seo 
gradiente estiver proximo da mesma diregdo por 
varias execucdes do algoritmo de aprendizado, sao 
desenvolvidas fungées indo nessa direcdo, conforme 
mostra 0 Grafico 1. 
APRENDIZAGEM PROFUNDA ©
GRAFICO 1. FUNCIONAMENTO DA FUNCAO DE GRADIENTE, COM UMA 
ESFERA VERDE AGINDO COMO FUNCAO DE ERRO 
 
Fontw: DATA SCIENCE ACADEMY, 2019 
Assim como acontece com uma bola de futebol solta num declive, quan- 
to mais proximo ela chega ao fim do declive, mais rapidamente ela tende a 
correr. Algo semelhante acontece com a fungdo Momentum e, por isso, ela 
funciona muito mais rapido que a funcgdo de descida de gradiente padrao. 
Mas, assim como acontece com uma bola em um desfiladeiro, o mesmo 
acontece com a fungao Momentum, visto que a bola pode chegar no ponto 
mais baixo, estar embalada e subir para o outro lado. Deste modo, se a fun- 
¢ao Momentum nao estiver com os parametros configurados corretamente, 
a funcdo tem uma taxa de erro bastante baixa e, a medida que 0 algoritmo 
de treinamento é executado, aumenta a taxa de erro. Assim, os hiperparda- 
metros séo mudados no momento correto e rapidamente. Do contrario, 0 
algoritmo vai para o lado errado e aumenta, em vez de diminuir, a taxa de 
erro. 
Como ja mencionado, o pardmetro p serve para controlar a quantida- 
de de atrito do sistema, ou seja, em 7 - p ha uma quantidade de atrito no 
sistema. Quando p = 7, ndo tem atrito, mas ha velocidade, controlada pelo 
gradiente VC. Ficando em contraste com p = 0, quando ha muito atritoe a 
velocidade ndo se acumula. Com as funcées citadas, é possivel reduzir a 
equacdo do uso dos gradientes decente, w—» w '=w- nVC. Em outras pala- 
vras, o uso de valores entre 0 e 1 é benéfico, porque aumenta a velocidade 
do aprendizado ou a diminui pelo atrito, sem que haja alteragdes bruscas no 
APRENDIZAGEM PROFUNDA ©
valores dos pesos das informacgées passadas para os neurdénios, de forma 
que as alteragdes sejam tao bruscas que, em vez de melhorarem a perfor- 
mance do algoritmo, piorem o rigor da performance neste quesito. 
@ &» 
Algoritmo Nesterov Accelerated Gradient (NAG) 
De acordo com Roan Gylberth, no artigo “Momentum Method and Nesterov 
Accelerated Gradient”, escrito para o site Konvergen.Al em 2018, o algoritmo 
de Nesterov, avaliado por alguns pesquisadores como a evolucao do método 
Momentum, trabalha no ponto da computagdo de gradientes. No método Mo- 
mentum, 0 gradiente foi calculado por meio dos pardmetros atuais Ot: 
n 
&= wit , VOL (m®, y”,8.), 
No algoritmo Nesterov, utiliza-se a velocidade vt junto aos pardmetros 0, a 
fim de conseguir calcular os parametros provisorios 0. Apds isso, sera calcu- 
lado o gradiente valendo-se dos parametros provisorios, conforme mostra a 
equacao a seguir: 
6=6.+ av, 
Te x 
BN AG = — JX VOL (x", y",8) 
i=1 
Assim que se obtém os gradientes, atualizam-se os parametros com uma 
regra para atualizacdo semelhante ao Momentum: 
vt+1=av,-ng 
6,+ 1=6,+Vv,+ 1, 
em que a Unica diferenga sao os gradientes: 
vt + 7 =av,-ngN AG 
6.+17=6,+V,+ 1. 
Ainda com base no exposto por Gylberth, os gradientes de Nesterov sao 
analisados como uma técnica de corregdo para o método Momentum. O va- 
lor de velocidade adicionado para 0 pardmetro traz uma perda indesejada 
de dados, como o caso de estouro de gradiente. Nesse caso, a o algoritmo 
de gradiente é lento, pois o método de otimizacdo exibe grandes oscilagées. 
Ja no Nesterov, é possivel vé-lo averiguando outros parametros provisorios 
que foram adicionados, o que da uma vantagem analitica nos parametros 
APRENDIZAGEM PROFUNDA ©
atualizados. Caso a atualizagdo tenha implicado uma reducdo de perfor- 
mance no algoritmo, a mesma atualizacdo é desfeita, ajudando o algoritmo 
a evitar oscilagdes. 
 
 Backpropagation 
Na area de Inteligéncia Artificial (Al), em especifico na subarea de Deep 
Learning (DL) ou Aprendizagem Profunda, é comum ler, ver ou ouvir falar sobre 
a palavra backpropagation, também conhecida por alguns sinédnimos, como 
backward propagation ou backprop. 
O termo backpropagation é bem-conceituado como método para calcular 
o gradiente dos parametros de uma rede neural. Em conceito mais especifico, 
ele calcula e armazena as variaveis intermediarias de uma funcao objetiva, re- 
lacionada com cada camada da rede neural e o gradientedos parametros, isto 
é, ocorrendo em ordem, da camada de saida para a camada de entrada, em 
acordo com a Regra da Cadeia em Calculo, expressada no Quadro 1. 
QUADRO 1. REGRA DA CADEIA 
a ar 
etna Me Re Meet W te meee MU Ree el as(e 
ere duas funcGes diferenciaveis: y - f(x) e x = g(t). a derivada da fungao 
composta f(g(t)) 6 calculada por meio da Regra da cadeia: 
(fG(O) = FED) - 81) =f) - 80) 
A regra acima pode ser reescrita de uma maneira mais sugestiva, 
usando a notagao de Leibniz: 
 
Curiosamente, ao pronunciar o termo backpropagation, iniciando-se 
pela palavra “back”, do inglés, significando “para tras”), pressupde-se que 
haja um termo oposto, no caso, 0 termo é forwardpropagation, com “for- 
ward", do inglés, para frente. Back-propagation e forward-propagation, 
estdo relacionados e referem-se ao movimento ou fluxo nas redes neurais 
APRENDIZAGEM PROFUNDA @ 
numa mesma direcdo, mas em sentidos opostos.
Forwardpropagation, segundo os 
autores lan Goodfellow, Bengio e Cour- 
ville, no livro Deep Learning: Adaptive 
Computation and Machine Learning se- 
ries, de 2016, refere-se a quando uma 
rede neural baseada em feedforward 
 
aceita uma entrada X e produz uma sai- 
da Y. Durante o treinamento em redes neurais artificiais (RNAs), o movimento de 
forward-propagation continua até o momento em que produz um custo escalar 
(scalar cost). 
O foco de nossos estudos sera sobre backpropagation. Continuando a 
atividade em RNAs, backpropagation refere-se a quando um algoritmo, geral- 
mente apelidado de backprop pelos programadores, permite que a informagao 
daquele custo escalar (scalar cost) mova-se em fluxo para tras com objetivo de 
calcular ou computar o gradiente (gradient). 
ASSISTA 
0 video What is backpropagation really doing? | Deep 
learning, chapter 3, do canal 3Blue1Brown, ajuda a enten- 
 
der backpropagation de uma forma visual, sem ficar lendo 
livros e mais livros com equagdes matematicas. No canal, 
sao abordados outros assuntos de Deep Learning (DL). 
E importantissimo perceber, ainda segundo Goodfellow, Bengio e Courville 
(2016), que o algoritmo de backpropagation é o método para computar ou cal- 
cular o gradiente. Para que ocorra aprendizado ou aprendizagem com gradien- 
te, € empregue outro algoritmo, mas ndo o de backpropagation. Portanto, ele 
isoladamente nado resulta em aprendizado ou aprendizagem. 
ASSISTA 
Para dinamizar o aprendizado sobre Deep Learning (DL), 
assista ao video Backpropagation calculus | Deep learning, 
chapter 4, do canal 3Blue1Brown, no YouTube. O video é 
um pouco mais complexo, em termos de matematica e de 
calculo, do que o video anterior, mas, mesmo que nao se 
compreendam todas as formulas matematicas, o dinamis- 
mo do video ajuda a conceber o que é backpropagation. 
APRENDIZAGEM PROFUNDA @ 
 
© 7 Backpropagation Through Time (BPTT) 
A “Regra da Cadeia” em Calculo é importante ndo apenas no processo 
“comum” de Backpropagation, mas também no chamado Backpropagation 
Through Time (BPTT), uma aplicagdo muito especifica de Backpropagation, no 
caso de redes neurais recorrentes ou recurrent neural networks (RNNs). 
De acordo com o site Dive Into Deep Learning, o BPTT é conceituado como a 
aplicagao de backpropagation para sequenciar modelos com um estado oculto 
(hidden state), porém, com problemas computacionais, ja que sdo necessarios 
calculos muito complexos. E possivel usar a regra da cadeia, de Calculo, para 
programacdo recursiva, mas isto ndo é 0 ideal. Ainda assim, é indispensavel a 
truncagem dos dados. 
oc Gradiente 
De acordo com o artigo “ML Stochastic Gradient Descent (SGD)” do site 
Geeks For Geeks, as técnicas de gradientes descendentes sao populares para 
otimizar resultados em algoritmos de Deep Learning, sendo utilizadas na maio- 
ria dos algoritmos dessa categoria. Um gradiente é definido como uma incli- 
nacdo de uma fung¢do, com valor de alteragdo de algum parametro, de acordo 
com a quantidade de alteracdo de outro pardmetro. As fungées de gradientes 
sdo matematicamente expressas como derivadas parciais de um grupo de pa- 
rametros em relacao aos seus valores de entrada. 
A descida do gradiente é uma funcao do tipo convexa, descrita como um 
método iterativo aplicado para encontrar valores de parametros de uma fun- 
¢ao que minimizara ao maximo a funcdo de erro. Os valores dos 
 
 
pardmetros sao definidos por um valor especifico e, apds 0 Gra- 
dient Descent, executados de maneira interativa, a 
fim de obter os valores mais adequados para os 
parametros, por meio de calculos para encon- 
trar o valor minimo possivel da funcao de erro 
encontrada. Em seguida, serdo vistos os trés 
tipos de arquiteturas de algoritmos de gradien- 
tes mais frequentes. 
APRENDIZAGEM PROFUNDA ro)
 © = Descida de gradiente em lote 
O gradiente, conhecido também como descida de gradiente em lote, é uma 
funcao que otimiza a realizag¢do de funcdes complexas, de forma interativa, 
dentro de um algoritmo de computador. Em outras palavras, seu objetivo é dar 
uma funcao de valores aleatorios para encontrar um minimo de erro possivel 
Para pequenos subconjuntos de funcgées. Para aqueles que sdo convexos, ha 
apenas um Unico minimo que opera como valor global. 
Em algumas funcées de treinamento de algoritmos ha muitos minimos, ou 
valores de erro, locais. Entdo, é preciso se certificar de que 0 algoritmo de deep 
learning, através do algoritmo de otimizagdo de descida de gradiente, encon- 
trou o melhor minimo possivel, em vez de ficar preso em minimos subotimis- 
tas, um problema bastante comum durante o treinamento de algoritmos. 
Para simplificar a explicacdo sobre a descida do gradiente, suponha que ha 
uma fungao de varias variaveis e que carece de ser minimizada. Logo, aprovei- 
ta-se a técnica de Descida do Gradiente, visto que ela resolve esses tipos de 
problemas de minimizacao. Agora, pense também que se quer minimizar uma 
fungdo com os valores C(v), ou qualquer outra fungdo com valores variaveis. 
Assim, para minimizar C(v), o C é uma funcgao com duas variaveis, denominadas 
de v7 e de v2, conforme 0 Grafico 2. 
GRAFICO 2. ANALOGIA DA VISAO DO QUE £ UM ALGORITMO DE GRADIENTE 
no SSS 
 
Fontw: DATA SCIENCE ACADEMY, 2019, 
APRENDIZAGEM PROFUNDA ro)
O objetivo é descobrir onde a funcao C atinge o seu minimo de erro global. 
No Grafico 2, isto fica claro, porque se percebe o grafico de erro minimo na 
analise da imagem. Apesar disso, a etapa é complicada para 0 treinamento de 
um algoritmo, pois ndo é possivel visualizar um grafico para saber o qudo perto 
ou longe se esta do erro minimo. 
Uma das formas encontradas para tentar resolver o problema é 0 emprego 
de calculos, como Algebra Linear, para que se consiga chegar no valor minimo 
com base em uma forma analitica. Também se faz 0 uso do calculo de deriva- 
das para descobrir se a fungdo C esta subindo ou descendo no gradiente, ou 
melhor, se 0 erro esta ficando maior ou menor durante o treinamento, tendo 
bom desempenho quando a funcdo C tem apenas uma ou algumas variaveis, 
mas intricado se houver outras variaveis. Alguns algoritmos grandes, as vezes, 
fazem o uso de bilhdes de pesos e bias, uma forma emaranhada de se calcular 
para conseguir diminuir a fungdo de erro. Desta forma, algo a mais deve ser 
feito, no caso, de um algoritmo de otimiza¢gao capaz de minimizar C(v). 
Como a assimilagdo de como funciona um gradiente é algo bastante abs- 
trato, se recorrera a uma analogia para ajudar a decifrar o mesmo e encontrar 
uma solugdo. Comparando a funcdo com um vale, se imagina que ha uma bola 
rolando por sua encosta, conforme o Grafico 3. 
GRAFICO 3. EXEMPLO DE ANALOGIA 
 
 Peso inicial 
 
J (w) 
Custo minimo global 
Fontw: DATA 
 
ACADEMY, 2019. 
Se a bola rola para o fundo, é possivel adotar o mesmo método para en- 
contrar o minimo de erro da func¢ao, escolhendo aleatoriamente um ponto de 
partida e simulando seu movimentode descida no vale. Esse € um modelo de 
APRENDIZAGEM PROFUNDA ©
simulacao feito com derivadas aplicadas a fungao C e, por elas, se descobre 
tudo sobre o local no vale (fungdo C) em que a bola esta. Gragas as derivadas, 
é possivel verificar quando uma aceleracdo é crescente ou decrescente. Caso 
seja crescente, 0 erro esta subindo e 0 treino esta piorando. Na situagao opos- 
ta, a prescrigdo do treinamento esta aumentando quando a bola esta indo mais 
para a curva, ou melhor, o erro vai mais para baixo. 
Conforme o que consta no site Data Science Academy, a descida do gra- 
diente é um algoritmo de otimizagdo empregado para achar os valores de 
parametros (weight e bias) de uma funcdo, com 0 objetivo de diminuir o erro. 
Tal modelo de algoritmo é mais recomendado quando os parametros nao 
sao possiveis de serem calculados de uma forma analitica, como algebra 
linear, e eles sdo pesquisados por um algoritmo de otimizagdo. Tudo comeca 
com a aplicacgao de valores de inicio para o coeficiente ou coeficiente da fun- 
¢ao. O mesmo pode ser 0.0 ou, dependendo, um valor pequeno e aleatorio, 
ressaltando que a inicializacdo do coeficiente é uma parte importante, em 
que diversas técnicas sao aplicadas sob responsabilidade do cientista de 
dados que estudara o problema a ser resolvido e escolher qual o melhor 
algoritmo para tal aplicagdo. Assim, os coeficientes se iniciam ja com os va- 
lores de pesos e bias. 
coeficiente = 0.0 
O custo dos coeficientes é explorado por meio de liga¢gdes entre as fungdes 
e calculando o custo. 
custo = f (coeficiente) 
A funcao derivada, ou calculo diferencial, é um conceito que faz referéncia 
a inclinacao do eixo de uma fungdo em um ponto especifico. Para tanto, ha que 
se ter conhecimento sobre a inclinagdo do mesmo para aferir a direcdo do sinal 
e, a partir disso, mover os valores dos coeficientes para termos uma menor 
taxa de erro, ou custo, no préximo treinamento. 
delta = derivada(erro) 
Agora que as derivadas e 0 sentido em que esta o declive sdo conhecidos, 
modifica-se o valor dos coeficientes. Um parametro de valor de aprendizado 
tem que ser especificado para gerenciar o quanto os coeficientes conseguirdo 
alterar a cada atualizagdo. 
coeficiente = coeficiente - (alfa * delta) 
APRENDIZAGEM PROFUNDA ©
O processo é feito varias vezes até que o erro dos coeficientes (fungdo de 
erro) seja ou 0,0 ou o mais préximo o possivel disso, indicando que os resulta- 
dos fornecidos pela camada de saida da rede estdo cada vez mais proximos dos 
valores reais e o algoritmo de deep learning esta exato. 
A técnica de descida de gradiente é bastante complexa e exige que seja cal- 
culado o gradiente da fungdo de erro ou da funcao que esta sendo otimizada. 
Por isso, ela sera resumida. 
Ao pegar os dados e dividi-los em partes de amostras, cada amostra dos da- 
dos passa as entradas pela rede, fazendo a multiplicagao dos pesos e a soma, 
superficial em relagdo ao que é feito em uma rede neural artificial, para ter ao 
final uma saida, ou previsdo da rede. O resultado de safda da rede é comparado 
com a resposta certa, que calcula o erro pela diferenca entre o dado de saida 
eo dado original, retroagindo com o backpropagation e adaptando o valor dos 
pesos para cada neurdénio de cada camada. Depois do ajuste dos pesos, uma 
nova amostra produzida sera multiplicada pelo valor dos pesos ja atualizados. 
O procedimento de atualizar o valor dos pesos, dando prioridade a cada carac- 
teristica dos dados, é chamado de aprendizado. 
Examinando os dados mais recentes, nota-se que os algoritmos mais atuais 
de redes neurais artificiais profundas trabalham com uma nova técnica chama- 
da de minilotes (mini-batches). Nela, passam pela rede varias amostras a fim de 
aprimorar a exatiddo, calculando o valor médio de erro das amostras, fazendo 
o backpropagation e o ajuste do valor dos pesos. Tal conceito esta presente no 
treinamento de grandes modelos de aprendizado profundo. 
°e 
Descida estocastica de gradientes de minilote 
A cada execucdo, a descida do gradiente faz o uso de um conjunto de da- 
dos, batizados de dataset, para calcular o treinamento. Por esse motivo, ela é 
chamada de descida de gradiente em lote. Enquanto na descida de gradiente 
estocastica alguns valores da base de dados, selecionados ao acaso, fazem o 
calculo, o gradiente estocastico de minilote é definido pela fungao f(x):Rd—> 
R, em que o intervalo de tempo antes de comecar a interacdo é estabelecido 
como 0 e a variavel independente desse modelo de tempo é x0eRd, normal- 
APRENDIZAGEM PROFUNDA © 
mente obtida por uma inicializagado ocasional.
A partir de cada etapa subsequente, em que t> 0, o minilote SGD faz uso 
de uma amostragem uniforme aleatoria, para construir o minilote B, a partir 
de valores de indices do conjunto de dados do treinamento. Portanto, usa-se 
a amostragem com ou sem substituigdo para obter dados de minilote. O pri- 
meiro método gera dados duplicados no mesmo minilote, e o segundo nao é 
muito utilizado. 
BP = EWG Oe) 
' 7 
Analisando a equacdo, calcula-se o gradiente gt de uma fungdo de objetivo 
em xt-7 através do minilote BT em etapa de tempo T. Aqui, |B| €0 comprimento 
do lote, no caso, o numero de amostras. Assim como 0 gradiente estocastico, 
o minilote SGD gt é feito com base numa amostragem com substituigdo e uma 
estimativa imparcial do gradiente Vf(xt-1). Recorrendo a taxa de aprendizado 
(positivo), a relag¢do do minilote SGD na variavel independente é o seguinte: 
xt <— xt-7-ntgt 
A alteragdo do gradiente na amostragem ndo aleatoria pode ser diminuida 
durante um processo iterativo pois, na pratica, a taxa de aprendizado do SGD, 
ou minilote, se deteriora automaticamente na interacdo, como nt=nt? (usual- 
mente a =-1 ou - 0.5) ent = na‘ (por exemplo, a =0.95), ou por meio da reducado 
da taxa de aprendizado, uma vez por itera¢ao ou apos varias iteragdes. Como 
resultado, a variagdo da taxa de aprendizado SGD (minilote) se reduzira. A des- 
cida usufrui do verdadeiro gradiente da fungdo objetivo no momento do trei- 
namento, sem autodeteriorar a taxa de aprendizado 
O erro calculado em cada interagdo é 0 O/|B|), em que o comprimento do 
lote 6 1 e o algoritmo é um SGD quando o tamanho do lote é igual 
ao tamanho dos dados para treinar o algoritmo numa descida de 
gradiente. Se o tamanho de dados do lote é peque- 
no, serdo exigidos menos recursos de hardware, 
o que agilizara o treinamento. Conforme o ta- 
manho do lote, 0 gradiente de minilote tem in- 
formacées redundantes. Por isso, é recomen- 
dado calcular mais casos para um tamanho de 
lote maior, assim como aumentar o numero de ve- zes 
APRENDIZAGEM PROFUNDA © 
que o algoritmo de treinamento sera executado.
 © a Gradiente estocastico 
Como o proprio nome sugere, a palavra designa um sistema, algoritmo ou 
processo vinculado a uma probabilidade aleatdoria na descida do gradiente es- 
tocastico, o que requer amostras aleatérias em vez de um conjunto de dados 
para cada treinamento. No gradiente descendente, uma técnica chamada de 
“lote” diz qual o numero total de amostras de um dataset, aproveitado para cal- 
cular o gradiente de cada interagdo. Consequentemente, na otimiza¢ao tipica 
de descida de gradiente, como na descida em lote, ele forma um conjunto de 
dados completo para fazer os testes de performance de algoritmos descenden- 
tes, que daria um resultado melhor, mas tornaria bastante lenta a execucgao do 
algoritmo de treinamento. Esse problema é resolvido pela descida estocastica 
de gradiente, que conta apenas com uma Unica amostra de dados embaralha- 
da para executar o treinamento e comparagao do algoritmo. 
Algo que se observa bastante é que os algoritmos SGD sao mais barulhen- 
tos do que os algoritmos tipicos de descida de gradiente, transformando em 
necessidade o uso de repeticdes de treinamento muito maior no algoritmo de 
treinamento para alcangar os valores minimos de erro

Continue navegando