A Jornada

 Desde que, em 2018, realizei uma pesquisa para um trabalho da faculdade sobre machine learning, fiquei fascinado pela área de Inteligência Artificial. O trabalho consistia em, basicamente, explicar o que isso era, sua história, como funciona e aplicações práticas. 

 O que começou parecendo ser apenas mais um trabalho cansativo da faculdade, se mostrou uma experiência incrível, onde pude descobrir como a área de IA é dividida: A diferença de uma aprendizagem supervisionada e uma não-supervisionada, quais são os algoritmos de ML mais utilizados e, até mesmo, como criar um programa que aprende a jogar diversos jogos. Ter tido a experiência de escrever algumas linhas de código e ver o programa efetivamente evoluindo em um jogo me deixou muito empolgado com a área.

 Porém, depois disso, minha vida corrida acabou me fazendo deixar um pouco de lado essa história de machine learning e fiquei, praticamente, dois anos sem pensar sobre. Até que entrei na IBM e fiz um curso de Onboarding, que falava sobre o IBM Watson e suas aplicações nos mais diversos setores ao redor do mundo. Agora, tendo uma vida um pouco mais tranquila, sem a pressão de entregar o trabalho de conclusão da faculdade e tendo algumas horas livres à noite, voltei a pensar sobre a área e se seria uma boa ideia me dedicar para trabalhar nela.

 Fiz algumas pesquisas relacionadas, como o que exatamente faz alguém que trabalha com machine learning, quanto ganha, quantas vagas existem no Brasil, etc. Cada um desses pontos merece um post aqui, mas, em resumo, percebi que é, sim, bastante viável trabalhar nessa área, porém seria necessário bastante dedicação, pois o conteúdo é vasto e pode ser bastante complexo, dependendo de quão fundo você quer ir.

 Por fim, decidi que seguirei essa Jornada e resolvi que irei registrar tudo o que eu for aprendendo no caminho em um blog, tanto para possíveis consultas futuras, quanto para que outras pessoas possam encontrar um material de qualidade em português (que espero que seja útil para você).


O que aprender?

Pelas pesquisas que tenho feito, ficou claro que essa área é muito vasta e que existe muito material espalhado pela internet. Tanta coisa que é fácil ficar dias apenas colecionando links para “ler mais tarde” e nunca começando nada de fato. Sendo assim, após algumas horas de pesquisa e algumas dezenas de links salvos, cheguei à seguinte conclusão lógica:


Fundamentos

 Aqui entram conceitos fundamentais, que precisam ser aprendidos cedo para que, quando chegar na hora de aprender os conceitos mais complexos de machine learning, não seja necessário ficar desviando a atenção para coisas secundárias (como pesquisar como fazer um for em python, ou como se resolve equações de segundo grau):

  • Python
    • Sintaxe da linguagem
    • Como criar uma aplicação web
    • Como criar uma aplicação desktop
    • Como criar um jogo
    • Como conectar à um banco de dados
    • Como fazer leitura/escrita de arquivos
  • Matemática para machine learning
  • Ferramentas para registro de seu caminho de aprendizado
    • Blog
    • Github
    • Heroku
    • Jupyter Notebook

Machine Learning

 Uma vez que os conceitos tenham sido bem entendidos, podemos partir para o aprendizado de Machine Learning:

  • Frameworks de ML python
  • Conceitos/Algoritmos de machine learning


Big Data

 Como o machine learning só funciona bem quando temos um volume considerável de dados, é fundamental aprender mais sobre como receber, armazenar e processar grandes volumes de dados.

  • Hadoop
  • Spark

Ferramentas/APIs

Assim que houver compreendido os principais conceitos e algoritmos de machine learning, é importante aprender como usar as principais ferramentas e APIs disponíveis no mercado, pois provavelmente será necessário utilizar alguns desses no dia-a-dia como profissional da área:

  • Ferramentas de machine learning

  • APIs de machine learning


Como aprender?

Uma vez que o conteúdo a ser explorado tenha ficado claro, o próximo passo é decidir como abordar tanta coisa. Parece ser um senso comum entre pessoas que dão dicas de como entrar na área que é importante colocar a mão na massa e mostrar isso ao mundo. 

Ou seja, ao invés de fazer diversos cursos online e colecionar certificados, busque um caminho mais “lento”, porém mais eficiente, buscando equilibrar a quantidade de horas aprendendo e a quantidade de horas praticando o que foi aprendido. Existem algumas razões para isso:

  • Um portfolio bem construído é o melhor currículo que existe;
  • Quando você faz algo sabendo que outras pessoas vão ter acesso aquilo, você se empenha em fazer um trabalho melhor, fazendo com que se empenhe mais em aprender;
  • Se você apenas copia as coisas que o seu professor mostra nos cursos, você absorve muito menos o conteúdo do que quando você tenta usar aquilo para algo diferente.

 Portanto, sintetizei os seguintes pontos:

  • Balanceie aprendizado e prática;
  • Para cada tópico que você aprender, escreva um artigo sintetizando os principais pontos daquilo;
  • Faça projetos empregando técnicas aprendidas;
  • Disponibilize os projetos online;
  • Faça um artigo explicando a construção daquele projeto.

 Claro que o que foi levantado inicialmente é apenas uma estimativa. Tenho plena consciência de que muitos pontos não previstos irão me custar algumas dezenas (senão centenas) de horas de estudos adicionais, mas isso faz parte do processo de aprendizagem e todo mundo que quer chegar a algum lugar tem que saber que imprevistos sempre acontecem.

 O caminho é longo e árduo, mas, por me interessar muito pelo assunto e me divertir quando aprendo a programar coisas interessantes, tenho certeza de que valerá muito a pena no final.

 Boa sorte para nós!

Comentários

Postagens mais visitadas deste blog

Como criar um jogo usando Python

Biblioteca Python: Random

Biblioteca Python: Math