AI is een sleutelcomponent in de ontwikkeling van software-engineering. Omdat AI in een reeks systemen en voor verschillende doeleinden wordt geïmplementeerd, is het de onmisbare rol van software-ingenieurs om dergelijke systemen te creëren en te onderhouden. Dit artikel onderzoekt de mogelijke beperkingen van AI waar software-ingenieurs zich bewust van moeten zijn en die ze in hun rol moeten beperken. Door middel van processen zoals databeheer, beperking van vooroordelen en realtime systeemintegratie zorgen software-ingenieurs ervoor dat AI efficiënt aan de behoeften van klanten voldoet.
Wat is AI?
De programma’s en algoritmen die AI-modellen instrueren en leren hoe ze moeten leren en denken, zijn allemaal ontworpen en geschreven door software-ingenieurs. Zonder deze ingenieurs zou AI niet de geavanceerde stadia hebben bereikt die momenteel wereldwijd de aandacht trekken, en het werk op dit gebied is nog steeds aan de gang.
Computerwetenschappers zijn verantwoordelijk voor de deep learning-component van AI, waarbij ze hun inspiratie halen uit het menselijk brein en kunstmatige neurale netwerken creëren die informatie op dezelfde manier verwerken als onze hersenen. AI maakt gebruik van meerdere verwerkingslagen om hogere informatieniveaus uit bestaande gegevens te halen.
Deep learning-modellen herkennen complexe patronen in geluid, afbeeldingen en tekst, produceren nauwkeurige inzichten en voorspellingen en automatiseren taken die doorgaans menselijke input vereisen. AI past zich aan en verbetert terwijl het leert.
AI: kansen en nadelen
AI heeft ons leven gemakkelijker gemaakt en is ook creatief geworden. Het entertaint, onderwijst en stroomlijnt processen. Het ontbreekt echter aan het kritische denkvermogen van een software-ingenieur en aan het inzicht om problemen op te lossen. Software-ingenieurs analyseren de resultaten van wat AI heeft gecreëerd en passen hun algoritmen aan voor betere resultaten.

Vooroordelen verzachten
AI heeft het potentieel om vooroordelen te versterken, desinformatie te creëren op basis van onjuiste gegevens en inbreuk te maken op auteursrechten en intellectueel eigendom als het niet correct wordt ontworpen en ontwikkeld.
Als gevolg hiervan moeten software-ingenieurs de mogelijkheid van deze vooroordelen beperken, bij voorkeur tijdens de ontwikkelingsfasen. Maar hoe moeten ze dat weten?
Beperking van vooroordelen bij AI hangt af van de status van de aanvraag. Als het zich nog in de beginfase bevindt, zullen software-ingenieurs ingrijpen door de algoritmen dienovereenkomstig aan te passen. Voorkomen is echter beter dan genezen. Software-ingenieurs voegen codering toe aan hun algoritmen om AI te instrueren welke soorten gegevens ze moeten negeren en hoe ze afwijkingen kunnen herkennen bij het zoeken in databases naar informatie.
Er moet uiterste zorg worden betracht bij het creëren van algoritmen voor specifieke doeleinden, en hier moet rekening mee worden gehouden in de plannings- of specificatiefasen van de ontwikkeling. Software-ingenieurs moeten zich bewust zijn van de verschillende scenario’s die zich binnen de data kunnen voordoen, en ze moeten een grondige analyse van de data uitvoeren voordat ze de algoritmen ontwerpen voor specifiek gebruik door AI.
Hoe kunnen software-ingenieurs, gezien de enorme hoeveelheden sociale media-interactie die dagelijks plaatsvindt, valse informatie beperken?
Software testen
SE’s bouwen controles in hun datamining-algoritmen in, waarbij ze elk mogelijk scenario testen en vergelijken met andere informatie. Als er een afwijking bestaat, zal het algoritme dit als zodanig markeren en negeren als bewezen wordt dat het anders is dan andere, betrouwbaardere informatiebronnen. Deze processen zijn uiterst complex en vrijwel onmogelijk te voorspellen en te detecteren. Het vergt kritisch denk- en analysevermogen van de kant van software-ingenieurs. Zodra de algoritmen zijn geschreven, worden de programma’s en gegevens getest tot het punt van uitputting.
Software-ingenieurs spelen ook een belangrijke rol bij het bepalen welke categorieën gegevens nodig zijn voor specifieke projecten en zullen data-analisten dienovereenkomstig instrueren. Noodzakelijke wijzigingen kunnen worden aangebracht om eventuele vooroordelen of problemen in de toekomst uit te sluiten. Dit proces heet ‘data scrubbing’ of ‘data cleaning’ en is een continu proces.
AI en het milieu
Computerwetenschappers zijn voortdurend op zoek naar manieren om de efficiëntie te verbeteren, zowel wat betreft de gebruikte verwerkingskracht als het verkorten van de verwerkingstijden, en dit zal hopelijk de status van AI-processen en hun impact op het milieu verbeteren.
Dit is met name relevant in cloudgebaseerde toepassingen, omdat organisaties gegevens op afgelegen locaties opslaan, ophalen en verwerken. Software-ingenieurs proberen de impact van cloudverwerking te verminderen door historische gegevens lokaal op te slaan, terwijl ze de cloud gebruiken voor realtime toepassingen die de krachtigere verwerkingsmogelijkheden van cloudgebaseerde technologie vereisen. Deze taak impliceert voortdurend onderhoud door dataprofessionals.
Realtime systeemintegratie
De integratie van AI in realtime systemen heeft veel voordelen: het genereert nieuwe concepten, verbetert de efficiëntie en automatiseert processen. Het stelt systemen in staat inhoud te diversifiëren en nieuwe inhoud te genereren. Een voorbeeld van het genereren van content is gaming, waar AI nieuwe scenario’s kan genereren als reactie op de interacties van spelers, waardoor een eindeloze betrokkenheid voor spelers ontstaat.
Real-time integratie kan de menselijke creativiteit bevorderen door ideeën en suggesties naar voren te brengen. Omgekeerd gebruikt AI menselijke input en ideeën voor zijn eigen creaties.
De gebruik van AI in realtime medische systemen is misschien wel een van de meest productieve toepassingen tot nu toe. Dit komt omdat het strikt gecontroleerd moet worden en er geen ruimte is voor fouten. AI wordt gebruikt bij de diagnose van ziekten, bij ingewikkelde procedures waarbij nauwkeurigheid absoluut noodzakelijk is en bij het monitoren van patiënten op het gebied van risico’s en voortgang. Medische wetenschappers en computerexperts streven voortdurend naar verbeteringen in de medische technologie en komen met nieuwe uitvindingen. Elke keer dat er nieuwe technologie wordt geïntroduceerd, zijn software-ingenieurs betrokken bij het programmeren, foutdetectie en afstemmen van producten in het belang van de patiëntveiligheid.
Moeten software-ingenieurs zich zorgen maken?
Zal AI software-ingenieurs vervangen?? Wij denken van niet. Nu meer dan ooit zijn software-ingenieurs nodig om ervoor te zorgen dat ethische normen worden gehandhaafd en dat onze mensenrechten worden beschermd. Online opleidingen, zoals de masteropleiding Computer Science – Software Engineering van Baylor University, leiden toekomstige software-ingenieurs op om het potentieel van AI in relatie tot software-engineering te benutten, met vaardigheden om geschikte softwaresystemen te ontwerpen, creëren en onderhouden. Omdat de 100% online cursussen ook betrekking hebben op geavanceerde algoritmen en systeemontwikkeling, zijn studenten voorbereid op een veelgevraagde carrière in software-engineering.

Onderhoud van AI-systemen
Software-ingenieurs moeten een verscheidenheid aan vaardigheden en kennis gebruiken om AI-systemen te creëren, onderhouden en implementeren. Het beheren van data, het tegengaan van vooroordelen, testen en data scrubben zijn slechts enkele van de rollen die ingenieurs hebben om ervoor te zorgen dat AI-systemen correct, efficiënt en zonder vooroordelen werken.
Uitgelichte afbeeldingscredits: Dit isEngineering RAEng/Unsplash