Imagine que quer criar software para realizar uma tarefa. Há duas formas principais de o fazer e uma forma intermédia.
O método de código
A primeira forma é programar o software para realizar a tarefa, a que chamarei "método de código". Neste caso, o utilizador conhece todas as interacções que podem ocorrer e antecipa-as no seu programa. O exemplo mais básico é a sequência "Se então", em que se diz ao computador que, se isto acontecer, então faz isto. Por exemplo, se este botão for clicado, então mostra este ecrã.
O método do código não utiliza dados e não implica qualquer formação. A sequência programada ocorre de forma determinística, independentemente dos dados. Para ser claro, os programas podem ser criados utilizando o método do código escrito com código real ou utilizando ferramentas visuais ou similares.
O método do comboio
A segunda forma é treinar o software para realizar a tarefa utilizando grandes volumes de dados, a que chamarei o "método de treino". Neste caso, escreve-se um algoritmo, como uma rede neural, para permitir que o software seja treinado com os dados. Depois, liberta-se o software para os dados e o computador aprende, através de um ciclo de feedback, a realizar a tarefa. Por exemplo, pode ensinar o software a reconhecer gatos, treinando-o com imagens de gatos.
O método de treino é, evidentemente, a essência da inteligência artificial. É conhecido como a abordagem dos grandes dados porque quanto mais dados de formação de alta qualidade estiverem disponíveis, melhor será o resultado. É necessário um mínimo de dados de formação para obter resultados razoáveis.
Na sua forma mais pura, o método train pode utilizar dados não estruturados e a própria aprendizagem ocorre de forma não supervisionada. Isto significa que os seres humanos não ajudam o software na formação.
O algoritmo aprenderá com o contexto implícito (e não com a rotulagem explícita) se uma determinada imagem é de um gato ou não. Por exemplo, os utilizadores comuns de uma plataforma podem, de forma ad hoc e espontânea, colocar a palavra gato na descrição da sua fotografia, a palavra gato pode estar no artigo em que a fotografia aparece ou, se se tratar de um vídeo, as pessoas podem dizer a palavra gato quando o gato aparece. Todos estes dados dos utilizadores são, obviamente, totalmente não estruturados (o que significa confusos) e o algoritmo teria de descobrir o que é um gato a partir destes dados confusos.
É claro que um algoritmo não supervisionado tem potencialmente grandes vantagens. Isto significa potencialmente que será poupada uma enorme quantidade de esforço por parte dos humanos em termos de rotulagem e categorização dos dados. Não é trivial (nem estimulante, aliás) rotular com exatidão cem mil fotografias de gatos.
Os problemas
Um dos principais problemas do método de treino não estruturado é o facto de necessitar de muito mais dados. Se os dados não estiverem disponíveis, não pode ser treinado desta forma. As abordagens supervisionadas também necessitam de muitos dados, pelo que sofrem do mesmo problema.
Esta é, naturalmente, a razão pela qual as pessoas estão à procura de oportunidades para aplicar a IA, em vez de a aplicarem a tudo. Os algoritmos de IA funcionam melhor quando estão disponíveis muitos dados para treino (ou podem gerar muitos dados - no caso dos jogos).
Outro problema com a abordagem não estruturada e não supervisionada é o facto de ser muito mais difícil escrever e testar o algoritmo com os dados em causa. O algoritmo tem de ser mais sofisticado para lidar com dados não estruturados do que quando os dados estão organizados e categorizados.
Uma abordagem supervisionada acrescenta intencionalidade humana ao processo em termos da forma como os dados são categorizados, mas continua a ser um método de treino, uma abordagem de grandes volumes de dados. Os seres humanos que compreendem os algoritmos podem rotular os dados e, ao fazê-lo, reduzir o trabalho do algoritmo.
O método dos pequenos dados
Existe um método que é uma mistura entre os métodos de código e de treino, a que chamarei o "método dos pequenos dados". Esta é a abordagem dos pequenos dados a que aludi no título. É possível combinar as técnicas de código e de treino para reduzir enormemente a quantidade de dados necessários para treinar um algoritmo.
Para o método dos pequenos dados, um programador codifica um modelo de interacções, mas depois este modelo é treinado num conjunto de dados muito mais pequeno do que seria necessário para a abordagem dos grandes dados. Isto faz com que o modelo seja treinado muito mais rapidamente do que seria necessário com o método de treino puro.
É claro que esta abordagem de pequenos dados faz sentido se o tempo necessário para codificar o modelo e treinar os dados for muito inferior ao tempo necessário para recolher os dados e treinar o algoritmo.
Há cenários em que a solução dos pequenos dados nos permitiria fazer coisas que atualmente não são viáveis. O método dos pequenos dados é o único método disponível se os dados necessários para o método de treino não existirem em primeiro lugar. Neste caso, o algoritmo tem de ser treinado com dados criados manualmente. Normalmente, não é prático criar manualmente dezenas de milhares de registos.
A abordagem dos pequenos dados está atualmente a ser investigada por empresas de IA, incluindo a botpress.io, e espero que se torne uma técnica comum nos próximos anos.
Partilhar isto em:
Crie o seu próprio chatbot de IA personalizado gratuitamente
Comece a criar um bot GPT personalizado com a nossa interface intuitiva de arrastar e soltar.
Começar - é grátis! 🤖Não é necessário cartão de crédito
Mantenha-se atualizado com as últimas novidades sobre IA chatbots