Cinci tehnologii care sustin inteligenta artificiala

Este la moda sa vorbesti despre inteligenta artificiala. In ultimele luni, s-ar parea ca nu exista o lansare tehnologica care sa nu includa sloganuri „cu capabilitati AI”, „invatare automata”, „ invatare automata ” si multe altele care sunt de obicei asociate cu scopul comun ca in viitorul indepartat masinile va fi de fapt capabil sa „gandeasca” in acelasi mod in care o face o fiinta umana.

Dar cu ce sunt diferiti acesti termeni? Este invatarea automata la fel cu invatarea profunda ? Ce sunt tehnologiile de procesare a limbajului natural? Ce programe si limbaje de programare sunt folosite pentru a dezvolta tehnologiile care sustin AI?

Sa incepem prin a raspunde la ceea ce pe hartie pare a fi cea mai simpla intrebare dintre toate. Cand vorbim despre inteligenta artificiala… la ce ne referim cu adevarat? Spre deosebire de alte tehnologii, AI poate reprezenta multe lucruri pentru multi oameni diferiti. AI este acea voce care iti vorbeste din difuzorul tau Amazon Echo, dar este si acel robot care automatizeaza un proces industrial, asistentul virtual care te economiseste timp in a face fata cu banca sau creierul GPS-ului care te ajuta sa te ghidezi intr-un oras pe care nu-l cunosti bine

In acest sens, mai mult decat o tehnologie specifica, este mai corect sa spunem ca Inteligenta Artificiala este o umbrela sub care se afla o gama larga de tehnologii care merg de la machine learning la viziune artificiala, de la retele neuronale la modelarea datelor.

Invatare automata

Invatarea automata reprezinta prima etapa pentru companiile care doresc sa adauge capabilitati AI portofoliului lor IT. Baza pe care se bazeaza este de a oferi computerelor capacitatea de a-si dezvolta automat proprii algoritmi, antrenand diferite modele pentru aceasta.

Un exemplu clasic este modul in care invatam un computer sa inteleaga ce este o pisica: daca antrenam modelul introducand mii de fotografii care contin pisici, speram ca la un moment dat aparatul „intelege” ce caracteristici sunt intrinseci unei pisici si cum sa diferentiaza o pisica de ceva ce nu este. In acest fel, daca un utilizator, de exemplu, doreste sa caute fotografii cu pisici in albumele lor foto, sistemul este capabil sa interpreteze acele imagini care le contin, analizand exclusiv continutul acestora si nu (ca pana acum) etichetele care au fost introdus manual cu anterioritate.

Acest lucru care pare atat de simplu de explicat, desigur, nu este deloc simplu. Pentru ca, desi este usor sa distingeti o pisica de ceva ce nu este, este suficient sa ne amintim ca si acesti algoritmi indica Facebook ca o opera de arta precum „Venus lui Willendorf” reprezinta un nud si, prin urmare, merita. cenzura in aceasta retea.

Daca doriti sa aflati mai multe, va recomandam sa cititi articolul nostru „Invatare automata: cand masinile invata” in care explicam mult mai in profunzime cum si ce metodologie folosesc oamenii de stiinta atunci cand vine vorba de faptul ca computerele pot intelege in mod autonom natura datele care i se prezinta.

Invatare profunda

Invatarea profunda sau invatarea profunda inseamna a duce invatarea automata cu un pas (sau mai multi) mai departe. Spre deosebire de invatarea automata, invatarea profunda creeaza noi straturi de invatare automata dincolo de primul punct de decizie. Aceste noi straturi sunt numite retele neuronale si simuleaza teoretic modul in care functioneaza creierul uman.

Odata ce un algoritm de invatare automata produce un rezultat, invatarea profunda il ia ca intrare pentru un nou algoritm de invatare automata , repetand operatia succesiv in diferite straturi care sunt legate intre ele.

Revenind la exemplul anterior, odata ce algoritmul stabileste ca exista o pisica in fotografie, un al doilea algoritm ar trebui sa poata determina ca este o pisica Angora (si nu o persana sau oricare alta), un al treilea ar putea fi capabil sa determinati varsta aproximativa a acelei pisici si asa mai departe.

Procesarea limbajului natural

Exista doua domenii in care se inregistreaza mai multe progrese cand vorbim despre AI: NLP (prelucrarea limbajului natural) si Viziunea artificiala. Sa incepem cu primul.

Daca tinem cont de faptul ca fiintele umane nu vorbesc folosind unu si zero, cum putem comunica in mod natural cu masinile? Aceasta este intrebarea la care incearca sa raspunda inginerii care s-au specializat in procesarea limbajului natural.

Primele rezultate ale acestui efort s-au concretizat in asistenti personali precum Amazon Alexa, Microsoft Cortana, Google Assistant si altii. Si desi este adevarat ca au invatat sa interpreteze multe dintre intrebarile cu care ii provocam, adevarul este ca faptul ca limbajul uman nu poate fi „tradus” in ecuatii matematice face progresul in acest domeniu foarte dificil. Momentan, folosind invatarea automata si invatarea profundaAlgoritmii NLP pot raspunde la intrebari precum „Cine este Pedro Sanchez?” sau dupa contextul «Cum se numeste sotia primului ministru?» dar daca-l intrebam «Ce s-a intamplat in ultima sesiune de investitura?» vom descoperi cum AI nu a ajuns inca in acel stadiu in care „intelege” ca intrebam despre Pedro Sanchez.

Pe de alta parte, este de asemenea important de subliniat ca NLP este folosit pentru mult mai mult.In prezent, algoritmii de procesare a limbajului natural sunt utilizati din ce in ce mai mult pentru a gasi informatii in volume mari de informatii nestructurate, cum ar fi e-mail-uri, dosare medicale. . , postari pe retelele sociale, videoclipuri etc. astfel incat procesul de cautare a informatiilor sa fie facilitat. In fata unui grup de milioane de documente, acesti algoritmi pot ajuta o firma de avocatura sa raspunda la intrebari precum „In ce alte cazuri au dus la aceasta pedeapsa cu inchisoarea circumstante similare?”

Vedere artificiala

Viziunea artificiala presupune realizarea unui computer capabil sa recunoasca imagini in acelasi mod in care ar face-o o fiinta umana. Cu alte cuvinte, nu este vorba atat de a colecta un set de pixeli, ci mai degraba de a intelege ce reprezinta acestia in lumea reala si modul in care unele obiecte sunt legate de altele. In acest moment, exista doua domenii in care se aprofundeaza mai mult in acest domeniu: recunoasterea faciala si navigarea autonoma.

Prima care este folosita in sarcini atat de simple precum deblocarea unui smartphone, este folosita din ce in ce mai mult in mii de camere de securitate instalate in intreaga lume cu scopul de a facilita prevenirea criminalitatii sau identificarea persoanelor suspecte sau disparute. De asemenea, gaseste si alte utilizari practice atunci cand vine vorba de a facilita imbarcarea in avioane si chiar de a putea „ plati cu fata ”.

In ceea ce priveste sistemele autonome de navigatie, principala lor aplicatie se regaseste in acel viitor vehicul autonom capabil sa-si conduca pasagerii de la punctul A la punctul B fara a fi nevoie de interventie umana de orice fel, mizand pe camere capabile sa inteleaga starea si diversele semnale de circulatie, prezenta pietonilor si a altor vehicule mai mici si raspunde la situatii neasteptate.

Python, TensorFlow si Keras

Dar la nivel practic, care sunt programele specifice sau limbajele de programare care faciliteaza dezvoltarea algoritmilor si aplicatiilor pentru AI? In primul rand, Python, un limbaj de programare care in ultimii ani parea sa cunoasca un declin placut si care, totusi, s-a dovedit a fi ideal pentru (in faza actuala) antrenarea modelelor de invatare automata , analiza unor seturi mari de date, construirea de statistici de modele. …etc. Daca intram deja in domenii specifice, cum ar fi dezvoltarea modelelor de invatare automata, TensorFlow este, desigur, marea referinta.

Multe dintre companiile care pretind ca incorporeaza invatarea automata ca parte a caracteristicilor solutiei lor comerciale fac acest lucru folosind proiectul TensorFlow cu sursa deschisa. Nascut in maruntaiele Google si cunoscut in prima etapa ca DistBelief, proiectul se bazeaza pe o serie de biblioteci care folosesc un sistem de invatare automata bazat pe retele neuronale de invatare profunda.

Unul dintre cele mai importante plugin-uri pentru TensorFlow este Keras, o biblioteca de retele neuronale open source scrisa tocmai in Python. Pe langa TensorFlow, are si suport pentru Microsoft Cognitive Toolkit, Theano sau MXNet. Keras este conceput pentru a permite experimentarea rapida cu retele neuronale profunde, iar avantajele sale sunt usurinta in utilizare si natura sa modulara.

Recente