As melhores linguagens para desenvolver AI (Inteligência Artificial)

As melhores linguagens para desenvolver AI (Inteligência Artificial)

A inteligên­cia arti­fi­cial (AI) abre um mun­do de pos­si­bil­i­dades para desen­volve­dores de aplica­tivos. Aprovei­tan­do o apren­diza­do de máquina ou o apren­diza­do pro­fun­do, o pro­gra­mador pode pro­duzir per­fis de usuário, per­son­al­iza­ção e recomen­dações muito mel­hores, além de incor­po­rar uma pesquisa mais inteligente, uma inter­face de voz ou assistên­cia inteligente.

Para isso, é pre­ciso ter uma boa lin­guagem de pro­gra­mação, com bom desem­pen­ho em tem­po de exe­cução, bom suporte a fer­ra­men­tas, grande comu­nidade de pro­gra­madores e ecos­sis­tema saudáv­el de pacotes de suporte.

Con­fi­ra algu­mas dessas mel­hores lin­gua­gens de pro­gra­mação para desen­volvi­men­to de AI:

1. Python

Emb­o­ra exis­tam alguns desafios sobre o Python, como a divisão mas­si­va entre o Python 2.x e o Python 3.x, ou os cin­co sis­temas de empa­co­ta­men­to de maneiras difer­entes, quem está fazen­do um tra­bal­ho de AI quase cer­ta­mente usará o Python em algum momen­to.

As bib­liote­cas disponíveis são prati­ca­mente úni­cas. O NumPy se tornou tão onipresente que é quase uma API padrão para oper­ações de ten­sor e o Pan­das traz os poderosos quadros de dados do R para o Python. Para o proces­sa­men­to de lin­guagem nat­ur­al, há o NLTK e o Spa­Cy. Para apren­diza­do de máquina, existe o Scik­it-learn. E quan­do se tra­ta de apren­diza­gem pro­fun­da, todas as bib­liote­cas atu­ais (Ten­sor­Flow, PyTorch, Chain­er, Apache MXNet, Theano, entre out­ros) são pro­je­tos feitos pio­neira­mente no Python.

Ou seja, o Python é a lin­guagem na van­guar­da de pesquisa da AI, onde será pos­sív­el encon­trar a maio­r­ia das estru­turas de apren­diza­do de máquina e apren­diza­gem pro­fun­da. Por ess­es motivos, o Phy­ton é o primeiro entre as lin­gua­gens de pro­gra­mação de AI.

2. Java

A família de lin­gua­gens JVM (Java, Scala, Kotlin, Clo­jure, etc.) tam­bém é uma óti­ma opção para o desen­volvi­men­to de aplica­tivos de AI. Exis­tem diver­sas bib­liote­cas disponíveis para todas as partes do pipeline, seja o proces­sa­men­to de lin­guagem nat­ur­al (CoreNLP), oper­ações de ten­sor (ND4J) ou um con­jun­to de apren­diza­do pro­fun­do acel­er­a­da por GPU (DL4J). Além dis­so, o usuário obtém aces­so fácil a platafor­mas de Big Data, como o Apache Spark e o Apache Hadoop.

Java é a lín­gua fran­ca da maio­r­ia das empre­sas e, com as novas con­struções de lin­guagem disponíveis no Java 8 e no Java 9, escr­ev­er códi­go Java não é tão ruim quan­to antiga­mente. Escr­ev­er um aplica­ti­vo de AI em Java pode pare­cer um pouco cha­to, mas toda a infraestru­tu­ra Java pode ser usa­da para desen­volvi­men­to, implan­tação e mon­i­tora­men­to.

3. C/C++

É improváv­el que a C ou C ++ sejam a primeira escol­ha ao desen­volver um aplica­ti­vo de AI, mas se a pes­soa estiv­er tra­bal­han­do em um ambi­ente inte­gra­do e não pud­er arcar com a sobre­car­ga de um Java Vir­tu­al Machine ou um inter­pre­ta­dor Python, as C/C++ podem ser a mel­hor respos­ta.

E, feliz­mente, elas são agradáveis de escr­ev­er. O pro­gra­mador tem a opção de usar bib­liote­cas como CUDA para escr­ev­er seu próprio códi­go ou usar o Ten­sor­Flow ou Caffe para obter aces­so a APIs de alto nív­el. Com a segun­da opção, tam­bém podem ser impor­ta­dos mod­e­los con­struí­dos com o Phy­ton e exe­cu­ta­dos com a veloci­dade que as lin­gua­gens C ofer­e­cem.

4. JavaScript

O Google lançou recen­te­mente o TensorFlow.js, uma bib­liote­ca acel­er­a­da por WebGL que per­mite treinar e exe­cu­tar mod­e­los de apren­diza­do de máquina em seu nave­g­ador da web. A platafor­ma tam­bém inclui a API Keras e a capaci­dade de car­regar e usar mod­e­los que foram treina­dos em Ten­sor­Flow.

Ou seja, ain­da que o JavaScript não ten­ha atual­mente o mes­mo aces­so a bib­liote­cas de apren­diza­do de máquina que as out­ras lin­gua­gens lis­tadas, em breve os desen­volve­dores adi­cionarão redes neu­rais nas pági­nas da Web com a mes­ma facil­i­dade que adi­cionam um com­po­nente React ou uma pro­priedade CSS.

TensorFlow.js ain­da está em seus primeiros dias. No momen­to, ele fun­ciona no nave­g­ador, mas não no Node.js e ain­da não imple­men­ta a API com­ple­ta do Ten­sor­Flow. No entan­to, ambos os prob­le­mas devem ser resolvi­dos em grande parte até o final de 2018.

5. R

R é a lin­guagem que os cien­tis­tas de dados ado­ram. No entan­to, out­ros pro­gra­madores o acham um pouco con­fu­so quan­do o encon­tram pela primeira vez, dev­i­do à sua abor­dagem cen­tra­da no dataframe. No caso de ter um grupo ded­i­ca­do de desen­volve­dores de R, pode faz­er sen­ti­do usar as inte­grações com Ten­sor­Flow, Keras ou H2O para pesquisa, pro­toti­pagem e exper­i­men­tação, mas a lin­guagem não é tão recomen­da­da para pro­dução, dev­i­do a pre­ocu­pações opera­cionais e de desem­pen­ho. Emb­o­ra o pro­gra­mador pos­sa escr­ev­er um códi­go R de alto desem­pen­ho e imple­men­tá-lo em servi­dores de pro­dução, é mais fácil pegar esse pro­tótipo R e recod­i­ficá-lo em Java ou Python.

Fonte: IDG­Now!

Posts Similares