Teknik

Ansiktsigenkänning

Traditionella ansiktsigenkänning algoritmer är baserade på lokala funktioner. Algoritmen upptäckte först en serie relativt invarianta punkter i ansiktet (fiducialpunkter: hörn av ögon och mun, näsborrar etc.). Typiskt var antalet punkter mellan 10 och 300. Sedan brukade vanligen efter att ha anpassat ansiktet, extraherade algoritmen information av intresse från dessa lokala regioner, en per punkt, med vissa visuella funktioner (t.ex. wavelets, HOG, SIFT, SURF ... eller variationer av dem). De olika informationsstyckena sammanfogades till en enda funktion, och valfritt minskades dess dimension för att göra det lättare att lagra och snabbt jämföra med andra funktioner.

I den typen av algoritmer blev antalet poäng synonymt med förutsägelsens noggrannhet. Det är inte helt sant: om punkterna är välinriktade, ger fler poäng i allmänhet mer noggrannhet för en viss metod, men noggrannheten är extremt beroende av den särskilda funktionen och klassificeringen.

Deep learning

Djupinlärningsalgoritmer, som nu är toppmoderna för de flesta datorvisningsapplikationer, fungerar olika. De tillämpar banker av faltnings- och icke-linjära filter upprepade gånger över en originalbild. Varje applikationslager behandlar bilden och extraherar information med högre ordning. Efter många lager av dessa filterbanker (vanligtvis mellan tiotals och hundratals), är ansikten kodade direkt i små mallar som är mycket snabba att jämföra och ger mycket mer exakta resultat.

Det intressanta med djupt lärande är att sättet att extrahera visuella funktioner inte definieras manuellt, som tidigare, men det lär sig optimalt av nätverket själv under träning. Så görs alla processer för ansiktsjustering / frontalisering, lokalisering av intressanta regioner, etc. internt av nätverket. Du behöver inte berätta algoritmen där intressanta punkter är, eller hur man extraherar informationen, som den lär sig själv.

Djupinlärning är en gren av maskininlärning. Det är särskilt lämpat för vissa inlärningsuppgifter, eftersom det tenderar att skala noggrannhet och generalisering med träningsdata (därmed dra nytta av stora mängder av det) och det lär sig automatiskt de bästa interna representationerna av data som optimerar ett lärandemål, i motsats till några traditionella inlärningstekniker som krävde manuellt handarbete av sådana representationer.

Användning av NVIDIA GPU: er

NVIDIA GPU är idealiska för träning av djupa neurala nätverk, vilket påskyndar en process som annars skulle kunna ta ett år eller mer till bara veckor eller dagar. Det beror på att GPU: erna utför många beräkningar samtidigt eller parallellt. Och när ett system är "utbildat" med GPU kan forskare och forskare sätta det här lärandet att fungera. Det arbetet innefattar uppgifter som en gång var omöjliga.

GPU: er används för att träna dessa djupa neurala nätverk med hjälp av långt större träningssatser, i storleksordning mindre tid, med mycket mindre datacenterinfrastruktur. GPU-enheter används också för att köra dessa utbildade maskininlärningsmodeller för att göra klassificering och förutsägelse i molnet, vilket ger mycket mer datavolym och genomströmning med mindre kraft och infrastruktur.

Tidiga adopterare av GPU-acceleratorer för maskininlärning inkluderar många av de största webb- och sociala medierna, tillsammans med högsta forskningsinstitut inom datavetenskap och maskininlärning. Med tusentals beräkningskärnor och 10-100x applikationsgenomströmning jämfört med processorer ensam, har GPUer blivit processorn som valts för att bearbeta stor data för datavetenskapare.

 

NVIDIA logo

Om NVIDIA

År 1999 startade NVIDIA tillväxten på PC-spelmarknaden, omdefinierade modern datorgrafik och revolutionerade parallell databehandling. Mer nyligen antydde GPU-djupinlärning moderna AI - nästa datan med beräkning - med GPU som fungerar som hjärnan i datorer, robotar och självkörande bilar som kan uppfatta och förstå världen.