Olá pessoal! Apresento a você uma tradução de um artigo do Analytics Vidhya com uma visão geral dos eventos de AI / ML nas tendências de 2018 e 2019. O material é bastante grande, por isso é dividido em 2 partes. Espero que o artigo interesse não apenas especialistas especializados, mas também os interessados no tópico da IA. Boa leitura!
Ferramentas e Bibliotecas
Esta seção irá agradar a todos os profissionais de ciência de dados. Ferramentas e bibliotecas - pão e manteiga para os cientistas. Participei de muitos debates sobre qual ferramenta é melhor, qual estrutura substitui a outra, qual biblioteca é a personificação da computação "econômica" e tudo mais. Estou certo de que muitos de vocês também são afetados.
Mas uma coisa com a qual não podemos discordar é que devemos nos manter atualizados com as ferramentas mais recentes nessa área ou correr o risco de ficar para trás. O ritmo em que o Python ultrapassou os concorrentes e se estabeleceu como líder do setor é um bom exemplo disso. Obviamente, muito se resume a uma escolha subjetiva (qual ferramenta sua organização usa, compatibilidade com a infraestrutura existente etc.), mas se você não estiver atualizado, é hora de começar agora.
Então, o que atingiu as manchetes deste ano [em 2018 - aprox. por.]? Vamos resolver isso!
PyTorch 1.0
Qual é o hype em torno do PyTorch que eu mencionei várias vezes neste artigo?
Dado o quão lento o TensorFlow pode ser, ele abriu o caminho para o PyTorch entrar no mercado de aprendizado profundo. A maior parte do código-fonte aberto que vejo no GitHub é uma implementação no PyTorch. Isso não é coincidência - o PyTorch é muito flexível e a versão mais recente (v1.0) já suporta muitos produtos e dimensionamentos do Facebook, incluindo o processamento de 6 bilhões de traduções de texto por dia.
O PyTorch está apenas ganhando força e seu crescimento continuará em 2019, então agora é a hora de ingressar na comunidade.
AutoML - Aprendizado de máquina automatizado
O Aprendizado de máquina automatizado (ou AutoML) vem ganhando popularidade nos últimos dois anos. Empresas como
RapidMiner ,
KNIME ,
DataRobot e
H2O.ai já lançaram ótimos produtos que demonstram o enorme potencial desse serviço.
Você pode imaginar trabalhando em um projeto de ML em que você só precisa trabalhar com a interface de arrastar e soltar sem codificar? Este é um cenário que pode se tornar real no futuro próximo. Além disso, um evento significativo já ocorreu em ML / DL - o
lançamento do Auto Keras !
O Auto Keras é uma biblioteca de código aberto para executar tarefas do AutoML. A idéia é tornar o aprendizado profundo acessível a especialistas em domínio que podem não ter experiência com ML. Você pode se familiarizar com o produto
aqui . Nos próximos anos, ele fará um grande avanço.
TensorFlow.js - Aprendizado profundo em um navegador
Desde que começamos esse trabalho, desenvolvemos e projetamos modelos de aprendizado de máquina e aprendizado profundo em nossos IDEs e laptops favoritos. Que tal dar um passo e tentar outra coisa? Sim, estou falando de aprendizado profundo diretamente no seu navegador da web!
Agora isso se tornou realidade graças ao advento do
TensorFlow.js. Existem vários exemplos
no site do projeto que demonstram quão legal é esse conceito de código aberto. Primeiro de tudo, TensorFlow.js tem três vantagens / recursos:
- Você pode desenvolver e implantar modelos de ML usando JavaScript;
- Execute modelos existentes do TensorFlow no seu navegador;
- Treine novamente os modelos prontos.
Tendências do AutoML para 2019
Eu queria focar no AutoML neste artigo. Porque Sinto que nos próximos anos a situação no campo da ciência de dados mudará, mas não aceite minha palavra!
Mario Mihailidis do H2O.ai, Grandmaster do Kaggle, falará sobre o que esperar do AutoML em 2019:
O aprendizado de máquina continua no seu caminho para se tornar uma das tendências mais importantes do futuro - para onde o mundo está caminhando. Essa expansão aumentou a demanda por aplicativos nessa área. Dado esse crescimento, é imperativo que a automação seja a chave para maximizar o uso de recursos no campo da ciência de dados. De fato, os campos de aplicação são infinitos: empréstimos, seguros, antifraude, visão computacional, acústica, sensores, recomendações, previsão, PNL. É uma grande honra trabalhar nesta área. A lista de tendências que permanecerão relevantes é a seguinte:
- Fornecer visualizações e insights para ajudar a descrever e entender os dados;
- Pesquise / construa / extraia as melhores funções para um determinado conjunto de dados;
- Construir modelos preditivos mais poderosos / mais inteligentes;
- Fazer a ponte entre a modelagem de caixas pretas e o uso de um modelo desse tipo;
- Facilitando a produção desses modelos
Aprendizagem por Reforço
O aprendizado por reforço é um dos métodos de aprendizado de máquina, durante o qual o sistema de teste (agente) aprende interagindo com um determinado ambiente. Do ponto de vista da cibernética, é um tipo de experimento cibernético. A resposta do ambiente (e não do sistema especial de gerenciamento de reforço, como ocorre no treinamento com o professor) às decisões tomadas é o sinal de reforço; portanto, esse treinamento é um caso especial de treinamento com o professor, mas o professor é o ambiente ou seu modelo. Também deve-se ter em mente que algumas regras de reforço são baseadas em professores implícitos, por exemplo, no caso de um ambiente neural artificial, na atividade simultânea de neurônios formais, e é por isso que eles podem ser atribuídos à aprendizagem sem um professor.
- fonte da Wikipedia
Se me perguntassem em qual área gostaria de ver um desenvolvimento mais rápido, a resposta seria o aprendizado por reforço. Apesar das manchetes que aparecem ocasionalmente, ainda não houve avanços nessa área e, o mais importante, parece que as tarefas de aprendizado por reforço para a comunidade são matematicamente complexas demais e não há áreas para a aplicação real de tais aplicações.
Até certo ponto, isso é verdade, no próximo ano eu gostaria de ver exemplos mais práticos do uso da RL. Todo mês no GitHub e Reddit, tento manter pelo menos um repositório ou discussão de RL para ajudar a discutir este tópico. É possível que essa seja a próxima coisa importante que virá de todos esses estudos.
A OpenAI publicou um kit de ferramentas realmente útil para aqueles que estão se familiarizando com a RL. Você pode
ler a introdução à RL aqui (acabou sendo muito útil para mim).
Se eu perdi alguma coisa, ficarei feliz por suas adições.
Desenvolvimento OpenAI na Aprendizagem por Reforço Profundo
Embora o desenvolvimento da RL seja lento, a quantidade de material de treinamento sobre esse tópico permanece mínima (para dizer o mínimo). Apesar disso, a OpenAI compartilhou um excelente material sobre esse tópico. Eles chamaram seu projeto de "Spinning Up in Deep RL", que está disponível
aqui .
Simplificando, esta é uma lista exaustiva de recursos na RL. Os autores tentaram tornar o código e as explicações o mais simples possível. Existem materiais suficientes que incluem terminologia de RL, dicas de desenvolvimento para pesquisa de RL, listas de materiais importantes, código e repositórios bem documentados, além de exemplos de tarefas para você começar.
Você não precisa mais adiá-lo até mais tarde, se planeja começar a trabalhar com a RL, chegou a sua hora!
Google Dopamine
Para incentivar o desenvolvimento e envolver a comunidade no tópico de aprendizado por reforço, a equipe do Google AI introduziu a estrutura Densamine TensorFlow para todos que desejam tornar os projetos mais flexíveis e reprodutíveis.
Neste repositório GitHub, você pode encontrar as informações necessárias para o treinamento junto com o código TensorFlow. Essa talvez seja a plataforma perfeita para iniciar experimentos simples em um ambiente controlado e flexível. Parece um sonho para qualquer especialista.
Tendências de aprendizado de reforço para 2019
Xander Steenbrugge, presidente do DataHack Summit 2018 e fundador do ArxivInsights Channel, é especialista em aprendizado por reforço. Aqui estão seus pensamentos sobre o estado atual da RL e o que devemos esperar em 2019:
No momento, vejo três problemas principais no campo da RL:
- A complexidade do modelo (o agente deve ver / coletar uma grande quantidade de experiência para aprender)
- Generalização e transferência de treinamento (Treinamento na tarefa A, teste na tarefa B relacionada)
- RL hierárquica (decomposição automática de subobjetivos)
Estou certo de que os dois primeiros problemas podem ser resolvidos usando um conjunto semelhante de métodos relacionados ao aprendizado de representação não supervisionada.
Agora, no RL, estamos treinando redes neurais profundas que extraem ações de ponta a ponta (por exemplo, com propagação de retorno) do espaço de entrada não processado (por exemplo, em pixels) usando sinais de recompensa raros (por exemplo, uma conta em algum jogo) Atari ou sucesso de captura robótica). O problema aqui é o seguinte:
O primeiro . Leva muito tempo para "crescer" detectores de funções úteis, porque a relação sinal / ruído é muito baixa. O RL basicamente começa com ações aleatórias, até que você tenha a sorte de encontrar uma recompensa, e ainda precisa descobrir exatamente qual recompensa específica foi realmente causada. Pesquisas posteriores são codificadas (pesquisa gananciosa com epsilon) ou incentivadas por métodos como a exploração orientada pela curiosidade . Isso é ineficiente e nos leva de volta ao problema 1.
Segundo , essas arquiteturas profundas de redes neurais são conhecidas por sua tendência a "memorizar", e na RL geralmente testamos agentes em conjuntos de dados para treinamento, portanto, a "memorização" é incentivada nesse paradigma.
Um possível caminho de desenvolvimento que estou observando com entusiasmo é usar o aprendizado de representação não supervisionada para converter um espaço de entrada multidimensional sujo (por exemplo, pixels) em um espaço "conceitual" de uma dimensão inferior que possui certas propriedades necessárias, como linearidade, desenrolar, estabilidade ao barulho e muito mais.
Assim que você conseguir conectar os pixels a uma espécie de "espaço latente", o aprendizado se tornará mais simples e rápido (problema 1) e você espera que as regras extraídas desse espaço tenham uma generalização mais forte devido às propriedades mencionadas acima ( problema 2).
Não sou especialista no problema da Hierarquia, mas todas as opções acima também se aplicam aqui: é mais fácil resolver um problema hierárquico complexo em "espaço oculto" do que em um espaço de entrada não processado.
Um par de spoilers de um tradutor
O que é aprendizado de representação?No aprendizado de máquina, o aprendizado de recursos ou o aprendizado de representação é um conjunto de técnicas que permitem ao sistema examinar automaticamente os fatores necessários para determinar funções ou classificações com base em dados brutos. Isso substitui a engenharia de recursos manuais e permite que a máquina aprenda funções e as use para executar tarefas específicas.
O aprendizado de recursos pode estar "sob vigilância" e "sem observação":
- No aprendizado de recursos, no aprendizado supervisionado de recursos, as funções são aprendidas usando entrada rotulada.
- No aprendizado de recursos sem observação (aprendizado não supervisionado de recursos), as funções são aprendidas com base em dados não alocados.
-
fonte da Wikipedia O que é espaço latente?A palavra "latente" aqui significa "oculto". Nesse contexto, ele é usado com mais freqüência no aprendizado de máquina - você está observando alguns dados que estão em um espaço que pode observar e deseja transformá-los em um espaço oculto, onde pontos de dados semelhantes estão mais próximos.
Por exemplo, considere 4 imagens:

No espaço de pixel observado, não há semelhança direta entre duas imagens. Mas, se você deseja exibi-lo em um espaço oculto, gostaria que as imagens à esquerda estivessem mais próximas umas das outras no espaço oculto do que com qualquer uma das imagens à direita. Assim, seu espaço oculto transmite a essência da estrutura de seus dados relacionados à tarefa. No
LDA, você modela a tarefa para que documentos relacionados a tópicos semelhantes fiquem mais próximos no espaço oculto dos tópicos. Ao incorporar palavras, você deseja exibir as palavras em um espaço vetorial oculto, para que palavras com significado semelhante estejam mais próximas nesse espaço.
Bônus: assista a um vídeo de Xander sobre a conquista de recompensas raras no Deep RL (a primeira tarefa destacada acima).
A complexidade do modelo continuará melhorando com a adição de mais e mais tarefas de treinamento auxiliares que aumentam a escassez, os sinais atípicos de recompensa (coisas como pesquisa, treinamento preliminar baseado na curiosidade no estilo de um codificador automático, fatores causais emaranhados no ambiente e muito mais). Isso funciona especialmente bem com condições de recompensa muito raras.
Por esse motivo, os sistemas de treinamento diretamente no mundo físico se tornarão cada vez mais viáveis (em vez de aplicativos modernos, treinados principalmente em ambientes simulados, e depois usar a randomização de domínio para transferir para o mundo real). Suponho que 2019 trará as primeiras demonstrações verdadeiramente impressionantes em robótica, que são possíveis apenas ao usar métodos de aprendizado profundo e não podem ser codificadas / projetadas por seres humanos (ao contrário da maioria dos exemplos que vimos até agora).
Acredito que após o sucesso do Deep RL na história do AlphaGo (especialmente considerando os resultados recentes do AlphaFold), o RL começará gradualmente a ser aplicado em aplicativos de negócios reais que trarão valor prático além do espaço acadêmico, mas primeiro o escopo será limitado a aplicativos nos quais existem simulações precisas para treinamento virtual em larga escala desses agentes (por exemplo, descoberta de medicamentos, otimização da arquitetura de chips eletrônicos, roteamento de veículos e pacotes e outros).
Uma mudança geral no desenvolvimento da RL é um processo que já começou quando o teste do agente em dados de treinamento não será mais considerado "autorizado". Resumir as métricas será essencial, como é o caso dos métodos de ensino supervisionados
IA para Bons Meninos - Uma Mudança para a IA Ética
Imagine um mundo dirigido por algoritmos que definem toda ação humana. Não é um cenário agradável? A ética na IA é um tópico que sempre discutimos no Analytics Vidhya, mas está perdida no contexto de todas as discussões técnicas, embora deva ser considerada em pé de igualdade com outros tópicos.
Este ano, algumas organizações se viram em uma situação estúpida após o escândalo da Cambridge Analytica (Facebook) e a controvérsia interna do Google sobre o desenvolvimento de armas no topo da lista de escândalos.
Não existe uma receita simples e adequada para todos os casos para resolver os aspectos éticos da IA. A questão requer uma abordagem detalhada em combinação com um plano estruturado, cuja implementação alguém deve adotar. Vamos ver alguns dos principais eventos que abalaram a área no início deste ano.
Campanhas do Google e da Microsoft
Foi gratificante ver que as grandes empresas enfatizavam o lado ético da IA (embora o caminho que as levou a esse ponto não fosse muito elegante). Preste atenção às diretrizes e princípios publicados por algumas das empresas:
Em essência, esses documentos falam sobre justiça na IA, bem como quando e onde traçar a linha. Fazer referência a eles quando você inicia um novo projeto baseado em IA é sempre uma boa ideia.
Como o GDPR mudou as regras do jogo
O GDPR (Regulamento Geral de Proteção de Dados) influenciou definitivamente a maneira como os dados são coletados para a criação de aplicativos de IA. O GDPR apareceu neste jogo para fornecer mais controle aos usuários sobre seus dados (quais informações são coletadas e disseminadas sobre eles).
Então, como isso afetará a IA? É bom que os pesquisadores no campo de dados não os recebam ou se não forem suficientes, a construção de qualquer modelo não começará. Isso, é claro, lançou as bases de como as plataformas sociais e outros sites funcionavam. O GDPR criou um exemplo maravilhoso, "pontilhando tudo", mas limitou a utilidade da IA para muitas plataformas.
Tendências éticas da IA para 2019
Existem muitas manchas cinzentas nesta área. Devemos nos unir como sociedade para integrar a ética nos projetos de IA. Como podemos fazer isso? O fundador e CEO da Vidhya Analytics, Kunal Jane, enfatizou em seu discurso no DataHack Summit 2018 que precisaremos desenvolver um conceito que outros possam seguir.
Espero ver novos papéis nas organizações que adotam a ética na IA. As melhores práticas corporativas precisarão ser reestruturadas e as abordagens de gerenciamento precisam ser revisadas à medida que a IA se tornar um elemento central da visão da empresa. Também espero que o governo desempenhe um papel mais ativo nesse sentido com um curso político fundamentalmente novo ou alterado. De fato, 2019 será muito interessante.
Conclusão
Impacto é a única palavra que descreve brevemente os eventos surpreendentes em 2018. Tornei-me um usuário ativo do ULMFiT este ano e estou ansioso para explorar o BERT o mais rápido possível. Tempo realmente incrível.
Ficarei feliz em saber sua opinião! Quais desenvolvimentos você achou mais úteis? Você está trabalhando em um projeto usando as ferramentas e abordagens abordadas neste artigo? Quais são suas previsões para o próximo ano? Aguardo suas respostas nos comentários abaixo.