Koneiden nousu: tekoälyn todelliset sovellukset
Tekoäly ei ole tulevaisuudessa, se tässä nykyisyydessä Tässä blogissa Lue kuinka tekoälysovellukset ovat vaikuttaneet eri sektoreihin.
Perinteisiä kehitystapoja on vaikea ylläpitää, kun tuotannossa käytetään monimutkaisia koneoppimismalleja. Kehittäminen kannettavalla tietokoneella tai paikallisella koneella voi olla hidasta koneoppimismallin kouluttamisessa syväoppimisen insinööreille. Tämän seurauksena käytämme yleensä tehokkaammilla laitteistoilla varustettuja pilvikoneita koneoppimismalliemme kouluttamiseen ja suorittamiseen. Tämä on hyvä käytäntö, koska abstraktimme monimutkaisen laskennan ja teemme sen sijaan AJAX-pyyntöjä tarpeen mukaan. Tässä opetusohjelmassa tuomme valmiiksi koulutetun Word2Vec-nimisen syväoppimismallin muiden palvelujen saataville rakentamalla REST API:n alusta alkaen.
sudokäyttäjäSanojen upotukset ovat viimeaikainen kehitys luonnollisen kielen käsittelyssä ja syväoppimisessa, joka on mullistanut molemmat alat nopean edistymisen ansiosta. Sanojen upotukset ovat pohjimmiltaan vektoreita, joista jokainen vastaa yhtä sanaa siten, että vektorit tarkoittavat sanoja. Tämä voidaan osoittaa tietyillä ilmiöillä, kuten vektorilla king - queen = boy - girl. Sanavektoreita käytetään rakentamaan kaikkea suositusmoottoreista chat-botteihin, jotka todella ymmärtävät englannin kieltä.
Sanojen upotukset eivät ole satunnaisia; ne syntyvät kouluttamalla hermoverkkoa. Äskettäinen tehokas sanan upotustoteutus tulee Googlelta nimeltä Word2Vec, jota koulutetaan ennustamalla sanoja, jotka esiintyvät kielen muiden sanojen vieressä. Esimerkiksi sanalle "cat"hermoverkko ennustaa sanat "kitten"ja "feline". Tämä vierekkäisten sanojen intuitio mahdollistaa niiden sijoittamisen vektoriavaruuteen.
Käytännössä käytämme kuitenkin muiden suuryritysten, kuten Googlen, esikoulutettuja malleja prototyyppien nopeaan valmistukseen ja käyttöönottoprosessien yksinkertaistamiseen. Tässä opetusohjelmassa lataamme ja käytämme Googlen Word2Vec valmiiksi koulutettuja sanan upotuksia. Voimme tehdä tämän suorittamalla seuraavan komennon työhakemistossamme.
wget http://magnitude.plasticity.ai/word2vec/GoogleNews-vectors-negative300.magnitude
Lataamamme sanan upotusmalli on .magnitudemuodossa. Tämä muoto mahdollistaa mallin kyselyn tehokkaasti SQL:n avulla ja on siksi optimaalinen upotusmuoto tuotantopalvelimille. Koska meidän on pystyttävä lukemaan .magnitudemuotoa, asennamme pymagnitudepaketin. Asennamme flaskmyös myöhemmin palvelemaan mallin tekemiä syvän oppimisen ennusteita.
pip3 install pymagnitude flask
Lisäämme sen myös riippuvuusseurantaan seuraavalla komennolla. Tämä luo tiedoston nimeltä requirements.txtja tallentaa Python-kirjastomme, jotta voimme asentaa ne uudelleen myöhemmin.
pip3 freeze > requirements.txt
Aluksi luomme tiedoston, joka käsittelee sanan upotusten avaamista ja kyselyä.
touch model.py
Seuraavaksi lisäämme seuraavat rivit model.pymagnituden tuontia varten.
from pymagnitude import Magnitude
vectors = Magnitude('GoogleNews-vectors-negative300.magnitude')
Voimme leikkiä pymagnitudepaketin ja syväoppimismallin kanssa käyttämällä querymenetelmää ja tarjoamalla argumentin sanalle.
cat_vector = vectors.query('cat')
print(cat_vector)
Sovellusliittymämme ytimeen määrittelemme funktion, joka palauttaa kahden sanan merkityksen. Tämä on selkäranka useimmille syväoppimisratkaisuille, kuten suositusmoottoreille (eli sisällön näyttämiselle samanlaisilla sanoilla).
Voimme leikkiä tällä toiminnolla käyttämällä similarityja most_similar -funktioita.
print(vectors.similarity("cat", "dog"))
print(vectors.most_similar("cat", topn=100))
Toteutamme samankaltaisuuslaskimen seuraavasti. Flask API kutsuu tätä menetelmää seuraavassa osiossa. Huomaa, että tämä funktio palauttaa todellisen arvon välillä 0 ja 1.
def similarity(word1, word2):
return vectors.similarity(word1, word2)
Luomme palvelimemme tiedostoon service.py, jonka sisältö on seuraava. Tuomme flaskja requestkäsittelemme palvelinominaisuuksiamme ja tuomme similaritymoottorin aiemmin kirjoittamastamme moduulista.
from flask import Flask, request
from model import similarity
app = Flask(__name__)
@app.route("/", methods=['GET'])
def welcome():
return "Welcome to our Machine Learning REST API!"
@app.route("/similarity", methods=['GET'])
def similarity_route():
word1 = request.args.get("word1")
word2 = request.args.get("word2")
return str(similarity(word1, word2))
if __name__ == "__main__":
app.run(port=8000, debug=True)
Palvelimemme on melko paljas luuta, mutta sitä voidaan helposti laajentaa luomalla lisää reittejä @app.routesisustajalla.
Voimme käyttää Flask-palvelinta suorittamalla seuraavat komennot aktivoidaksemme virtuaaliympäristömme, asentaaksemme paketit ja suorittaaksemme siihen liittyvän Python-tiedoston.
source venv/bin/activate
pip3 install -r requirements.txt
python3 service.py
Palvelimemme on käytettävissä osoitteessa localhost:8000. Voimme tehdä kyselyitä tietokannastamme osoitteessa localhost:8000/similarity?word1=cat&word2=dogja tarkastella vastausta joko selaimessamme tai toisen AJAX-asiakkaan kautta.
Tekoäly ei ole tulevaisuudessa, se tässä nykyisyydessä Tässä blogissa Lue kuinka tekoälysovellukset ovat vaikuttaneet eri sektoreihin.
Oletko myös DDOS-hyökkäysten uhri ja hämmentynyt ehkäisymenetelmistä? Lue tämä artikkeli ratkaistaksesi kysymyksesi.
Olet ehkä kuullut, että hakkerit ansaitsevat paljon rahaa, mutta oletko koskaan miettinyt, kuinka he ansaitsevat tuollaista rahaa? keskustellaan.
Haluatko nähdä Googlen vallankumouksellisia keksintöjä ja kuinka nämä keksinnöt muuttivat jokaisen ihmisen elämää nykyään? Lue sitten blogia nähdäksesi Googlen keksinnöt.
Konsepti itseohjautuvista autoista lähteä tielle tekoälyn avulla on ollut haaveena jo jonkin aikaa. Mutta useista lupauksista huolimatta niitä ei näy missään. Lue tämä blogi saadaksesi lisätietoja…
Kun tiede kehittyy nopeasti ja ottaa haltuunsa suuren osan ponnisteluistamme, myös riskit altistaa itsemme selittämättömälle singulariteetille kasvavat. Lue, mitä singulaarisuus voisi tarkoittaa meille.
Blogista saat tietää Big Data -arkkitehtuurin eri kerroksista ja niiden toiminnoista yksinkertaisimmalla tavalla.
Tietojen säilytystavat ovat kehittyneet mahdollisesti Datan syntymästä lähtien. Tämä blogi käsittelee tiedon tallennuksen kehitystä infografian pohjalta.
Tässä digitaalisessa maailmassa kodin älylaitteista on tullut tärkeä osa elämää. Tässä on muutamia älykkäiden kodin laitteiden hämmästyttäviä etuja, joiden avulla ne tekevät elämästämme elämisen arvoista ja yksinkertaisempaa.
Apple julkaisi äskettäin macOS Catalina 10.15.4 -lisäpäivityksen ongelmien korjaamiseksi, mutta näyttää siltä, että päivitys aiheuttaa lisää ongelmia, jotka johtavat mac-koneiden tiilikaamiseen. Lue tämä artikkeli saadaksesi lisätietoja