På den nyligt afholdte IDA-konference Embedded Everywhere fortalte Thomas Jakobsen og Yasser Bajwa fra konsulentfirmet Grazper Technologies om deres erfaringer med at bygge visuelle machine learning-systemer, hvor grundstenen er en FPGA-chip, i modsætning til de sædvanlige CPU-chips til indlejret brug.
FPGA’er (Field-Programmable Gate Array) er så at sige programmerbar elektronik. Ved hjælp af sproget VHDL, der overfladisk ligner C, er det muligt at opbygge kredsløb, der passer lige til én bestemt opgave, med store forøgelser i ydelse og besparelser i strømforbrug, i forhold til CPU, GPU og DSP-chips, hvor elektronikken er fastlagt, når chippen kommer ud af fabrikken.
Deep Learning
Grazper skulle for en række år siden bygge en kamera-IoT-enhed, som på baggrund af kundens store billeddatabase skulle kunne genkende biler. Her var det algoritmen Support Vector Machines, der blev anvendt, men den kan ikke leve op til dagens standarder. Det nye sort i den verden, der handler om visuel machine learning, er teknikken ‘Deep Learning’.
Bag det flotte navne gemmer sig en gammel kending, nemlig neurale netværk, blot med væsentligt flere såkaldte ‘hidden layers’. Disse Deep Learning-netværk kan tilnærme sig en hvilken som helst funktion på en effektiv måde, og det er det, der gør dem til stjernene på machine learning-scenen for tiden.
Machine Learning har som regel to faser: træning og anvendelse. I første fase trænes algoritmen til sin opgave, som f.eks. at genkende elementer i trafikken, og dernæst slippes algoritmen løs på sit problem i den virkelige verden. Træningen kan ske på almindelige computere, men når det handler om visuel machine learning, foregår anvendelsen ofte i felten, hvor krav til strømforbrug og båndbredde spiller ind.
»Den store ting er forholdet mellem energiforbrug og ydelse. Hvis du vil have noget, der kører godt ved lavt strømforbrug og kører parallelt, som man gør i forbindelse med Deep Learning, er FPGA’er virkelig gode,« forklarer Yasser Bajwa, som er civilingeniør fra DTU.
Dertil kommer, at man kan få FPGA-chips, der har stemplet ‘automotive grade’ – altså en stabilitet og pålidelighed, som gør, at man kan anvende det i bilindustrien – og dermed også i andre sammenhænge, hvor de fysiske påvirkninger fra omgivelserne skal tages med i betragtning.
Analyse på kanten
Fremgangsmåden falder også helt i tråd med tidens modeord ‘edge analytics’, hvor store mængder data processeres ved kilden, enten med kunstig intelligens eller gammeldags regnearbejde, for så at sende et raffineret og aggregeret resultat videre.
Problemet med FPGA’er er, at selvom programmeringssproget VHDL ligner C, så er det kun en overfladisk lighed. Man skal kunne forstå elektronikken for at flytte det neurale netværk ned i kredsløbene.
»Syntaksen er nem, men det tager lang tid at forstå,« forklarer Yasser Bajwa.
Det er elektronik, man bygger, og ikke operationer som på en CPU.
»Når man bygger elektronikken, skal man i hver linje overveje, hvad det er man bygger – hvor meget plads kommer det til at bruge, hvordan passer det fysisk med FPGA’en, og timing. Der er en clock, der kører, og du skal sørge for, at du ikke propper for meget i pipelinen. Så der er mange ting, man skal holde øje med i elektronikken. Det er helt anderledes end C.«
Overvågning uden at gemme billeder
Når kameraer bruges til overvågning i dag, sker det som regel ved at sende billedstrømmen et andet sted hen, hvor det kan processeres maskinelt eller manuelt og gemmes på et lagermedie. Det kræver båndbredde og kan gøre borgere utrygge, jævnfør den verserende diskussion om overvågning og privatlivets fred.
»Folk vi gerne have kameraer for at føle sig trygge, men de vil ikke have kameraer, fordi de føler, at deres privatliv gået for nær,« mener Grazpers direktør Thomas Jakobsen, der er civilingeniør og ph.d. fra DTU.
Han tager udgangspunkt i et eksempel med trafikovervågning:
»I den løsning, vi lige nu laver til et innovationsfond-projekt, bliver resultatet en sensor i stedet for et kamera. Den gemmer ikke billederne, men videresender kun den information, der skal bruges: ‘Der er kørt syv cykler forbi’ – det er det, den sender videre. Billederne bliver aldrig til andet end en strøm inde i kameraet, der så forsvinder. Det synes jeg er godt.«
»Jeg har det bedre med det system end det, vi har nu, hvor data ligger et eller andet sted,« siger Yasser Bajwa.
»Her processerer vi data straks. Det gør ikke noget ved dit privatliv. Vi ser det som en forbedring, at du ikke behøver at gemme data.«
