• LinkedIn
  • KONTAKT
  • ANNONCERING
  • PARTNERLOGIN

ElektronikFOKUS

Fokus på elektronik

  • Branchenyt
  • Design & udvikling
  • Events
  • IoT & embedded
  • Komponenter & konnektorer
  • Power
  • Produktion
  • Test & mål
  • Wireless & data
  • Artikler fra Aktuel Elektronik

Artikler fra Aktuel Elektronik27. 08. 2024 | Pia Nielsen

Introduktion til konvolutionelle neurale netværk: Hvad er machine learning?

Artikler fra Aktuel Elektronik27. 08. 2024 | Pia Nielsen

AI udvikler sig hurtigt og gør i stigende grad applikationer, som tidligere ville være utænkelige eller svære at implementere, til en mulighed. Vi skal i det følgende forklare ”konvolutionelle neurale netværk” (CNN) og deres betydning for machine learning i AI-systemer. CNN er effektive værktøjer, der kan udtrække funktioner fra komplekse data som mønstergenkendelse i audiosignaler eller billeder. Vi skal se, hvilke fordele CNN har i forhold til klassisk lineær programmering

Artiklen har været bragt i Aktuel Elektronik nr. 8 – 2024 og kan læses herunder uden illustrationer
(læs originaludgaven her)

Af Ole Dreessen, stabsingeniør, field applications, Analog Devices Inc.

Neurale netværk er systemer eller strukturer af neuroner, som gør AI bedre i stand til at forstå data, så det bliver muligt at løse komplekse problemer. Selv om der findes utallige netværkstyper, så skal vi alene se på de konvolutionelle neurale netværk (CNN), hvor de primære applikationsområder er mønstergenkendelse og klassificering af objekter indeholdt i input-data.
CNN er den type af kunstige neurale netværk, som bruges til deep learning, og disse netværk består af et input-lag, flere konvolutionelle lag og et output-lag. De konvolutionelle lag er de mest betydningsfulde komponenter, da de anvender et unikt sæt af vægte og filtre, hvorved netværket kan udtrække funktioner fra input-data. Data kan komme i mange former som billeder, lyd eller tekst. Ekstraktet af data gør CNN i stand til at identificere mønstre i data, og ved at udtrække funktionerne i disse mønstre kan CNN gøre ingeniører i stand til at skabe mere effektive applikationer. Men vi er nødt til først at se på den klassiske lineære programmering.
Inden for styringselektronik ligger opgaven i at aflæse data fra én eller flere sensorer med efterfølgende behandling, respons i henhold til fastsatte regler samt visning eller fremsendelse af de endelige resultater: En temperaturregulator måler for eksempel temperaturen hvert sekund gennem en mikrocontroller (MCU), der aflæser input fra sensoren. Værdien fra denne sensor leveres som input-data til en closed-loop styring, hvor data bliver sammenlignet med et sætpunkt for temperaturen i loopen med følgende justering op eller ned af temperaturen på output. Det er klassisk lineær eksekvering styret af en MCU. Løsningen giver endelige outputs baseret på forud indstillede eller forprogrammerede værdier, der sammenlignes med de aktuelle. AI-systemer er derimod baseret på sandsynligheder.

Kompleks mønster- og signalbehandling
Der er et antal applikationer, der arbejder med input-data, der først skal fortolkes af et mønstergenkendelsessystem. Mønstergenkendelse kan anvende forskellige datastrukturer. I de aktuelle eksempler begrænser vi os selv til én- og todimensionelle datastrukturer, og eksemplerne er som følger: Audiosignaler, elektrokardiogrammer (EKG), fotopletysmografi (PPGs), vibrationer for endimensionelle data og billeder, termiske billeder og vandfalddiagrammer for todimensionelle data.
Mønstergenkendelse til de nævnte bruger-cases gør konvertering af applikationen til klassisk kode for MCU’en ekstremt vanskelig. Et eksempel kunne være genkendelse af et objekt (som en kat) i et billede. I dette tilfælde gør det ingen forskel, om billedet, der bliver analyseret, kommer fra en tidligere optagelse eller lige er indlæst af en kamerasensor. Analysesoftwaren udfører en regelbaseret søgning efter mønstre, der kan tilskrives en kat. Typisk kunne det være spidse ører, det trekantede næseparti eller knurhår. Hvis disse funktioner kan genkendes i billedet, så vil softwaren rapportere, at der er fundet en kat. Men der er visse spørgsmål: Hvad nu, hvis katten kun bliver set bagfra? Eller hvad nu, hvis katten ikke har knurhår eller har mistet et ben i en ulykke? Trods usandsynligheden i disse undtagelser, så ville en mønstergenkendelse skulle tjekke et stort antal yderligere regler, som skulle dække alle mulige anormaliteter. Selv i vores simple eksempel, så ville de regler, som en software ville opsætte, hurtigt blive meget omfattende.

Machine learning erstatter klassiske regler
Idéen bag AI er at kopiere menneskelig indlæring i en lille skala. I stedet for at formulere et stort antal if-then-regler kan vi modellere en universel mønstergenkendelses-machine. Forskellen ligger primært mellem de to AI-tilgange i forhold til et etableret sæt regler. AI leverer ikke et klart resultat, men rapporterer i stedet: ”Jeg genkendte en kat i billedet” i form af en machine learning-vægtning, som siger: ”Der er 97,5 procent sandsynlighed for, at billedet viser en kat”. Men det kunne også være en leopard (2,1 procent) eller en tiger (0,4 procent). En udvikler af en sådan applikation må foretage beslutningen til sidst i mønstergenkendelsesprocessen. Man anvender en beslutningstærskel til en sådan vurdering.
Endnu en forskel er, at en mønstergenkendelses-machine ikke følger faste regler. Den er i stedet blevet ”trænet”. I denne træningsproces bliver et neuralt netværk vist et stort antal billeder af katte. Netværket vil så blive i stand til uafhængigt at definere, om der er en kat i billedet eller ej. Det kritiske punkt er, at en fremtidig genkendelse ikke er begrænset til allerede kendte træningsbilleder. Dette neurale netværk skal så mappes ind i en MCU.Et netværk af neuroner i AI ligner lidt sit biologiske modstykke i den menneskelige hjerne. En neuron har flere inputs, men kun ét output. Sådan en neuron er faktisk ikke andet end en lineær transformation af inputs som en multiplikation af inputs med tal (vægtene, w) tilføjet en konstant (bias, b) – fulgt af en fast nonlineær funktion, der også kendes som en aktiveringsfunktion. Denne aktiveringsfunktion (sigmoid, tanh eller ReLU bliver typisk anvendt) – som den eneste nonlineære komponent i netværket – definerer værdiområdet, i hvilket en kunstig neuron ”skydes af”. Funktionen af en neuron kan matematisk beskrives som:

hvor f = er aktiveringsfunktionen (AF i diagrammerne), w = vægtningen, x = input-data og b = bias. Data kan opstå som individuelle skaleringer, vektorer eller i en matrixform. Figur 1 viser en neuron med tre inputs og en ReLU2-aktiveringsfunktion (ReLU: ”Rectified Linear Unit”. Negative input-værdier i denne funktion bliver sat til nul på output, og med værdier større end nul som deres input-værdier). Neuroner i et netværk er altid arrangeret i lag.
Som nævnt bruger man CNN til mønstergenkendelse og klassificering af objekter indeholdt i input-data. CNN er opdelt i ét input-lag, adskillige skjulte lag og ét output-lag. Et lille netværk med tre inputs, ét skjult lag med fem neuroner og ét output-lag med fire outputs er vist i figur 2. Alle neuron-outputs er forbundet til alle inputs i det næste lag. Netværket vist i figur 2 er ikke i stand til at behandle meningsfulde opgaver og bruges her udelukkende til demonstrationsformål. Men selv i sådan et lille netværk er der 32 biases og 32 vægte i ligningen, der bruges til at beskrive netværket.

CIFAR til billedgenkendelse
Et CIFAR neuralt netværk er en type af CNN, der er udbredt inden for billedgenkendelse. CIFAR består af to hovedtyper af lag: Konvolutionelle lag og pooling-lag, der begge bruges effektivt i træningen af de neurale netværk. Det konvolutionelle lag bruger den matematiske operation, der kaldes konvolution, og som identificerer mønstre inden for en array af pixel-værdier. Konvolution sker i de skjulte lag, som det kan ses i figur 3. Processen bliver gentaget multiple gange, indtil det ønskede præcisionsniveau bliver opnået. Læg mærke til, at output-værdien fra en konvolutionel operation altid er specielt høj, hvis de to sammenlignende input-værdier (billede og filter i dette tilfælde) er ens. Det kaldes en filter-matrix – også kendt som en filterkerne eller bare et filter. Resultatet bliver så overført til pooling-laget, der genererer en funktions-map, som er en repræsentation af input-data, der identificerer vigtige funktioner. Det skal så ses som endnu en filter-matrix. Efter træning – med netværket i drift – bliver disse funktions-maps sammenlignet med input-data. Da funktions-maps indeholder de objekter med klassespecifikke karakteristika, der skal sammenlignes med billeder på input, vil output for neuronerne kun trigge, hvis indholdet er tæt på identiske. Ved at kombinere disse to tilgange kan et CIFAR-netværk bruges til at genkende og klassificere forskellige objekter i et billede med en meget stor præcision.
CIFAR-10 er ét specifikt datasæt, der er almindeligt i træning af CIFAR neurale netværk. CIFAR består af 60.000 styk 32×32 farvebilleder delt op i ti klasser, der er indsamlet fra forskellige kilder som websites, nyhedsgrupper og personlige billedsamlinger. Hver klasse har 6000 billeder ligeligt fordelt mellem træning, test og valideringssæt, hvad der gør det til et ideelt sæt til test af nye computer-visionarkitekturer og andre machine learning-modeller.
Den primære forskel mellem konvolutionelle neurale netværk og andre typer af netværk ligger i måden, de behandler data på. Gennem filtrering bliver input-data successivt undersøgt for deres egenskaber. I takt med at antallet af konvolutionelle lag forbundet i serie stiger, så stiger detaljeringsniveauet tilsvarende. Processen begynder med helt enkle objektegenskaber som sider eller punkter, hvorefter den første konvolution siden går efter mere detaljerede strukturer som hjørner, cirkler, rektangler eller lignende efter den anden konvolution. Efter den tredje konvolution vil funktionerne repræsentere mere komplekse mønstre, der ligner dele af objekterne i billederne, og som typisk er unikke for en given objektklasse. Det kunne – som i vores indledende eksempel – være knurhår eller ører på en kat. Visualisering af funktions-maps – som det kan ses i figur 4 – er ikke nødvendigt for applikationen selv, men det hjælper til at forstå konceptet bag konvolution.
Selv små netværk som CIFAR består af hundredvis af neuroner i hvert lag, og mange lag forbundet i serie. Antallet af nødvendige vægte og biases vokser hastigt med den øgede kompleksitet og størrelse af netværket. I det CIFAR-10 eksempel, der er vist i figur 3, er der allerede 200.000 parametre, som kræver et determineret sæt af værdier under træningsprocessen. De nævnte funktions-maps kan ydermere blive behandlet i pooling-lag, der reducerer antallet af parametre, der er nødvendige at træne, men med bibeholdelse af de vigtige informationer.

Pooling/subsampling
Som nævnt optræder der ofte efter hver konvolution i et CNN den såkaldte pooling – der også nu og da kaldes subsampling. Pooling har til formål at reducere dimensionerne af data. Hvis man ser på figur 4’s funktions-maps, så kan man se, at store områder kun indeholder små mængder eller slet ingen information. Det skyldes, at objekterne ikke udfylder hele billedet, men kun en lille del. Den resterende del af billedet er ikke i brug i den aktuelle funktions-map og derfor heller ikke relevant for klassificeringen. I pooling-laget bliver både pooling-type (maksimum eller average) og størrelsen af vinduesmatrixen specificeret. Vinduesmatrixen bliver trinvist flyttet hen over input-data under pooling-processen. Ved maksimum-pooling bliver de største dataværdier i vinduet taget. Alle andre værdier bliver ignoreret. På den måde bliver antallet af data kontinuert reduceret og danner sammen med konvolutionerne de unikke egenskaber for den respektive objektklasse.
Resultaterne af disse konvolutioner og pooling-grupper er et stort antal todimensionelle matrixer. For at opnå vores ønskede klassificering, konverterer vi de todimensionelle data til én lang endimensionel vektor. Konverteringen bliver udført i et såkaldt ”flattening-lag”, der bliver fulgt af ét eller to fuldt konnekterede lag. Neuronerne i de sidste to lagtyper ligner strukturen vist i figur 2. Det sidste lag i vores neurale netværk har præcis så mange outputs, som der er klasser, der skal skelnes imellem. Desuden vil data i det sidste lag også blive normaliseret for at levere en sandsynlighedsdistribution (97,5 procent kat, 2,1 procent leopard, 0,4 procent tiger, eller lignende).
Hermed er modelleringen af vores neurale netværk ført til ende. Vægtning og indhold af kerne og filtermatrixer er endnu ikke på plads og skal siden afgøres på baggrund af netværkstræning, før modellen kan fungere ordentligt. Hvis tid og plads tillader det, vil vi forsøge at forklare mere om dét i en efterfølgende artikel sammen med hardware-implementeringen af det neurale netværk, vi har diskuteret (til eksempelvis genkendelse af en kat). Til det formål vil AI-mikrocontrolleren, MAX78000, komme i brug. Der er en AI-MCU med en hardwarebaseret CNN-accelerator udviklet af Analog Devices, og under E-24 i Odense vil Kris Ardis fra Analog Devices også fortælle mere om brugen af kredsen og AI i hardwaren.

Billedtekster:
Figur 1: En neuron med tre inputs og ét output.
Figur 2: Et lille neuralt netværk.
Figur 3: Model af et CIFAR-netværk trænet med et CIFAR-10 datasæt.
Figur 4: Funktions-maps for et CNN.

Skrevet i: Artikler fra Aktuel Elektronik Tags: Ai, konvolutionel, Machine Learning, neurale netværk

Seneste nyt fra redaktionen

TDK lancerer AC/DC-strømforsyninger med høj effekttæthed

Power29. 10. 2026

TDK Corporation introducerer AC/DC-strømforsyningsserierne TDK-Lambda CUS1600M og CUS2000M, der er beregnet til medicinsk udstyr. De leverer op til 2kW og kombinerer en usædvanlig høj effekttæthed med en virkningsgrad på op til 95% samt et lavt støjniveau. Serien gør det muligt for designere at

Toshiba begynder masseproduktion af M4H-mikrocontrolleretil småskala systemer

IoT & embedded29. 10. 2026

Toshiba Electronics Europe GmbH har begyndt masseproduktion af tre entry-niveau M4H standard-mikrocontrollere i TXZ+ familien til alsidig systemstyring i forbruger- og industrielektronik. Mikrocontrollerne er designet til forbrugerprodukter som AC-pumper og vaskemaskiner samt industriudstyr

Derfor er danske universiteter attraktive mål for hackere

AktueltWireless & data29. 10. 2026

De seneste uger har tre danske universiteter, som alle hører til blandt verdens højest rangerende forskningsinstitutioner, oplevet, hvor alvorlig cybertruslen kan være. På Danmarks Tekniske Universitet (DTU) fik uvedkommende adgang til universitetets system til identitets- og adgangsstyring.

Det er fortsat sjovere at teste legetøj end forsvarselektronik

AktueltEventsTest & mål29. 10. 2026

Tiden går hurtigere, ned man ofte lige lægger mærke til, og for Kim Boll Jensen føles det ikke som så lang tid siden, at han startede Bolls Rådgivning i en skurvogn i 2001. Siden da har 25 år budt på masser af spændende opgaver, nye udfordringer, teknisk udvikling og senest med flere nye

Wireless Logic Nordic udpeger Wanig Le Pennec som ny direktør

Branchenyt29. 10. 2026

Wanig Le Pennec har mange års international erfaring fra telekommunikation, software og IoT. Senest har han haft ansvar for globale partnerskaber i den danske IoT-branche og kommer med omfattende erfaring i at skalere kommercielle aktiviteter og partnerskaber i teknologivirksomheder. Hos Wireless

Danmark oplever AI-boom drevet af iværksættere

BranchenytWireless & data29. 10. 2026

Debatten om kunstig intelligens handler ofte om arbejdspladser, der forsvinder. Men nye data tegner et andet billede: Danmark oplever i disse år en markant vækst i virksomheder, der udvikler og sælger AI-baserede produkter og løsninger. En ny kortlægning af den danske AI-sektor har identificeret

Tyskland skal redde sårede soldater med dansk it-løsning

TopWireless & data29. 10. 2026

Som det første land får Tysklands forsvar, Bundeswehr, nu SitaWare Battlefield Health. Det er et digitalt system, der skal sikre, at sårede soldater hurtigt evakueres og kommer til et behandlingssted med kapacitet og det rette udstyr til at behandle deres skader. Systemet er udviklet af danske

Ny fond åbner første ansøgningsrunde for gaming, IP og audiovisuelle medier i København

AktueltBranchenytDesign & udviklingWireless & data28. 10. 2026

Fonden støtter aktiviteter, der kommer det bredere økosystem til gavn. Der er således ikke tale om produktionsstøtte eller støtte til udvikling af konkrete spil, filmproduktioner eller kommercielle IP-projekter i enkeltvirksomheder. Copenhagen Gaming, Film and Media Fund (CGFM) er etableret for

Systematic skal levere det nationale situationsoverblik til Beredskabsstyrelsen

BranchenytTopWireless & data28. 10. 2026

Når større hændelser opstår, er et hurtigt og fælles overblik dog afgørende for at kunne koordinere de rette opgaver og ressourcer.  Beredskabsstyrelsen har derfor valgt Systematics platform Rezilient til projektet Redningsberedskabets Nationale Situationsbillede: ét digitalt, kortbaseret

SCN bringer danske KP Sensors’ tilstandsovervågning ud til kunder i hele Europa

AktueltBranchenyt28. 10. 2026

SCN har indgået en europæisk distributionsaftale med den danske sensorproducent Kjærulf Pedersen A/S. Dermed får industrikunder i otte lande lokal adgang til sortimentet KP Sensors: sensorer, der advarer, før en motor, en pumpe, en vindmølle eller en kølecontainer svigter. Et uplanlagt stop

Tilmeld Nyhedsbrev

/Nyheder

  • Mouser Electronics

    Mouser Now Shipping New Samtec VITA 90 VNX+ Solutions for Industrial, Defence, and Aerospace Applications

  • Microchip Technology Inc.

    Microchip Brings EtherCAT® and TSN Networking Solutions to its Power-Efficient PolarFire® FPGA Platform

  • EKTOS A/S

    RED-Compliant Radio Modules: 3 Key Integration Checks

  • Mouser Electronics

    Mouser Highlights Industrial AI and Machine Learning in Automation Resource Centre

  • Avnet Silica

    Avnet Silica brings Edge AI to life at Digital Tech Summit 🚀

  • InnoFour

    3D visualization and documentation of manufacturing data

  • Mouser Electronics

    Mouser to Showcase Industrial Automation Expansion at SPS 2026

  • Microchip Technology Inc.

    Microchip Achieves Key Program Milestones for its PIC64-HPSC Spaceflight Computing Series

  • HIN A/S

    ESD-sikring: Har I styr på jordforbindelsen?

  • EKTOS A/S

    Bring Your Electronics Questions to Stand 504 at Digital Tech Summit 

Vis alle nyheder fra vores FOKUSpartnere ›
 
 
 
 

Læs Aktuel Elektronik

Aktuel Elektronik avisforside

Annoncér i Aktuel Elektronik

Medieinformation

KONTAKT

TechMedia ApS
Gammel Strandvej 20, 1th
DK - 2990 Nivå
www.techmedia.dk
Telefon: +45 43 24 26 28
E-mail: info@techmedia.dk

Privatlivspolitik
Cookiepolitik
Administrer samtykke
For at give dig de bedste oplevelser bruger vi teknologier som cookies til at gemme og/eller få adgang til enhedsoplysninger. Hvis du giver dit samtykke til disse teknologier, kan vi behandle data som f.eks. browsingadfærd eller unikke ID'er på dette websted. Hvis du ikke giver dit samtykke eller trækker dit samtykke tilbage, kan det have en negativ indvirkning på visse funktioner og egenskaber.
Funktionsdygtig Altid aktiv
Den tekniske lagring eller adgang er strengt nødvendig med det legitime formål at muliggøre brugen af en specifik tjeneste, som abonnenten eller brugeren udtrykkeligt har anmodet om, eller udelukkende med det formål at overføre en kommunikation via et elektronisk kommunikationsnet.
Præferencer
Den tekniske lagring eller adgang er nødvendig for det legitime formål at lagre præferencer, som abonnenten eller brugeren ikke har anmodet om.
Statistikker
Den tekniske lagring eller adgang, der udelukkende anvendes til statistiske formål. Den tekniske lagring eller adgang, der udelukkende anvendes til anonyme statistiske formål. Uden en stævning, frivillig overholdelse fra din internetudbyders side eller yderligere optegnelser fra en tredjepart kan oplysninger, der er gemt eller hentet til dette formål alene, normalt ikke bruges til at identificere dig.
Marketing
Den tekniske lagring eller adgang er nødvendig for at oprette brugerprofiler med henblik på at sende reklamer eller for at spore brugeren på et websted eller på tværs af flere websteder med henblik på lignende markedsføringsformål.
  • Vælg muligheder
  • Administrer tjenester
  • Administrer {vendor_count} leverandører
  • Læs mere om disse formål
Vælg fra liste
  • {title}
  • {title}
  • {title}