Deep Learning. Taiane Ramos
|
|
|
- Vitorino de Almeida Cordeiro
- 8 Há anos
- Visualizações:
Transcrição
1 Deep Learning Taiane Ramos São Paulo, 28 de junho de 2015
2 Sumário Sumário Introdução O que é Deep Learning? Por que usar HPC para Deep Learning? Qual abordagem de HPC utilizar? Aplicações de Deep Learning Merck Drug Discovery Competition Google Brain Identificação de Placas de Trânsito Possíveis Aplicações Futuras Conclusão Bibliografía 1
3 Introdução Estamos vivendo a era da informação, onde bilhões de dados são gerados todos os dias por usuários da internet. Estes dados são chamados de Big Data e muitas empresas tentam usa los para retirar informações úteis para o mercado. Publicidade direcionada, resultados de busca que se relacionam com os interesses do usuário e sugestões de página relacionada podem utilizar informações retiradas dessas grandes massas de dados para melhorar seus resultados. Porém, retirar informações úteis desses dados tem sido um desafio e muitas vezes são coletados muito mais dados do que se consegue processar. Apesar de deep learning já ter sido proposto desde a década de 80, apenas atualmente temos poder computacional o suficiente para que este método de aprendizado de máquina seja viável. Atualmente, o deep learning tem se mostrado uma forma eficiente de retirar informações do big data e por este motivo tem sido muito explorado por grandes empresas como a Google, Facebook e Baidu. O algoritmo de deep learning exige bastante poder computacional para obter um resultado satisfatório. Quanto mais completo o modelo da rede, melhores os resultados e para isso, precisa se de muitos núcleos de processamento. As técnicas de paralelismo como clusterização e uso de placas gráficas (GPUs), tem se mostrado necessárias para o funcionamento de algoritmos de deep learning em tempo viável. O que é Deep Learning? Aprendizado de máquina, ou Machine learning, não é um tema novo, porém é bastante atual. O primeiro perceptron data dos anos 50 e a proposta deste algoritmo era tentar criar uma inteligência para classificação independente de programação específica. Muitos outros algoritmos de classificaçao foram propostos desde então, mas o que promete ser um divisor de águas da inteligência artificial é o deep learning. O modelo tradicional se baseia em aprendizado supervisionado. No aprendizado supervisionado, m algoritmo aprende a partir de entradas previamente classificadas e depois tenta aplicar o que aprendeu em novos dados diferentes dos que foram usados no treinamento. Deep learning utiliza algoritmos de aprendizado não supervisionado. Isto é, dada uma entrada de características do que se deseja classificar, sem nenhuma informação prévia de dados similares já classificados, e o algoritmo define uma classificação para a entrada. A ideia do deep learning é que o aprendizado seja feito como o cérebro humano faria. Quando uma criança começa a aprender, não existe sempre alguém presente contando o que ela está entendendo corretamente ou não. As crianças retiram padrões das informações e 2
4 começam a classificar sem necessidade de serem ensinadas. O deep learning propõe esta abordagem. A principal diferença entre machine learning tradicional que utiliza algoritmos não supervisionados e deep learning é o método utilizado para extração de características relevantes para a classificação. Na abordagem tradicional, um programador faz a engenharia de forma manual, determinando quais são as características relevantes para que um certo tipo de dado seja diferenciados das outras possíveis classes. Em deep learning, o método de extração de características é feito de forma automática. O algoritmo é exposto à uma grande quantidade de dados e dinamicamente determina quais são as características relevantes para separar as entradas em classes e quais classes serão consideradas. Esta extração de características é feita em camadas, de forma similar ao funcionamento do cérebro para a visão. Pesquisas já mostraram que o processo de visão é feito em camadas, de forma que cada camada retira uma informaçao diferente da imagem, como detecção de bordas, por exemplo. Ao final, temos a classificação da imagem em algum dos grupos já conhecidos. Deep learning está intimamente ligado à big data. Muito se falou de big data nos últimos anos, pois o volume de dados gerado é cada vez maior, porém, não muito se sabe sobre como aproveitar essa informaçao eficientemente. A técnica de deep learning exige uma grande quantidade de dados de entrada para o treinamento da rede. A maior parte das redes que utilizam deep learning fazem seu treinamento com dados disponíveis na internet, como vídeos do Youtube ou imagens retornadas na busca do Google. Em contrapartida, o deep learning tem se mostrado promissor para a melhor utilização de todos estes dados disponíveis. Sem uma forma de extrair significado relevante dos dados, não se pode aproveitar toda a informações contida no chamado big data. Uma das aplicações possíveis, por exemplo, seria melhorar a publicidade direcionada, que hoje se baseia apenas em tags. Por que usar HPC para Deep Learning? Antes de mais nada é importante avaliar se é realmente necessário usar um método de paralelismo para a resoluçao do problema. Métodos de paralelismo não são simples de serem implementados e podem trazer complicações adicionais para a implementação. O custo de comunicação entre computadores em uma abordagem distribuída pode nao compensar o ganho de processamento, ou o gargalo de transmissão de dados para GPUs pode limitar mais o tempo do que o desempenho de processamento da CPU. Além disso, abordagens já conhecidas como boas para algoritmos em modo single thread não necessariamente serão boas abordagens para uma arquitetura distribuída ou concorrente. Para ilustrar que paralelizar o código nem sempre implica em ganho de velocidade, temos na figura 1 uma reprodução de um gráfico apresentado por Andrew Ng et al. (2012). Neste trabalho, a equipe da Google apresenta algumas comparações de desempenho de deep 3
5 learning usando diferentes algoritmos, diferentes tipos de hardware (GPUs e CPUs) e com granularidades de paralelismo diferentes. Neste gráfico podemos observar que o pico de desempenho para o reconhecimento de fala é atingido com 8 cores e a partir disso o desempenho cai, pois o custo de comunicação entre as máquinas se torna superior ao ganho, como descrito no trabalho citado. Figura 1: Reprodução do gráfico de Andrew Ng et al. (2012) que apresenta o desempenho por número de máquinas utilizadas para o processamento do algoritmo. Outro ponto a se considerar é que não existem ferramentas de alto nível para este tipo de análise e mesmo as bibliotecas atualmente disponiveis não são tão otimizadas quanto as bibliotecas atualmente disponíveis para programação single thread. Um exemplo apresentado por C. J. Lin da Universidade de Taiwan envolve multiplicação de matrizes. Em sua apresentação Big Data Analytics: Chalenge and Opportunities de 2014, Lin apresenta uma implementaçao simples e intuitiva de Multiplicação de Matrizes e roda este exemplo com uma matriz quadrada de lado O tempo de execução deste algoritmo é 3m24.843s. A mesma multiplicação de matrizes foi executada no MatLab e o tempo de execução foi s. O MatLab consegue ter um desempenho tão melhor com seu algoritmo, pois utiliza a biblioteca BLAS, que considera a arquitetura do hardware e faz a multiplicação das matrizes em blocos de forma que haja uma baixa taxa de cache miss. Já o algoritmo desenvolvido de forma intuitiva não leva em conta a localização dos dados na memória e tem uma taxa de cache miss muito maior. C. J. Lin diz que nossa condiçao atual de desenvolvimento em HPC é similar a este exemplo. Estamos tentando desenvolver algoritmos matemáticos (analise de dados e clusterização) em uma arquitetura complexa (clusters e GPUs) antes que tenhamos algo como o BLAS para nos ajudar. Apesar dos pontos contra o desenvolvimento utilizando técnicas de HPC, algumas vezes o uso de computação distribuída ou GPUs em um mesmo servidor se faz necessário. No 4
6 trabalho de Michelle Bank e Eric Brill de 2001 foram analisados alguns dos principais métodos de aprendizado de máquina supervisionado e foi medido o desempenho de cada algoritmo conforme o tamanho da entrada. A figura 2 é uma reprodução do gráfico apresentado no trabalho e podemos ver que todos os métodos estudados tem a mesma tendência de crescimento conforme os dados de entrada. Com base nos dados de desempenho dos algoritmos, Bank e Brill concluiram que não é o melhor algoritmo que tem melhor desempenho, mas o que tem mais dados de entrada para o treinamento. Figura 2: Reproduçao do gráfico apresentado por Michelle Bank e Eric Brill de No trabalho de Adam Coates et al. (2011) foi feita uma analise similar para algoritmos de aprendizado não supervisionado. Neste trabalho, todos os algoritmos possuiam base de dados ilimitadas, pois os dados eram obtidos da internet conforme se fazia necessário. Em analises não supervisionadas, não se tem uma base de dados com labels para o treinamento. As características que serão usadas para classificar são obtidas conforme o algoritmo. Desta forma, quanto mais robusto o algoritmo, mais caracteristicas dos dados analisados podem ser retiradas, e consequentemente melhor é a analise. A figura 3 é uma reproduçao do gráfico apresentado no trabalho de Coates et al. e pode se observar que todos os algoritmos estudados exibem um padrão de crescimento similar conforme a quantidade de caracteristicas estraídas dos dados. Novamente, como disse Andrew Ng em sua palestra apresentada no NIPS 2012 ao apresentar este mesmo gráfico como exemplo, não é o melhor algoritmo que tem um melhor desempenho, mas o algoritmo que consegue extrair mais características para a analise dos dados. 5
7 Figura 3: Reprodução do gráfico apresentado por Coates et al. (2011). Com base nas análises de algoritmos de aprendizado de máquina apresentados, podemos ver que se faz necessário o uso de muitos dados e algoritmos robustos que exigem muito poder computacional. Para o aprendizado supervisionado, os dados precisam estar pré classificados, o que não torna possível obter dados diretamente da internet. Se faz necessário uma base de dados. Para poder analisar um volume de dados grande o suficiente que o erro dos algoritmos se torne pequeno, pode ser necessário o uso de mais de uma máquina, dependendo da memória disponível em cada máquina. Uma dificuldade adicional neste caso é saber reunir a informação obtida separadamente em cada máquina. Para o caso de algoritmos não supervisionados, os dados analisados não são pré classificados, então pode se obter a base de dados da internet de forma que a quantidade de dados para cada algoritmo e ilimitada. A quantidade de características retirada das imagens para a classificação é que torna um algoritmo melhor ou pior. Para retirar uma grande quantidade de características da imagem, é necessário um algoritmo robusto, o que exige bastante em processamento. Muitas vezes as pesquisas limitam a robustez do algoritmo pelo tempo de processamento necessário, pois uma máquina não consegue processar algoritmos muito pesados em um tempo viável para a pesquisa. Uma solução possível é aumentar o poder de processamento da máquina fazendo uso de GPUs ou distribuir o processamento em um cluster de máquinas, conforme a disponibilidade de hardware e flexibilidade do algoritmo. Discutiremos na próxima sessão com mais detalhes como escolher a abordagem de HPC para melhorar o aprendizado de máquina. 6
8 Qual abordagem de HPC utilizar? Como já foi comentado, só é recomendado utilizar uma abordagem de HPC quando não se pode resolver o problema de forma satisfatória com programação single thread. Hoje em dia memória e processamento são bem mais baratos e não é incomum que alguns servidores possuam memória ram e processamento suficiente para resolver muitos dos problemas de analise de dados sem a necessidade de utilizar mais de uma máquina. Se não for o caso e realmente for necessário o uso de HPC, discutiremos algumas alternativas. Se só existe uma opção de hardware, tente fazer o melhor com o que se tem. Se o que está disponível são algumas máquinas com pouco poder computacional, pode se tentar usar uma abordagem distribuída com Hadoop ou MPI para aproveitar várias máquinas simples e tentar fazer um processamento um pouco mais poderoso, lidando com o problema da comunicação entre as máquinas. Se todos os seus dados podem ser copiados facilmente para uma única máquina a qual tem capacidade de memória o bastante para conter os dados, porém e necessário mais poder de processamento que a CPU do computador pode fazer, uma opção é usar GPUs. As GPUs não são simples de serem programadas, por terem uma arquitetura bastante diferente da arquitetura de CPUs com a qual estamos habituados a lidar, porém, existe bastante material na internet para auxiliar quem queira aprender. Também já existem diversos frameworks para esse tipo de desenvolvimento, o que melhora também o desempenho das aplicações. Se seus dados são de uma escala multi máquina, isto é, não cabem na memória de apenas uma máquina, será necessário usar um cluster. No caso de clusters, novamente podemos escolher entre usar apenas CPUs ou combinar com GPUs. A mesma analise é válida. Se o processamento for um limitante, mesmo para a abordagem distribuída, pode se fazer uso de GPUs no cluster para ganhar desempenho, se o problema e apenas o volume de dados, talvez seja melhor fazer o processamento apenas em CPUs. Aplicações de Deep Learning Merck Drug Discovery Competition Merck drug discovery competition foi um torneio divulgado na internet pela fabricante de remédios Merck na tentativa de conseguir um método de simulação de substâncias mais eficiente do que eles possuiam até o momento. A simulação de substâncias químicas é fundamental para a industria farmaceutica, pois no processo de desenvolvimento de uma nova 7
9 droga é preciso saber se a substancia desenvolvida realmente terá o resultado esperado e se ocorrem reações adversas pela interação da molécula do medicamento com outras moléculas. O algoritmo vencedor desta competição é uma rede neural de deep learning desenvolvida por estudantes da universidade de Toronto. Eles desenvolveram a rede de forma que a camada mais baixa foi programada pela Merck com a informação sobre como as moléculas interagem entre si. Este algorítmo foi executado em GPUs para acelerar o processamento e conseguiu o melhor resultado competindo com abordagens de aprendizado de máquina tradicional. Google Brain O projeto de inteligência artificial usando deep learning da Google, o Google Brain, já tem mostrado resultados desde Em um dos primeiros trabalhos publicados pela equipe da Google liderada por Andrew Ng em 2012, eles relataram os primeiros resultados que o projeto obteve utilizando deep learning. Este trabalho foi uma prova de conceito, pois eles queriam determinar se era possível criar um algoritmo para reconhecimento de faces e outros objetos com base em imagens não catalogadas e sem prover nenhum tipo de informação para o algoritmo se a imagem continha ou não uma face. O algoritmo de deep learning proposto utilizou 37 mil imagens de 200 x 200 pixels obtidas na internet, sem nenhum tipo de informação associada a elas. Dentre as imagens, continham faces e as restantes eram imagens para atrapalhar o treinamento. Este algoritmo foi executado em mil máquinas, cada uma com 16 cores de processamento, por 3 dias. O resultado obtido foi bastante satisfatório para a equipe, pois eles verificaram que o algoritmo conseguiu desenvolver um filtro para identificar faces, como a proposta inicial queria provar ser possivel e também outros elementos contidos nas imagens, como gatos e corpos humanos. A imagem 4 ilustra o filtro gerado por um dos neurônios da rede para identificação de faces. Após estas pesquisas iniciais a Google já aplicou a técnica em muitos outros componentes da empresa. O reconhecimento de voz utilizado no Android recebeu melhorias do algoritmo, passando a apresentar 25% menos erros que a versão de reconhecimento de voz usada anteriormente. Outra aplicação foi para melhorar a busca por imagens da Google. Anteriormente esta busca era feita apenas por tags relacionadas à imagem e agora já começa a ter um filtro adicional que utiliza deep learning para melhorar os resultados retornados. 8
10 Figura 4: Filtro gerado por um dos neurônios da rede para reconhecer faces. Identificação de Placas de Trânsito Uma aplicaçao bastante comum de machine learning é a identificação de placas de trânsito. No trabalho de J.Stallkamp et al. de 2012 foi utilizada a técnica de deep learning para a tarefa tendo um resultado melhor que outros métodos de aprendizado de máquina. O desempenho da rede deep learning foi de 99,46% de acertos, enquanto a média do desempenho de humanos classificando as mesmas clacas foi de 98,81%, o que mostra que a classificalção da rede é melhor até que a classificação de humanos. Mesmo o melhor humano teve um desempenho menor que a rede, sendo de 99,22% de acertos. A identificação de placas de trânsito é uma preocupaçao constante das pesquisas de carros autonomos e já vem sendo pesquisada à muitos anos. Atualmente os melhores resultados obtidos são conseguidos com redes deep learning, ficando a frente de várias outras técnicas de machine learning. Possíveis Aplicações Futuras O deep learning está prorcionando a extração de informações dos dados que antes nenhum algoritmo de inteligência artificial conseguia extrair. Pelo fato da técnica tentar simular o aprendizado de um cérebro, os pesquisadores acreditam que será possivel extrair um significado associado ao dado além do representado. Por exemplo, será possível associar frases e dar um significado a um texto e até formar um conhecimento ou uma espécie de pensamento. Uma das aplicações propostas é para tradução. Atualmente os métodos de tradução utilizam frases em várias linguas pré relacionadas. Os próprios usuarios de sistemas como o Google Tradutor entram frases que acham mais apropriadas para suas traduções e fazem pequenas correções de forma que o algoritmo aprende com a supervisão dos usuários. 9
11 Utilizando deep learning seria possível entrar uma frase em inglês em uma rede que reconhece inglês e tratar o padrão de ativação dos neurônios dentro da rede como se fosse o pensamento formato por aquela frase. Espera se que o mesmo pensamento submetido à uma rede que entende francês resulte em uma frase em francês que é a tradução para a frase originalmente submetida em inglês. Desta forma, teríamos uma tradução baseada em significados em vez de uma tradução por palavras. Outra aplicação possível seria melhorar as buscas por textos na internet. Atualmente as buscas são feita por palavras chave, mas não podemos saber se um texto é contra ou a favor de uma determinada opinião, por exemplo. Coisas como ironia não podem ser tratadas por este tipo de abordagem. Utilizando deep learning seria possível construir um significado a partir do relacionamento entre as frases do texto e avaliar se aquele documento é ou não relevante para a busca baseado no conhecimento ou ideia que ele apresenta, além das palavras. Conclusão Deep learning tem se mostrado uma técnica promissora para extrair informações de dados da internet. Muitos trabalhos tem mostrado a capacidade de aprendizado deste algoritmo ao ser exposto a um grande volume de dados. Esta técnica tem a vantagem de separar categorias não previamente estabelecidas, o que é vantajoso para aplicações com muitas categorias, como o caso de imagens e textos. Técnicas de paralelismo estão sendo usadas por muitas pesquisas da área para que seja possível processar um algoritmo robusto em tempo viável. Quanto mais robusto o algoritmo, mais características são extraidas dos dados para serem usadas na classificação, o que torna fundamental um alto poder computacional para se conseguir um bom resultado de classificação. Em muitos problemas onde usualmente se aplica aprendizado de máquina, como classificação de placas de transito, a tecnica de deep learning tem apresentado resultados melhores que outras técnicas tradicionais. Muitas vezes até consegue resultados melhores do que um humano conseguiria fazendo a classifiação manualmente. Por este motivo, e esperado que este algoritmo seja aplicado para muitos tipos de problemas da computação. Também é possível que novas aplicações para os dados surjam em função da maior facilidade de extrair conhecimento destes dados. 10
12 Bibliografía Large Scale Distributed Deep Networks, Jeffrey Dean, Greg S. Corrado, Rajat Monga, Kai Chen, Matthieu Devin, Quoc V. Le, Mark Z. Mao, Marc Aurelio Ranzato, Andrew Senior, Paul Tucker, Ke Yang, Andrew Y. Ng, 2012 Building High level Features Using Large Scale Unsupervised Learning Quoc V. Le, Marc'Aurelio Ranzato, Rajat Monga, Matthieu Devin, Kai Chen, Greg S. Corrado, Jeff Dean, Andrew Y. Ng, 2012 Coates, A.; Lee, H. & Ng, A. (2011), An analysis of single layer networks in unsupervised feature learning, in Geoffrey Gordon; David Dunson & Miroslav Dudík, ed., 'Proceedings of the Fourteenth International Conference on Artificial Intelligence and Statistics', JMLR W&CP,, pp Scaling to Very Very Large Corpora for Natural Language Disambiguation Michele Banko and Eric Brill, 2001 An Analysis of Single Layer Networks in Unsupervised Feature Learning Adam Coat, Honglak Lee, Andrew Y. Ng, 2011 Man vs. computer: Benchmarking machine learning algorithms for traffic sign recognition J. Stallkamp,M. Schlipsing, J. Salmen, C. Ige, 2012 Big data Analytics: Challenges and Opportunities, 2014 C. J. Lin Universidade de Taiwan Deep Learning: Intelligence from Big Data MIT Enterprise Forum Bay Area, 2014 Machine Learning and AI via Brain simulations Andrew Ng, acessado em 22 de junho de
13 learning, acessado em 22 de junho de learning/, acessado em 22 de junho de emperors new clothes distributed machine learning/, acessado em 22 de junho de
Inteligência Artificial
Universidade Federal de Campina Grande Departamento de Sistemas e Computação Pós-Graduação em Ciência da Computação Inteligência Artificial Aprendizagem (Redes Neurais - Complementar) Prof. a Joseana Macêdo
Inteligência Artificial
Inteligência Artificial Professor Rafael Stubs Parpinelli E-mail: [email protected] udesc.academia.edu/rafaelstubsparpinelli www.researchgate.net/profile/rafael_parpinelli www.joinville.udesc.br/portal/professores/parpinelli/
GoogLeNet - Going Deeper with Convolutions
- Going Deeper with Convolutions Heyde Francielle do Carmo França Prof. Dr. Anderson Soares Instituto de Informática Universidade Federal de Goiás 02 de Dezembro de 2016 1 / 35 Sumário I 1 2 3 2 / 35 3
CUDA: Compute Unified Device Architecture. Marco Antonio Simões Teixeira
CUDA: Compute Unified Device Architecture Marco Antonio Simões Teixeira Sumário Introdução; CUDA: História; CUDA: programando; CUDA e deep learning; Links úteis; Considerações finais. 2 INTRODUÇÃO 3 O
SEMINÁRIO DOS ARTIGOS:
SEMINÁRIO DOS ARTIGOS: Text Detection and Character Recognition in Scene Images with Unsupervised Feature Learning End-to-End Text Recognition with Convolutional Neural Networks Fernanda Maria Sirlene
Aprendizado de Máquina (Machine Learning)
Ciência da Computação (Machine Learning) Aula 01 Motivação, áreas de aplicação e fundamentos Max Pereira Nem todo conhecimento tem o mesmo valor. O que torna determinado conhecimento mais importante que
READING DIGITS IN NATURAL IMAGES WITH UNSUPERVISED FEATURE LEARNING
READING DIGITS IN NATURAL IMAGES WITH UNSUPERVISED FEATURE LEARNING Fernanda Maria Sirlene READING DIGITS IN NATURAL IMAGES WITH UNSUPERVISED FEATURE LEARNING NIPS Workshop on Deep Learning and Unsupervised
RECONHECIMENTO DE CARACTERES EM IMAGENS COM RUÍDO
RECONHECIMENTO DE CARACTERES EM IMAGENS COM RUÍDO Fernanda Maria Sirlene Pio SUMARIO Introdução Trabalhos Relacionados Metodologia Experimentos Conclusão Referências 2 INTRODUÇÃO Reconhecimento de Padrões
RECONHECIMENTO DE GÊNERO ATRAVÉS DA VOZ
RECONHECIMENTO DE GÊNERO ATRAVÉS DA VOZ Marcela Ribeiro Carvalho [email protected] IFG/Câmpus Goiânia Hipólito Barbosa Machado Filho [email protected] IFG/Câmpus Goiânia Programa Institucional
Implementação de Kernel Customizado Aplicado à Análise de Sentimentos em Resenhas de Filmes
Implementação de Kernel Customizado Aplicado à Análise de Sentimentos em Resenhas de Filmes Luciana Kayo e Paulo Mei Prof. Dr. Marco Dimas Gubitoso Introdução Inspiração na competição When Bag of Words
Neural Networks. Neurônios: Elementos aritméticos simples. Redes Neuronais: conj de neurônios interligados.
Neural Networks Neural Networks Do ponto de vista computacional: métodos para representar funções usando redes de elementos aritméticos simples, e aprender tais representações através de exemplos. Do ponto
IA - TensorFlow. Paulo Cotta
IA - TensorFlow Paulo Cotta Jabá Sou voluntário do GDG Trabalho na Stefanini como Engineer ML e DL Tenho à Startup Koffee More Gosto de repassar conhecimento Faço parte do Candangos do Cerrado IA Professor
Técnicas de Inteligência Artificial
Universidade do Sul de Santa Catarina Ciência da Computação Técnicas de Inteligência Artificial Aula 01 Introdução, motivação e áreas de aplicação Prof. Max Pereira O futuro, das máquinas inteligentes,
Roberto Lotufo Big Data Brasil São Paulo, 23 de junho de 2018
Roberto Lotufo [email protected] Big Data Brasil São Paulo, 23 de junho de 2018 Classificação dedo falso/dedo vivo Desempenho atual: 200ms Intel I5 99% acurácia LivDet 2015 - Fingerprint Liveness Competition
Técnicas de Inteligência Artificial
Universidade do Sul de Santa Catarina Ciência da Computação Técnicas de Inteligência Artificial Aula 01 Introdução, motivação e áreas de aplicação Prof. Max Pereira Neurônio de McCulloch-Pitts Warren
INTELIGÊNCIA ARTIFICIAL
INTELIGÊNCIA ARTIFICIAL REDES NEURAIS Caracterização Intuitiva: Em termos intuitivos, Redes Neurais Artificiais (RNAs) são modelos matemáticos inspirados nos princípios de funcionamento dos neurônios biológicos
2. Redes Neurais Artificiais
Computação Bioinspirada - 5955010-1 2. Redes Neurais Artificiais Prof. Renato Tinós Depto. de Computação e Matemática (FFCLRP/USP) 1 2.6. Deep Learning 2.6.1. O Problema da Extração de Características
Fabrício Jailson Barth BandTec
Introdução à Inteligência Artificial Fabrício Jailson Barth [email protected] BandTec 1 o semestre de 2012 Objetivos e Sumário O que é Inteligência Artificial (IA)? Objetivos da IA. Influência
Introdução ao Reconhecimento. Prof. Dr. Geraldo Braz Junior
Introdução ao Reconhecimento Prof. Dr. Geraldo Braz Junior O que você vê? 2 Pergunta: Essa imagem tem um prédio? Classificação 3 Pergunta: Essa imagem possui carro(s)? Detecção de Objetos Vários 4 Pergunta:
Minicurso: Inteligência Artificial Aplicada a Sistemas Elétricos
Minicurso: Inteligência Artificial Aplicada a Sistemas Elétricos Introdução a Machine Learning: Teoria, Aplicações e IA na Arquitetura Intel Vitor Hugo Ferreira, DSc - UFF Flávio Mello, DSc UFRJ e Ai2Biz
30/5/2011. Sistemas computacionais para processamento paralelo e distribuído
Arquitetura de Computadores Sistemas computacionais para processamento paralelo e distribuído Prof. Marcos Quinet Universidade Federal Fluminense UFF Pólo Universitário de Rio das Ostras - PURO Processamento
Transformação de Imagens Digitais em Código CNC Aprimoradas com Redes Neurais Artificiais
Transformação de Imagens Digitais em Código CNC Aprimoradas com Redes Neurais Artificiais Abstract. Jader Teixeira 1, Alex Vinícios Telocken 1 1 Universidade de Cruz Alta (UNICRUZ) [email protected],
Sistemas de Informação e Decisão. Douglas Farias Cordeiro
Sistemas de Informação e Decisão Douglas Farias Cordeiro Decisão Tomamos decisões a todo momento! O que é uma decisão? Uma decisão consiste na escolha de um modo de agir, entre diversas alternativas possíveis,
I-Preproc: uma ferramenta para pré-processamento e indexação incremental de documentos
17 I-Preproc: uma ferramenta para pré-processamento e indexação incremental de documentos Renan Gomes Pereira 1 Maria Fernanda Moura 2 Resumo: O objetivo deste trabalho é apresentar a ferramenta I-Preproc,
Previsão de Vazões utilizando Redes Neurais Artificiais MLP e NSRBN
Previsão de Vazões utilizando Redes Neurais Artificiais MLP e NSRBN Alan Caio Rodrigues MARQUES 1, Gelson da Cruz JUNIOR 2, Cassio Dener Noronha VINHAL 3 Escola de Engenharia Elétrica e de Computação 1
Modelo de Programação Paralela
Modelo de Programação Paralela As arquiteturas paralelas e distribuídas possuem muitos detalhes Como especificar uma solução paralela pensando em todos esses detalhes? O que queremos? Eecutar a solução
Introdução às Redes Neurais Artificiais
Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Introdução às Redes Neurais Artificiais DCA0121 Inteligência Artificial Aplicada Heitor Medeiros 1 Tópicos
Linguagens de Programação
Universidade Federal do Rio Grande do Norte Centro de Tecnologia Departamento de Computação e Automação Linguagens de Programação Professor Responsável: Luiz Affonso Henderson Guedes de Oliveira Prof.
Classificação de Padrões. Abordagem prática com Redes Neurais Artificiais
Classificação de Padrões Abordagem prática com Redes Neurais Artificiais Agenda Parte I - Introdução ao aprendizado de máquina Parte II - Teoria RNA Parte III - Prática RNA Parte IV - Lições aprendidas
Aprendizado de Máquina
Aprendizado de Máquina A necessidade de inserir aprendizado nas máquinas surgiu após a construção dos Sistemas Especialistas (SEs). Os primeiros SEs não possuíam mecanismo de aprendizado e tornavam-se
Informática. Aprendizado de Máquina. Professor Márcio Hunecke.
Informática Aprendizado de Máquina Professor Márcio Hunecke www.acasadoconcurseiro.com.br Informática Aula XX NOÇÕES DE ALGORITMOS DE APRENDIZADO O aprendizado automático, aprendizado de máquina (em inglês:
Aprendizado de Máquina
Universidade Federal do Espírito Santo Centro de Ciências Agrárias CCA UFES Departamento de Computação Aprendizado de Máquina Inteligência Artificial Site: http://jeiks.net E-mail: [email protected]
TÓPICOS EM INTELIGÊNCIA ARTIFICIAL Redes Neurais Artificiais
TÓPICOS EM INTELIGÊNCIA ARTIFICIAL Redes Neurais Artificiais [email protected] http://professor.luzerna.ifc.edu.br/ricardo-kerschbaumer/ Introdução O Cérebro humano Mais fascinante processador
Aula 06 - Máquina Multinível e Von Neumann
Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte Campus Currais Novos Instalação e Organização de Computadores Aula 06 - Máquina Multinível e Von Neumann Prof. Diego Pereira
Workshop de Inteligência Artificial e Redes Neurais
Workshop de Inteligência Artificial e Redes Neurais Matheus Facure Alves Sumário 1 Introdução 2 Aprendizado de Máquina Essencial 3 Deep Learning 4 Código 5 Considerações Finais Desmistificando Aprendizado
Análise e Técnicas de Algoritmos
Análise e Técnicas de Algoritmos Prof. Jorge Figueiredo http://www.dsc.ufcg.edu.br/~abrantes/atal032.html Jorge Figueiredo Aula 1-1 Agenda Apresentação do curso Motivação Introdução informal Jorge Figueiredo
SSC546 -Avaliação de Desempenho de Sistemas
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação SSC546 -Avaliação de Desempenho de Sistemas Parte 1 -Aula 2 Sarita Mazzini Bruschi Material
O reconhecimento facial é dividido em três etapas: i) detecção da face, ii) extração de características e iii) reconhecimento da face.
ESTUDO SOBRE MÉTODOS DE RECONHECIMENTO FACIAL EM FOTOGRAFIAS DIGITAIS Ana Elisa SCHMIDT¹, Elvis Cordeiro NOGUEIRA² ¹ Orientadora e docente do IFC-Campus Camboriú; ² Aluno do curso de Bacharelado em Sistemas
Programação de Alto Desempenho - 2. Prof: Carla Osthoff
Programação de Alto Desempenho - 2 Prof: Carla Osthoff E-mail: [email protected] 3- Modelos de programação paralela Shared Memory/Threads Posix Win32 treads OpenMP Message Passing MPI Data Parallel OpenCL/Cuda
PROCESSADORES Unidade de Controle Unidade Aritmética e Lógica efetua memória de alta velocidade registradores Program Counter Instruction Register
PROCESSADORES Um computador digital consiste em um sistema interconectado de processadores, memória e dispositivos de entrada e saída. A CPU é o cérebro do computador. Sua função é executar programas armazenados
INF 1771 Inteligência Artificial
Edirlei Soares de Lima INF 1771 Inteligência Artificial Aula 01 - Introdução O Que é Inteligência Artificial? [Winston, 1984]: "Inteligência artificial é o estudo das ideias que
Informática Parte 19 Prof. Márcio Hunecke
Escriturário Informática Parte 19 Prof. Márcio Hunecke Informática NOÇÕES DE ALGORITMOS DE APRENDIZADO O aprendizado automático, aprendizado de máquina (em inglês: "machine learning") ou aprendizagem
DESENVOLVIMENTO DE UM ALGORITMO PARALELO PARA APLICAÇÃO EM CLUSTER DE COMPUTADORES
DESENVOLVIMENTO DE UM ALGORITMO PARALELO PARA APLICAÇÃO EM CLUSTER DE COMPUTADORES João Ricardo Kohler Abramoski (PAIC/FUNDAÇÃO ARAUCÁRIA), Sandra Mara Guse Scós Venske (Orientadora), e-mail: [email protected]
Deep Learning para Classificação de Imagens
Deep Learning para Classificação de Imagens Vinicius Eiji Martins 1, Sylvio Barbon Junior 1 1 Departamento de Computação Universidade Estadual de Londrina (UEL) Caixa Postal 10.011 CEP 86057-970 Londrina
Técnicas de Processamento Paralelo na Geração do Fractal de Mandelbrot
Técnicas de Processamento Paralelo na Geração do Fractal de Mandelbrot Bruno Pereira dos Santos Dany Sanchez Dominguez Esbel Tomás Evalero Orellana Universidade Estadual de Santa Cruz Roteiro Breve introdução
INF 1771 Inteligência Artificial
INF 1771 Inteligência Artificial Aula 01 - Introdução Edirlei Soares de Lima O que é Inteligência Artificial? O que é Inteligência Artificial? Área de pesquisa que tem como objetivo
Mineração de Textos na Web
Mineração de Textos na Web Luciano Antonio Digiampietri Escola de Artes Ciências e Humanidades da Universidade de São Paulo [email protected] Resumo: Com o crescimento das informações disponíveis na
Arquitetura de Computadores
Arquitetura de Computadores 2018.1 Computador O computador é uma máquina que realiza processamento de dados automaticamente. Ela é formada por um hardware e um software. O Engenho Analítico é o primeiro
scikit-learn: Aprendizado de máquina 101 com Python
scikit-learn: Aprendizado de máquina 101 com Python Luciana Fujii Campus Party BH 2016 1 / 30 Introdução Aprendizado de máquina Aprendizado de máquina é o campo da ciência da computação que dá aos computadores
Desenvolvimento de Aplicações Desktop
Desenvolvimento de Aplicações Desktop Conceitos Básicos de Programação Professor: Charles Leite O Desenvolvimento de Programas A programação consiste em indicar como o computador (hardware) deve trabalhar
Aprendizado de Máquina
Universidade Federal do Espírito Santo Centro de Ciências Agrárias CCA UFES Departamento de Computação Aprendizado de Máquina Inteligência Artificial Site: http://jeiks.net E-mail: [email protected]
Inteligência Artificial
Inteligência Artificial Aula 01 - Introdução Tiago Alves de Oliveira 1 O que é Inteligência Artificial? Tiago Alves de Oliveira 2 O que é Inteligência Artificial? Área de pesquisa que tem como objetivo
Redes Neurais Convolucionais
André Gustavo Hochuli Orientadores: Dr. Luiz E. S. Oliveira/Dr. Alceu Britto Programa de Pós-Graduação em Informática Departamento de Informática UFPR Neurônio Artificial Redes Neurais - Vetor de Caracteristícas
Redes Neurais não Supervisionadas: SOM
Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Redes Neurais não Supervisionadas: SOM DCA0121 Inteligência Artificial Aplicada Heitor Medeiros 1 Tópicos
Inteligência Artificial Redes Neurais
Inteligência Artificial Jarley P. Nóbrega, Dr. Faculdade Nova Roma Bacharelado em Ciência da Computação [email protected] Semestre 2018.2 Jarley P. Nóbrega, Dr. (Nova Roma) Inteligência Artificial Semestre
Um Middleware de Inteligência Artificial para Jogos Digitais 105
6 Conclusão Este capítulo apresenta alguns comentários e considerações gerais sobre o trabalho de pesquisa realizado durante o desenvolvimento desta dissertação, as contribuições alcançadas e sugestões
Algoritmos e Estruturas de Dados I. Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3
Algoritmos e Estruturas de Dados I Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3 História da computação ENIAC (1946-1955) 5000 op/seg 30 toneladas; 18 mil válvulas; 140
Reconhecimento de Faces Utilizando Redes Neurais MLP
Reconhecimento de Faces Utilizando Redes Neurais MLP Autor: Adilmar Coelho Dantas 1, Orientador: Márcia Aparecida Fernandes 1 1 Programa de Pós-Graduação em Ciência da Computação Universidade Federal do
Redes Neurais Convolucionais
André Gustavo Hochuli Orientador: Prof. Dr. Luiz Eduardo Soares de Oliveira Programa de Pós-Graduação em Informática Departamento de Informática UFPR http://www.inf.ufpr.br/aghochuli/caffe/ Redes Neurais
CIÊNCIA DA COMPUTAÇÃO
CURSO G R A D E C U R R I C U L A R HÍBRIDO + CIÊNCIA DA COMPUTAÇÃO 1 OBJETIVOS DO CURSO Ciência da Computação Você aprende junto a pesquisadores e próximo do mercado de trabalho. As empresas participam
ENGENHARIA DE SISTEMAS MICROPROCESSADOS
ENGENHARIA DE SISTEMAS MICROPROCESSADOS Prof. Pierre Vilar Dantas Turma: 0040-A Horário: 4N Aula 01-26/07/2017 Plano de ensino Professor www.linkedin.com/in/pierredantas/ TÓPICOS Conceitos gerais. Evolução
UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica
REDES NEURAIS ARTIFICIAIS AULA 03 Prof. Dr. André A. P. Biscaro 1º Semestre de 2017 INTRODUÇÃO Aprendizagem é um processo pelo qual os parâmetros livres de uma rede neural são adaptados através de um processo
Introdução OpenMP. Nielsen Castelo Damasceno
Introdução OpenMP Nielsen Castelo Damasceno Computação de auto desempenho Processamento Paralelo Memória Distribuída e Compartilhada Modelo de programação OpenMP Métricas de Desempenho Computação de auto
AULA 06: PROGRAMAÇÃO EM MÁQUINAS PARALELAS
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 06: PROGRAMAÇÃO EM MÁQUINAS PARALELAS Prof. Max Santana Rolemberg Farias [email protected] Colegiado de Engenharia de Computação PROGRAMAÇÃO PARALELA
OpenMP: Variáveis de Ambiente
Treinamento OpenMP C/C++ 1 TREINAMENTO OpenMP C/C++ Módulo 1 Computação de Alto Desempenho Módulo 2 OpenMP: Construtores Paralelos Módulo 3 OpenMP: Diretivas de sincronização Módulo 4 OpenMP: Funções de
Redes Neurais. Motivação. Componentes do neurônio. Cérebro humano. Criar máquinas capazes de operar independentemente do homem:
Motivação M. Sc. Luiz Alberto [email protected] Redes Neurais Criar máquinas capazes de operar independentemente do homem: Aprenda sozinha; Interagir com ambientes desconhecidos; Possa ser chamada de
Processos O conceito de processos é fundamental para a implementação de um sistema multiprogramável. De uma maneira geral, um processo pode ser entend
Concorrência Nos sistemas Monoprogramáveis somente um programa pode estar em execução por vez, permanecendo o processador dedicado a esta única tarefa. Os recursos como memória, processador e dispositivos
INF 1771 Inteligência Artificial
INF 1771 Inteligência Artificial Aula 01 - Introdução Edirlei Soares de Lima O que é Inteligência Artificial? O que é Inteligência Artificial? Área de pesquisa que tem como objetivo
Os efeitos do paralelismo e relações de thesaurus em uma ferramenta de busca em bases textuais
72 Resumos Expandidos: XII Mostra de Estagiários e Bolsistas... Os efeitos do paralelismo e relações de thesaurus em uma ferramenta de busca em bases textuais Renan Gomes Pereira¹ Maria Fernanda Moura²
Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 02
Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 02 Prof. Max Santana Rolemberg Farias [email protected] Colegiado de Engenharia de Computação POR QUE APRENDER CONCEITOS
AULA: Introdução à Informática I
Campus Muriaé Professor: Luciano Gonçalves Moreir Disciplina: Informática Aplicada I AULA: Introdução à Informática I O que é Informática? Pode dizer-se que informática é ciência que estuda o processamento
Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores
Ciência da Computação Arq. e Org. de Computadores Processadores Prof. Sergio Ribeiro Composição básica de um computador eletrônico digital: Processador Memória Memória Principal Memória Secundária Dispositivos
JAI 6 - Deep Learning Teoria e Prática
JAI 6 - Deep Learning Teoria e Prática Esteban Clua e Cristina Nader Vasconcelos Universidade Federal Fluminense Fundamentos Computação baseada em modelos [email protected] 2 Computação baseada em aprendizado
Visão computacional. Juliana Patrícia Detroz Orientador: André Tavares Silva
Visão computacional Juliana Patrícia Detroz Orientador: André Tavares Silva Visão computacional Tentativa de replicar a habilidade humana da visão através da percepção e entendimento de uma imagem; Fazer
Benchmarks. 1. Introdução
Benchmarks 1. Introdução Um Benchmark é um programa de teste de desempenho que analisa as características de processamento e de movimentação de dados de um sistema de computação com o objetivo de medir
Redes Neurais Artificial. Inteligência Artificial. Professor: Rosalvo Ferreira de Oliveira Neto
Redes Neurais Artificial Inteligência Artificial Professor: Rosalvo Ferreira de Oliveira Neto Estrutura 1. Definições 2. Histórico 3. Conceitos Básicos 4. Aprendizado em RNA 5. Exemplo de Aprendizado com
