SlideShare uma empresa Scribd logo
1 de 88
Baixar para ler offline
Inteligência Artificial e
Redes Neurais em PHP
Gabriel Couto (Bob)
@gabrielrcouto - github.com/gabrielrcouto
Um problema
pessoal…
Não tem cura
Mas calma, tem tratamento para ajudar!
Existe um conjunto de
valores e variáveis que
forma um padrão
Inteligência Artificial
Especialista em reconhecer padrões
Artificial neural networks (ANNs)
Inspiradas no nosso cérebro
1
1
0
0
0
0
1
1
0
0
0
0
w1
w2
w3
w4
w5
1
1
0
0
0
0
w1
w2
w3
w4
w5
1 * w1 + 1 * w2 + 0 * w3 + 0 * w4 + 0 * w5
1
1
0
0
0
0
w1
w2
w3
w4
w5
sigmoid
função de ativação
DEMO
feedforward
backpropagation
DEMO
Bias
1
1
0
0
+1
0
w1
w2
w3
w4
w5
1 * w1 + 1 * w2 + 0 * w3 + 0 * w4 + 0 * w5 + 1 * bias
0
bias
Problemas complexos
Precisam de mais camadas e neurônios
BigData
Visão Computacional
Cada pixel = 1 neurônio
16 x 16 = 256 neurônios na camada de entrada
Luz e sombra
Nossa rede neural teria que ser treinada com fotos de
diferentes iluminações
Histogram of oriented
gradients
Image feature descriptor
DEMO
Support Vector
Machine
SVM para os íntimos 😊
DEMO
HOG não é genérico o
suficiente
Convolutional
Neural Networks
Large-scale Deep Unsupervised Learning
using Graphics Processors
2009-2011
Capaz de aprender o
detalhe mais importante
para reconhecer um objeto
Funções de ativação
Existem várias, especializadas para cada caso
Modelos = Arquitetura
GoogLeNet
DEMO
Dicas
Overfitting
Quando sua rede não sabe generalizar
Método de treinamento
Cada um tem sua vantagem, mas o Adadelta é bem
legal :-)
Use modelos conhecidos
É um começo para sua própria arquitetura
INPUT -> FC
INPUT -> CONV -> RELU -> FC
INPUT -> [CONV -> RELU -> POOL]*2 -> FC -> RELU -> FC
INPUT -> [CONV -> RELU -> CONV -> RELU -> POOL]*3 -> [FC ->
RELU]*2 -> FC
Use e busque por
modelos Pré-treinados
PHP na era do
Deep Learning
Eu sei que PHP não é a
melhor linguagem para
isso
O PHP precisa
amadurecer com
números
Leiam sobre o projeto numpy e os avanços que ele
trouxe ao Python
PHP is used by 82.6% of all the
websites whose server-side
programming language we know
w3techs.com
https://github.com/php-ai/php-ml
https://github.com/php-ai/php-ml
A implementação de redes neurais é lenta
PHP Simple Neural
Network
github.com/gabrielrcouto/php-simple-neural-network
PHP SVM
github.com/gabrielrcouto/php-svm
PHP Computer Vision
github.com/gabrielrcouto/php-computer-vision
PHP ConvNet
github.com/gabrielrcouto/php-convnet
Projetos
Separador de bulas
Transformou um trabalho manual demorado em algo
automatizado e rápido
Teenage Girl Develops Artificial ‘Brain’ That
Diagnoses Breast Cancer With 99% Accuracy
Brittany Wenger’s ‘Cloud 4 Cancer‘ app can detect early stages of breast
cancer with 99.1% sensitivity, better than any existing commercial product.
O sonho de Laura
Projeto brasileiro de I.A. para previnir a Sepse
Você pode ajudar a
resolver problemas do
mundo
PHP World Problems Initiative
github.com/php-wpi/about
sobre ombros de gigantes
com a força de uma manada
Muito obrigado
@gabrielrcouto
github.com/gabrielrcouto
github.com/php-wpi
Venha trabalhar comigo na
Memed - vagas@memed.com.br

Mais conteúdo relacionado

Mais procurados

Arduino + Python: produtividade ao extremo
Arduino + Python: produtividade ao extremoArduino + Python: produtividade ao extremo
Arduino + Python: produtividade ao extremoÁlvaro Justen
 
Facilitando a vida com Raspberry Pi e Arduino
Facilitando a vida com Raspberry Pi e ArduinoFacilitando a vida com Raspberry Pi e Arduino
Facilitando a vida com Raspberry Pi e ArduinoThiago Da Silva
 
Desenvolvimento de aplicações embarcadas utilizando Python
Desenvolvimento de aplicações embarcadas utilizando PythonDesenvolvimento de aplicações embarcadas utilizando Python
Desenvolvimento de aplicações embarcadas utilizando PythonFlávio Ribeiro
 
O que podemos fazer com Python?
O que podemos fazer com Python?O que podemos fazer com Python?
O que podemos fazer com Python?Izabela Guerreiro
 
Introdução a automação residencial com Raspberry PI
Introdução a automação residencial com Raspberry PIIntrodução a automação residencial com Raspberry PI
Introdução a automação residencial com Raspberry PIRogerio Alencar Filho
 

Mais procurados (11)

Arduino + Python: produtividade ao extremo
Arduino + Python: produtividade ao extremoArduino + Python: produtividade ao extremo
Arduino + Python: produtividade ao extremo
 
Radioino
RadioinoRadioino
Radioino
 
Raspberry Pi: o hardware para Python
Raspberry Pi: o hardware para PythonRaspberry Pi: o hardware para Python
Raspberry Pi: o hardware para Python
 
Introdução ao Python
Introdução ao PythonIntrodução ao Python
Introdução ao Python
 
Facilitando a vida com Raspberry Pi e Arduino
Facilitando a vida com Raspberry Pi e ArduinoFacilitando a vida com Raspberry Pi e Arduino
Facilitando a vida com Raspberry Pi e Arduino
 
Desenvolvimento de aplicações embarcadas utilizando Python
Desenvolvimento de aplicações embarcadas utilizando PythonDesenvolvimento de aplicações embarcadas utilizando Python
Desenvolvimento de aplicações embarcadas utilizando Python
 
Canivete python
Canivete pythonCanivete python
Canivete python
 
Mini Curso Python
Mini Curso PythonMini Curso Python
Mini Curso Python
 
O que podemos fazer com Python?
O que podemos fazer com Python?O que podemos fazer com Python?
O que podemos fazer com Python?
 
Python 3k
Python 3kPython 3k
Python 3k
 
Introdução a automação residencial com Raspberry PI
Introdução a automação residencial com Raspberry PIIntrodução a automação residencial com Raspberry PI
Introdução a automação residencial com Raspberry PI
 

Semelhante a IA e Redes Neurais em PHP

Python para programadores Ruby
Python para programadores RubyPython para programadores Ruby
Python para programadores RubyEric Hideki
 
Hackeando um SmartBOX (com android) e instalando Linux & JAVA & OpenDevice
Hackeando um SmartBOX (com android) e instalando Linux & JAVA & OpenDeviceHackeando um SmartBOX (com android) e instalando Linux & JAVA & OpenDevice
Hackeando um SmartBOX (com android) e instalando Linux & JAVA & OpenDeviceRicardo Rufino
 
Simpósio Unicruz: OpenCV + Python (parte 1)
Simpósio Unicruz: OpenCV + Python (parte 1)Simpósio Unicruz: OpenCV + Python (parte 1)
Simpósio Unicruz: OpenCV + Python (parte 1)Cristiano Rafael Steffens
 
Deixando de ser moleque com PHP
Deixando de ser moleque com PHPDeixando de ser moleque com PHP
Deixando de ser moleque com PHPVinícius Krolow
 
Django: desenvolvendo aplicações web de maneira simples e rápida!
Django: desenvolvendo aplicações web de maneira simples e rápida!Django: desenvolvendo aplicações web de maneira simples e rápida!
Django: desenvolvendo aplicações web de maneira simples e rápida!Felipe Queiroz
 
Python com baterias incluídas v2.0
Python com baterias incluídas v2.0Python com baterias incluídas v2.0
Python com baterias incluídas v2.0Jonh Edson
 
Criando microsserviços em PHP
Criando microsserviços em PHPCriando microsserviços em PHP
Criando microsserviços em PHPFlávio Lisboa
 
O mínimo de Integração Contínua que todo projeto deveria ter
O mínimo de Integração Contínua que todo projeto deveria terO mínimo de Integração Contínua que todo projeto deveria ter
O mínimo de Integração Contínua que todo projeto deveria terÁtilla Silva Barros
 
FISL11: Análise de binários ELF
FISL11: Análise de binários ELFFISL11: Análise de binários ELF
FISL11: Análise de binários ELFFernando Mercês
 
Webinar: Oportunidades e requisitos no projeto de hardware para IoT
Webinar: Oportunidades e requisitos no projeto de hardware para IoTWebinar: Oportunidades e requisitos no projeto de hardware para IoT
Webinar: Oportunidades e requisitos no projeto de hardware para IoTEmbarcados
 
Introdução à Ciência da Computação com Raspberry Pi
 Introdução à Ciência da Computação com Raspberry Pi  Introdução à Ciência da Computação com Raspberry Pi
Introdução à Ciência da Computação com Raspberry Pi Eronides Da Silva Neto
 
Como Fazer Seu Próprio Gameboy - SpACE UNIFEI
Como Fazer Seu Próprio Gameboy -  SpACE UNIFEIComo Fazer Seu Próprio Gameboy -  SpACE UNIFEI
Como Fazer Seu Próprio Gameboy - SpACE UNIFEIRafael Moreira
 
Análise de malware com software livre
Análise de malware com software livreAnálise de malware com software livre
Análise de malware com software livreDiego Santos
 
Introdução ao Deep Learning com o TensorFlow
Introdução ao Deep Learning com o TensorFlowIntrodução ao Deep Learning com o TensorFlow
Introdução ao Deep Learning com o TensorFlowpichiliani
 
ArduinoDay 2015 - OpenDevice
ArduinoDay 2015 -  OpenDeviceArduinoDay 2015 -  OpenDevice
ArduinoDay 2015 - OpenDeviceRicardo Rufino
 

Semelhante a IA e Redes Neurais em PHP (20)

Python para programadores Ruby
Python para programadores RubyPython para programadores Ruby
Python para programadores Ruby
 
Hackeando um SmartBOX (com android) e instalando Linux & JAVA & OpenDevice
Hackeando um SmartBOX (com android) e instalando Linux & JAVA & OpenDeviceHackeando um SmartBOX (com android) e instalando Linux & JAVA & OpenDevice
Hackeando um SmartBOX (com android) e instalando Linux & JAVA & OpenDevice
 
Raspberry Pi + Python
Raspberry Pi + PythonRaspberry Pi + Python
Raspberry Pi + Python
 
Simpósio Unicruz: OpenCV + Python (parte 1)
Simpósio Unicruz: OpenCV + Python (parte 1)Simpósio Unicruz: OpenCV + Python (parte 1)
Simpósio Unicruz: OpenCV + Python (parte 1)
 
Deixando de ser moleque com PHP
Deixando de ser moleque com PHPDeixando de ser moleque com PHP
Deixando de ser moleque com PHP
 
Python e suas aplicações
Python e suas aplicaçõesPython e suas aplicações
Python e suas aplicações
 
Django: desenvolvendo aplicações web de maneira simples e rápida!
Django: desenvolvendo aplicações web de maneira simples e rápida!Django: desenvolvendo aplicações web de maneira simples e rápida!
Django: desenvolvendo aplicações web de maneira simples e rápida!
 
Python com baterias incluídas v2.0
Python com baterias incluídas v2.0Python com baterias incluídas v2.0
Python com baterias incluídas v2.0
 
Criando microsserviços em PHP
Criando microsserviços em PHPCriando microsserviços em PHP
Criando microsserviços em PHP
 
POG nunca mais - SOLISC
POG nunca mais - SOLISCPOG nunca mais - SOLISC
POG nunca mais - SOLISC
 
PHP Tools for Fast coding
PHP Tools for Fast codingPHP Tools for Fast coding
PHP Tools for Fast coding
 
O mínimo de Integração Contínua que todo projeto deveria ter
O mínimo de Integração Contínua que todo projeto deveria terO mínimo de Integração Contínua que todo projeto deveria ter
O mínimo de Integração Contínua que todo projeto deveria ter
 
FISL11: Análise de binários ELF
FISL11: Análise de binários ELFFISL11: Análise de binários ELF
FISL11: Análise de binários ELF
 
Webinar: Oportunidades e requisitos no projeto de hardware para IoT
Webinar: Oportunidades e requisitos no projeto de hardware para IoTWebinar: Oportunidades e requisitos no projeto de hardware para IoT
Webinar: Oportunidades e requisitos no projeto de hardware para IoT
 
Introdução à Ciência da Computação com Raspberry Pi
 Introdução à Ciência da Computação com Raspberry Pi  Introdução à Ciência da Computação com Raspberry Pi
Introdução à Ciência da Computação com Raspberry Pi
 
Como Fazer Seu Próprio Gameboy - SpACE UNIFEI
Como Fazer Seu Próprio Gameboy -  SpACE UNIFEIComo Fazer Seu Próprio Gameboy -  SpACE UNIFEI
Como Fazer Seu Próprio Gameboy - SpACE UNIFEI
 
Bt4 H2HC6th
Bt4 H2HC6thBt4 H2HC6th
Bt4 H2HC6th
 
Análise de malware com software livre
Análise de malware com software livreAnálise de malware com software livre
Análise de malware com software livre
 
Introdução ao Deep Learning com o TensorFlow
Introdução ao Deep Learning com o TensorFlowIntrodução ao Deep Learning com o TensorFlow
Introdução ao Deep Learning com o TensorFlow
 
ArduinoDay 2015 - OpenDevice
ArduinoDay 2015 -  OpenDeviceArduinoDay 2015 -  OpenDevice
ArduinoDay 2015 - OpenDevice
 

Mais de Gabriel Rodrigues Couto

Mais de Gabriel Rodrigues Couto (7)

Virei CTO, e agora?
Virei CTO, e agora?Virei CTO, e agora?
Virei CTO, e agora?
 
Micro Front-end + CQRS/ES - JSSP jul/2019
Micro Front-end + CQRS/ES - JSSP jul/2019Micro Front-end + CQRS/ES - JSSP jul/2019
Micro Front-end + CQRS/ES - JSSP jul/2019
 
PHP Experience 2018 - Blockchain e PHP
PHP Experience 2018 - Blockchain e PHPPHP Experience 2018 - Blockchain e PHP
PHP Experience 2018 - Blockchain e PHP
 
Como programar melhor jogando game boy
Como programar melhor jogando game boyComo programar melhor jogando game boy
Como programar melhor jogando game boy
 
Do gameboy a zend vm e avante
Do gameboy a zend vm e avanteDo gameboy a zend vm e avante
Do gameboy a zend vm e avante
 
Bitcoin explicado por um minerador
Bitcoin explicado por um mineradorBitcoin explicado por um minerador
Bitcoin explicado por um minerador
 
around.me
around.mearound.me
around.me
 

IA e Redes Neurais em PHP