Prévia do material em texto
Deep Learning Conjunto de técnicas de Aprendizado de Máquina que tem revolucionado diversas áreas do conhecimento. Sumário Deep Learning ....................................................................................................................... 1 Machine Learning .................................................................................................................. 1 Supervisionada .............................................................................................................. 2 Semi-supervisionada ...................................................................................................... 2 Não supervisionada ....................................................................................................... 2 k-Nearest Neighbors ...................................................................................................... 3 Regressão Linear ............................................................................................................ 4 Regressão Logística ........................................................................................................ 4 Support Vector Machines (SVMs) ................................................................................... 5 Árvores de decisão e Random Forests ............................................................................ 6 Redes Neurais Artificiais ................................................................................................ 7 Redes Neurais Recorrentes .......................................................................................... 10 Aplicações de deep learning no mercado ............................................................................. 12 Como deep learning funciona? ......................................................................................... 12 Gerar sons para filmes mudos ...................................................................................... 12 Aumentar a resolução de imagens ............................................................................... 13 Dar cor a imagens em preto e branco ........................................................................... 13 Replicar o estilo de um artista plástico em qualquer imagem ....................................... 13 Gerar textos automáticos ............................................................................................. 13 Elaborar legendas descritivas para imagens ................................................................. 14 Dirigir carros automatizados ........................................................................................ 14 Fazer diagnósticos médicos .......................................................................................... 14 Vantagens e Desvantagens .................................................................................................. 15 Vantagens do Machine Learning e o Deep Learning para empresas .................................. 15 Machine Learning ........................................................................................................ 15 Seguindo pelas desvantagens do aprendizado da máquina .............................................. 17 Conclusão ........................................................................................................................ 18 Referência ........................................................................................................................... 18 Bibliografia .......................................................................................................................... 18 1 Deep Learning Para entendermos o que é Deep Learning, precisamos remontar a uma das tendências tecnológicas do momento: o aprendizado de máquina, ou aprendizado automático, do inglês Machine Learning (ML). Ela diz respeito ao fato de os computadores e dispositivos conectados desempenharem suas funções sem que pareçam programados e, mais propriamente, que “aprendam” conforme são utilizados. Falando de uma forma bem simples de entender, Deep Learning (aprendizagem profunda, em português) é um tema emergente dentro do campo da Inteligência Artificial. Uma subcategoria de aprendizado de máquina que diz respeito a oportunidades de aprendizagem profundas com o uso de redes neurais para melhorar as coisas, tais como reconhecimento de fala, visão computacional e processamento de linguagem natural. Isso está rapidamente se tornando um dos mais estudados e procurados campos dentro da ciência da computação moderna. O Deep Learning é a tecnologia base para ferramentas como o Google Translate (Google Tradutor) e o Cortana (assistente personalizado da Microsoft), por exemplo. Em suma, com enorme quantidade de poder computacional, as máquinas podem agora reconhecer objetos e traduzir voz em tempo real. O Deep Learining, portanto, torna finalmente a inteligência artificial de fato inteligente e aplicável. Agora vamos falar sobre o Machine Learning Machine Learning O Machine Learning e seus principais algoritmos de aprendizagem supervisionada O Machine Learning (Aprendizado de Máquina) é um dos assuntos mais quentes do momento e, por tal motivo, é quase certo que você já tenha ouvido falar neste termo. Convenhamos, não é por acaso. Peixes grandes como a Microsoft, Google, Facebook, IBM, Oracle e Nvidia têm apostado alto nesta seara, investindo quantias generosas em P&D com o objetivo de proporcionar cada vez mais inovação e inteligência para seus principais produtos, os quais nós costumamos utilizar diariamente e que agilizam as nossas tarefas (no caso do Microsoft Word, Google Tradutor, Google Search). Além destes, há também várias outras empresas abraçando esta nova realidade, sendo que Embratel, Itaú e Danone estão entre elas. 2 O Machine Learning veio para ficar e está revolucionando mercados, tendo impulsionado muitos negócios ao permitir o desenvolvimento de produtos muito mais inteligentes e competitivos. Diante de tudo o que você já viu na internet até agora sobre este assunto, em algum momento já deve ter se perguntado sobre o que exatamente seria o Machine Learning e em quais princípios, ou algoritmos, isto se fundamenta. Vejamos. De um modo geral, o ML é uma junção de matemática (álgebra linear, cálculo integral e derivadas, estatística, teoria da probabilidade, etc), software e dados (estruturados ou semi-estruturados). Esta combinação permite que as máquinas "aprendam" e desempenhem tarefas específicas sem serem explicitamente programadas para isto. Portanto, não estamos falando daquela abordagem determinística tradicional, normalmente baseada em regras, onde a máquina segue um "roteiro" que orienta todos os passos a serem seguidos sem a devida capacidade para lidar com imprevistos. O ML, pelo contrário, atua em um ambiente onde a incerteza é um conceito chave. Ao ser exposto a uma certa quantidade de dados (dados de treino), o algoritmo de ML consegue identificar padrões e aprender com eles, gerando modelos capazes de obter generalizações (predição) em dados completamente novos. Atualmente, as três formas de aprendizado de máquina mais utilizadas são: Supervisionada - normalmente usado em tarefas de classificação, onde os dados de treino são totalmente rotulados (a saída desejada é conhecida) e orientam o aprendizado da máquina. É como se um professor estivesse presente o tempo inteiro durante a fase de aprendizado. É o método de aprendizagem mais utilizado hoje em dia; Semi-supervisionada - apenas parte dos dados possui rótulos e o restante não possui umasaída conhecida. Neste caso, o algoritmo baseia-se nos dados rotulados para formar agrupamentos daqueles que não foram rotulados, normalmente agrupando aquelas informações que possuem alguma similaridade entre elas; Não supervisionada - frequentemente utiliza-se este método de aprendizado em análises exploratórias, onde o algoritmo não conhece a saída dos dados e precisa identificar estruturas, regularidades e relacionamentos nos dados para, então, apresentar uma saída. A aprendizagem supervisionada é, de longe, a mais comum, onde a relação entre a entrada e a saída (f(x) = y) dos dados de treino já é conhecida e o algoritmo não precisa tentar encontrar esta relação sozinho. 3 Para que a aprendizagem supervisionada possa gerar modelos capazes de fazer boas predições, é preciso tomar alguns cuidados, tais como ter dados representativos no domínio da tarefa e escolher o algoritmo mais adequado para cada situação. Para que isto seja possível, é necessário que você conheça estes algoritmos e saiba quando usar cada um deles (ou quando não usar). Mas, que algoritmos são esses? Já é o momento de apresentá-los: k-N earest Neighbors Frequentemente aplicado em reconhecimento de padrões e mineração de dados, este é um dos mais básicos no leque de ferramentas de um Engenheiro de Machine Learning. O k-Nearest-Neighbor (K vizinhos mais próximos) é muito adotado em problemas de classificação e regressão. Ele recebe apenas um parâmetro, que é o número de vizinhos k (um número inteiro e positivo). Sendo um dos algoritmos mais simples, a construção do modelo limita-se ao armazenamento do conjunto de dados de treino. A predição em cima de novos dados é feita quando o KNN consegue encontrar os pontos de dados mais próximos a estes no conjunto de dados de exemplo. Na ilustração acima, os pontos em formato circular representam os dados de exemplo (ou de treino), ao passo em que os pontos em formato de x representam dados ainda não "vistos" pelo modelo. Dado um k inteiro positivo e uma observação x (como mostrado na figura), o classificador KNN primeiro identifica os k pontos no conjunto de treino que são mais próximos de x (na figura, k=1). Em seguida, o modelo estima a probabilidade condicional para uma classe j com base na fração dos pontos de dados de treino cujos valores de classe (o y da função) são iguais a j. Para compor a saída, o modelo aplica a regra de Bayes e classifica a observação de teste x com a classe que possuir a maior probabilidade de ser a correta (considerando as classes dos pontos na vizinhança). Trazendo isto para dentro de um contexto mais matemático, o KNN funciona assim: 4 Regressão Linear A regressão linear é uma outra abordagem que está entre as mais simples. Foi desenvolvida no campo da estatística e é tratada como um modelo útil para entender o relacionamento entre valores numéricos de entrada e saída. O ML a "tomou emprestado" e, assim, a regressão linear se tornou uma das ferramentas mais úteis neste campo. Torna-se uma abordagem útil sempre que se deseja estimar uma resposta quantitativa, como o valor de um imóvel, em face de determinadas variáveis de entrada, tais como a quantidade de cômodos, latitude/longitude, renda per capita das pessoas, etc. Trata-se de um método largamente utilizado e é importante que você tenha um bom entendimento em torno dos princípios da regressão linear, antes de partir para metodologias de aprendizado mais complexas, as quais costumam ser vistas como generalizações ou extensões da mesma. Resumidamente, o objetivo é estimar uma variável quantitativa Y com base em preditor(res) X e assume-se que haja um relacionamento linear entre X e Y. Matematicamente, nós podemos descrever a regressão linear assim: Bo e B1 são coeficientes (também chamados de parâmetros) cujos valores não se conhece e serão estimados com base nos dados de treino. Uma vez obtidos os valores aproximados destes parâmetros, seria possível, por exemplo, estimar um valor em vendas (Y) com base no quanto se está investindo em anúncios de Facebook (X). Isto ajuda a responder perguntas como: Qual plataforma de anúncios contribui mais para as vendas (qual variável de entrada afeta mais o valor da saída)? Evidentemente que se trata de uma estimativa a ser feita com base em um modelo gerado a partir de dados históricos (de treino) representativos. Regressão Logística A regressão logística é a análise de regressão utilizada quando a variável dependente é categórica, normalmente assumindo valores binários (como 0 ou 1). Ao ser utilizada em problemas de classificação, ela determina a probabilidade de ocorrência de uma classe específica com base nos valores das variáveis de entrada. Similar à regressão linear, a regressão logística torna-se um pouco diferente basicamente pelo uso da função que dá o nome a esta modelagem: função logística. Considerando que o interesse aqui é obter a probabilidade de ocorrência de um determinado evento (classe), dadas as variáveis de entrada, os valores de saída deverão, assim, está contidos no intervalo 5 [0,1]. Desta forma, para qualquer variável de entrada X, a função logística garantirá que a saída seja um valor compreendido entre 0 e 1. A função logística é representada pela seguinte curva: Support Vector Machines (SVMs) O SVM (Máquina de Vetores de Suporte) é um classificador que toma como entrada um conjunto de observações e estima, para cada valor dado, a classe à qual pertence este valor. O algoritmo consegue obter um hiperplano capaz de separar os dados em classes distintas. Pode ser usado tanto para classificar dados que sejam linearmente separáveis quanto aqueles que não são linearmente separáveis por um hiperplano. O SVM é essencialmente um classificador binário e linear, mas pode ser estendido para classificar dados em mais de duas classes e que não possam ser separados linearmente. Para isto, o SVM conta com uma técnica chamada Kernel Methods, a qual constitui-se numa ponte entre a linearidade e a não-linearidade. Um kernel é uma função que quantifica a similaridade entre duas observações. Exemplo de um kernel não linear, quando d > 1: 6 A equação acima é conhecida como kernel polinomial de grau d, onde d é um número inteiro e positivo. Se d = 1, a equação torna-se linear. O kernel polinomial leva à presença de linhas curvadas no espaço de entradas: Perceba que neste caso o ajuste da linha ao lados ocorre de uma maneira muito mais flexível (lado esquerdo). Árvores de decisão e Random Forests As árvores de decisão estão entre os modelos de ML mais populares. Apenas para citar um exemplo, o sensor de movimentos do Kinect (o famoso acessório do console Xbox, da Microsoft), utiliza um modelo classificador baseado em árvores de decisão. Trata-se de um conjunto de modelos em árvore chamado Random Forests. Lembre-se deste detalhe quanto estiver jogando Just Dance no Xbox One ;-). 7 Os modelos em árvore são relativamente fáceis de interpretar e de treinar, podendo ser aplicados em uma larga variedade de tarefas. Entre estas tarefas estão: classificação, estimativa de probabilidade, regressão e clustering. No contexto destes modelos em árvore, o Random Forests é um dos mais populares. Trata-se de um conjunto de múltiplas árvores de decisão que subdivide o espaço de entrada em regiões menores. Quando usado em tarefas de classificação, por exemplo, o random forest toma a estimativa (o voto) de cada árvore do conjunto para obter a classificação combase na maioria dos votos. A figura abaixo ilustra bem o funcionamento deste algoritmo. Da próxima vez em que você ouvir alguém falar a frase "várias cabeças pensam melhor do que uma", lembre de que o Random Forest baseia-se exatamente neste princípio. Redes Neurais Artificiais As redes neurais artificiais são algoritmos de Machine Learning que se baseiam no funcionamento do cérebro biológico e suas conexões sinápticas. Aliás, é por conta delas que cunhou-se o termo deep learning (aprendizagem profunda), o qual envolve o uso de redes neurais com várias camadas. Por muitos anos, o uso de RNAs se manteve inviável, dado que sempre exigiram tempo e capacidade computacional consideráveis. Mas este panorama mudou a partir do momento em que a computação paralela ganhou um novo impulso, graças ao surgimento de GPUs (Unidades de Processamento Gráfico) cada vez mais poderosas, ao mesmo tempo em que o custo de aquisição destes hardwares se tornou bem mais acessível. De fato, o poder de processamento paralelo oferecido pelas GPUs melhora significativamente a performance de treino de uma rede neural. Por tal motivo, estes dispositivos se tornaram essenciais para os processos de criação de inteligências artificiais e para o deep learning. 8 Atualmente já existem serviços de Cloud Computing com GPUs dedicadas e especialmente dimensionados para tarefas de aprendizagem profunda, como o GPU Cloud Computing, da Nvidia, e o Amazon EC2 Elastic GPUs. As RNA's tornam-se bastante úteis a partir do momento em que passa a ser difícil resolver problemas com as abordagens mais tradicionais de aprendizado de máquina. Elas podem ser empregadas em tarefas como: • Classificação (Ex: imagens e textos) • Reconhecimento de padrões • Tarefas de predição • Análise de séries temporais • Processamento de sinais Uma RNA é composta por neurônios artificiais interligados e organizados em camadas. Cada neurônio artificial é representado por uma função matemática que computa os pesos sinápticos (parâmetros) da rede. O ajuste destes parâmetros é feito automaticamente e em diversas iterações e determina o aprendizado da rede. A figura acima ilustra um modelo de neurônio artificial chamado Perceptron (lado direito), que é a base para as redes neurais multicamadas, comparando-o com um neurônio biológico (lado esquerdo). Os dendritos, que correspondem aos dados de entrada {x1, x2, …, xm}, também chamados de features, estão associados ao neurônio artificial por meio dos pesos sinápticos {w1, w2, …, wm}. Opcionalmente, um neurônio Perceptron pode ter uma entrada extra como sendo uma constante chamada bias, cujo valor (também chamado de valor de ativação) é sempre 1 e cujo peso associado é denotado por w0. O núcleo do corpo celular é representado por uma função somatória que combina as entradas do neurônio (eu prefiro chamar de combinador linear). Uma função de ativação, por sua vez, é aplicada ao resultado do somatório, gerando um valor de saída no axônio. A ideia central é extrair combinações lineares das entradas e, então, modelar a saída como uma função não linear. Para isto, costuma-se utilizar uma função de ativação não-linear, como a sigmóide, por exemplo. De fato, esta é uma das funções de ativação mais utilizadas - o nome "sigmóide" vem da forma em "S" do seu gráfico. 9 É possível observar que a sigmóide possui um balanceamento entre um comportamento linear e não- linear, promovendo uma mudança gradual entre 0 e 1. Isto nos permite criar um algoritmo de aprendizado que se adapta aos poucos, reduzindo progressivamente os erros produzidos nas saídas dos neurônios artificiais. De um modo geral, uma RNA multicamadas é o agrupamento de vários Perceptrons interligados, também chamado de Perceptron Multicamadas. Durante o treino, o algoritmo recebe um conjunto de dados como entrada (Xn), ajusta os pesos (Wm) e produz uma saída (Yk). Entretanto, normalmente a saída é acompanhada de um erro, que seria a diferença entre o valor alvo (valor de saída desejado) e a saída que foi produzida pela rede. O objetivo é promover tantas iterações quanto possível nos dados de treino até que este erro seja minimizado. Durante estas iterações, os pesos serão ajustados inúmeras vezes até que a rede seja capaz de generalizar com o mínimo de erro. Estes ajustes nos pesos ocorrem por meio da retropropagação do erro produzido na saída, na qual a rede o propaga pelo caminho inverso do fluxo (camada por camada), utilizando a derivada parcial com base no valor deste erro para promover o ajuste dos pesos até que tal erro se reduza ao mínimo possível. O diagrama abaixo ilustra uma rede neural feed-foward (alimentada adiante) de duas camadas, sendo que uma delas é oculta. 10 Perceba que os pesos (parâmetros) são representados por ligações entre cada nó (neurônio) da rede. As setas verdes indicam o fluxo no qual ocorre o aprendizado. A seguinte função ilustra estes estágios: É evidente, contudo, que esta é uma representação simplificada do processo de aprendizado de uma RNA, visto que o interesse aqui não é abordar este assunto de uma forma aprofundada. As redes neurais possuem algumas variações, cada uma destinando-se à tarefas específicas. Entre estas variações, há duas que vêm recebendo bastante atenção: Redes Neurais Recorrentes - muito utilizadas em tarefas relacionadas ao processamento de linguagem natural, como modelagem e marcação de sequências, reconhecimento de entidades, análise de sentimentos, reconhecimento de voz, tradução de textos, etc. 11 Redes Neurais Convolucionais - são muito utilizadas no campo de visão computacional, como classificação de imagens e reconhecimento de objetos em fotografias e vídeos. Entretanto, recentemente as ConvNets revelaram uma grande capacidade para processar linguagem natural, trazendo resultados bastante respeitáveis. As RNA's entram em cena para nos ajudar a resolver problemas que normalmente parecem ser intratáveis. Problemas estes que envolvem não apenas uma complexidade maior, como também volumes de dados consideravelmente grandes. São algoritmos que estão em muita evidência agora, porque se mostraram capazes de resolver estes problemas, proporcionando resultados no estado-da- arte em diversas tarefas. Atualmente, grandes produtos e serviços que fazem parte do nosso cotidiano e facilitam a nossa vida contam com tecnologias neurais. O Google Tradutor, por exemplo, já está na sua segunda geração, agora contando com modelos neurais capazes de compreender o contexto das sentenças e proporcionar traduções muito melhores. A Apple, por sua vez, está utilizando tecnologias baseadas em deep learning para tornar os seus produtos muito mais competitivos, como é o caso das versões mais recentes do IOS e do seu novo aparelho, que está para ser lançado, HomePod. O novo iPhone X, por exemplo, já conta com um chip neural. 12 Aplicações de deep learning no mercado Deep learning já está entre nós. Essa poderosa tecnologia dentro do campo de inteligência artificial é capaz de realizar feitos surpreendentes, como reconhecer objetos em imagens ou até mesmo diagnosticar câncer de pulmão melhor do que médicos. O mais interessante sobre as ferramentas de aprendizagem profunda, no entanto, é o modo como elas funcionam. Conheça algumas aplicações muito relevantes do deep learning para o nosso dia a dia — mas, antes, saiba mais sobre essa tecnologia. Como deep learning funciona? O deep learning é, em essência, uma percepção apurada de inteligênciaartificial, que funciona de forma parecida com a nossa — combinada com a capacidade de gerar conteúdos baseados no aprendizado a partir dessa assimilação. Os algoritmos de deep learning são capazes de analisar dados não-estruturados sem praticamente nenhum tipo de pré-processamento ou supervisão. Essa tecnologia faz com que a máquina seja capaz de decifrar a linguagem natural e estabelecer modelos preditivos coerentes — preenchendo vazios em fotografias e diagnosticando doenças em exames médicos, por exemplo. O deep learning é uma solução extremamente proveitosa, que pode ser aplicada em inúmeros campos. Suas possibilidades ainda estão sendo exploradas, mas o mais animador é que não temos de esperar o futuro para ver essa tecnologia explodir: ela já é utilizada em muitos setores e deve ganhar cada vez mais espaço. Conheça agora algumas das aplicações mais interessantes de deep learning: Gerar sons para filmes mudos O deep learning é capaz de assistir a um vídeo sem som e gerar áudio que corresponda àquilo que pode ser enxergado. 13 Logo, se alguém bate com um martelo em um prego durante um filme mudo, por exemplo, a ferramenta consegue identificar qual barulho deveria ser aplicado à cena e elabora o áudio adequado para aquele momento. Aumentar a resolução de imagens Quem trabalha com imagens sabe que reduzir a resolução de uma fotografia é algo simples. Aumentar, por outro lado, é impossível. Na verdade, era impossível: já existem testes práticos da utilização do deep learning para aprimorar a qualidade de uma imagem, melhorando a sua resolução. Quando isso é feito, a máquina também acrescenta detalhes que, teoricamente, seriam invisíveis em resoluções menores. Dar cor a imagens em preto e branco Colorir imagens antigas em preto e branco é um trabalho artesanal bem complexo e quase artístico — quando feito por humanos. Se deep learning é utilizado para executar essa tarefa, ele consegue resultados impressionantes em segundos, usando redes neurais para compreender a cor de cada elemento em uma fotografia antiga, por exemplo. O mesmo vale para a colorização de longa-metragens antigos em preto e branco: a ferramenta analisa um filme mudo antigo em preto e branco e acrescenta cor e som à obra. Replicar o estilo de um artista plástico em qualquer imagem O aprendizado profundo também é capaz de criar verdadeiras obras de arte. Partindo de fotografias — ou até mesmo de simples rascunhos —, o deep learning pode usar redes neurais para replicar o estilo de Van Gogh ou Botticelli, por exemplo. Os resultados são bem interessantes, como podem ser vistos neste artigo sobre a técnica. Gerar textos automáticos A tecnologia permite que o computador gere textos sozinho — inclusive obras que, na teoria, precisariam da criatividade humana. A máquina é capaz de escrever peças de teatro seguindo o estilo de Shakespeare ou até mesmo um romance completo, além de artigos da Wikipédia e textos para blogs. 14 A ferramenta usa redes neurais imensas para relacionar palavras e sentenças, conseguindo, dessa forma, contar histórias coerentes e escrever sobre qualquer tema. Elaborar legendas descritivas para imagens O deep learning consegue descrever em detalhes o que foi capturado em uma imagem, identificando ações, objetos e pessoas. Com isso, o algoritmo pode elaborar legendas descritivas para fotografias. A aplicação tem um nível de precisão notável, com legendas bem detalhadas, como “cachorro preto e branco salta sobre uma barreira” ou “pedreiro em roupa de segurança laranja está trabalhando na estrada” — mas também pode cometer algumas falhas em casos de imagens com baixa definição ou com ruídos. Dirigir carros automatizados Existem inúmeros empregos do deep learning nas tecnologias que compõem os carros autônomos. As redes neurais podem ser utilizadas para entender a angulação da direção e identificar elementos na estrada, como pessoas, outros carros e até animais. Além disso, a inteligência artificial que controla um carro autônomo conta com deep learning para aprender melhor sobre os comportamentos de outros motoristas — tomando decisões de acordo com eles e prevendo acidentes. Fazer diagnósticos médicos O deep learning pode realizar diagnósticos médicos baseados em imagens e, em alguns casos, até mesmo com maior precisão do que profissionais da área da saúde. Segundo dados da Enlitic, uma startup dos Estados Unidos, seu sistema baseado em deep learning consegue detectar câncer de pulmão com uma taxa de acerto 50% maior que a dos radiologistas. O sistema da Enlitic também é mais preciso no diagnóstico de fraturas no pulso: uma acurácia de 97%, enquanto médicos acertam em 85% das vezes. Outras aplicações de deep learning 15 As possibilidades de deep learning não param por aí. Aplicações dessa tecnologia são testadas em diversas áreas: aplicativos de reconhecimento de voz — como o Google Now e a Siri — são baseados em deep learning, por exemplo. Como essa ainda é uma área relativamente nova, há muito para ser aprendido e explorado em inúmeros outros âmbitos: Composição de música: assim como no caso das artes plásticas e da escrita, as redes neurais podem compor canções, da música clássica ao rap; Tradução mais poderosa: com o deep learning, é possível fazer traduções bem mais fidedignas, inclusive em tempo real; Classificação e organização de fotografias: como o deep learning consegue perceber pessoas e objetos em qualquer imagem, algoritmos podem ser usados também para organizar coleções muito grandes, com vários filtros baseados no conteúdo das fotos; Jogos de videogames: com base apenas em estímulos visuais e sonoros, é possível ensinar uma máquina a jogar videogame e outros jogos a partir do deep learning. Foi com essa tecnologia que o Google DeepMind conseguiu criar um software capaz de vencer um grande mestre de Go. Vantagens e Desvantagens Vantagens do Machine Learning e o Deep Learning para empresas Machine Learning e Deep Learning são técnicas de análises de dados que automatizam o desenvolvimento de modelos analíticos e levam o conceito de inteligência artificial a um novo nível. Elas já estão presentes em diversas ferramentas e máquinas — dos carros que dirigem sem motoristas até exemplos que já se tornaram mais do que comuns para nós, como o filtro de spam dos serviços de e-mail e as recomendações de conteúdo dos principais serviços de streaming. Conheça um pouco mais sobre essas técnicas que ganham cada vez mais força nesses tempos onde a informação é tão valorizada e veja algumas vantagens que elas podem trazer para as empresas. Machine Learning Muitas vezes traduzido como “aprendizagem de máquina”, é a tecnologia responsável por elaborar conjuntos de regras e sistemas capazes de analisar dados e, por meio de complexos cálculos e cruzamentos de informações, extrair aprendizados em altíssima velocidade. 16 A Machine Learning permite desenvolver algoritmos capazes de realizar automaticamente tarefas que poderiam consumir muitas horas de trabalho (e raciocínio lógico) de seres humanos. Deep Learning A Deep Learning — ou “Aprendizagem Profunda” — é uma técnica que facilita implementação da Machine Learning — atualmente é quase impossível falar de uma sem citar a outra. A Deep Learning permite a um dispositivo pensar, aprender e agir como um ser humano, graças ao uso inteligente de sistemas de aprendizagem contínuae de redes neurais artificiais que imitam a atividade em camadas dos neurônios no neocórtex. Um exemplo de prática de Deep Learning são as ferramentas de reconhecimento de imagens que alcançam taxas de acerto maiores que a de humanos em diferentes cenários. É possível reconhecer automaticamente em uma imagem elementos que podem ser desde fotos de gatinhos fofos até a presença de tumores em exames de ressonância magnética. Agora que você já está mais familiarizado com os conceitos de Machine Learning e Deep Learning, conheça as principais vantagens que eles podem trazer aos negócios: Aprender mais (e melhor) com os dados O enorme volume e variedade de dados que temos disponíveis em um mundo hiperconectado, o atual poder de processamento computacional e as novas — e mais acessíveis — soluções de armazenamento de informações abriram todo um novo leque de possibilidades para as empresas. Tornou-se viável analisar dados complexos em grande escala e, principalmente, aprender com eles. É possível criar algoritmos capazes de realizar previsões de cenários muito mais assertivas do que as feitas por nós, meros humanos, e em uma velocidade que nunca conseguiríamos alcançar. Excelente solução para, dentre outros usos, identificar se o lançamento de um novo produto será bem-sucedido ou prever qual será a demanda no próximo semestre com base na análise do histórico de vendas e levando em conta todas as variáveis possíveis. Aumento da produtividade Soluções de Machine Learning e Deep Learning são capazes de substituir e automatizar diversas tarefas que há bem pouco tempo só poderiam ser feitas por humanos — e, o melhor, como uma velocidade e assertividade muito superior. 17 Isso permite uma ágil identificação de problemas e suas soluções, análises de relatórios, auxílio na tomada de decisões etc. Ao fazer com que a equipe não gaste mais tempo nessas tarefas, você libera os colaboradores a se dedicarem àquilo que fazem melhor e foram contratados para fazer. A produtividade da empresa aumentará sem a necessidade de ampliar o quadro de funcionários. Redução de custos por meio do Machine Learning Além de uma forma de aumentar a produtividade da equipe, o uso de aprendizagem de máquina também permite substituir os serviços oferecidos por fornecedores por soluções mais eficazes. Um exemplo é o uso de sistemas baseados em Machine Learning, capazes de analisar contratos e “traduzir” a linguagem jurídica para termos de mais fácil compreensão para as partes. É possível também determinar algum item que esteja faltando ou que não deveria estar presente, como alguma taxa ou comissão não negociada. Isso dispensa a necessidade de admitir um advogado, que muitas vezes seria contratado apenas para ler um documento. Seguindo pelas desvantagens do aprendizado da máquina Como os sistemas de aprendizado de máquinas não estão explicitamente programados para resolver problemas, é difícil saber como um sistema chegou aos seus resultados. Isso é conhecido como um problema de "caixa preta", e pode ter consequências, especialmente em indústrias reguladas. À medida que o Machine Learning se torna mais amplamente utilizado, você precisará explicar por que seus sistemas fazem o que fazem. Alguns mercados - habitação, decisões financeiras e cuidados de saúde - já possuem regulamentos que exigem que você dê explicações para as decisões. Você também pode querer transparência algorítmica para que você possa auditar o desempenho do sistema de Machine Learning. Os detalhes dos dados de treinamento e os algoritmos em uso não são suficientes. Existem muitas camadas de processamento não-linear que ocorrem dentro de uma Deep Learning, tornando muito difícil entender por que uma rede profunda está tomando uma decisão específica. Uma técnica comum é usar outro sistema de Machine Learning para descrever o comportamento do primeiro. Você também precisa estar ciente dos perigos do viés algorítmico, como quando um sistema de Machine Learning reforça o viés em um conjunto de dados que associa homens com esportes e mulheres com tarefas domésticas porque todos os seus exemplos de atividades esportivas têm fotos de homens e todas as pessoas retratadas nas cozinhas são mulheres. Ou quando um sistema que correlaciona informações não médicas toma decisões que prejudicam as pessoas com uma determinada condição médica. 18 O Machine Learning será tão bom quanto os dados de treinamento que ele usa para construir seu modelo e os dados que ele processa, por isso é importante examinar os dados que você está usando. Sistema ML também não compreendem os dados ou os conceitos por trás deles como uma pessoa consegue fazer. Há muitos problemas de reconhecimento e classificação que o aprendizado da máquina pode resolver de forma mais rápida e eficiente do que os humanos, mas, considerando o futuro previsível, Machine Learning deve ser considerado como um conjunto de ferramentas para apoiar as pessoas no trabalho em vez de substituí-las. Conclusão O objetivo deste trabalho foi trazer uma visão geral, não aprofundada, dos algoritmos de aprendizagem supervisionada mais frequentes em tarefas de Machine Learning e Deep Learning, aplicações, vantagens e desvantagens. Embora eu tenha tentado limitar a apresentação de jargões matemáticos, é preciso entender que o Machine Learning é, por natureza, fundamentado nesta ciência. Por tal motivo, é importante que você compreenda estes fundamentos, caso queira atuar no mercado como um cientista de dados, um engenheiro de machine learning ou se apenas deseja incorporar o ML em seus produtos ou serviços. Por outro lado, para o usuário final, resta apenas usufruir dos benefícios proporcionados por esta ciência aparentemente "mágica". Referência: https://pt.linkedin.com/pulse/o-machine-learning-e-seus-principais-algoritmos-de-lu%C3%ADs-fred http://blog.justdigital.com.br/3-vantagens-do-machine-learning-e-o-deep-learning-para-empresas/ https://br.udacity.com/blog/post/aplicacoes-deep-learning-mercado Bibliografia: Álgebra Linear com Aplicações - Anton, Howard Deep Learning - Goodfellow, Ian An Introduction to Statistical Learning: With Applications in R: 103 - James, Gareth The Elements of Statistical Learning: Data Mining, Inference, and Prediction, Second Edition - Hastie, Trevor et al. Pattern Recognition and Machine Learning - Christopher M. Bishop