Dybe læringssystemer, også kaldet dyb læring, anvender et netværk af forbundne noder eller neuroner i et lagdelt system, der efterligner den menneskelige hjerne. Dette skaber et adaptivt system, hvor computere kan lære af deres fejl og forbedre sig kontinuerligt. Gennem denne struktur forsøger kunstige neurale netværk at løse komplekse opgaver som at opsummere dokumenter eller genkende ansigter med en højere præcision. Et strukturelt diagram over et typisk neuralt netværk kan illustrere, hvordan input (som sensorer) behandles gennem lagene og genererer beslutninger eller handlinger som output.
Neurale netværk, der indeholder et begrænset antal lag, såsom 2 eller 3, betegnes som overfladiske neurale netværk eller overfladisk læring. De netværk, der omfatter flere lag, som fem eller flere, kaldes dybe neurale netværk eller dyb læring. Lagene mellem input- og outputlagene kaldes skjulte lag, da de ikke kan ses udefra. Regelmæssigt skal neurale netværk trænes med input-output data for at lære og forstå de funktioner eller handlinger, som mennesker har tildelt dem. De trænede modeller af neurale netværk omtales som dybe læringsmodeller.
Videnrepræsentation spiller en central rolle i kunstig intelligens (AI). AI-systemer består typisk af forskellige komponenter, som arbejder sammen for at udvise intelligent adfærd. Blandt disse komponenter finder vi opfattelse, læring, videnrepræsentation og ræsonnering, planlægning og eksekvering. Forskellen mellem de komponenter, som nævnes her, og de, som blev beskrevet tidligere i kapitlet, er, at planlægning og eksekvering her er kombineret som én enhed, der svarer til problemløsning.
Funktionelle blokdiagrammer af videnrepræsentation viser, hvordan de forskellige komponenter i systemet hænger sammen. Gennem opfattelse og læring indsamles og bearbejdes data, som derefter repræsenteres i systemet for at blive anvendt i beslutningstagning og handling.
Der findes forskellige metoder til videnrepræsentation, som er blevet bredt implementeret i AI-studier. De fire primære typer omfatter simpel relationel viden, arvelig viden, inferentiel viden og procedurel viden. Simpel relationel viden er den letteste form for videnrepræsentation, eksempelvis i form af relationelle databaser, hvor forskellige entiteter er forbundet gennem nøgler, såsom student_id i en studenttabel. Denne videnrepræsentation bruges primært i databasesystemer, hvor relationer mellem entiteter visualiseres.
Arvelig viden refererer til den viden, som et AI-system opnår gennem læring og kan overføres til andre systemer. Denne viden kan omfatte modeller, regler eller andre former for viden, som AI-systemet lærer gennem træning eller erfaring. Arvelig viden gør det muligt for et system at lære hurtigt ved at undgå fejl, der allerede er blevet begået. Dette skaber en form for videnoverførsel på tværs af domæner, hvilket giver AI-systemet mulighed for at anvende viden fra et domæne på et andet.
Inferentiel viden omhandler evnen til at udlede logiske konklusioner eller lave forudsigelser baseret på tilgængelige data. Dette anvendes ofte i maskinlæringsalgoritmer, hvor modeller trænes på store datamængder og derefter bruges til at træffe beslutninger om nye data. For eksempel kan et AI-system inferere, at en studerendes GPA skal være højere end 3,5 for at være betragtet som god, eller at den 1. januar hvert år er nytår. Denne type viden spiller en afgørende rolle i AI's evne til at forudsige og træffe beslutninger.
Procedurel viden refererer til de instruktioner eller retningslinjer, der er nødvendige for at udføre en bestemt opgave eller løse et problem. Det kan være algoritmer, opskrifter, eller instruktioner, der bestemmer, hvordan en maskine behandler data eller udfører en opgave. Eksempler på procedurel viden kunne være at lære at cykle eller forstå en videnskabelig eksperimentel proces. Denne type viden er en vigtig komponent i AI, da den gør det muligt for systemer at udføre komplekse opgaver baseret på bestemte instruktioner.
Vidensbaserede systemer er afhængige af både en videnbase og en inferensmotor, der kan anvende inferensfunktioner til at forudsige eller estimere konklusioner baseret på inputdata. Dette er et af de grundlæggende elementer i beslutningstagning, som understøttes af beslutningstræer. Et beslutningstræ er et hierarkisk modelværktøj, der anvender et træ-lignende diagram til at vise beslutninger og deres mulige konsekvenser, herunder chancer, omkostninger og nytte.
Endtext
Hvilket træningsresultat opnås med forstærkende læring i et kundemiljø?
Når man arbejder med forstærkende læring (RL) i et kundemiljø, er det muligt at modificere den eksisterende scriptsfil for at observere træningsresultaterne fra forskellige agenter. I praksis kan man teste forskellige built-in agenter for at vurdere deres præstationer, som illustreret i Figs. 9.39 og 9.40 for henholdsvis PG (Policy Gradient) og AC (Actor-Critic) agenter. Disse resultater stammer fra et træningsforløb, hvor parameteren "MaxEpisodes" blev sat til 200. Det er dog ikke muligt at skabe alle agenter, der er listet i Tabel 9.2, ved blot at ændre på scriptsfilen. Nogle agenter kræver specifik funktionalitet, der gør en sådan modificering udelukket.
For eksempel kan man ikke skabe agenter som SAC (Soft Actor-Critic) og TD3 (Twin Delayed Deep Deterministic Policy Gradient) ved hjælp af denne metode, da disse agenter anvender to Q-værdi kritikere, som kræver særlig behandling. SARSA (State-Action-Reward-State-Action) kan heller ikke implementeres, da denne agenttype ikke anvender en aktør, og DDPG (Deep Deterministic Policy Gradient) er begrænset til at arbejde med kontinuerlige handlinger. MBPO (Model-Based Policy Optimization) benytter et netværksmiljø og en specifik objektstruktur, der ikke kan skaleres via den pågældende scriptsfil.
Når man sammenligner træningsresultaterne for de tre agenter DQN (Deep Q-Network), PG og AC, som vises i figurerne, kan det konkluderes, at AC-agenten giver de bedste resultater. PG-agentens præstation ligger et sted mellem DQN og AC, men er alligevel bedre end DQN-agentens resultater, som er de dårligste blandt de tre. Det er vigtigt at forstå, at valget af agent og dens træningsparametre kan have stor indvirkning på resultaterne, og at den ideelle agent til en given opgave afhænger af den specifikke problemstilling og miljøet.
Træningsforløbene, som dokumenteres i filerne Create_DQN_Agent.m, Create_AC_Agent.m og Create_PG_Agent.m, kan hentes fra Springers FTP-site under "Students\Class Projects\Chapter 9." Disse filer indeholder de nødvendige scripts for at skabe og træne disse agenter, og de kan bruges som grundlag for videre eksperimenter.
I denne sammenhæng er det afgørende at forstå, at forstærkende læring adskiller sig fra traditionel overvåget læring ved, at der ikke er behov for mærkede input-output-par, og at suboptimale handlinger ikke nødvendigvis bliver korrigeret eksplicit. I stedet er fokus rettet mod at finde en balance mellem udforskning og udnyttelse, hvilket skal maksimere den langsigtede belønning, hvor feedback ofte er ufuldstændig eller forsinket. Forstærkende læring kræver, at man arbejder med Markov Decision Processes (MDP), da mange af algoritmerne benytter sig af dynamisk programmeringsteknikker.
Forskellen mellem klassisk dynamisk programmering og forstærkende læring ligger i, at RL-algoritmerne ikke nødvendigvis har kendskab til den præcise matematiske model af MDP'en. De søger løsninger i større MDP'er, hvor eksakte metoder er utilgængelige eller for svære at implementere.
Forståelsen af, hvordan RL-algoritmer fungerer, og hvordan de anvendes i praksis, kræver en dybdegående indsigt i både de grundlæggende begreber som tilstande, handlinger og belønninger, samt hvordan disse elementer interagerer gennem de forskellige typer af politikker og værdifunktioner. Det er også vigtigt at være opmærksom på forskellen mellem modelbaserede og model-fri metoder, og hvordan disse påvirker effektiviteten og anvendelsen af RL-algoritmer.
Yderligere viden om, hvordan man anvender RL til at kontrollere fysiske systemer som f.eks. en DC-motor, vil give læseren praktisk erfaring med de metoder, der er nødvendige for at opnå succes med RL i en virkelig applikation. Dette inkluderer at forstå, hvordan man skaber et tilpasset miljø, hvordan man vælger og træner en passende agent, og hvordan man evaluerer træningsresultaterne i forhold til forskellige agenttyper.
Endvidere skal læseren være opmærksom på, at RL ikke kun handler om at vælge den rette agent, men også om at justere og tilpasse parametre såsom episoder, belønningsstruktur og miljødynamik. Forståelsen af, hvordan disse faktorer spiller ind i træningen af agenten, vil være afgørende for at opnå optimalt resultat.
Hvordan opbygger man et Fuzzy Logic kontrolsystem for aircondition?
Når man arbejder med Fuzzy Logic til at designe et kontrolsystem, er det vigtigt at forstå, hvordan man bygger og tester reglerne i et Rule Editor. Dette redskab gør det muligt at skabe komplekse regler baseret på bestemte værdier som LOW, MID, og HIGH, og giver mulighed for at tilpasse kontrolsystemet efter behov.
For at opbygge den første regel skal du vælge den fra centerpanelet i Rule Editor. Når du har valgt den, vil reglen vises i PROPERTY EDITOR: RULE vinduet til højre, som det ses i Fig. 3.25. Herfra kan du vælge de ønskede værdier for hver variabel ved at klikke på drop-down pilen og vælge den passende værdi, som angivet i formel (3.24). Eksempelvis, for den første regel:
Hvis T er LOW og ΔT er LOW, så er motorhastigheden FAST.
Følg disse trin for at opbygge denne regel:
-
Klik på drop-down pilen ved "Temp"-rækken i PROPERTY EDITOR: RULE vinduet og vælg LOW for Temp variablen.
-
Klik på drop-down pilen ved "Temp_Rate"-rækken og vælg LOW for Temp_Rate variablen.
-
Klik på drop-down pilen ved "Motor_Speed"-rækken og vælg FAST for Motor_Speed variablen.
Når disse valg er lavet, vil den oprindelige regel i centerpanelet ændre sig, og vise de indstillede værdier i PROPERTY EDITOR: RULE vinduet, som kan ses i Fig. 3.26. Denne proces kan gentages for at opbygge alle andre regler i systemet, som følger de samme principper som i Eq. (3.24).
I Rule Editor har du mulighed for at modificere enhver regel, du har opbygget, inkludere at slette eller kopiere dem. Dette gøres ved at vælge en regel og derefter bruge knapperne "Plus (+)", "Copy" eller "Delete", som er tilgængelige i editoren. Hvis du ønsker at tilføje en ny regel, klikker du på (+) knappen og indtaster den ønskede regel i PROPERTY EDITOR: RULE vinduet. Du kan også vælge at tilføje alle mulige regler eller rydde alle regler med henholdsvis knapperne "Add All Possible Rules" og "Clear All Rules", som ses i Fig. 3.26.
Når alle regler er opbygget, kan du gemme dit arbejde, inden du tester systemet. Det anbefales at gemme dit Fuzzy Inference System (FIS), inden du begynder at teste det. Når du tester systemet, kan du bruge værktøjerne i Rule Inference Viewer, som åbnes ved at vælge ikonet for "Rule Inference" i menuen. Dette giver dig mulighed for at teste FIS-systemet i realtid ved at ændre inputværdier og få outputs med det samme. Du kan også få en 3D visualisering af input-output forholdet ved at vælge "Control Surface"-ikonet i menuen, som åbner Surface Viewer, som ses i Fig. 3.28.
Selvom det er muligt at bygge et fuzzy logik system for en aircondition hurtigt og nemt med Fuzzy Logic Designer App, er det også muligt at bygge det ved hjælp af MATLAB's fuzzy logik funktioner. Denne metode kræver dog kodning og tilbyder ikke det samme grafiske brugerflade som Designer App'en. Den kræver i stedet, at brugeren skriver MATLAB kode for at oprette og konfigurere systemet.
Når man arbejder med MATLAB, kan man bruge enten et Script file eller et Live Script file til at skrive koden. Script file (.m) giver dig mulighed for at skrive og gemme koden, mens Live Script file (.mlx) kombinerer kode, tekst, formler og billeder i en interaktiv dokumentation. Når du bygger et system med funktioner i MATLAB, skal du oprette en FIS variabel ved hjælp af funktionerne mamfis() eller sugfis(), og derefter tilføje input- og outputvariabler med funktionerne addInput() og addOutput(). Variablenes egenskaber kan defineres ved hjælp af dot notation, som f.eks. Fis.Inputs(1).Name = “service”; Fis.Inputs(1).Range = [0 10];.
Dette giver dig mulighed for at konfigurere fuzzy logic systemet på en mere præcis og fleksibel måde, og du kan tilføje medlemsfunktioner (MF) med addMF() funktionen, samt definere regler med addRule() funktionen. Denne tilgang er meget mere detaljeret og giver en dybere forståelse af, hvordan fuzzy logik fungerer bag kulisserne, selvom det kræver en grundlæggende forståelse af MATLAB-programmering.
Det er væsentligt at forstå, at ved brug af MATLAB funktionen for fuzzy logik, opnår man ikke kun kontrol over systemet, men også en bedre forståelse af de underliggende processer. Desuden giver brugen af kodning mulighed for at finjustere systemet langt mere præcist, hvilket er essentielt, når man arbejder med komplekse, dynamiske systemer som aircondition kontrolsystemer.

Deutsch
Francais
Nederlands
Svenska
Norsk
Dansk
Suomi
Espanol
Italiano
Portugues
Magyar
Polski
Cestina
Русский