ANN-Laboration Distanskurs Introduktion till NeuralWorks Explorer

Relevanta dokument
1(15) Bilaga 1. Av Projekt Neuronnätverk, ABB Industrigymnasium, Västerås Vt-05

Att skapa en bakgrundsbild och använda den i HIPP

Installation av datafil för lokal lagring av e-post i Microsoft Outlook 2016

Paneler - VCPXX.2. Programmeringsmanual för VCP-paneler. Revision 2

Kom igång. Readyonet Lathund för enkelt admin. Logga in Skriv in adressen till din webbsida följt av /login. Exempel:

3. Hämta och infoga bilder

Programmets startmeny ser ut så här. För att få fram menyerna Avsluta, Inställningar och Användare måste du föra markören upp till det blåa fältet.

Användarhantering Windows 7 I denna laboration kommer vi att skapa nya användare och grupper och titta på hur man hantera dessa.

Komma igång med 3L Pro Komma igång med 3L. Copyright VITEC FASTIGHETSSYSTEM AB

Vilken version av Dreamweaver använder du?

Primus Vägledning för massimport av bilder. Primus 5.6.4

Filbindningar. Mike McBride Översättare: Stefan Asserhäll

[ HUR DU UPPDATERAR FÖRSTASIDAN PÅ OTHELLO.NU ]

Produktionsstöd har erhållits från Specialpedagogiska skolmyndigheten

Se till att posten är i Ändringsläge. Gå till rullgardinsmenyn under Föremål och välj Lägg in bild.

En introduktion till och första övning for Excel

Travel Phrase Guide. Instruktionshäfte

729G43 Artificiell intelligens (2016) Maskininlärning 3. Marco Kuhlmann Institutionen för datavetenskap

Datorlaboration 1 Deskriptiv statistik med hjälp av MS Excel vers. 2010

Resledaren Användarguide iphone Innehåll

Förberedelseuppgift inför datorlaborationen

SPRINT-HANDBOK (version 0.4)

Idiotens guide till. Håkan Lyckeborgs SPSS-föreläsning 4/ Av: Markus Ederwall, 21488

Programutveckling med Java Development Kit. (JDK 1.1.x) och Programmers File Editor (PFE 7.02)

Switch Driver 4. Programvara för Radio Switch, JoyBox och JoyCable. Sensory Software

FrontPage Express. Ämne: Datorkunskap (Internet) Handledare: Thomas Granhäll

KPP053, HT2016 MATLAB, Föreläsning 1. Introduktion till MATLAB Skript Inläsning och utskrift av variabler Ekvationssystem Anonyma funktioner

Välj bort om du vill. 96 Internet och e-post. 2. Mail-programmet finns i datorn. 1. Skriv mail i sökrutan. Windows Live Mail i Aktivitetsfältet.

729G43 Artificiell intelligens / Maskininlärning 3. Marco Kuhlmann

Laboration 0. Enhetsbokstaven anges med ett kolon efter och man läser ofta ut detta, exempelvis C:(sekolon).

Workshop PIM 2 - PowerPoint

ARTIFICIELLA NEURALA NÄT. MARCO KUHLMANN Institutionen för datavetenskap

Grundritning Torpargrund

FLEXILAGER Ett hjälpmedel för anpassad lagerhantering. Original -version

EVO DEV. EvodevExcel.GarpReportAddin

SORSELE KOMMUN. Handbok OEW. 28 sept 2012 Mari-Anne Englund Barbro Olofsson. Sorsele kommun Version , rev (19)

1 Översikt Vad är kontokoder? Konto/Mapp uppbyggnad Tillgång till Kontokoder Område Kontokoder...5

3.0. Tips och Trix Sida 1 av 18

Manual till Båstadkartans grundläggande funktioner

HI1024 Programmering, grundkurs TEN

Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp

Intro till SPSS Kimmo Sorjonen (0811)

En introduktion till WeavePoint Mini demo version

Introduktion till datorer och nätverk vid institutionen för naturgeografi och ekosystemvetenskap

Guide till att använda Audacity för uttalsövningar

Skillnaden mot att jobba som i ett vanligt ordbehandlingsdokument, är att internet tar inte emot textrutor. Det få r man istället ersätta med ramar.

Laboration 1 Introduktion till Visual Basic 6.0

HANTERING AV MÄTDATA FRÅN SVAN 958

Läslandet 2 Ord och meningar

Till flera av ovanstående finns det dessutom varianter, vilka kommer att presenteras i de olika avsnitten.

Laboration med Internet och HTML

Liten handledning i Excel och StarOffice Calc i anslutning till Datorövning 1

IT-system. BUP Användarmanual

DATORÖVNING 5: SANNOLIKHETSFÖRDELNINGAR FÖR

Word Grunderna 1. Om du kan det allra enklaste i Word, hoppa över uppgifterna A-E.

Innehåll Information om hemkatalog och lagring av filer... 2 PC... 3 DAFGU-/GDA-dator, Windows

Skapa mappar, spara och hämta dokument

Datorlaboration 1 Deskriptiv statistik med hjälp av MS Excel

Laboration: Grunderna i MATLAB

ANVÄNDARGUIDE. ViTex

Installationsguide för FAR Komplett Offline 2.1.2

Resultat och bedömning tips för lärare

Ja, men resultatet blir inte lika bra. Det är att skapa genvägsikoner. Se anvisningar nedan:

Manual för din hemsida

1

Tjörn. Handläggare: Peter Olausson, webbmaster Datum: Tjörn Möjligheternas ö

Labb LABB 1. Databassagan och en rundtur i databasers märkliga värld. Plushögskolan Frågeutveckling inom MSSQL - SU14

Uppgift 1 ( Betyg 3 uppgift )

Laborationsinformation

Text och galleri på fotoklubbens nya hemsida

Juni 2003 PlanCon Viewer Handledning PlanCon PROJEKT

Steg 1 Minnen, mappar, filer Windows 7

Instruktion för laboration 1

Flödesschema som visar hur man använder Quartus II.

Gran Canaria - Arbetsbeskrivning knapplänkar (Mediator 8)

Handledningsmaterial Visio 2010

Bildbaskontoret. Bruksanvisning. Handitek. anpassar tekniken till människan BRUX\...\ BILDBASKONTORET

Instruktion för laboration 1

Det fasta innehållet finns på sidor och kan inte ändras av den som har rollen författare.

E-post. A. Windows Mail. Öppna alternativ. Placera ikonen på skrivbordet.

Automatisera uppgifter med Visual Basic-makron

Grundritning Platta på mark

Detta dokument skall ge en kortfattad introduktion till Jasmine installationen vid DSV.

Skapa modeller i Vikingen

Introduktion till Matlab

Publicera taltidningen

Manual för hantering av lagsida inom BSK HFO

E-post i webbläsaren Edge

Bildbaskontoret Version 2

Sida Kapitel 3 Fönster och dörr... 3

Programmering. Scratch - grundövningar

Ibruktagande av Statistikcentralens gränssnittstjänster i QGISprogrammet

Guide till att använda Audacity

Fönster och dörr. Kapitel 3 - Fönster och dörr... 3

HI1024 Programmering, grundkurs TEN

Vektorer, matriser, nätverk - några elementa

Programmering. Den första datorn hette ENIAC.

Home Nerladdning typsnitt Ladda Ladda fonter Menyn Skrivare Menyn teckensnitt Menyn Verktygsfält Menyn Hjälp Snabbtangenter

Att använda ett vävprogram

Vilken skillnad gör det var du placerar det? Prova båda.

Transkript:

ANN-Laboration Distanskurs Introduktion till NeuralWorks Explorer Interfacet till NeuralWorks Explorer Detta är rätt krångligt i vissa stycken, och det hänger framförallt samman med att programmet är mycket kraftfullt. Längst till vänster i fältet under menyn ser Du en kolumn med verktygssymboler. Det är en avancerad meny som man främst använder när man bygger egna nätverk från scratch, men även när man går in och ändrar i färdiga nätverk. Mer om dessa verktyg senare. Vi kommer oftast att använda färdigbyggda nätverk, eller färdiga nätverkstyper där vi bara ställer in vissa parametrar (som till exempel antal enheter, inlärningsregel, filnamn för inlärningsdata). Då utgår man från huvudmenyn, som är aktiv så snart pilsymbolen är vald bland verktygen. Vi har valt att introducera NeuralWorks utifrån huvudmenyn. Huvudmenyn File: Här kan man bland annat starta helt färdiga nätverk och spara nybyggda eller ändrade sådana. Nätverkens namn slutar alltid på.nnd, och detta suffix är väsentligt även på en Mac. Observera att man i NeuralWorks Explorer bara kan spara mycket små nätverk. Testa Open, gå in i foldern Demo Nets och öppna filen percxor.nnd! Du ser nu en modell av en liten flerlagrad perceptron på skärmen. Nätverket är redan tränat för att lösa den bekanta XOR-uppgiften. Dubbelklicka på någon av enheterna och titta på mittenkolumnen i tabellen till höger. Den visar vilka vikter som förbindelserna till enheten har. Enhetens nummer anges längst upp till vänster. Resten av informationen i rutan behöver du inte bry dig om. Nu måste du bekanta dig med en mycket viktig funktion under File, nämligen Current Folder. Här väljer man var programmet ska titta efter filer (särskilt datafiler) och spara filer. NeuralWorks är nämligen lite dåligt Mac-anpassat, så man kan oftast inte gå mellan mappar medan man är längre in i programmet. (Under Open går det dock, som du redan har märkt.) Gå till Current Folder och välj foldern Demo Nets. Det gör man genom att klicka på Folder antingen när Demo Nets är markerad, eller när Du är inne i Demo Nets och denna inte innehåller någon annan mapp som kan markeras). I/O i huvudmenyn ger möjligheter att manipulera input och output till ett nätverk på många olika sätt. Under I/O finns bl.a. Rewind input..., som används när man ska starta om från början i en datafil, och Attention I/O, som används när man vill göra en datafil av input från tangentbordet. Vi kommer till en början inte att använda dem i någon större utsträckning. Gå till I/O och välj Parameters. Du får upp ett stort fönster med en massa konstigheter i, varav Du just nu ska koncentrera Dig på partiet längst upp till höger, alltså under Select Filenames. Klicka i cirkeln för NNA vid Learn, rulla det lilla fönstret så att Du ser filnamnet sample, och klicka på det! Gör likadant vid Rcl/Test (Möjligen är allt detta redan gjort när du får upp I/O Parameters, men vad gör det!). 1

Du har nu valt datafilen sample.nna, som ligger i Demo Nets, till både inlärnings- och testfil. Ändelsen.nna markerar att det är en datafil i ASCI-format (rent textformat). Datafiler finns också i binärt format (.nnb) men dem ska vi undvika tills vidare. Gör några andra val av datafiler i NNAformat bara för att se hur det fungerar, men återgå sedan till sample. Perceptronen kommer nu alltså att utgå från den filen. Om datafiler Ibland behöver man titta på innehållet i datafiler, men för det ändamålet kan man man inte öppna dem från File eller från någon annanstans i NeuralWorks. Man måste ta till något annat program, till exempel Skriv Text. Gå nu därför tillfälligt till detta program (motsv.) och öppna i det filen sample.nna. Den ska se ut så här: 0.0 0.0 0.0! first training example 1.0 0.0 1.0! second training example 0.0 1.0 1.0! third training example 1.0 1.0 0.0! final training example Siffrorna är förstås data. Efter utropstecknen står kommentarer, som inte ingår bland data. Inputdata och önskade outputdata står på samma rad, och varje rad utgör således ett mönsterpar. (Om man arbetar med stora vektorer som inte får plats på en rad kan man sammanfoga två rader med hjälp av ett & i början av den andra.) Som du ser är värdena i sample.nna skrivna som decimaltal vilket givetvis inte är nödvändigt för binära tal. Glöm dock inte att göra mellanslag mellan talen annars läser programmet dem som ett enda värde. Nätverket percxor har som du kanske redan noterat två inputnoder och en outputnod. De två första data på varje rad är därför inputkomponenter och den tredje är den önskade output. Att filen ska läsas på detta sätt kan man se under I/O, Parameters, närmare bestämt under Start Field där det står att outputdata börjar i position 3. Som du ser genom att titta noga på de fyra mönsterparen och tolka 1 som sant och 0 som falskt, är uppgiften här just XOR (det uteslutande eller ), alltså att klassificera A och inte B tillsammans med B och inte A i kategorin sant. Gör nu en datafil som kodar de tio LCD-siffrorna från HyperCard-perceptronen med sju binära siffror, dvs. en sjusiffrig kod för varje LCD-siffra (utan desired output, men däremot med kommentar till varje rad). Sätt t ex översta segmentet i 1:an som första elementet i den sjusiffriga koden och gå sedan medsols. Kalla den LCD.nna och spara den i din mapp. Om Du skriver i en ordbehandlare, kom ihåg att spara filen som ren text. Gör en datafil som kodar samma siffror, och som dessutom anger som uppgift att känna igen alla siffror från 0-4. Dessa siffror skall ha desired output = 1. Spara den som LCD04.nna. Återgå nu till NeuralWorks och det färdigtränade nätverket percxor.nnd, som Du öppnat från File. Gå till I/O och där till Parameters, som vi redan har tittat på två gånger. En viktig uppsättning parametrar (längst upp till vänster) gäller hur man ska ge nätverket input, via tangentbordet eller via en fil, och i det senare fallet i vilken ordning (sekventiellt eller slumpvis) data ska läsas. (Här kan man också be programmet göra nnb-filer, men gör inte det nu.) Se till att Keyboard är valt under Rcl/Test, och tryck på OK. Det här betyder att vi ska mata in data för hand till perceptronen när vi testar den. 2

Run är förstås en viktig menyrubrik. Här gör man bland annat Learn, dvs tränar nätverket. Det går nu inte med det färdiga nätverket percxor, så det hoppar vi över tills vidare. Vidare kan man göra Test och Recall. Det är ungefär samma sak men med den viktiga skillnaden, att Recall inte skapar någon resultatfil utan bara visar resultatet på skärmen. Under Run, Check Points kan man bland annat ställa in hur ofta skärmen uppdateras under träning och testning. Gör det - se till att det står 1 under Recall och att Re-Display är förkryssat. Nätverkets arbete framställs då grafiskt under hela testningen, vilket ju kan vara trevligt (om ditt visuella system hinner med, alltså). Under Run, välj Recall Step (alternativt välj Recall och därunder For 1). Du blir ombedd att ange input 2 (input 1 är nämligen input från en bias-enhet); skriv in (0,0) (utan parenteser) för att ange en hel inputvektor, och tryck på <Retur>. Resultatet 0 anges. Gör sedan ytterligare en Recall Step men med (1,0) som input. Resultatet ska bli 1. Notera förändringarna i skärmbilden av nätverket och gissa vad den kan innebära! Pröva också Run, Recall, One Pass/All. Du blir nu promptad för fyra inputvektorer i rad från tangentbordet och slår lämpligen in (0,0), (1,0), (0,1) och (1,1). Proceduren kan avbrytas när som helst med <Esc>. Med Run - Test gör programmet alltid en resultatfil. Denna har samma namn som den fil som valts som filnamn för Test/Rcl (till höger i I/O Parameters), men med suffixet.nnr. I det här fallet kommer vi alltså att få en resultatfil som heter sample.nnr. Observera att Test skriver över gamla resultatfiler med samma namn utan att fråga! Gå till I/O Parameters och ändra inställningen under Rcl/Test längst upp till vänster till File Seq. Under Result File, kryssa för Input och Desired O/P. Gå till Run och välj Test - One Pass/All. När nätverket arbetat färdigt, vilket inte tar så lång tid, öppna filen sample.nnr (i Demo Nets) från Skriv Text (motsv.) och titta på den. Den innehåller för varje exempel (rad) de två inputkomponenterna, den önskade output och den verkliga output. Visa resultatet för handledaren. Mer om huvudmenyns funktioner Instanet är en mycket viktig rubrik, under vilket man kan välja en mängd färdiga nätverkstyper. Några av dem, t ex Back propagation, listas direkt i menyn, andra återfinns under Miscellaneous Networks eller Historical Networks. Gå in under Historical Networks och välj percptrn. Markera i den dialogruta som kommer upp, att nätverket ska ha 7 inputenheter, inga dolda enheter och en outputenhet. Du får återigen upp ett perceptronnätverk, denna gång ett som kan tränas. Gå till File, Current Folder och markera din egen mapp. Ta dig sedan till I/O Parameters. Ställ in Lrn på File Rand., och Rcl/Test på File Seq. Under Result File ska du kryssa för Input och Desired O/P, och Epoch ska vara 1. Slutligen, rulla under Select Filenames fram LCD04 både som Learn och Rcl/Test (kryssa i båda fallen för NNA). Du har nu skapat en enlagrad perceptron som i huvudsak är likvärdig med den vi tidigare visat. Den skiljer sig i ett viktigt avseende nämligen beträffande output-funktionen. Instanetprototypens grundinställning för perceptronnätet är en tröskellinjär outputfunktion och som du kanske minns är Perceptron.mac försedd med en binär stegfunktion. Vi skall träna perceptroner med båda varianterna av outputfunktion. När outputfunktionen är tröskellinjär blir output-värdena 0 för den ena klassen och större än noll och mindre än 1 för den andra klassen. Observera att outputvärdet alltså kan ligga mycket nära noll men det räknas ändå som korrekt om önskad output är 1. 3

Under Instrument återfinner du några sätt att reglera den fortlöpande mätningen av prestanda under träningen av nätverk. De olika färdiga nätverkstyperna brukar innehålla förslag till instrument, som man kan följa. Ett vanligt och bra instrument är RMS Error (root mean square error). Här har vi dock inte fått något förslag. För att skapa ett nytt RMS-instrument för perceptronen, håll nere Graph i verktygsmenyn och välj Easy. Kryssa för RMS Error och Output Layer, och markera Strip. Placera sedan ut instrumentet på skärmen genom att klicka på lämplig plats. Under Instrument kan du sedan bland annat initialisera instrumentet, om det behövs. Träna nu perceptronen genom Learn - For 1000, testa genom Recall - One Pass/All, och titta sedan på resultatfilen LCD04.nnr. Visa resultatet för handledaren. Self-Organising Maps Huvuduppgiften för hela labben är att utforska hur olika faktorer påverkar inputvektorernas (dvs. de olika egenskaperna för respektive objekt) spridning och relationer i SOM-lagret. Gör från InstaNet ett 8 x 8 SOM-nätverk med 7 inputs; för lämpliga inställningar se följande skärmfoto (men ändra gärna parametervärdet 0.060 under LCoef (rekommendationen ligger mellan 0.5-0.01) så att resultaten inte blir identiska mellan mellan lab-grupperna). När du valt OK så kommer nätverket att ritas upp på skärmen och därefter dyker en dialogruta upp som gäller vilka instrument som finns på förslag. Välj instrumentet SOM weights. Träna nätverket på de 19 tecknen från alfabet.nna. Rita in hur siffrorna lägger sig på kartan (kartor att rita på tillhandahålls) efter 200 respektive 2000 träningsrundor. Träna samma nätverk 2000 gånger på filen alfabip.nna och rita in slutresultatet. Notera skillnaderna och förklara dem! Gör om det sista försöket med ett 4 x 4-nätverk! 4

Klassifikation av alger I denna uppgift hålls antalet noder i SOM-lagret konstant och istället experimenterar du med kodningen av inputdata påverkar spridningen av input-vektorerna. Öppna AppleWorks-filen alger.som. Gör först precis enligt anvisningarna i en första träningsrunda på 3000 iterationer och placera ut algerna i alger.som på 7x7 kartan. Gör också en omkodning av någon utvald parameter i datafilen så att den får större tyngd, och visa på skillnaderna i slutresultat! Redovisa. The Traveling Salesman Här ska vi lösa ett välkänt optimeringsproblem. Öppna AppleWorks-filen städer.som för instruktioner! Du ska bygga ett nätverk med följande parametrar: På grund av uppgiftens natur kan vi inte laborera med vare sig inputparametrarna eller antalet noder utan vi får expandera de eventuella lärdomar vi gjort i föregående uppgift genom att laborera med inlärningskoefficienten LCoef och Start width och End width. Experimentera med olika inställningar för att få en så kort resa som möjligt. Ett problem som brukar uppstå är att SOM-nätet tenderar och lägga flera städer i samma nod vilket inte är så lyckat. Ett annat problem är att inlärningen bara pågår det antal iterationer som bestämts vid starten av SOM-nätet, se nedanstående skärmfoto där det står SOM steps 5000. Detta värde måste ändras när du vill ändra antalet iterationer i inlärningen. Lämplig inlärning är 20000-25000 iterationer. Gör man denna ändring först efter learn kommandot slutar inlärningen vid det värde som ställts in i startrutan. När inlärningen är klar dubbelklickar man på en nod i taget från vänster till höger och skriver upp vikterna (dessa tvådimensionella vektorer är de föreslagna koordinaterna och ordningen mellan noderna är resrutten, dvs börja från vänster och res mot noderna högerut). 5

Gå sedan till AppleWorks-filen städer.som och dra ut de röda cirklarna till de koordinater du noterat. Börja med cirkel 1 vilken blir resans början, cirkel 2 anhalt nr. 2, osv. knyt sedan ihop dem med en linje från verktygsfältet. Redovisa! Backpropagation Detta är en mycket använd inlärningsalgoritm, inte minst för mönsterklassifikation. I princip kan den lära sig alla möjliga klassifikationer av en given datamängd. I praktiken hamnar man ofta i lokala minima för felfunktionen. På laborationen ska vi först demonstrera att man med backprop kan lösa linjärt icke separerbara problem, därefter lösa ett (o)intressant omkodningsproblem och slutligen (i mån av tid) titta lite på generaliseringsförmåga i relation till antalet dolda enheter. 1. Mönsterklassifikation Bygg ett backpropnät som skall klassificera LCD-siffrorna (eller siffrorna och de 9 bokstäver vi jobbat med) i två klasser. Välj ett problem som den enkla perceptronen inte kan lösa och koda det (binärt) i en textfil som du kallar LCDback.nna. När ditt backpropnät löst uppgiften till belåtenhet, redovisa lösningen i form av resultatfilen LCDback.nnr. 2. Omkodning Antag att ett antal inputdata kodas som 1 av N, dvs för en given input har en och endast en inputkomponent värdet 1 och de övriga 0. På detta sätt kan man med N komponenter bara koda N olika inputs. Den vanliga binära koden, som med tre siffror t.ex. kodar 6 som 110 och 7 som 111, är ju mycket effektivare i så måtto att n komponenter kan koda 2n inputs. Man kan nu bygga ett backpropnät som själv letar reda på en översättning av koden 1 av N till en binär kod. Gör som följer: Skapa en nna-fil där inputs är alla möjliga inputs av formen 1 av 8, och där den önskade output = input. Kalla filen code8.nna. Bygg ett backpropnät med 8 inputs, 8 outputs och 3 mellanliggande noder. Ställ in Transfer på Sigmoid och kryssa för Softmax output. Lär detta nätverk att (auto)associera varje input med respektive output. Redovisa resultatet i form av den binära kod som (förhoppningsvis) uppstår i det mellanliggande lagret. Ta bort en av tre mellanliggande enheter och träna om nätverket så gott det går. Gör sedan ett likadant nätverk men med transferfunktionen Tanh och försök igen. Redovisa den kod som nu uppstått i det mellanliggande lagret! 3. Generaliseringsförmåga (frivillig uppgift!) Gör en datafil som kodar uppgiften att ur varje LCD-siffra från 0 till 8 producera nästa siffra. Kalla filen next.nna och träna på denna uppgift ett backpropnät med 7 inputs, 9 dolda enheter och 7 outputs. 6

Testa nätet på uppgiften att producera nästa siffra från LCD-siffra 8. Går det bra? Gör en datafil som kodar uppgiften att hänföra alla LCD-siffror med minst 5 tända segment till samma klass. Kalla filen LCD5.nna. Bygg ett backpropnät med 7 inputnoder, 1 dold enhet och 2 outputnoder, och träna och testa sedan nätverket på LCD5.nna. Testa nätverket (keyboard!) på siffrorna 1100101, 1111000, 0110111 och 1110011. Gör om hela proceduren med ett backpropnätverk med 10 dolda enheter. Jämför resultaten och förklara eventuella skillnader! ART ART är ett biologinära nätverk som utför oövervakad klassifikation av mönster. Det är enlagrat, har feedback, och tar i sin enklaste variant, ART 1, binära indata. Utöver en kompetitiv mekanism som för varje input (i F1-lagret) utser en nod i F2-lagret som vinnare (ungefär som i SOM), finns i ART ytterligare en process som definitivt avgör om den utsedda vinnaren verkligen ska representera input i fråga. Denna process är en matchning mellan å ena sidan en top-down-signal från vinnarnoden till inputlagret, å andra sidan input. Om och endast om signalen från F2-noden till F1- lagret är tillräckligt lik insignalen får F2-noden representera input. Vikterna hos förbindelserna (såväl top-down som bottom-up) mellan vinnarnoden och aktiva noder i F1-lagret kommer då att förstärkas, medan de som går till/från icke-aktiva noder i F1 försvagas. Genom att välja värde på den s.k. vigilansparametern kan man bestämma hur stort kravet på likhet skall vara, vilket i sin tur avgör hur vida eller snäva de uppkomna kategorierna är. För detaljer i nätverkets funktion hänvisas till Fausett och NWE-manualen. Vi ska här först se hur ART 1 behandlar vårt gamla LCD-alfabet, och sedan titta på ett demo-nätverk i NWE som illustrerar några centrala egenskaper hos ART. Den första uppgiften utför ni så här: Sätt Current Folder till den mapp som innehåller filen alfabet.nna. Gör från Instanet ett ART 1-nät med parametrar enligt följande bild: 7

Om ni vill kan ni arrangera om noderna litegrann på skärmen för att se bättre hur nätverket är uppbyggt. I Utilities Show connections kan ni göra alla förbindelser synliga. Med redskapet Layer - Edit kan man minska avståndet mellan noderna i F2 för att alla noder ska få plats på skärmen. Slutligen kan ni dra lagren lite upp eller ner för att förbindelserna ska synas bättre (Obs! Flytta inte lagren så mycket att ordningen mellan dem, eller mellan ett lager och någon kontrollnod, ändras!). Det resulterande nätverket kommer att se ut ungefär så här: Gör nu Run Learn - For 100. Pröva sedan med Run Recall For 1 tills ni stegat genom hela datafilen. Gör en figur, med hjälp av LCD-mönster, över hur F2-noderna representerar de olika bokstäverna och siffrorna! Gå sedan in under Utilities - Global L/R Schedule, klicka på Recall och ändra värdet på vigilance till exempelvis 0.5. Gör om försöket, registrera resultatet, och jämför med föregående! Demo-nätverket ni till sist ska köra heter ART1.nnd. I detta kan man ge inputs genom att klicka på pixels i en 6 x 7-matris. Alfabetets alla bokstäver ligger i denna form i filen art1.nna. 8