Page 15 - Revista_60.pub
P. 15

A PROGRAMAR







        ATRAVÉS DOS OLHOS DE UMA REDE NEURONAL

                                                                lo escrito em Python 3.6 utilizando a biblioteca Keras, tendo
                                                                a  rede  implementada  e  treinada  sido  capaz  de  identificar
                                                                corretamente  peças  bem  conhecidas.  Para  além  disso  foi
                                                                ainda  capaz  de  identificar  corretamente  outras  categorias
                                                                diferentes de uma das peças (maçãs), e inferir com lógica as
                                                                peças mais parecidas de um conjunto de peças desconheci-
                                                                das.
         Fruit in: dataset/unknown-6.jpg : apple
         Fruit in: dataset/unknown-7.jpg : apple
         Fruit in: dataset/unknown-8.jpg : apple
                                                                                 As aplicações
              Para concluir, vamos pedir à rede que identifique peças
         de fruta desconhecidas por esta, uma vez que não treinou con-
         tra elas: tangerina, coco, carambola, esta último um fruto pouco   de um algoritmo capaz
         conhecido  para  o  leitor  tentar  associar  a  imagem  a  um  dos
         frutos que foram alvo de treino por parte da rede.      de classificar imagens,
              Neste teste, o esperado é o mesmo que acontece con-  são fáceis de encon-
         nosco quando vemos uma peça de fruta desconhecida: vamos
         classifica-la  como  sendo  a  que  mais  se  assemelha  às  peças
         que conhecemos.                                         trar, desde o reconhe-
                                                                 cimento               de        escrita,

                                                                 condução                  autónoma,

                                                                 diagnóstico                     médico


         Fruit in: dataset/unknown-9.jpg : orange                por imagem, etc...
         Fruit in: dataset/unknown-10.jpg : pineapple
         Fruit in: dataset/unknown-11.jpg : banana
              A  tangerina  foi  classificada  como  uma  laranja
         (previsível, pelas muito semelhanças), o coco como um ananás
         (menos previsível, mas lógico), e a carambola como uma bana-
         na (o que pela forma também é lógico). Para que a rede seja
         capaz de identificar estas novas peças, terá de ser sujeita a um   Referências:  Paper  original  por  Yann  LeCun  e  restante
         processo de treino, tal como aconteceu com as outras categori-  equipa que definiu pela primeira vez este tipo de redes:
         as.                                                    yann.lecun.com/publis/pdf/lecun-98

         Conclusão                                              Código e dados:

              As CNN são um tipo muito popular de redes neuronais   github.com/sergiosaraiva/artificial-intelligence/tree/master/
         para  classificação  de  imagem,  que  introduzem  um  pré-  pap-cnn
         processamento às mesmas antes de darem entrada na rede. A
         partir daí a rede efetua um processo de treino para aprender e
         identificar os padrões comuns de cada classe para ser capaz
         de as reconhecer após o treino. Como exemplo utilizamos um
         dataset muito simples de 6 tipos de peças de fruta e um mode-


         AUTOR


                      Escrito por Sérgio Saraiva
                      Licenciado em Engenharia Informática e de Computadores pelo Instituto Superior Técnico.
                      Tenho especial interesse em resolver desafios complexos através da criação de tecnologia que agregue diferentes áreas de
                      conhecimento. https://www.linkedin.com/in/sergio-saraiva/






                                                           15
   10   11   12   13   14   15   16   17   18   19   20