
O aprendizado de máquina é um tópico empolgante no mundo da ciência da computação atualmente, o que significa que a O’Reilly oferece aos senhores uma conferência de primeira classe. Conferência Jupyter está chegando em agosto, então eu queria falar com o Diretor do Grupo de Aprendizagem da O’Reilly, Paco Nathan, sobre o que é aprendizado de máquina e Jupyter, por que eles são importantes e o que o senhor pode esperar dessa conferência!
Aqui está um artigo recente muito bom, “What Is Jupyter?” (O que é Jupyter?), de Mike Loukides, https://www.oreilly.com/ideas/what-is-jupyter que explica a história essencial sobre o Jupyter. Em poucas palavras, o Jupyter oferece uma maneira de as pessoas executarem código remotamente em um ambiente específico.
Uma das formas mais populares em que isso é usado é nos notebooks Jupyter. A Wolfram Research tem usado notebooks como metáfora de interface do usuário desde os anos 80 para seu popular produto Mathematica. De muitas maneiras, os notebooks Jupyter se inspiram neles.
Se o senhor pensar em como uma planilha do Excel é organizada, vamos simplificar e esticá-la: em vez disso, temos células organizadas verticalmente em uma página da Web. Cada uma das células pode conter rich text (HTML), alguma imagem ou vídeo, código-fonte, resultados da execução do código-fonte etc. O senhor executa cada uma delas, passo a passo, e os dados fluem de uma para a outra. Enquanto isso, o código está sendo executado em outro lugar: localmente no seu laptop, na nuvem ou em algum supercomputador de uma grande universidade. O senhor controla tudo por meio de uma página da Web e só precisa usar o navegador.
Por exemplo, o senhor pode ser um estudante de graduação trabalhando em um problema de computação científica, que executa em seu laptop para começar, usando um pequeno conjunto de dados. Em seguida, o senhor o executa em um supercomputador de grande porte para trabalhar com conjuntos de dados muito maiores, mas ainda usando o mesmo código, o mesmo notebook.
Como outro exemplo, digamos que o senhor seja um cientista de dados trabalhando em uma equipe para obter insights sobre uma linha de negócios. O senhor pode usar o notebook para encapsular suas anotações e observações, literalmente o código usado para extrair os dados e, em seguida, a análise e os resultados que ela produz. Qualquer outra pessoa em sua empresa pode executar novamente o mesmo trabalho, desde que tenha um URL para o seu notebook.
Essa noção de “ciência repetível” ganhou muita força entre os cientistas. Os dois líderes do Projeto Jupyter são ambos físicos e, recentemente, a descoberta das ondas gravitacionais (que pode muito bem levar a um Prêmio Nobel) foi publicada como um notebook Jupyter: https://losc.ligo.org/s/events/GW150914/GW150914_tutorial.html
Há uma tendência de declínio dos livros em geral, e dos livros didáticos em particular. Os professores que teriam escrito livros didáticos em um ano anterior, hoje tendem a usar ferramentas de código aberto, como o Jupyter, para publicar materiais de aprendizagem para seus cursos. Esses materiais podem ser prontamente compartilhados on-line.
A O’Reilly Media, como editora, observa atentamente essa tendência. Aproveitamos os notebooks Jupyter para o que chamamos de “conteúdo computável”. Em outras palavras, as pessoas podem visitar uma página da Web e aprender a fazer algum cálculo complexo por meio de codificação prática sincronizada com um vídeo do autor explicando os conceitos – com base no Jupyter. Não é necessário instalar nenhum software, apenas um navegador. Isso é um grande impulso para as pessoas que falam sobre cursos, por exemplo, em tutoriais em nossas conferências. Experimente nossos tutoriais “Oriole” que mostram conteúdo computável:
Vemos abordagens como o Jupyter como o futuro da publicação e do aprendizado de materiais. Aqui está uma palestra que fiz recentemente, descrevendo mais sobre o Jupyter e alguns de nossos casos de uso na O’Reilly Media: https://dominodatalab.wistia.com/medias/ydax0dpjug
O aprendizado de máquina é uma coisa diferente. Esse campo remonta às primeiras pesquisas em “cibernética” e teoria de controle na década de 1920 por Norbert Wiener, seguidas de um projeto patrocinado por Wiener no MIT durante a Segunda Guerra Mundial para as primeiras “redes neurais artificiais” por McCulloch e Pitts.
Os avanços ocorridos entre as décadas de 1970 e 1990 prepararam o terreno para um ponto no final da década de 1990: dado o sucesso do comércio eletrônico, no final de 1997, empresas como Amazon e eBay tinham “Big Data” disponível, juntamente com o início do que hoje chamamos de computação em nuvem. Com os dois elementos vitais juntos (“big data” e “big compute”), empresas como a Amazon conseguiram transformar o aprendizado de máquina em serviços ao consumidor em grande escala, como “As pessoas que compraram este livro também compraram…”, com sua patente registrada em 1998. Outra empresa, a Google, ainda era um projeto de pesquisa em Stanford na época, e ficou famosa por usar algoritmos de aprendizado de máquina para ajudar as pessoas a pesquisar na Web com mais eficiência.
Alguns anos depois, Jonathan Goldman aplicou abordagens semelhantes no LinkedIn para criar “Pessoas que o senhor talvez conheça”para um dos primeiros aplicativos de aprendizado de máquina em larga escala em redes sociais. Facebook, Twitter, Spotify, etc., seguiram seu caminho.
Durante muitos anos, os microprocessadores dobraram de velocidade a cada 18 meses, devido à chamada “Lei de Moore”, embora isso tenha começado a se esgotar na década de 2010. Em vez disso, os pesquisadores revisaram a matemática e a computação avançadas nas GPUs, que antes eram populares nos videogames. Uma área em que isso foi aplicado foram as redes neurais, um subconjunto do aprendizado de máquina, e especificamente às camadas empilhadas de redes neurais no que é chamado de Aprendizagem profunda. Em 2012, o Google, o Facebook e a Microsoft já haviam financiado equipes de pesquisa que trabalhavam com a aprendizagem profunda. Isso foi seguido por resultados fantásticos por volta de 2015-2016 em aplicativos de Inteligência Artificial, como reconhecimento de fala e tradução. Dizemos que três fatores (“big data”, “big compute” e “big models”) permitiram que a IA se tornasse um sucesso comercial.
Os notebooks Jupyter são inerentemente adequados para ensinar como trabalhar com aprendizado de máquina e IA em particular. Alguns dos melhores exemplos que a O’Reilly publicou são de Jake VanderPlas, da Universidade de Washington: https://www.oreilly.com/people/89c9c-jake-vanderplas
Outro excelente exemplo é o já mencionado tutorial de IA de Jon Bruner: https://www.oreilly.com/learning/generative-adversarial-networks-for-beginners
Eu fiz um vídeo chamado Just Enough Math (Matemática suficiente) — que mostra mais detalhes sobre a história do aprendizado de máquina, em casos de uso adequados para executivos de negócios. Curiosamente, ele também usa notebooks Jupyter para os exercícios de codificação 🙂
Em termos de outros materiais introdutórios para começar a usar o aprendizado de máquina, aqui estão vários em nossa plataforma de aprendizado Safari – que requer um login, embora as pessoas possam se inscrever gratuitamente para obter uma assinatura de teste:
O senhor perguntou se o aprendizado de máquina substituirá os desenvolvedores? Recebemos muitos materiais relacionados em nossas conferências recentes. As respostas variam entre “Não”, “Sim” e “A IA certamente aumenta as pessoas”:
Também é interessante observar que quando o “Deep Dive”, um projeto de IA muito popular na Universidade de Stanford, precisou recentemente criar uma interface de usuário personalizada para que as pessoas usassem seu trabalho, eles optaram por usar notebooks Jupyter: http://dawn.cs.stanford.edu/2017/05/08/snorkel/
Darei uma palestra relacionada na JupyterCon na quinta-feira, 24 de agosto, que descreve como usamos os notebooks Jupyter na O’Reilly Media para nosso trabalho de IA na minha equipe, para ajudar pessoas e máquinas a colaborarem juntas:
Humanos no circuito: Notebooks Jupyter como front-end para pipelines de IA em escala
https://conferences.oreilly.com/jupyter/jup-ny/public/schedule/detail/60058
Estou super entusiasmado com a JupyterCon. Será *tão bom* reunir esses palestrantes, pensadores, inovadores, todos em um só lugar – finalmente!