Bom pessoal, a aula de hoje ela é voltada para frameworks de Machine Learning e a ideia aqui principal é apresentar pra vocês o que temos de mais recente em termos de Machine Learning envolvendo tecnologias de bibliotecas, ferramentas e também ambientes colaborativos pra desenvolvimentos de projetos de Machine Learning. Então temos vários frameworks pra uso de Machine Learning eu vou apresentar pra vocês aqui alguns deles. E aí nossa aula hoje envolve os cenários aplicando frameworks então um framework bastante conhecido de inteligência artificial é o framework do TensorFlow o framework do TensorFlow é um framework pra desenvolvimento de inteligência artificial principalmente envolvendo redes de Deep Learning.
O que é uma rede de Deep Learning? É uma rede de aprendizado profundo que utiliza modelos de inteligência artificial pra reconhecer voz, reconhecer imagens, fazer o reconhecimento de diversas aplicações, e falando aí, um pouco sobre o framework TensoFlow é o framework de Machine Learning mais utilizado do mercado, então se vocês pegarem de todos os frameworks é o framework mais utilizado. Como que eu utilizo o framework?
É bem na tua máquina pra Windows também hoje tá bem simples a instalação, qualquer projeto pode ser desenvolvido aqui dentro desse framework e principalmente projetos de Deep Learning então mostrando aqui pra vocês o playground do TensorFlow falando de forma gráfica o que ele faz, o playground do TensorFlow ele trabalha com projetos de Deep Learning dentro do framework do TensorFlow e ele trabalha com redes neurais, com redes que chamamos de rede de Deep Learning. O que diferencia uma rede neural de uma rede de Deep Learning? Uma rede de Deep Learning é uma rede profunda, tem várias camadas.
Já uma rede neural, chamamos de rede neural shallow rede rasa é aquela que tem poucas camadas ocultas, então, aqui executando a rede pra vocês verem o comportamento dela. Vou executar o algoritmo. Deixa eu só pegar um exemplo mais simples aqui.
Então, vamos fazer esse exemplo aqui, ó. De classificar dois conjuntos. As bolinhas da cor azul e as bolinhas da cor laranja.
Então, o que poderia ser feito aqui? Um exemplo que bolinha azul é gato e bolinha laranjada é cachorro e o algoritmo ele vai rodar e ele tem que classificar o que é bolinha azul e o que é bolinha laranja, o que que é gato e o que é cachorro. Dentro desse cenário a inteligência artificial tem como objetivo classificar objetos e esses objetos são previamente treinados pra que isso aconteça então o que poderia ser aqui esse exemplo?
Bolinha azul são as imagens que representam a minha face bolinhas laranjadas são as imagens que representam faces de outras pessoas. São faces que não devem desbloquear o meu celular, então um sistema de inteligência artificial. Para o Pytorch pra quem também nunca ouviu falar sobre ele é um framework de desenvolvimento para projetos de Machine Learning é um framework de inteligência artificial que trabalha aí com ferramentas como o TensorFlow, mas que é uma ferramenta um pouco menos conhecida também é utilizada por grandes empresas.
Próprio Facebook utiliza essa ferramenta e grandes empresas acabam utilizando essa ferramenta em seus projetos. Eu, particularmente, prefiro o TensorFlow pela documentação que ele tem, pela quantidade de projetos de exemplo, pela facilidade de instalação, se você procurar um projeto aí no GitHub vai aparecer em TensorFlow, é muito difícil aparecer um projeto que seja em Pytorch. Geralmente os projetos em Pytoch são projetos mais industriais, projetos fechados que não são compartilhados entre as pessoas.
Outro exemplo de framework é o Keras. O Keras é um framework também de Machine Learning então ele traz várias bibliotecas pro desenvolvimento de inteligência artificial e você consegue aí desenvolver seu projeto utilizando ferramentas aqui do próprio Keras. Então se você procurar por exemplo no Google Keras import models deixa eu ver se eu encontro a página aqui, Então aqui por exemplo nessa página tem uma tabela com várias redes de deep learning que estão dentro do framework do Keras Pessoal se vocês procurarem na internet sobre frameworks vocês vão encontrar Deep Learning ou melhor o Framework Keras como uma biblioteca, até o TensorFlow a maioria das pessoas dizem que é uma biblioteca de Machine Learning mas não é uma biblioteca, tá?
É um framework, por quê? Tem muita coisa aqui dentro, tem muita integração entre projeto, um framework traz tudo isso. Uma biblioteca é simplesmente uma função aí que está programada e você não precisa fazer tudo de novo, então, se você precisar de uma biblioteca pra gerar comando de voz, ler imagens isso é uma biblioteca mas quando falamos de frameworks é um ambiente todo integrado que envolve um cenário bem mais completo com várias ferramentas.
Então aqui temos várias redes de Deep Learning, a rede a rede Xception, VGG16, a VGG19 então aqui por exemplo "professor como que eu uso uma rede? " Vocês irão simplesmente chamar pelo Keras que usa o TensorFlow então o TF é de TensorFlow "TF. Keras.
applications. VGG19" e "include_top=True" e vocês vão chamar os pesos de um treinamento pronto que é o treinamento do imagenet, o que seria esse treinamento do imagenet? É um treinamento que utiliza várias imagens.
Imagenet pra quem nunca ouviu falar, é uma base de dados com mil classes de objetos. Então, aqui, por exemplo, são as imagens do imagenet então aí dentro do imagenet tem vários objetos, vai ter aí dez mil imagens de xícara de café, dez mil imagens de tiranossauro rex, dez mil imagens de gato, dez mil imagens de cachorro, dez mil imagens de barata, dez mil imagens de prato, dez mil imagens de dólar, dez mil imagens de revólver, dez mil imagens de cérebro, então tem mil objetos, cada objeto tem cerca de dez mil imagens. Então é um dataset bem completo, vem uma base de treinamento pronta, pra que seja feito o treinamento.
Então aqui porque eu tô chamando o imagenet? Porque é uma rede que já está pré treinada pra reconhecer mil objetos diferentes, então ela já conhece pessoa, xícara de café, cérebro, maça, banana, vaso sanitário, relógio, teclado de computador. Então já é um pré-treinamento feito.
Outra biblioteca bem conhecida pra parte de imagens envolvendo Machine Learning, é a biblioteca OpenCV que já foi uma biblioteca e hoje na minha opinião não é uma biblioteca, é um framework então "ah professor eu quero desenvolver um projeto de reconhecimento facial, igual esse que o professor fez aí", vocês vão usar OpenCV, tá? "Professor eu quero fazer um sistema que reconhece nota falsa", vocês vão usar OpenCV. "Eu quero fazer um sistema que detecta tempo de chuva.
" Vão usar OpenCV, então é um framework de processamento de imagem bem completo. Então, esses frameworks são os mais utilizados, basicamente envolvendo inteligência artificial. Outra coisa, para os frameworks geralmente eu acabo utilizando um ambiente que se chama Anaconda Não sei se alguém aí já usou esse ambiente, se já utilizaram, mandam um alô aí.
O que é Anaconda? O Anaconda é um um ambiente que facilita a vida do programador em Python. Por que facilita a vida do programador em Python?
Porque imagina assim, você tem aí na tua máquina instalada o Python três ponto dez. Aí você pega um projeto no Github que usa o Python dois ponto sete. Aí pra rodar você tem que desinstalar o teu três ponto dez e instalar o dois ponto sete.
Aí você roda o algorítimo, testa, funciona e você vai voltar nos projetos que você desenvolve e não funciona. Aí você tem que ir lá e instalar de novo o três ponto dez. Aqui o Anaconda é um framework de desenvolvimento de projeto onde você cria vários ambientes.
Então aqui por exemplo eu tenho alguns ambientes que eu criei, Alexa da DIO, Orange, ETL, ambiente dois, ambiente um então quando eu vou abrir um ambiente, por exemplo, o Alexa da DIO, ambiente que eu criei pra reconhecimento de voz, eu crio esse ambiente e aí o que acontece? Eu instalei o Python três ponto dez e está rodando. Agora aqui no ambiente dois eu instalei o Python dois ponto sete e tá aí rodando.
Então na mesma máquina, no mesmo computador eu tenho com Anaconda vários ambientes que rodam na mesma máquina com dependências diferentes. Então é a solução pra quem busca um ambiente de desenvolvimento colaborativo ou melhor um ambiente de desenvolvimento que você tem várias linguagens, também tem o Pyton e tem as suas várias versões, tem a linguagem R e tem suas várias versões, você pode instalar o ambiente que você quiser, o framework que você quiser e facilita muito a sua vida. Então é um ambiente bem legal pra quem vai trabalhar com Machine Learning e não quer ficar tendo dor de cabeça com dependência.
Isso. Funciona como se fosse uma máquina virtual, João, mas você acaba que executa tudo na sua própria máquina, tá? Não é como se fosse uma máquina virtual que você cria ali um outro sistema operacional, sua máquina fica lenta, aqui não, você só cria repartições para as suas instalações de dependências.
E aí uma não sobrescreve a outra. Então, ah, tô usando dois ponto sete numa divisão e agora vou instalar três ponto dez na outra, uma não sobrescreve a outra. Então, facilita muito nesse ponto.
O Adriano aí perguntou "o Weka ainda é utilizado mesmo que para projetos pequenos?