
Föreställ dig att du har en stor infrastruktur av olika typer av enheter som du behöver regelbundet underhålla eller säkerställa att de inte är farliga för den omgivande miljön.
Ett sätt att uppnå detta är att regelbundet skicka folk till varje plats för att kontrollera om allt är bra. Detta är på något sätt genomförbart men också ganska dyrt med tid och resurser. Och om infrastrukturen är tillräckligt stor kanske du inte kan täcka hela den inom ett år.
Ett annat sätt är att automatisera den processen och låta jobben i molnet verifiera åt dig. För att det ska hända måste du göra följande:
👉 En snabb process om hur man skaffar bilder på enheterna. Detta kan fortfarande göras av personer eftersom det fortfarande går mycket snabbare att bara göra en bild som att göra alla enhetsverifieringsprocesser. Det kan också göras med bilder tagna från bilar eller till och med drönare, i vilket fall det blir en mycket snabbare och mer automatiserad bildinsamlingsprocess.
👉 Då måste du skicka alla erhållna bilder till en dedikerad plats i molnet.
👉 I molnet behöver du ett automatiserat jobb för att plocka upp bilderna och bearbeta dem genom maskininlärningsmodeller som är utbildade för att känna igen enhetsskador eller avvikelser.
👉 Slutligen måste resultaten vara synliga för de användare som krävs så att reparation kan schemaläggas för enheter med problem.
Låt oss titta på hur vi kan uppnå anomalidetektering från bilderna i AWS-molnet. Amazon har några förbyggda maskininlärningsmodeller som vi kan använda för det ändamålet.
Hur man skapar en modell för visuell anomalidetektering
För att skapa en modell för visuell anomalidetektering måste du följa flera steg:
Steg 1: Definiera tydligt vilket problem du vill lösa och vilka typer av anomalier du vill upptäcka. Detta hjälper dig att bestämma lämplig testdatauppsättning som du behöver för att träna modellen.
Steg 2: Samla ett stort dataset med bilder som representerar normala och anomala förhållanden. Märk bilderna för att ange vilka som är normala och vilka som innehåller anomalier.
Steg 3: Välj en modellarkitektur som är lämplig för uppgiften. Detta kan innebära att välja en förutbildad modell och finjustera den för ditt specifika användningsfall eller skapa en anpassad modell från grunden.
Steg 4: Träna modellen med hjälp av den förberedda datamängden och den valda algoritmen. Detta innebär att man använder överföringsinlärning för att dra nytta av förtränade modeller eller tränar modellen från grunden med hjälp av tekniker som konvolutionella neurala nätverk (CNN).
Hur man tränar en maskininlärningsmodell
Källa: aws.amazon.com
Processen att träna AWS-maskininlärningsmodeller för upptäckt av visuella anomalier innefattar vanligtvis flera viktiga steg.
#1. Samla in data
I början måste du samla in och märka en stor datauppsättning av bilder som representerar både normala och anomala förhållanden. Ju större datasetet är, desto bättre och mer exakt kan modellen tränas. Men det innebär också mycket mer tid som ägnas åt att träna modellen.
Vanligtvis vill man ha runt 1000 bilder i ett testset för att få en bra start.
#2. Förbered data
Bilddatan måste först förbehandlas för att maskininlärningsmodellerna ska kunna plocka upp dem. Förbearbetning kan betyda olika saker, som:
- Rensning av ingångsbilderna i separata undermappar, korrigering av metadata, etc.
- Ändra storlek på bilderna för att möta upplösningskraven för modellen.
- Dela ut dem i mindre bitar av bilder för mer effektiv och parallell bearbetning.
#3. Välj modell
Välj nu rätt modell för att göra rätt jobb. Välj antingen en förtränad modell eller så kan du skapa en anpassad modell som passar för den visuella anomalidetekteringen på modellen.
#4. Utvärdera resultaten
När modellen bearbetar din datamängd ska du validera dess prestanda. Du vill också kontrollera om resultaten är tillfredsställande för behoven. Det kan till exempel innebära att resultaten är korrekta på mer än 99 % av indata.
#5. Distribuera modellen
Om du är nöjd med resultaten och prestanda, distribuera modellen med en specifik version i AWS-kontomiljön så att processerna och tjänsterna kan börja använda den.
#6. Övervaka och förbättra
Låt den gå igenom olika testjobb och bilddatauppsättningar och utvärdera ständigt om de nödvändiga parametrarna för detekteringskorrektheten fortfarande finns på plats.
Om inte, träna om modellen genom att inkludera de nya datamängderna där modellen gav fel resultat.
AWS maskininlärningsmodeller
Titta nu på några konkreta modeller du kan utnyttja i Amazonas moln.
AWS-erkännande
Källa: aws.amazon.com
Erkännande är en allmän bild- och videoanalystjänst som kan användas för olika användningsfall, såsom ansiktsigenkänning, objektdetektering och textigenkänning. För det mesta kommer du att använda Rekognition-modellen för en första rågenerering av detektionsresultat för att bilda en datasjö av identifierade anomalier.
Den tillhandahåller en rad förbyggda modeller som du kan använda utan träning. Rekognition levererar också realtidsanalys av bilder och videor med hög noggrannhet och låg latens.
Här är några typiska användningsfall där erkännande är ett bra val för upptäckt av avvikelser:
- Ha ett allmänt användningsfall för upptäckt av avvikelser, som att upptäcka avvikelser i bilder eller videor.
- Utför anomalidetektering i realtid.
- Integrera din anomalidetekteringsmodell med AWS-tjänster som Amazon S3, Amazon Kinesis eller AWS Lambda.
Och här är några konkreta exempel på anomalier som du kan upptäcka med hjälp av Rekognition:
- Anomalier i ansikten, som att upptäcka ansiktsuttryck eller känslor utanför normalområdet.
- Saknade eller felplacerade föremål i en scen.
- Felstavade ord eller ovanliga textmönster.
- Ovanliga ljusförhållanden eller oväntade föremål i en scen.
- Olämpligt eller stötande innehåll i bilder eller videor.
- Plötsliga förändringar i rörelse eller oväntade rörelsemönster.
AWS Lookout for Vision
Källa: aws.amazon.com
Lookout for Vision är en modell speciellt designad för avvikelsedetektering i industriella processer, såsom tillverkning och produktionslinjer. Det kräver vanligtvis en viss förbearbetning och efterbearbetning av en bild eller någon konkret utskärning av bilden, vanligtvis med ett Python-programmeringsspråk. För det mesta är den specialiserad på några mycket speciella problem i bilden.
Det kräver anpassad träning på en datauppsättning av normala och avvikande bilder för att skapa en anpassad modell för avvikelsedetektering. Det är inte så realtidsfokuserat; snarare är den designad för batchbehandling av bilder, med fokus på noggrannhet och precision.
Här är några typiska användningsfall där Lookout for Vision är ett bra val om du behöver upptäcka:
- Defekter i tillverkade produkter eller identifiering av utrustningsfel i en produktionslinje.
- En stor datauppsättning av bilder eller annan data.
- Anomali i realtid i en industriell process.
- Anomali integrerad med andra AWS-tjänster, som Amazon S3 eller AWS IoT.
Och här är några konkreta exempel på anomalier som du kan upptäcka med Lookout for Vision:
- Defekter i tillverkade produkter, såsom repor, bucklor eller andra defekter, kan påverka produktens kvalitet.
- Utrustningsfel i en produktionslinje, som att upptäcka trasiga eller felaktiga maskiner som kan orsaka förseningar eller säkerhetsrisker.
- Kvalitetskontrollfrågor i en produktionslinje inkluderar att upptäcka produkter som inte uppfyller de erforderliga specifikationerna eller toleranserna.
- Säkerhetsrisker i en produktionslinje inkluderar att upptäcka föremål eller material som kan utgöra en risk för arbetare eller utrustning.
- Anomalier i en produktionsprocess, som att upptäcka oväntade förändringar i flödet av material eller produkter genom produktionslinjen.
AWS Sagemaker
Källa: aws.amazon.com
Sagemaker är en helt hanterad plattform för att bygga, träna och distribuera anpassade maskininlärningsmodeller.
Det är en mycket mer robust lösning. Faktum är att det ger ett sätt att ansluta och exekvera flera flerstegsprocesser i en kedja av jobb som följer efter varandra, ungefär som AWS Step Functions kan göra.
Men eftersom Sagemaker använder ad-hoc EC2-instanser för sin bearbetning, finns det ingen gräns på 15 minuter för enstaka jobbbearbetning, som i fallet med AWS lambdafunktioner i AWS Step Functions.
Du kan också göra automatisk modellinställning med Sagemaker, vilket definitivt är en funktion som gör det till ett enastående alternativ. Slutligen kan Sagemaker enkelt distribuera modellen i en produktionsmiljö.
Här är några typiska användningsfall där SageMaker är ett bra val för upptäckt av anomali:
- Ett specifikt användningsfall som inte täcks av förbyggda modeller eller API:er, och om du behöver bygga en skräddarsydd modell för dina specifika behov.
- Om du har en stor datauppsättning av bilder eller annan data. Förbyggda modeller kräver viss förbearbetning i sådana fall, men Sagemaker kan göra det utan det.
- Om du behöver utföra anomalidetektering i realtid.
- Om du behöver integrera din modell med andra AWS-tjänster, som Amazon S3, Amazon Kinesis eller AWS Lambda.
Och här är några typiska anomalidetekteringar som Sagemaker kan utföra:
- Bedrägeriupptäckt i finansiella transaktioner, till exempel ovanliga utgiftsmönster eller transaktioner utanför det normala intervallet.
- Cybersäkerhet i nätverkstrafik, som ovanliga dataöverföringsmönster eller oväntade anslutningar till externa servrar.
- Medicinsk diagnos i medicinska bilder, som att upptäcka tumörer.
- Anomalier i utrustningens prestanda, som att upptäcka förändringar i vibrationer eller temperatur.
- Kvalitetskontroll i tillverkningsprocesser, såsom att upptäcka defekter i produkter eller identifiera avvikelser från förväntade kvalitetsstandarder.
- Ovanliga mönster för energianvändning.
Hur man integrerar modellerna i serverlös arkitektur
En utbildad maskininlärningsmodell är en molntjänst som inte använder några klusterservrar i bakgrunden; sålunda kan den enkelt inkluderas i en befintlig serverlös arkitektur.
Automatisering sker via AWS lambda-funktioner, kopplade till ett jobb med flera steg i en AWS Step Functions-tjänst.
Vanligtvis behöver du en första upptäckt precis efter att du har samlat in bilderna och deras förbearbetning på S3-hinken. Det är där du kommer att generera atomär anomalidetektering på ingångsbilderna och spara resultaten i en datasjö, till exempel representerad av Athena-databasen.
I vissa fall räcker inte denna initiala upptäckt för ditt konkreta användningsfall. Du kan behöva en annan, mer detaljerad upptäckt. Till exempel kan den initiala modellen (t.ex. igenkänning) upptäcka något problem på enheten, men det är inte möjligt att på ett tillförlitligt sätt identifiera vilken typ av problem det är.
För det kan du behöva en annan modell med andra möjligheter. I ett sådant fall kan du köra den andra modellen (t.ex. Lookout for Vision) på den delmängd av bilder där den ursprungliga modellen identifierade problemet.
Detta är också ett bra sätt att spara en del kostnader, eftersom du inte behöver köra den andra modellen på en hel uppsättning bilder. Istället kör du det bara på den meningsfulla delmängden.
AWS Lambda-funktioner kommer att täcka all sådan bearbetning med Python- eller Javascript-kod inuti. Det är bara upp till karaktären på processerna och hur många AWS lambdafunktioner du behöver inkludera i ett flöde. Gränsen på 15 minuter för den maximala varaktigheten av ett AWS lambda-anrop kommer att avgöra hur många steg en sådan process behöver innehålla.
Slutord
Att arbeta med molnmaskininlärningsmodeller är ett mycket intressant jobb. Om du tittar på det ur ett perspektiv av kompetens och teknik, kommer du att upptäcka att du behöver ha ett team med en stor variation av färdigheter.
Teamet måste förstå hur man tränar en modell, vare sig den är färdigbyggd eller skapad från grunden. Detta innebär att mycket matematik eller algebra är inblandat i att balansera resultatens tillförlitlighet och prestanda.
Du behöver också några avancerade Python- eller Javascript-kodningsfärdigheter, databas- och SQL-kunskaper. Och efter att allt innehållsarbete är klart behöver du DevOps-kunskaper för att koppla in det i en pipeline som gör det till ett automatiserat jobb redo för driftsättning och exekvering.
Att definiera anomali och träna modellen är en sak. Men det är en utmaning att integrera det hela i ett funktionellt team som kan bearbeta resultaten av modellerna och spara data på ett effektivt och automatiserat sätt för att leverera dem till slutanvändarna.
Kolla sedan in allt om ansiktsigenkänning för företag.