Escolar Documentos
Profissional Documentos
Cultura Documentos
DISCIPLINA:
INTRODUÇÃO À INTELIGÊNCIA ARTIFICIAL CONEXIONISTA
PROFESSORES:
Cesar Alberto Penz, Dr.
Marco Aurelio Moreira Saran, MSc.
ESTUDANTES:
Artur Antonio Dal Prá (20232900009)
Marcos Vinícius Rodrigues Lopes Granado (20232900018)
1 CONSIDERAÇÕES INICIAIS
NestetrabalhoéanalisadooprocessoSmartpositionsensorsystem.Apartir
do esquema apresentado na Figura 1, a ideia geral é estimar a posição y do
anteparoatravésdastensõesdesaída(v1ev2)dedoismódulosfotovoltaicos.Para
tanto, o deslocamento do anteparonadireçãoycausadiferentesáreasdesombra
nos módulos fotovoltaicos, e assim afeta as tensões de saída.
Conformeoenunciado,espera-seporcomportamentoparaastensõesv1 ev2
algo assemelhado ao apresentado na Figura 2:
Paraadefinição,treinamentoetestederedesneuraisartificiaisquepossam
representar a função y = f(v1, v2) foi gerada experimentalmenteuma base de dados.
2 ANÁLISE DE DADOS
Daleituradosdadosfoifornecidoumdatasetcompostopor86(oitentaeseis
elementos),queconsistenasleiturassendoformadoportrêsvariáveisdispostasem
colunas(v1, v2,y)queprecisouserreorganizadoparahaveraatribuiçãoàsvariáveis
inPut (v1 e v2) e Target (y) conforme a sintaxe doscilab.
Conformeorientaçãoemaula,osdadostiveramsuaescalaalteradapormeio
da divisão por 10, por efeito de uma melhoria nos resultados.
Aetapa2.a.pedeadefiniçãodeumparâmetrodedesempenhodesejadoea
definição de um conjunto de treino e um conjunto de teste.
Quanto à definição de parâmetro de desempenho desejado (item 2.a.ii.),
entende-se que foi pedido qual métrica será estudada para avaliarodesempenho
da rede. Escolhe-seMSE(erroquadráticomédio).Estamétricacalculaadiferença
(oerro)entreosvaloresprevistos(calculadospelomodelo)eosvaloresobservados
nasmedições,queéoerro.Emseguidasomaoquadradodecadaerroeobtéma
médiaaritmética.Deseja-sequeoMSEsejaomenorpossível.Umaparticularidade
destamétricaéserrigorosaquandohávaloresdiscrepantesnosdadosusadospara
cálculo do modelo, porque a diferença (erro) é elevada ao quadrado.
Uma RNA possui como parâmetros os pesos dos nós e o viés,
resumidamente, é o que a rede aprende, é aquilo que é otimizado.
Uma RNA possui como hiperparâmetros sua topologia (disposição dos
neurônios conforme as camadas), taxa de aprendizado, número de iterações, e
critérios para estabelecer quando o treinamento estásatisfatório.Estetrabalhofez
uso dos seguintes hiperparâmetros.
O enunciado do trabalho, em seu item 2.a. não estabelece uma proporção
paradivisãodosdadosentretreinoeteste,entãoadotou-se80%paratreinoe20%
para teste. De fato, uma taxa com mais elementos para teste num dataset que
contém poucos elementos e com regiões importantes(asregiõesemqueocorrem
as inflexões) certamenteimpactaránaqualidadedotreinamento.Sobestecuidado
a distribuição dos elementos para compor o conjunto de treino e teste se deu
percorrendo sequencialmente o conjunto de dados, então os primeiros quatro
elementos foram destinados ao conjunto de treino e o quinto para o conjunto de
testes, e assim por diante. Note que essa decisão favorece que todo o
comportamentodacurvasejaaprendidopelarede.Noteaindaqueumadistribuição
aleatória poderia conter agrupamentos, então neste cenário o aprendizado seria
bom para a região do agrupamento e péssimo para a região do vazio.
A figura abaixo cumpre o requisitado em 2.a.i. e mostra a distribuição dos
dados entre treino e teste para odataset.
2.1. Estudo de diferentes topologias
Estaetapadotrabalhocontarácomcincoredesneuraisdotipofeed-forward
backpropagation (nos moldes do código anexado junto ao enunciado). Diversas
topologias serão testadas, por meio da alteração dos parâmetros da rede da
quantidade de camadas, do número de neurônios por camada, e das funções de
ativação. Para tanto, todos os dados do conjunto de treinamento serão utilizados.
Quanto às saídas da rede comparativamente com os valores esperados,
tem-se:
Ográficoacimamostrahavercertaperturbaçãoparaosvaloresmenoresno
treinamento. Contudo, a saída para osdadosdeteste(queéusadoparaavaliaro
modelo), se mostrou precisa.
O gradiente final resultou 0,00191.
A segunda rede (22-codigo_trabalho_02.sci , rna-2bi-rede2.w) foi treinada
com taxa de aprendizado 0,001, número máximo de iterações para parada do
treinamento300épocas.Ofatordeajustedataxadeaprendizadofoi10,eocritério
para parada do treinamento foi 10-5. Esta rede é composta por 2 neurônios de
entrada, 5 neurônios na primeira camada intermediária, 5 neurônios na segunda
camadaintermediáriae1neurôniodesaída.Asfunçõesdeativaçãousadasforam,
respectivamente: ann_tansig_activ, ann_tansig_activ e ann_purelin_activ.
Os gráficos abaixo mostram que o gradiente despencou durante o
treinamento. O MSE diminuiu e ficou limitado a 9.52647 no final do ciclo de
treinamento. É um erro muito grande, mostra que a RNA não aprendeu
suficientemente. Este modelo não pode ser posto em produção.
O gráfico acima mostra que a rede falhou ainda em época de treinamento,
sendo um caso de subajuste (underfitting). A saída dos resultados foi desastrosa.
O gradiente final resultou muito baixo (2,5 * 10-6). Outras execuções do
mesmo script resultaram em comportamento assemelhado.
A terceira rede (22-codigo_trabalho_03.sci , rna-2bi-rede3.w) foi treinada
com taxa de aprendizado 0,001, número máximo de iterações para parada do
treinamento300épocas.Ofatordeajustedataxadeaprendizadofoi10,eocritério
para parada do treinamento foi 10-5. Esta rede é composta por 2 neurônios de
entrada, 15 neurônios naprimeiracamadaintermediária,15neurôniosnasegunda
camada intermediária, 15 neurônios naterceiracamadaintermediáriae1neurônio
de saída. As funções de ativação usadas foram, respectivamente:
função logística sigmoidal entre as camadas intermediárias (ann_logsig_activ) e
função linear pura (ann_purelin_activ) entre a última camada intermediária e a
camada de saída.
Os gráficos abaixo mostram que o gradiente despencou durante o
treinamento.OMSEmostrouaspectodeconvergência,resultando0,00284nofinal
do ciclo de treinamento.
Ográficoacimamostraquearedeconseguiugeneralizar,excetoporumponto,que
apresentou um erro grande. O gradiente final resultou 0,00301.
Aquartarede(22-codigo_trabalho_04.sci,rna-2bi-rede4.w)foitreinadacom
taxa de aprendizado 0,001, número máximo de iterações para parada do
treinamento500épocas.Ofatordeajustedataxadeaprendizadofoi10,eocritério
para parada do treinamento foi 10-5. Esta rede é composta por 2 neurônios de
entrada, 16 neurônios naprimeiracamadaintermediária,16neurôniosnasegunda
camadaintermediáriae1neurôniodesaída.Asfunçõesdeativaçãousadasforam
todas do tipo função linear pura (ann_purelin_activ).
Os gráficosabaixomostramqueogradientetevepoucaoscilaçãoduranteo
treinamento.OMSEmostrouaspectodeconvergência,resultando0,34464nofinal
do ciclo de treinamento.
Ográficoacimamostraquearedeapresentoucertoaspectodegeneralização,mas
contém erros significativos. O uso da função de ativação linear pura em todas as
camadas impediuquearedecapturasseanãolinearidadedofenômenoestudado.
O gradiente final resultou 4,2 * 10-7. Contudo, ao contrário das outras redes,
capturou a particularidade de ocorrer desvio grande nas proximidades quando y = 8.
A quinta rede (22-codigo_trabalho_05.sci,rna-2bi-rede5.w)foitreinadacom
taxa de aprendizado 0,001, número máximo de iterações para parada do
treinamento500épocas.Ofatordeajustedataxadeaprendizadofoi10,eocritério
para parada do treinamento foi 10-5. Esta rede é composta por 2 neurônios de
entrada, 16 neurônios naprimeiracamadaintermediária,16neurôniosnasegunda
camadaintermediáriae1neurôniodesaída.Asfunçõesdeativaçãousadasforam
do tipo função logística sigmoidal entre as camadas intermediárias
(ann_logsig_activ) e função linear pura (ann_purelin_activ) entre a última camada
intermediária e a camada de saída.
Os gráficos abaixo mostram que o gradiente teve um comportamento de
convergência. O MSE também mostrou aspecto de convergência, resultando
0,00237 no final do ciclo de treinamento.
Ográficoacimamostraquearedeconseguiugeneralizar,excetoporumponto,que
apresentou um erro grande. O gradiente final resultou 0,01028.
A sexta rede (22-codigo_trabalho_06.sci ,rna-2bi-rede6.w) foi treinada com
taxa de aprendizado 0,001, número máximo de iterações para parada do
treinamento500épocas.Ofatordeajustedataxadeaprendizadofoi10,eocritério
para parada do treinamento foi 10-5. Esta rede é composta por 2 neurônios de
entrada, 16 neurônios naprimeiracamadaintermediária,16neurôniosnasegunda
camadaintermediáriae1neurôniodesaída.Asfunçõesdeativaçãousadasforam
do tipo funçãotangentesigmoidalentreacamadadeentradaeaprimeiracamada
intermediária, função logística sigmoidal entre as camadas intermediárias
(ann_logsig_activ) e função linear pura (ann_purelin_activ) entre a última camada
intermediária e a camada de saída.
Os gráficos abaixo mostram que o gradiente teve um comportamento de
convergência. O MSE também mostrou aspecto de convergência, resultando
0,00392 no final do ciclo de treinamento.
O gráfico mostra que a rede conseguiu generalizar, e todos os pontos estão
bastante próximos dos valores medidos, vide gráfico abaixo, onde as diferenças
resultaram pequenas. O gradiente final é 0,02599.
Cabe observar que os erros foram pequenos, tanto para treinoquantopara
teste, evidenciando que foi escolhido um bom modelo.
Conforme2b-ii,asextaredefoiaredeescolhidaporquenãotempontoscom
distorção. De fato, o fenômeno traz particularidades que dificultam sua
previsibilidade, em especial nos primeiros pontos e também quando a distância
ultrapassa um pouco a posição de 80 mm (8 cm). Ainda, esta rede mostrou
convergênciadogradienteedoMSE,atingindoumvalordeMSEbastantepequeno
(vide comentários no item 2.1.).
A topologia é esta abaixo:
OBS: foi obtida emhttps://alexlenail.me/NN-SVG/LeNet.html
2.3. Comentários sobre a rede escolhida
É solicitado em 2b-iii para utilizar a rede neural escolhida com todos os
ELEMENTOSdoconjuntodeteste.Esteitemjáveioprogramadonoscriptfornecido
na ocasiãodapublicaçãodoenunciado.Pede-separaapresentarosresultadosde
forma gráfica (saída esperada versus saídadarede)eevidenciaroserrosparaos
dados de teste.
Um importante gráfico é a comparação entre a saída esperada versus a
saída da rede, que pode ser notado em dois gráficos:
O gráfico acima mostra a evolução de cada uma das tensões
comparativamente com a respectiva posição. Nota-se que a evolução da posição
tem aspecto linear e que a tensão varia entre os painéis.
Na posição y=8 houve um pequeno desvio, não reparado nos pontos
limitantes, provavelmente se houvessem sido obtidos mais pontos (ou seja, se
houvessesidocapturadoumconjuntodedadosmaior),esteefeitonãoaconteceria,
porque na fase de treinamento poderia haver o aprendizado desta particularidade.
Cabe destacar que está sendo trabalhado um conjunto de dados pequeno
para modelar o fenômeno e que está sendo estudado.
Ooutrográfico(abaixo)apontaasmesmasconclusões.Defato,estaéuma
parte do gráfico anterior.
O item 2b-iv do enunciado do trabalho pede os pesos da rede, se deu
conforme o código abaixo.
// PARA ABRIR OS PESOS DA REDE NEURAL TREINADA
caminho_arquivo = ('e:\rna-2bi-rede6.w');
load(caminho_arquivo);
column 9 to 16
6.61175 8.83035 1.34157 - 8.7481 0.50247 - 6.80264 2.62996 - 4.04681
0.64192 - 3.46529 - 2.10547 - 4.07662 4.97221 0.54083 - 4.63645 8.70432
12.1654 - 0.82024 - 51.3509 - 6.11993 - 6.00901 - 1.86797 6.64195 1.89349
6.91929 1.10202 3.33713 - 2.42401 4.72876 - 5.82845 5.56755 7.58605
4.60498 1.88713 1.97047 0.61729 - 7.88742 - 1.1983 - 5.18586 3.35665
5.64399 0.51025 7.96927 2.43642 3.43945 - 0.14652 - 1.87073 - 4.05575
- 2.3438 - 9.14664 - 17.7362 2.31026 1.44044 1.32151 2.74379 8.33639
- 3.80305 - 118.173 67.7017 7.76837 - 10.5449 - 5.26215 - 2.62737 36.3895
1.39836 - 1.41061 3.89601 - 1.56459 5.85907 - 1.13454 - 3.93568 - 2.92154
8.66682 0.19045 3.41307 - 0.2037 - 1.34593 - 7.58653 - 9.41583 - 11.0612
- 7.84462 - 3.74562 3.99776 6.39962 - 1.53094 7.50743 3.43616 5.61039
0.75116 - 44.8617 - 0.68693 1.23424 0.70781 - 4.33753 - 0.97995 - 0.36395
8.12617 - 6.7703 2.77061 4.36718 - 8.18354 0.36104 3.90281 3.50664
6.96178 - 0.23632 2.66727 - 5.08851 - 8.6423 9.39674 - 0.18762 0.20218
9.13124 - 5.8786 - 9.52697 7.83483 - 6.20865 10.4106 - 10.1783 - 9.81344
- 3.46647 - 1.41425 0.57356 - 3.35276 - 8.61674 5.12518 8.08995 - 5.38841
column 17
0.12422
- 0.00003
2.51193
- 1.06943
2.3D-07
0.18598
0.77866
2.12174
- 0.28303
0.52466
- 1.9D-07
3.25484
2.8D-06
0.
1.53815
- 0.00046
column 1 to 8
2.41812 6.74945 - 15.7064 9.56256 10.8316 5.34215 - 3.73645 - 1.3565
column 9 to 17
- 1.16035 - 3.7887 - 1.51302 - 21.232 1.73015 1.4403 1.94963 11.9307 2.51182
A representação gráfica está em 2.2., logo no início. Como são muitos
pesos,eoformatodapáginaéA4,setornariamuitocustosodesenharospesosna
rede.
2.3. Estudo com foco na confiabilidade da rede neuralescolhida
O trabalho continua, onde para a topologia escolhida (no itemb)pede-sea
realização de um estudo com foco na confiabilidade da rede neural.
Para fins de organização, este trabalho seguirá no item 2.c.ii, então o item
2.c.i. será tratado em conjunto com 2.c.iii.
Cabeobservarqueoserrosforampequenos,masmaioresqueaqueleserros
notados no conjunto com mais dados (vide sexta rede).
A figura acima mostra que a falta de pontos na inflexão na região depois da
distância 8 cm causou erros maiores nesta região.
Asegundaescolhamanual(24-escolha_manual-2.sci,escolhaManual_2.w)
removeu pontos localmente, perdendo pontos onde o comportamento é mais
uniforme, nas regiões inicial, central e final, que em tese não são pontos
importantes.
Os gráficos abaixo mostram que o gradiente teve um comportamento de
convergência. O MSE também mostrou aspecto de convergência, resultando
0,00451 no final do ciclo de treinamento.
O gráfico mostra que a rede conseguiu generalizar, com excelentes
resultados ao longo de todas as distâncias. O gradiente final é 0,00213. Ocorreu
que esta rede se mostroumaisbalanceada(napráticaocorreuumundersampling,
ou subamostragem da classe majoritária), entendemos que é a melhor rede até
então.
Cabeobservarqueoserrosnoconjuntodetesteforampequenos,mostrando
boa generalização.
A terceira escolha manual (24-escolha_manual-3.sci, escolhaManual_3.w)
removeu pontos localmente, perdendo pontos na região inicial e final, onde o
comportamento é mais uniforme, mantendo os pontos na região central.
Os gráficos abaixo mostram que o gradiente teve um comportamento de
convergência. O MSE também mostrou aspecto de convergência, resultando
0,11071 no final do ciclo de treinamento.
O gráfico mostra que a rede perdeu muito em generalização, com resultados
discrepantes ao longo de praticamente toda sua extensão (vide gráfico abaixo):
O gradiente final resultou 0,00496. Quanto aos erros, a imagem abaixo
mostra erros grandes, tanto para treino quanto para teste.
1 0,671096 1,752216 0,957653 0,923701 0,564468 0,957653 0,923701 0,564468 0,665677 0,68967 0,804092 0,620915 0,674481 0,850568 0,907997 0,803939
2 1,292842 1,755929 1,197957 1,390957 0,995599 1,197957 1,390957 0,995599 0,670619 0,829721 1,079526 1,187305 0,920262 1,009008 1,344266 0,961486
3 1,932513 1,765415 1,653823 1,917924 1,808446 1,653823 1,917924 1,808446 0,682568 1,174058 1,801061 1,723034 1,41524 1,369439 1,920984 1,318764
4 2,580881 1,808475 2,579885 2,445812 2,631948 2,579885 2,445812 2,631948 1,238724 2,682255 4,632817 2,720564 2,62133 2,368953 2,680502 2,383142
5 3,228028 1,99567 3,206828 3,152555 3,318131 3,206828 3,152555 3,318131 3,289848 3,00132 3,335227 3,189823 3,182924 3,242655 0,990685 3,308284
6 3,870925 2,846379 3,806589 4,086204 3,686796 3,806589 4,086204 3,686796 4,032788 5,141273 3,892386 3,96783 4,295803 3,489747 3,838492 3,584182
7 4,510979 5,037989 4,794876 4,620453 4,385406 4,794876 4,620453 4,385406 4,265421 4,721241 3,068777 4,530558 4,385758 3,044119 4,184127 4,620637
8 5,143834 5,511071 5,085412 4,898195 5,141477 5,085412 4,898195 5,141477 5,359544 5,627964 4,964416 5,369795 5,121941 5,186335 5,113936 4,974148
9 5,771713 5,654892 5,680731 5,888422 5,821177 5,680731 5,888422 5,821177 5,819981 5,907191 5,545669 5,918336 5,877316 5,857475 5,792466 5,696627
10 6,400318 5,763875 6,418453 6,168172 6,239643 6,418453 6,168172 6,239643 6,094631 6,075724 6,023947 6,276085 6,307635 6,226781 6,190447 6,384242
11 7,032306 6,467181 7,009496 7,084476 7,526041 7,009496 7,084476 7,526041 7,296157 6,804539 6,723896 7,031031 7,192265 7,137587 7,224433 6,885157
12 7,665364 7,551766 7,639152 7,525593 7,935755 7,639152 7,525593 7,935755 7,257351 7,699222 8,229033 7,69427 4,375559 7,670111 6,966013 8,309651
13 8,312266 8,67685 8,416083 8,058193 8,289628 8,416083 8,058193 8,289628 8,390005 8,545192 7,712765 8,654399 7,178742 8,266337 6,133708 8,424367
14 8,944216 9,397004 8,928416 9,017644 8,55446 8,928416 9,017644 8,55446 9,153138 8,877802 9,015212 8,97685 8,894302 9,514881 8,991771 9,366346
15 9,576127 9,374661 9,490094 9,587736 9,586256 9,490094 9,587736 9,586256 9,571111 9,971795 9,687724 9,603738 9,579682 9,443293 9,575981 9,060229
16 9,999502 9,483794 10,00018 10,03484 10,0292 10,00018 10,03484 10,0292 9,937359 9,782171 9,972133 10,01819 10,00006 10,00571 10,07912 9,999735
17 9,999443 9,493071 9,998705 10,02237 9,9959 9,998705 10,02237 9,9959 9,962913 9,754294 9,990093 10,00931 9,97789 10,0383 10,02939 9,984129