O que diabos é machine learning? Confira agora este post e entenda de uma vez por todas esse subnicho da inteligência artificial.
A aprendizagem de máquina (AM) ou machine learning (ML) é um campo de estudo em inteligência artificial preocupado com o desenvolvimento e estudo de algoritmos estatísticos que podem aprender a partir de dados e generalizar para dados não vistos, e assim realizar tarefas sem instruções explícitas.
Recentemente, redes neurais artificiais têm sido capazes de superar muitas abordagens anteriores em desempenho.
As abordagens de machine learning têm sido aplicadas a muitos campos, incluindo processamento de linguagem natural, visão computacional, reconhecimento de fala, filtragem de e-mails, agricultura e medicina.
A AM é conhecida em sua aplicação em problemas de negócios sob o nome de análise preditiva.
Embora nem toda aprendizagem de máquina seja baseada em estatística, a estatística computacional é uma fonte importante dos métodos do campo.
Os fundamentos matemáticos da AM são fornecidos por métodos de otimização matemática.
A mineração de dados é um campo de estudo relacionado, focando na análise exploratória de dados (AED) através do aprendizado não supervisionado.
Do ponto de vista teórico, a aprendizagem provavelmente aproximada correta (PAC) fornece um quadro para descrever o machine learning.
O contexto histórico do machine learning…
O termo machine learning foi cunhado em 1959 por Arthur Samuel, um funcionário da IBM e pioneiro no campo dos jogos de computador e inteligência artificial.
O sinônimo computadores de autoaprendizagem também foi usado neste período.
Embora o primeiro modelo de aprendizado de máquina tenha sido introduzido na década de 1950, quando Arthur Samuel inventou um programa que calculava a chance de vitória em damas para cada lado, a história do machine learning remonta a décadas de desejo humano e esforço para estudar os processos cognitivos humanos.
Em 1949, o psicólogo canadense Donald Hebb publicou o livro “The Organization of Behavior”, no qual ele introduziu uma estrutura neural teórica formada por certas interações entre células nervosas.
O modelo de Hebb de neurônios interagindo entre si estabeleceu as bases para como as IAs e os algoritmos de aprendizado de máquina funcionam sob nós, ou neurônios artificiais usados pelos computadores para comunicar dados.
Outros pesquisadores que estudaram os sistemas cognitivos humanos também contribuíram para as tecnologias modernas de machine learning, incluindo o lógico Walter Pitts e Warren McCulloch, que propuseram os primeiros modelos matemáticos de redes neurais para desenvolver algoritmos que espelham os processos de pensamento humano.
No início dos anos 1960, uma “máquina de aprendizado” experimental com memória de fita perfurada, chamada Cybertron, havia sido desenvolvida pela Raytheon Company para analisar sinais de sonar, eletrocardiogramas e padrões de fala usando aprendizado de reforço rudimentar.
Foi repetidamente “treinada” por um operador/professor humano para reconhecer padrões e equipada com um botão “goof” para fazê-la reavaliar decisões incorretas.
Um livro representativo sobre pesquisa em machine learning durante a década de 1960 foi o livro de Nilsson sobre Máquinas de Aprendizado, tratando principalmente do aprendizado de máquina para classificação de padrões.
O interesse relacionado ao reconhecimento de padrões continuou nos anos 1970, conforme descrito por Duda e Hart em 1973.
Em 1981, foi feito um relatório sobre o uso de estratégias de ensino para que uma rede neural artificial aprendesse a reconhecer 40 caracteres (26 letras, 10 dígitos e 4 símbolos especiais) a partir de um terminal de computador.
Tom M. Mitchell forneceu uma definição mais formal e amplamente citada dos algoritmos estudados no campo da machine learning: “Um programa de computador é dito aprender com a experiência E em relação a uma classe de tarefas T e medida de desempenho P se seu desempenho em tarefas em T, conforme medido por P, melhora com a experiência E.”
Essa definição das tarefas nas quais a machine learning está preocupada oferece uma definição fundamentalmente operacional em vez de definir o campo em termos cognitivos.
Isso segue a proposta de Alan Turing em seu artigo “Máquinas Computacionais e Inteligência”, no qual a pergunta “As máquinas podem pensar?” é substituída pela pergunta “As máquinas podem fazer o que nós (como entidades pensantes) podemos fazer?”.
A machine learning moderna tem dois objetivos.
Um é classificar dados com base em modelos que foram desenvolvidos; o outro propósito é fazer previsões para resultados futuros com base nesses modelos.
Um algoritmo hipotético específico para classificação de dados pode usar visão computacional de pintas combinada com aprendizado supervisionado para treiná-lo a classificar as pintas cancerosas.
Um algoritmo de machine learning para negociação de ações pode informar ao negociador previsões potenciais futuras.
A relação do machine learning com outras áreas do conhecimento
Inteligência artificial
Como empreendimento científico, a machine learning surgiu da busca pela inteligência artificial (IA).
Nos primeiros dias da IA como disciplina acadêmica, alguns pesquisadores estavam interessados em fazer com que as máquinas aprendessem com dados.
Eles tentaram abordar o problema com vários métodos simbólicos, bem como com o que então eram chamados de “redes neurais”; essas eram principalmente perceptrons e outros modelos que foram posteriormente descobertos ser reinvenções dos modelos lineares generalizados da estatística.
A racionalidade probabilística também foi empregada, especialmente no diagnóstico médico automatizado.
No entanto, uma ênfase crescente na abordagem lógica e baseada no conhecimento causou uma divisão entre a IA e a machine learning.
Os sistemas probabilísticos foram assolados por problemas teóricos e práticos de aquisição e representação de dados.
Por volta de 1980, os sistemas especialistas haviam se tornado dominantes na IA, e a estatística estava em desuso.
O trabalho em aprendizado simbólico/baseado no conhecimento continuou dentro da IA, levando à programação lógica indutiva (ILP), mas a linha de pesquisa mais estatística estava agora fora do campo da IA propriamente dita, na área de reconhecimento de padrões e recuperação de informações.
A pesquisa em redes neurais foi abandonada pela IA e ciência da computação aproximadamente na mesma época.
Essa linha, também, continuou fora do campo de IA/CS, como “connectionismo”, por pesquisadores de outras disciplinas, incluindo Hopfield, Rumelhart e Hinton.
Seu principal sucesso veio em meados dos anos 1980 com a reinvenção da retropropagação.
A machine learning reorganizada e reconhecida como seu próprio campo, começou a florescer na década de 1990.
O campo mudou seu objetivo de alcançar a inteligência artificial para enfrentar problemas solucionáveis de natureza prática.
Ele mudou o foco dos métodos simbólicos que herdou da IA para métodos e modelos emprestados da estatística, lógica difusa e teoria da probabilidade.
Compressão de dados
Esta seção é um trecho da compressão de dados.
Existe uma conexão estreita entre machine learning e compressão.
Um sistema que prevê as probabilidades posteriores de uma sequência dada toda a sua história pode ser usado para compressão ótima de dados (usando codificação aritmética na distribuição de saída).
Por outro lado, um compressor ótimo pode ser usado para previsão (encontrando o símbolo que comprime melhor, dado o histórico anterior).
Essa equivalência tem sido usada como justificativa para usar a compressão de dados como um ponto de referência para “inteligência geral”.
Uma visão alternativa pode mostrar que os algoritmos de compressão mapeiam implicitamente strings em vetores de espaço de características implícitos, e medidas de similaridade baseadas em compressão calculam similaridade dentro desses espaços de características.
Para cada compressor C(.), definimos um espaço vetorial associado ℵ, de modo que C(.) mapeie uma string de entrada x, correspondendo à norma do vetor ||~x||.
Um exame exaustivo dos espaços de características subjacentes a todos os algoritmos de compressão é excluído pelo espaço; em vez disso, os vetores de características optam por examinar três métodos de compressão sem perdas representativos, LZW, LZ77 e PPM.
De acordo com a teoria AIXI, uma conexão mais diretamente explicada no Prêmio Hutter, a melhor compressão possível de x é o menor software possível que gera x.
Por exemplo, nesse modelo, o tamanho comprimido de um arquivo zip inclui tanto o arquivo zip quanto o software de descompactação, já que você não pode descompactá-lo sem ambos, mas pode haver uma forma combinada ainda menor.
Exemplos de software de compressão de áudio/vídeo alimentado por IA incluem VP9, NVIDIA Maxine, AIVC, AccMPEG.
Exemplos de software que podem realizar compressão de imagem alimentado por IA incluem OpenCV, TensorFlow, a Caixa de Ferramentas de Processamento de Imagem do MATLAB (IPT) e Compressão de Imagem Generativa de Alta Fidelidade.
Na machine learning não supervisionada, o agrupamento k-means pode ser utilizado para comprimir dados agrupando pontos de dados semelhantes em clusters.
Essa técnica simplifica o manuseio de conjuntos de dados extensos que não possuem rótulos predefinidos e encontra amplo uso em áreas como compressão de imagens.
A compressão de dados visa reduzir o tamanho dos arquivos de dados, aumentando a eficiência de armazenamento e acelerando a transmissão de dados.
O agrupamento k-means, um algoritmo de machine learning não supervisionado, é empregado para particionar um conjunto de dados em um número especificado de clusters, k, cada um representado pelo centróide de seus pontos.
Esse processo condensa conjuntos de dados extensos em um conjunto mais compacto de pontos representativos.
Especialmente benéfico no processamento de imagens e sinais, o agrupamento k-means auxilia na redução de dados substituindo grupos de pontos de dados por seus centróides, preservando assim as informações essenciais dos dados originais enquanto diminui significativamente o espaço de armazenamento necessário.
Os modelos de linguagem de grande escala também são capazes de compressão de dados sem perdas, como demonstrado pela pesquisa da DeepMind com o modelo Chinchilla 70B.
Desenvolvido pela DeepMind, o Chinchilla 70B comprimiu efetivamente dados, superando métodos convencionais como Portable Network Graphics (PNG) para imagens e Free Lossless Audio Codec (FLAC) para áudio.
Ele alcançou a compressão de dados de imagem e áudio para 43,4% e 16,4% de seus tamanhos originais respectivamente.
Mineração de dados
A machine learning e a mineração de dados frequentemente empregam os mesmos métodos e se sobrepõem significativamente, mas enquanto a machine learning se concentra na previsão, com base em propriedades conhecidas aprendidas dos dados de treinamento, a mineração de dados se concentra na descoberta de propriedades (previamente) desconhecidas nos dados (esta é a etapa de análise da descoberta de conhecimento em bancos de dados).
A mineração de dados utiliza muitos métodos de machine learning, mas com objetivos diferentes; por outro lado, a machine learning também emprega métodos de mineração de dados como “aprendizagem não supervisionada” ou como uma etapa de pré-processamento para melhorar a precisão do modelo.
Muita da confusão entre essas duas comunidades de pesquisa (que frequentemente têm conferências e periódicos separados, sendo a ECML PKDD uma grande exceção) vem das suposições básicas com as quais trabalham: na machine learning, o desempenho geralmente é avaliado com relação à capacidade de reproduzir conhecimento conhecido, enquanto na descoberta de conhecimento e mineração de dados (KDD), a tarefa principal é a descoberta de conhecimento previamente desconhecido.
Avaliados com relação ao conhecimento conhecido, um método não informado (não supervisionado) será facilmente superado por outros métodos supervisionados, enquanto em uma tarefa típica de KDD, métodos supervisionados não podem ser usados devido à indisponibilidade de dados de treinamento.
A machine learning também tem laços íntimos com a otimização: muitos problemas de aprendizagem são formulados como minimização de alguma função de perda em um conjunto de exemplos de treinamento.
As funções de perda expressam a discrepância entre as previsões do modelo em treinamento e as instâncias reais do problema (por exemplo, na classificação, deseja-se atribuir um rótulo às instâncias, e os modelos são treinados para prever corretamente os rótulos pré-designados de um conjunto de exemplos).
Generalização
A diferença entre otimização e machine learning surge do objetivo da generalização: enquanto os algoritmos de otimização podem minimizar a perda em um conjunto de treinamento, a machine learning está preocupada em minimizar a perda em amostras não vistas.
Caracterizar a generalização de vários algoritmos de machine learning é um tópico ativo de pesquisa atual, especialmente para algoritmos de aprendizagem profunda.
Estatística
A machine learning e a estatística são campos intimamente relacionados em termos de métodos, mas distintos em seu principal objetivo: a estatística extrai inferências populacionais de uma amostra, enquanto a machine learning encontra padrões preditivos generalizáveis.
Segundo Michael I. Jordan, as ideias de machine learning, de princípios metodológicos a ferramentas teóricas, têm uma longa pré-história na estatística.
Ele também sugeriu o termo ciência de dados como um espaço reservado para chamar o campo geral.
Análises estatísticas convencionais requerem a seleção prévia de um modelo mais adequado para o conjunto de dados em estudo.
Além disso, apenas variáveis significativas ou teoricamente relevantes com base na experiência anterior são incluídas para análise.
Em contraste, a machine learning não é construída em um modelo pré-estruturado; em vez disso, os dados moldam o modelo detectando padrões subjacentes.
Quanto mais variáveis (entrada) são usadas para treinar o modelo, mais preciso será o modelo final.
Leo Breiman distinguiu dois paradigmas de modelagem estatística: modelo de dados e modelo algorítmico, onde “modelo algorítmico” significa mais ou menos os algoritmos de machine learning como Random Forest.
Alguns estatísticos adotaram métodos de machine learning, levando a um campo combinado que chamam de aprendizado estatístico.
Física estatística
Técnicas analíticas e computacionais derivadas da física de sistemas desordenados podem ser estendidas a problemas em grande escala, incluindo machine learning, por exemplo, para analisar o espaço de pesos de redes neurais profundas.
A física estatística está encontrando aplicações na área de diagnóstico médico.
As teorias de base do machine learning…
Um objetivo central de um aprendiz é generalizar a partir de sua experiência.
A generalização neste contexto é a capacidade de uma máquina de aprendizado de realizar com precisão em novos exemplos/tarefas não vistos após ter experimentado um conjunto de dados de aprendizado.
Os exemplos de treinamento provêm de uma distribuição de probabilidade geralmente desconhecida (considerada representativa do espaço de ocorrências) e o aprendiz deve construir um modelo geral sobre esse espaço que lhe permita produzir previsões suficientemente precisas em novos casos.
A análise computacional de algoritmos de aprendizado de máquina e seu desempenho é um ramo da ciência da computação teórica conhecido como teoria computacional da aprendizagem através do modelo de Aprendizado Provavelmente Aproximadamente Correto (PAC).
Como os conjuntos de treinamento são finitos e o futuro é incerto, a teoria da aprendizagem geralmente não oferece garantias do desempenho dos algoritmos.
Em vez disso, limites probabilísticos sobre o desempenho são bastante comuns.
A decomposição viés-variância é uma maneira de quantificar o erro de generalização.
Para o melhor desempenho no contexto de generalização, a complexidade da hipótese deve corresponder à complexidade da função subjacente aos dados.
Se a hipótese for menos complexa do que a função, então o modelo subajustou os dados.
Se a complexidade do modelo for aumentada em resposta, então o erro de treinamento diminui.
Mas se a hipótese for muito complexa, então o modelo está sujeito ao sobreajuste e a generalização será pior.
Além dos limites de desempenho, os teóricos da aprendizagem estudam a complexidade temporal e a viabilidade da aprendizagem.
Na teoria computacional da aprendizagem, uma computação é considerada viável se puder ser feita em tempo polinomial.
Existem dois tipos de resultados de complexidade temporal: Resultados positivos mostram que uma determinada classe de funções pode ser aprendida em tempo polinomial.
Resultados negativos mostram que certas classes não podem ser aprendidas em tempo polinomial.
As abordagens mais conhecidas do machine learning
As abordagens de aprendizado de máquina são tradicionalmente divididas em três categorias amplas, que correspondem a paradigmas de aprendizado, dependendo da natureza do “sinal” ou “feedback” disponível para o sistema de aprendizado:
Aprendizado supervisionado
O computador é apresentado com entradas de exemplo e suas saídas desejadas, dadas por um “professor”, e o objetivo é aprender uma regra geral que mapeia as entradas para as saídas.
Aprendizado não supervisionado
Nenhum rótulo é dado ao algoritmo de aprendizado, deixando-o por conta própria para encontrar estrutura em sua entrada.
O aprendizado não supervisionado pode ser um objetivo em si mesmo (descobrir padrões ocultos nos dados) ou um meio para um fim (aprendizado de características).
Aprendizado por reforço
Um programa de computador interage com um ambiente dinâmico no qual deve realizar um objetivo específico (como dirigir um veículo ou jogar um jogo contra um oponente).
À medida que navega em seu espaço de problemas, o programa recebe feedback análogo a recompensas, que tenta maximizar.
Embora cada algoritmo tenha vantagens e limitações, nenhum algoritmo único funciona para todos os problemas.
Aprendizado supervisionado
Uma máquina de vetores de suporte é um modelo de aprendizado supervisionado que divide os dados em regiões separadas por um limite linear.
Aqui, o limite linear divide os círculos pretos dos brancos.
Algoritmos de aprendizado supervisionado constroem um modelo matemático de um conjunto de dados que contém tanto as entradas quanto as saídas desejadas.
Os dados são conhecidos como dados de treinamento e consistem em um conjunto de exemplos de treinamento.
Cada exemplo de treinamento tem uma ou mais entradas e a saída desejada, também conhecida como sinal de supervisão.
No modelo matemático, cada exemplo de treinamento é representado por uma matriz ou vetor, às vezes chamado de vetor de características, e os dados de treinamento são representados por uma matriz.
Através da otimização iterativa de uma função objetivo, os algoritmos de aprendizado supervisionado aprendem uma função que pode ser usada para prever a saída associada com novas entradas.
Uma função ótima permite que o algoritmo determine corretamente a saída para entradas que não fizeram parte dos dados de treinamento.
Um algoritmo que melhora a precisão de suas saídas ou previsões ao longo do tempo é dito ter aprendido a realizar essa tarefa.
Os tipos de algoritmos de aprendizado supervisionado incluem aprendizado ativo, classificação e regressão.
Algoritmos de classificação são usados quando as saídas são restritas a um conjunto limitado de valores, e algoritmos de regressão são usados quando as saídas podem ter qualquer valor numérico dentro de um intervalo.
Como exemplo, para um algoritmo de classificação que filtra e-mails, a entrada seria um e-mail recebido e a saída seria o nome da pasta na qual arquivar o e-mail.
O aprendizado de similaridade é uma área do aprendizado de máquina supervisionado intimamente relacionada à regressão e à classificação, mas o objetivo é aprender com exemplos usando uma função de similaridade que mede o quão similares ou relacionados dois objetos são.
Ele tem aplicações em classificação, sistemas de recomendação, rastreamento de identidade visual, verificação facial e verificação de alto-falante.
Aprendizado não supervisionado
Algoritmos de aprendizado não supervisionado encontram estruturas em dados que não foram rotulados, classificados ou categorizados.
Em vez de responder a feedback, os algoritmos de aprendizado não supervisionado identificam similaridades nos dados e reagem com base na presença ou ausência dessas similaridades em cada novo conjunto de dados.
Aplicações centrais do aprendizado de máquina não supervisionado incluem agrupamento, redução de dimensionalidade e estimativa de densidade.
A análise de agrupamentos é a atribuição de um conjunto de observações a subconjuntos (chamados de clusters) de forma que as observações dentro do mesmo cluster sejam semelhantes de acordo com um ou mais critérios pré-designados, enquanto as observações de clusters diferentes são dissimilares.
Diferentes técnicas de agrupamento fazem diferentes suposições sobre a estrutura dos dados, frequentemente definida por alguma métrica de similaridade e avaliada, por exemplo, pela compacidade interna, ou a similaridade entre membros do mesmo cluster, e a separação, a diferença entre clusters.
Outros métodos são baseados em densidade estimada e conectividade de gráficos.
Aprendizado semi-supervisionado
O aprendizado semi-supervisionado está entre o aprendizado não supervisionado (sem dados de treinamento rotulados) e o aprendizado supervisionado (com dados de treinamento completamente rotulados).
Alguns dos exemplos de treinamento não possuem rótulos de treinamento, mas muitos pesquisadores de aprendizado de máquina descobriram que dados não rotulados, quando usados em conjunto com uma pequena quantidade de dados rotulados, podem produzir uma melhoria considerável na precisão do aprendizado.
No aprendizado fracamente supervisionado, os rótulos de treinamento são ruidosos, limitados ou imprecisos; no entanto, esses rótulos são frequentemente mais baratos de obter, resultando em conjuntos de treinamento eficazes maiores.
Aprendizado por reforço
O aprendizado por reforço é uma área do aprendizado de máquina que se preocupa com como agentes de software devem tomar ações em um ambiente para maximizar alguma noção de recompensa acumulativa.
Devido à sua generalidade, o campo é estudado em muitas outras disciplinas, como teoria dos jogos, teoria de controle, pesquisa operacional, teoria da informação, otimização baseada em simulação, sistemas multiagentes, inteligência de enxames, estatísticas e algoritmos genéticos.
No aprendizado por reforço, o ambiente é tipicamente representado como um processo de decisão de Markov (MDP).
Muitos algoritmos de aprendizado por reforço usam técnicas de programação dinâmica.
Os algoritmos de aprendizado por reforço não assumem o conhecimento de um modelo matemático exato do MDP e são usados quando os modelos exatos são inviáveis.
Os algoritmos de aprendizado por reforço são usados em veículos autônomos ou para aprender a jogar um jogo contra um oponente humano.
Redução de dimensionalidade
A redução de dimensionalidade é um processo de redução do número de variáveis aleatórias em consideração, obtendo um conjunto de variáveis principais.
Em outras palavras, é um processo de redução da dimensão do conjunto de características, também chamado de “número de características”.
A maioria das técnicas de redução de dimensionalidade pode ser considerada como eliminação ou extração de características.
Um dos métodos populares de redução de dimensionalidade é a análise de componentes principais (PCA).
O PCA envolve a transformação de dados de alta dimensão (por exemplo, 3D) para um espaço menor (por exemplo, 2D).
Isso resulta em uma menor dimensão dos dados (2D em vez de 3D), mantendo todas as variáveis originais no modelo sem alterar os dados.
A hipótese do manifold propõe que conjuntos de dados de alta dimensão estão ao longo de manifolds de baixa dimensão, e muitas técnicas de redução de dimensionalidade fazem essa suposição, levando à área de aprendizado de manifold e regularização de manifold.
Outros tipos
Outras abordagens foram desenvolvidas que não se encaixam perfeitamente nessa categorização tripla, e às vezes mais de uma é usada pelo mesmo sistema de aprendizado de máquina.
Por exemplo, modelagem de tópicos, meta-aprendizado.
Auto-aprendizado
O auto-aprendizado, como um paradigma de aprendizado de máquina, foi introduzido em 1982 junto com uma rede neural capaz de auto-aprendizado, chamada de matriz adaptativa em barras cruzadas (CAA).
É um aprendizado sem recompensas externas e sem conselhos de um professor externo.
O algoritmo de auto-aprendizado CAA calcula, de maneira cruzada, tanto decisões sobre ações quanto emoções (sentimentos) sobre situações de consequência.
O sistema é conduzido pela interação entre cognição e emoção.
O algoritmo de auto-aprendizado atualiza uma matriz de memória W = ||w(a, s)|| de forma que, em cada iteração, execute a seguinte rotina de aprendizado de máquina:
na situação s, execute a ação a
receba uma situação de consequência s’
calcule a emoção de estar na situação de consequência v(s’)
atualize a memória cruzada w'(a, s) = w(a, s) + v(s’)
É um sistema com apenas uma entrada, situação, e apenas uma saída, ação (ou comportamento) a.
Não há nem uma entrada de reforço separada nem uma entrada de conselho do ambiente.
O valor retropropagado (reforço secundário) é a emoção em relação à situação de consequência.
A CAA existe em dois ambientes, um é o ambiente comportamental onde ela se comporta, e o outro é o ambiente genético, de onde inicialmente e apenas uma vez recebe emoções iniciais sobre situações a serem encontradas no ambiente comportamental.
Após receber o vetor genoma (espécies) do ambiente genético, a CAA aprende um comportamento de busca de metas, em um ambiente que contém tanto situações desejáveis quanto indesejáveis.
Aprendizado de características
Vários algoritmos de aprendizado visam descobrir representações melhores das entradas fornecidas durante o treinamento.
Exemplos clássicos incluem análise de componentes principais e análise de clusters.
Algoritmos de aprendizado de características, também chamados de algoritmos de aprendizado de representação, frequentemente tentam preservar as informações em sua entrada, mas também transformá-las de uma maneira que as torne úteis, muitas vezes como uma etapa de pré-processamento antes de realizar classificação ou previsões.
Essa técnica permite a reconstrução das entradas provenientes da distribuição de dados desconhecida, sem necessariamente ser fiel a configurações que são implausíveis sob essa distribuição. Isso substitui a engenharia de características manual e permite que uma máquina aprenda tanto as características quanto as use para realizar uma tarefa específica.
O aprendizado de características pode ser supervisionado ou não supervisionado.
No aprendizado de características supervisionado, as características são aprendidas usando dados de entrada rotulados.
Exemplos incluem redes neurais artificiais, perceptrons multicamadas e aprendizado de dicionário supervisionado.
No aprendizado de características não supervisionado, as características são aprendidas com dados de entrada não rotulados.
Exemplos incluem aprendizado de dicionário, análise de componentes independentes, autoencoders, fatoração de matriz e várias formas de agrupamento.
Algoritmos de aprendizado de manifold tentam fazer isso sob a restrição de que a representação aprendida seja de baixa dimensão.
Algoritmos de codificação esparsa tentam fazer isso sob a restrição de que a representação aprendida seja esparsa, ou seja, que o modelo matemático tenha muitos zeros.
Algoritmos de aprendizado de subespaço multilinear visam aprender representações de baixa dimensão diretamente a partir de representações tensoriais para dados multidimensionais, sem remodelá-los em vetores de dimensão superior.
Algoritmos de aprendizado profundo descobrem múltiplos níveis de representação, ou uma hierarquia de características, com características mais altas e mais abstratas definidas em termos de (ou gerando) características de nível inferior.
Argumenta-se que uma máquina inteligente é aquela que aprende uma representação que desentrelaça os fatores subjacentes de variação que explicam os dados observados.
O aprendizado de características é motivado pelo fato de que tarefas de aprendizado de máquina, como classificação, muitas vezes requerem entradas que sejam matematicamente e computacionalmente convenientes de processar.
No entanto, dados do mundo real, como imagens, vídeo e dados sensoriais, não produziram tentativas de definir algoritmicamente características específicas.
Uma alternativa é descobrir tais características ou representações por meio de exame, sem depender de algoritmos explícitos.
Aprendizado de dicionário esparso
O aprendizado de dicionário esparso é um método de aprendizado de características onde um exemplo de treinamento é representado como uma combinação linear de funções de base e é assumido como uma matriz esparsa.
O método é fortemente NP-difícil e difícil de resolver aproximadamente.
Um método heurístico popular para aprendizado de dicionário esparsa é o algoritmo K-SVD.
O aprendizado de dicionário esparso foi aplicado em vários contextos.
Na classificação, o problema é determinar a classe à qual um exemplo de treinamento previamente invisível pertence.
Para um dicionário em que cada classe já foi construída, um novo exemplo de treinamento é associado à classe que é melhor representada de forma esparsa pelo dicionário correspondente. O aprendizado de dicionário esparsa também foi aplicado na remoção de ruído de imagens.
A ideia principal é que um patch de imagem limpo pode ser representado de forma esparsa por um dicionário de imagens, mas o ruído não pode.
Detecção de anomalias
Na mineração de dados, detecção de anomalias, também conhecida como detecção de outliers, é a identificação de itens, eventos ou observações raros que levantam suspeitas por diferirem significativamente da maioria dos dados.
Tipicamente, os itens anômalos representam um problema como fraude bancária, um defeito estrutural, problemas médicos ou erros em um texto.
As anomalias são referidas como outliers, novidades, ruídos, desvios e exceções.
Em particular, no contexto de abuso e detecção de intrusão em redes, os objetos interessantes frequentemente não são objetos raros, mas sim picos inesperados de inatividade.
Esse padrão não adere à definição estatística comum de um outlier como um objeto raro. Muitos métodos de detecção de outliers (em particular, algoritmos não supervisionados) falharão nesses dados, a menos que sejam agregados adequadamente.
Em vez disso, um algoritmo de análise de cluster pode ser capaz de detectar os microclusters formados por esses padrões.
Três amplas categorias de técnicas de detecção de anomalias existem.
Técnicas de detecção de anomalias não supervisionadas detectam anomalias em um conjunto de dados de teste não rotulado sob a suposição de que a maioria das instâncias no conjunto de dados são normais, procurando por instâncias que parecem se ajustar menos ao restante do conjunto de dados.
Técnicas de detecção de anomalias supervisionadas exigem um conjunto de dados rotulado como “normal” e “anormal” e envolvem o treinamento de um classificador (a diferença fundamental para muitos outros problemas de classificação estatística é a natureza inerentemente desequilibrada da detecção de outliers).
Técnicas de detecção de anomalias semi-supervisionadas constroem um modelo que representa o comportamento normal a partir de um conjunto de dados de treinamento normal dado e, em seguida, testam a probabilidade de uma instância de teste ser gerada pelo modelo.
Aprendizado de robôs
O aprendizado de robôs é inspirado por uma multiplicidade de métodos de aprendizado de máquina, começando pelo aprendizado supervisionado, aprendizado por reforço e, finalmente, meta-aprendizado (por exemplo, MAML).
Regras de associação
O aprendizado de regras de associação é um método de aprendizado de máquina baseado em regras para descobrir relacionamentos entre variáveis em grandes bancos de dados.
Ele visa identificar regras fortes descobertas em bancos de dados usando alguma medida de “interessância”.
O aprendizado de máquina baseado em regras é um termo geral para qualquer método de machine learning que identifica, aprende ou evolui “regras” para armazenar, manipular ou aplicar conhecimento.
A característica definidora de um algoritmo de machine learning baseado em regras é a identificação e utilização de um conjunto de regras relacionais que representam coletivamente o conhecimento capturado pelo sistema.
Isso contrasta com outros algoritmos de aprendizado de máquina que comumente identificam um modelo singular que pode ser universalmente aplicado a qualquer instância para fazer uma previsão.
Abordagens de aprendizado de máquina baseadas em regras incluem sistemas classificadores, aprendizado de regras de associação e sistemas imunes artificiais.
Com base no conceito de regras fortes, Rakesh Agrawal, Tomasz Imieliński e Arun Swami introduziram regras de associação para descobrir regularidades entre produtos em dados de transações em grande escala registrados por sistemas de ponto de venda (POS) em supermercados.
Por exemplo, a regra {“cebolas, batatas”} ⇒ {“hambúrguer”} encontrada nos dados de vendas de um supermercado indicaria que se um cliente compra cebolas e batatas juntas, é provável que também compre carne de hambúrguer.
Essas informações podem ser usadas como base para decisões sobre atividades de marketing, como preços promocionais ou posicionamento de produtos.
Além da análise de cesta de mercado, as regras de associação são empregadas hoje em áreas de aplicação, incluindo mineração de uso da web, detecção de intrusão, produção contínua e bioinformática.
Em contraste com a mineração de sequências, o aprendizado de regras de associação geralmente não considera a ordem dos itens dentro de uma transação ou entre transações.
Os sistemas classificadores de aprendizado (LCS) são uma família de algoritmos de aprendizado de máquina baseados em regras que combinam um componente de descoberta, tipicamente um algoritmo genético, com um componente de aprendizado, realizando aprendizado supervisionado, aprendizado por reforço ou aprendizado não supervisionado.
Eles buscam identificar um conjunto de regras dependentes do contexto que coletivamente armazenam e aplicam conhecimento de maneira fragmentada para fazer previsões.
A programação lógica indutiva (ILP) é uma abordagem para aprendizado de regras usando programação lógica como uma representação uniforme para exemplos de entrada, conhecimento de fundo e hipóteses.
Dado uma codificação do conhecimento de fundo conhecido e um conjunto de exemplos representados como um banco de dados lógico de fatos, um sistema ILP derivará um programa lógico hipotético que implica todos os exemplos positivos e nenhum exemplo negativo.
A programação indutiva é um campo relacionado que considera qualquer tipo de linguagem de programação para representar hipóteses (e não apenas programação lógica), como programas funcionais.
Modelos de machine learning
Um modelo de machine learning é um tipo de modelo matemático que, após ser “treinado” em um conjunto de dados dado, pode ser usado para fazer previsões ou classificações em novos dados.
Durante o treinamento, um algoritmo de aprendizado ajusta iterativamente os parâmetros internos do modelo para minimizar os erros em suas previsões.
Por extensão, o termo modelo pode se referir a vários níveis de especificidade, desde uma classe geral de modelos e seus algoritmos de aprendizado associados, até um modelo totalmente treinado com todos os seus parâmetros internos ajustados.
Vários tipos de modelos têm sido usados e pesquisados para sistemas de machine learning, e escolher o melhor modelo para uma tarefa é chamado de seleção de modelo.
Redes neurais artificiais
Uma rede neural artificial é um grupo interconectado de nós, semelhante à vasta rede de neurônios em um cérebro.
Aqui, cada nó circular representa um neurônio artificial e uma seta representa uma conexão da saída de um neurônio artificial para a entrada de outro.
Redes neurais artificiais (RNAs), ou sistemas conexionistas, são sistemas computacionais vagamente inspirados nas redes neurais biológicas que constituem os cérebros dos animais.
Tais sistemas “aprendem” a realizar tarefas considerando exemplos, geralmente sem serem programados com regras específicas da tarefa.
Uma RNA é um modelo baseado em uma coleção de unidades ou nós conectados chamados “neurônios artificiais”, que modelam vagamente os neurônios em um cérebro biológico.
Cada conexão, assim como as sinapses em um cérebro biológico, pode transmitir informações, um “sinal”, de um neurônio artificial para outro.
Um neurônio artificial que recebe um sinal pode processá-lo e então sinalizar neurônios artificiais adicionais conectados a ele.
Em implementações comuns de RNAs, o sinal em uma conexão entre neurônios artificiais é um número real, e a saída de cada neurônio artificial é calculada por alguma função não linear da soma de suas entradas.
As conexões entre neurônios artificiais são chamadas de “arestas”.
Neurônios artificiais e arestas geralmente têm um peso que se ajusta à medida que o aprendizado avança.
O peso aumenta ou diminui a força do sinal em uma conexão.
Os neurônios artificiais podem ter um limiar tal que o sinal só é enviado se o sinal agregado ultrapassar esse limiar.
Tipicamente, os neurônios artificiais são agregados em camadas.
Diferentes camadas podem realizar diferentes tipos de transformações em suas entradas.
Os sinais viajam da primeira camada (a camada de entrada) para a última camada (a camada de saída), possivelmente após atravessar as camadas várias vezes.
O objetivo original da abordagem de RNA era resolver problemas da mesma maneira que um cérebro humano faria.
No entanto, com o tempo, a atenção se deslocou para a realização de tarefas específicas, levando a desvios da biologia.
Redes neurais artificiais têm sido usadas em uma variedade de tarefas, incluindo visão computacional, reconhecimento de fala, tradução automática, filtragem de redes sociais, jogos de tabuleiro e vídeo e diagnóstico médico.
O aprendizado profundo consiste em múltiplas camadas ocultas em uma rede neural artificial.
Essa abordagem tenta modelar a maneira como o cérebro humano processa luz e som em visão e audição.
Algumas aplicações bem-sucedidas de aprendizado profundo são visão computacional e reconhecimento de fala.
Árvores de Decisão
O aprendizado de árvore de decisão utiliza uma árvore de decisão como modelo preditivo para ir de observações sobre um item (representado nos ramos) a conclusões sobre o valor alvo do item (representado nas folhas).
É uma das abordagens de modelagem preditiva usadas em estatísticas, mineração de dados e aprendizado de máquina.
Modelos de árvores onde a variável alvo pode tomar um conjunto discreto de valores são chamados de árvores de classificação; nessas estruturas de árvore, as folhas representam rótulos de classes, e os ramos representam conjunções de características que levam a esses rótulos de classes.
Árvores de decisão onde a variável alvo pode tomar valores contínuos (tipicamente números reais) são chamadas de árvores de regressão.
Na análise de decisão, uma árvore de decisão pode ser usada para representar visual e explicitamente decisões e tomadas de decisão.
Na mineração de dados, uma árvore de decisão descreve dados, mas a árvore de classificação resultante pode ser uma entrada para tomada de decisão.
Máquinas de Vetores de Suporte
Máquinas de Vetores de Suporte (SVMs), também conhecidas como redes de vetores de suporte, são um conjunto de métodos de aprendizado supervisionado relacionados usados para classificação e regressão.
Dado um conjunto de exemplos de treinamento, cada um marcado como pertencente a uma de duas categorias, um algoritmo de treinamento SVM constrói um modelo que prevê se um novo exemplo cai em uma categoria.
Um algoritmo de treinamento SVM é um classificador linear não probabilístico binário, embora existam métodos como o escalonamento de Platt para usar SVM em um cenário de classificação probabilística.
Além de realizar classificação linear, as SVMs podem realizar eficientemente uma classificação não linear usando o que é chamado de truque do kernel, mapeando implicitamente suas entradas em espaços de características de alta dimensão.
Análise de Regressão
A análise de regressão engloba uma grande variedade de métodos estatísticos para estimar a relação entre variáveis de entrada e suas características associadas.
Sua forma mais comum é a regressão linear, onde uma única linha é desenhada para melhor ajustar os dados fornecidos de acordo com um critério matemático como mínimos quadrados ordinários.
Esta última é frequentemente estendida por métodos de regularização para mitigar o overfitting e o viés, como na regressão ridge.
Ao lidar com problemas não lineares, os modelos mais utilizados incluem regressão polinomial (por exemplo, usada para ajuste de linha de tendência no Microsoft Excel), regressão logística (frequentemente usada em classificação estatística) ou até mesmo regressão por kernel, que introduz não linearidade aproveitando o truque do kernel para mapear implicitamente variáveis de entrada para um espaço de alta dimensão.
Redes Bayesianas
A chuva influencia se o sprinkler é ativado, e tanto a chuva quanto o sprinkler influenciam se a grama está molhada.
Uma rede Bayesiana, rede de crenças ou modelo gráfico acíclico direcionado é um modelo gráfico probabilístico que representa um conjunto de variáveis aleatórias e sua independência condicional com um grafo direcionado acíclico (DAG).
Por exemplo, uma rede Bayesiana poderia representar as relações probabilísticas entre doenças e sintomas.
Dados os sintomas, a rede pode ser usada para calcular as probabilidades da presença de várias doenças.
Algoritmos eficientes existem para realizar inferência e aprendizado.
Redes Bayesianas que modelam sequências de variáveis, como sinais de fala ou sequências de proteínas, são chamadas de redes Bayesianas dinâmicas.
Generalizações de redes Bayesianas que podem representar e resolver problemas de decisão sob incerteza são chamadas de diagramas de influência.
Processos Gaussianos
Um processo Gaussiano é um processo estocástico no qual cada coleção finita das variáveis aleatórias no processo tem uma distribuição normal multivariada, e depende de uma função de covariância pré-definida, ou kernel, que modela como pares de pontos se relacionam entre si dependendo de suas localizações.
Dado um conjunto de pontos observados, ou exemplos de entrada-saída, a distribuição da saída (não observada) de um novo ponto como função de seus dados de entrada pode ser calculada diretamente, observando os pontos observados e as covariâncias entre esses pontos e o novo ponto não observado.
Os processos Gaussianos são modelos substitutos populares em otimização Bayesiana usados para fazer otimização de hiperparâmetros.
Algoritmos Genéticos
Um algoritmo genético (GA) é um algoritmo de busca e técnica heurística que imita o processo de seleção natural, usando métodos como mutação e cruzamento para gerar novos genótipos na esperança de encontrar boas soluções para um problema dado.
No machine learning, algoritmos genéticos foram usados nas décadas de 1980 e 1990.
Por outro lado, técnicas de machine learning foram usadas para melhorar o desempenho de algoritmos genéticos e evolutivos.
Funções de Crença
A teoria das funções de crença, também conhecida como teoria da evidência ou teoria de Dempster-Shafer, é um quadro geral para raciocinar com incerteza, com conexões entendidas com outros quadros, como teorias de probabilidade, possibilidade e probabilidade imprecisa.
Esses quadros teóricos podem ser considerados como um tipo de aprendiz e têm algumas propriedades análogas de como a evidência é combinada (por exemplo, a regra de combinação de Dempster), assim como em uma abordagem bayesiana baseada em pmf combinaria probabilidades.
No entanto, existem muitas ressalvas para essas funções de crença quando comparadas às abordagens bayesianas, a fim de incorporar ignorância e quantificação de incerteza.
Essas abordagens de funções de crença implementadas dentro do domínio de machine learning normalmente aproveitam uma abordagem de fusão de vários métodos de conjunto para lidar melhor com o limite de decisão do aprendiz, baixas amostras e questões de classe ambíguas que a abordagem padrão de machine learning tende a ter dificuldade em resolver.
No entanto, a complexidade computacional desses algoritmos depende do número de proposições (classes) e pode levar a um tempo de computação muito maior quando comparada a outras abordagens de machine learning.
Treinamento de modelos
Normalmente, os modelos de machine learning exigem uma grande quantidade de dados confiáveis para que os modelos possam fazer previsões precisas.
Ao treinar um modelo de machine learning, os engenheiros de machine learning precisam direcionar e coletar uma amostra grande e representativa de dados.
Os dados do conjunto de treinamento podem variar desde um corpus de texto, uma coleção de imagens, dados de sensores e dados coletados dos usuários individuais de um serviço.
O overfitting é algo a ser observado ao treinar um modelo de machine learning.
Modelos treinados derivados de dados tendenciosos ou não avaliados podem resultar em previsões distorcidas ou indesejadas.
Modelos enviesados podem resultar em resultados prejudiciais, ampliando assim os impactos negativos na sociedade ou nos objetivos.
O viés algorítmico é um resultado potencial de dados que não estão totalmente preparados para treinamento.
A ética do machine learning está se tornando um campo de estudo e notavelmente está sendo integrada às equipes de engenharia de machine learning.
Aprendizado federado
O aprendizado federado é uma forma adaptada de inteligência artificial distribuída para treinar modelos de machine learning que descentraliza o processo de treinamento, permitindo que a privacidade dos usuários seja mantida sem a necessidade de enviar seus dados para um servidor centralizado.
Isso também aumenta a eficiência ao descentralizar o processo de treinamento para muitos dispositivos.
Por exemplo, o Gboard usa machine learning federado para treinar modelos de previsão de consulta de pesquisa nos telefones celulares dos usuários sem precisar enviar pesquisas individuais de volta ao Google.
Aplicações do machine learning
Em 2006, o provedor de serviços de mídia Netflix realizou o primeiro concurso “Netflix Prize” para encontrar um programa que melhorasse a previsão das preferências do usuário e melhorasse a precisão de seu algoritmo de recomendação de filmes Cinematch existente em pelo menos 10%.
Uma equipe conjunta formada por pesquisadores da AT&T Labs-Research em colaboração com as equipes Big Chaos e Pragmatic Theory construiu um modelo de conjunto para ganhar o Grande Prêmio em 2009, no valor de US$ 1 milhão.
Pouco depois de o prêmio ter sido concedido, a Netflix percebeu que as avaliações dos espectadores não eram os melhores indicadores de seus padrões de visualização (“tudo é uma recomendação”) e eles mudaram seu mecanismo de recomendação de acordo.
Em 2010, o Wall Street Journal escreveu sobre a empresa Rebellion Research e seu uso de machine learning para prever a crise financeira.
Em 2012, o co-fundador da Sun Microsystems, Vinod Khosla, previu que 80% dos empregos médicos seriam perdidos nas próximas duas décadas para o software de diagnóstico médico automatizado.
Em 2014, foi relatado que um algoritmo de machine learning foi aplicado no campo da história da arte para estudar pinturas de arte fina e que pode ter revelado influências anteriormente não reconhecidas entre os artistas.
Em 2019, a Springer Nature publicou o primeiro livro de pesquisa criado usando machine learning.
Em 2020, a tecnologia de machine learning foi usada para ajudar a fazer diagnósticos e auxiliar os pesquisadores no desenvolvimento de uma cura para a COVID-19.
O machine learning foi recentemente aplicado para prever o comportamento pró-ambiental dos viajantes.
Recentemente, a tecnologia de machine learning também foi aplicada para otimizar o desempenho e o comportamento térmico de smartphones com base na interação do usuário com o telefone.
Quando aplicados corretamente, os algoritmos de aprendizado de máquina (MLAs) podem utilizar uma ampla gama de características da empresa para prever retornos de ações sem ajustes excessivos.
Ao empregar uma engenharia de recursos eficaz e combinar previsões, os MLAs podem gerar resultados que superam em muito aqueles obtidos de técnicas lineares básicas como OLS.
As limitações do machine learning
Embora o machine learning tenha sido transformador em alguns campos, os programas de aprendizado de máquina frequentemente não entregam os resultados esperados.
As razões para isso são numerosas: falta de dados (adequados), falta de acesso aos dados, viés nos dados, problemas de privacidade, tarefas e algoritmos mal escolhidos, ferramentas e pessoas erradas, falta de recursos e problemas de avaliação.
A “teoria da caixa preta” apresenta outro desafio significativo.
Caixa preta refere-se a uma situação em que o algoritmo ou o processo de produção de uma saída é completamente opaco, o que significa que até mesmo os codificadores do algoritmo não podem auditar o padrão que a máquina extraiu dos dados.
O Comitê da Câmara dos Lordes, que afirmou que um “sistema de inteligência” que poderia ter um “impacto substancial na vida de um indivíduo” não seria considerado aceitável a menos que fornecesse “uma explicação completa e satisfatória para as decisões” que toma.
Em 2018, um carro autônomo da Uber não conseguiu detectar um pedestre, que foi morto após uma colisão.
Tentativas de usar o machine learning na área da saúde com o sistema IBM Watson falharam mesmo depois de anos e bilhões de dólares investidos.
O chatbot do Bing, da Microsoft, foi relatado por produzir respostas hostis e ofensivas contra seus usuários.
O aprendizado de máquina tem sido usado como estratégia para atualizar as evidências relacionadas a uma revisão sistemática e aumentar a carga do revisor relacionada ao crescimento da literatura biomédica.
Embora tenha melhorado com conjuntos de treinamento, ainda não se desenvolveu suficientemente para reduzir a carga de trabalho sem limitar a sensibilidade necessária para as descobertas da própria pesquisa.
Viés
Abordagens de machine learning em particular podem sofrer de diferentes viés de dados.
Um sistema de machine learning treinado especificamente em clientes atuais pode não ser capaz de prever as necessidades de novos grupos de clientes que não estão representados nos dados de treinamento.
Quando treinado em dados feitos por humanos, o machine learning provavelmente vai capturar os viés constitucionais e inconscientes já presentes na sociedade.
Modelos de linguagem aprendidos a partir de dados mostraram conter viés humanos.
Em um experimento realizado pela ProPublica, uma organização de jornalismo investigativo, um algoritmo de machine learning mostrou erroneamente taxas de reincidência entre prisioneiros, marcando “réus negros como alto risco duas vezes mais frequentemente do que réus brancos”.
Em 2015, o Google Fotos frequentemente marcava pessoas negras como gorilas, e em 2018 isso ainda não estava bem resolvido.
Problemas semelhantes com o reconhecimento de pessoas não brancas foram encontrados em muitos outros sistemas.
Em 2016, a Microsoft testou o Tay, um chatbot que aprendeu com o Twitter, e rapidamente adquiriu linguagem racista e sexista.
Devido a esses desafios, o uso eficaz de machine learning pode levar mais tempo para ser adotado em outros domínios.
A preocupação com a justiça no machine learning, ou seja, a redução de viés no machine learning e impulsionando seu uso para o bem humano, é cada vez mais expressa por cientistas de inteligência artificial, incluindo Fei-Fei Li, que lembra aos engenheiros que “Não há nada artificial sobre a IA…
Ela é inspirada por pessoas, é criada por pessoas e — mais importante — impacta pessoas.
É uma ferramenta poderosa que estamos apenas começando a entender, e isso é uma responsabilidade profunda.”
Explicabilidade
A inteligência artificial explicável (XAI), ou inteligência artificial interpretável, ou aprendizado de máquina explicável (XML), é inteligência artificial (IA) na qual os humanos podem entender as decisões ou previsões feitas pela IA.
Isso contrasta com o conceito de “caixa preta” no aprendizado de máquina, onde até mesmo seus designers não podem explicar por que uma IA chegou a uma decisão específica.
Ao refinar os modelos mentais dos usuários de sistemas alimentados por IA e desmontar seus equívocos, a XAI promete ajudar os usuários a agir de forma mais eficaz.
A XAI pode ser uma implementação do direito social à explicação.
Superajuste
A fixação em uma teoria ruim e excessivamente complexa adaptada para se ajustar a todos os dados de treinamento anteriores é conhecida como superajuste.
Muitos sistemas tentam reduzir o superajuste recompensando uma teoria de acordo com o quão bem ela se ajusta aos dados, mas penalizando a teoria de acordo com o quão complexa ela é.
Outras limitações e vulnerabilidades
Os aprendizes também podem decepcionar ao “aprender a lição errada”.
Um exemplo simples é que um classificador de imagens treinado apenas em fotos de cavalos marrons e gatos pretos pode concluir que todos os patches marrons provavelmente são cavalos.
Um exemplo do mundo real é que, ao contrário dos humanos, os classificadores de imagens atuais frequentemente não fazem julgamentos principalmente a partir do relacionamento espacial entre os componentes da imagem, e aprendem relacionamentos entre pixels dos quais os humanos são alheios, mas que ainda se correlacionam com imagens de certos tipos de objetos reais.
Modificar esses padrões em uma imagem legítima pode resultar em imagens “adversárias” que o sistema classifica erroneamente.
Vulnerabilidades adversárias também podem resultar de sistemas não lineares ou de perturbações não padronizadas.
Para alguns sistemas, é possível alterar a saída alterando apenas um único pixel adversarialmente escolhido.
Modelos de machine learning frequentemente são vulneráveis à manipulação e/ou evasão por meio de machine learning adversarial.
Pesquisadores demonstraram como backdoors podem ser colocados de forma indetectável em modelos de machine learning classificadores (por exemplo, para categorias “spam” e “não spam” de postagens) que muitas vezes são desenvolvidos e/ou treinados por terceiros.
As partes podem alterar a classificação de qualquer entrada, incluindo casos em que um tipo de transparência de dados/software é fornecido, possivelmente incluindo acesso de caixa branca.
Avaliações de modelos
A classificação de modelos de machine learning pode ser validada por técnicas de estimativa de precisão como o método de retenção, que divide os dados em um conjunto de treinamento e teste (convencionalmente designando 2/3 para o conjunto de treinamento e 1/3 para o conjunto de teste) e avalia o desempenho do modelo de treinamento no conjunto de teste.
Em comparação, o método de validação cruzada K-fold divide aleatoriamente os dados em K subconjuntos e, em seguida, K experimentos são realizados, cada um considerando 1 subconjunto para avaliação e os K-1 subconjuntos restantes para treinar o modelo.
Além dos métodos de retenção e validação cruzada, o bootstrap, que amostra n instâncias com substituição do conjunto de dados, pode ser usado para avaliar a precisão do modelo.
Além da precisão geral, os investigadores frequentemente relatam sensibilidade e especificidade, significando Taxa de Verdadeiro Positivo (TVP) e Taxa de Verdadeiro Negativo (TVN), respectivamente.
Da mesma forma, os investigadores às vezes relatam a taxa de falso positivo (TFP) e a taxa de falso negativo (TFN).
No entanto, essas taxas são razões que não revelam seus numeradores e denominadores.
A característica operacional total (COT) é um método eficaz para expressar a capacidade diagnóstica de um modelo.
A COT mostra os numeradores e denominadores das taxas mencionadas anteriormente, assim a COT fornece mais informações do que a característica operacional do receptor (ROC) comumente usada e a área sob a curva (AUC) associada à ROC.
A ética no machine learning
O machine learning levanta uma série de questões éticas.
Sistemas treinados em conjuntos de dados coletados com preconceitos podem exibir esses preconceitos ao serem utilizados (viés algorítmico), digitalizando assim preconceitos culturais.
Por exemplo, em 1988, a Comissão de Igualdade Racial do Reino Unido descobriu que a Escola de Medicina St. George estava usando um programa de computador treinado a partir de dados de admissões anteriores da equipe e que esse programa havia negado quase 60 candidatos que eram mulheres ou tinham nomes que não soavam europeus.
Usar dados de contratação de emprego de uma empresa com políticas de contratação racistas pode levar a um sistema de machine learning a duplicar o preconceito ao classificar os candidatos a emprego pela semelhança com os candidatos bem-sucedidos anteriores.
Outro exemplo inclui o algoritmo preditivo da empresa de policiamento preditivo Geolitica, que resultou em “níveis desproporcionalmente altos de policiamento excessivo em comunidades de baixa renda e minorias” depois de ser treinado com dados históricos de crimes.
Embora a coleta responsável de dados e a documentação das regras algorítmicas usadas por um sistema sejam consideradas partes críticas do machine learning, alguns pesquisadores culpam a falta de participação e representação da população minoritária no campo de IA pela vulnerabilidade do machine learning aos preconceitos.
De fato, de acordo com uma pesquisa realizada pela Computing Research Association (CRA) em 2021, “as mulheres representam apenas 16,1%” de todos os membros do corpo docente que se concentram em IA entre várias universidades ao redor do mundo.
Além disso, entre o grupo de “novos graduados em PhD em IA residentes nos EUA”, 45% se identificaram como brancos, 22,4% como asiáticos, 3,2% como hispânicos e 2,4% como afro-americanos, o que demonstra ainda mais a falta de diversidade no campo de IA.
A IA pode estar bem equipada para tomar decisões em áreas técnicas, que dependem muito de dados e informações históricas.
Essas decisões dependem de objetividade e raciocínio lógico.
Como as linguagens humanas contêm preconceitos, máquinas treinadas em corpora de linguagem inevitavelmente também aprenderão esses preconceitos.
Outras formas de desafios éticos, não relacionados a preconceitos pessoais, são observadas na área da saúde.
Há preocupações entre os profissionais de saúde de que esses sistemas possam não ser projetados no interesse público, mas sim como máquinas geradoras de receita.
Isso é especialmente verdadeiro nos Estados Unidos, onde existe um dilema ético de longa data de melhorar a assistência médica, mas também aumentar os lucros.
Por exemplo, os algoritmos de machine learning podem ser projetados para fornecer aos pacientes testes ou medicamentos desnecessários nos quais os proprietários proprietários do algoritmo têm participação.
Há potencial para o aprendizado de máquina na área da saúde fornecer aos profissionais uma ferramenta adicional para diagnosticar, medicar e planejar caminhos de recuperação para os pacientes, mas isso requer que esses preconceitos sejam mitigados.
Os hardwares para machine learning
Desde a década de 2010, avanços tanto em algoritmos de machine learning quanto em hardware de computador levaram a métodos mais eficientes para treinar redes neurais profundas (um subdomínio estreito específico de machine learning) que contêm muitas camadas de unidades ocultas não lineares.
Em 2019, as unidades de processamento gráfico (GPUs), muitas vezes com aprimoramentos específicos de IA, substituíram as CPUs como o método dominante para o treinamento de IA em nuvem comercial em grande escala.
A OpenAI estimou o hardware computacional usado nos maiores projetos de aprendizado profundo, desde o AlexNet (2012) até o AlphaZero (2017), e encontrou um aumento de 300.000 vezes na quantidade de computação necessária, com uma tendência de duplicação a cada 3,4 meses.
Redes Neurais Neuromórficas/Físicas
Uma rede neural física ou computador neuromórfico é um tipo de rede neural artificial na qual um material ajustável eletricamente é usado para emular a função de uma sinapse neural.
“Física” rede neural é usada para enfatizar a dependência do hardware físico usado para emular neurônios em oposição a abordagens baseadas em software.
Mais geralmente, o termo é aplicável a outras redes neurais artificiais nas quais um memristor ou outro material de resistência ajustável eletricamente é usado para emular uma sinapse neural.
Aprendizado de Máquina Embarcado
O Aprendizado de Máquina Embarcado é um subcampo do machine learning, onde o modelo é executado em sistemas embarcados com recursos de computação limitados, como computadores vestíveis, dispositivos de borda e microcontroladores.
A execução de modelos de machine learning em dispositivos embarcados elimina a necessidade de transferir e armazenar dados em servidores de nuvem para processamento adicional, reduzindo assim violações de dados e vazamentos de privacidade decorrentes da transferência de dados, e também minimiza o roubo de propriedades intelectuais, dados pessoais e segredos comerciais.
O Aprendizado de Máquina Embarcado pode ser aplicado por meio de várias técnicas, incluindo aceleração de hardware, uso de computação aproximada, otimização de modelos de machine learning e muitas outras.
Podas, Quantização, Destilação de Conhecimento, Fatorização de Baixa Classificação, Pesquisa de Arquitetura de Rede (NAS) e Compartilhamento de Parâmetros são algumas das técnicas usadas para a otimização de modelos de machine learning.
Os softwares para machine learning
Veja a relação abaixo com as suites de softwares com vários algoritmos para você aprender machine learning:
Softwares livres e open-sources
Softwares proprietários com edições livres e open-sources
Softwares proprietários
Oracle AI Platform Cloud Service
Periódicos acadêmicos
Journal of Machine Learning Research
IEEE Transactions on Pattern Analysis and Machine Intelligence
Conferências
AAAI Conference on Artificial Intelligence
Association for Computational Linguistics (ACL)
International Conference on Machine Learning (ICML)
International Conference on Learning Representations (ICLR)
International Conference on Intelligent Robots and Systems (IROS)
Conference on Knowledge Discovery and Data Mining (KDD)
Conference on Neural Information Processing Systems (NeurIPS)
Ufa… Isso é tudo pessoal!
Pedro Londe
Palestrante e autor do livro “O que diabos é Gig Economy?: Como ter várias fontes de renda e aproveitar ao máximo todas as suas habilidades”
can i buy priligy in mexico All a calorie is, is a measure of energy the amount of heat energy it takes to raise one gram of water by one degree Celsius we use kilocalories, or Calories, with a capital C, which is 1, 000 times the energy of a calorie