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