Stap 3: Voeg kunstmatige intelligentie
Wat Homeland Security echt wilde was een systeem dat volledig autonoom was, die betekent niet vereisen een operator zit daar het babysit. En dat is wat kunstmatige intelligentie is alles over.
Kunstmatige intelligentie (AI) is iets dat een hele reeks ingewikkeld klinkende terminologie zoals neurale netwerken, computer-visie, situationeel bewustzijn, gedrags profilering, automatische doel erkenning, cognitief gedrag, patroonherkenning, en enzovoort enzovoort omvat. De deskundigen zou u waarschijnlijk zeggen dat het is allemaal heel, heel ingewikkeld. In feite, het is, en zou ook ingewikkeld voor mij, als ik moest het doen door leerboek standaardmethoden, in tegenstelling tot het maken van mijn eigen methodologie. De enige manier ik kan ooit helemaal doen is met behulp van mijn eigen algoritmes, ontwikkeld gedurende vele jaren. Ik weet niet hoe anderen het doen, alles wat ik weet is dat mijn manier lijkt te werken heel goed.
Nogmaals, zoals blijkt met de Kalman-filter, wanneer het wordt gekookt naar beneden, is het allemaal zeer eenvoudig, bijna op het punt van triviale. Vele malen ik heb om iets maar het is zo ingewikkeld dat ik gewoon opgeven. Maar ik vind vaak dat als ik de tijd echt neer, soms is iets wat die ik op mijn eigen misschien 25 of 30 jaar geleden uitgevonden. Dit gebeurde een tijdje terug toen mij en een mede-werker besloten een Fortran aanbrengen in C++ vertaler. Om het programma volledig te optimaliseren, besloten hebben we om iets te gebruiken mijn mede-werker zag in C++ tijdschrift genaamd Simulated Annealing . Het leek ongelooflijk ingewikkeld, en ik koos om te laat iemand anders doen. Uiteindelijk echter ik de tijd besteed aan het uit, en ja hoor, het was iets wat ik op mijn eigen over 27 jaar eerder had ontwikkeld. BTW, dit is het octrooi voor de taalvertaler. Met betrekking tot de AI, ik zou zeggen de vertaler was een 'Expert System' in die zin dat het de exacte dezelfde taken uitgevoerd als door een expert in computerprogrammering zouden worden ingezet.
Ik moet zeggen dat ik het gesimuleerde onthardende algoritme gebruikt om het oplossen van een enorme puzzel in de la Times, die was een wedstrijd genaamd "Wirwar steden." Dit was in de begin jaren 80. Je had per puzzels die je moest lossen en legt voor enkele maanden, die steeds moeilijker kreeg, afgesloten met het enorme puzzel voor de laatste wedstrijd. De prijzen waren mooi, zoals een nieuwe Cadillac, of $50 grand, en een hele hoop andere prijzen. Voor de laatste puzzel had u een lijst van elke stad in Californië, ongeveer 650, en een zwembad van brieven, zodat veel van elke brief, en elke brief de moeite waard een verschillend aantal punten was, en u kreeg punten voor hoeveel steden u gespeld, en misschien andere punten voor iets anders. Anyways, ik niet de grote grote prijs gewonnen, maar ik heb een fancy uitziende stereo systeem, dat echt een stuk stront was, gewonnen en die ik net aan de belasting betalen over het verkocht. Nogmaals, Gesimuleerde annealing is een AI concept, en sommige gebruikt in de rand-systeem theoretisch kan worden.
Anyway, laten we het demystificeren van kunstmatige intelligentie door het breken van het neer aan wat het werkelijk betekent (voor mij.)
kunstmatige = software
intelligentie = gezond verstand
De manier waarop deze wordt toegepast op het systeem van de grenzen is, bijvoorbeeld, gebruik makend van situationeel bewustzijn. Dat betekent dat waar am I, hoe hoog ben ik, wat is mijn vantage punt, wat moet ik kijken, enz. Dit is duidelijk gewoon gezond verstand. Het situationele bewustzijn voor ons is dat we zitten op de top van een toren die uitkijkt over de woestijn. Wij willen de sporen van bewegende objecten. Hoewel, wanneer wij ontdekken iets, alvorens wij een alarm rapporteren, zullen we nog een beetje gezond verstand gebruiken om te bepalen al dan niet aan het verslag van het alarm. Die logica zou er zo uitzien:
ALS alarm = true THEN
IF target_direction = towards_the_border THEN
cancel_alarm = true
END IF
END IF
Dus, we gewoon voorkomen dat rapportage van alarmen voor dingen verplaatsen naar de grens, want het is waarschijnlijk een grens patrouille voertuig, of wat dan ook. Dit heet "exploitatie van situationeel bewustzijn," tenminste dat is wat ik noem het wanneer ik wil klinken als ik wat ik weet over spreek, anders ik noem het gewoon gezond verstand. En als je dacht dat was glad dat, dan staan terug dames en heren terwijl ik Toon u een totale AI mash-up met behulp van een 3-weg-combo van patroonherkenning, situationeel bewustzijn en cognitieve gedrag een verdere verlaging van valse alarmen. Bent u klaar? Hier is de formule:
IF (numb_targets = 1) en (persistentie < 50%) EN (target_distance > 1000 yards) dan
OPROEP forget_about_it (target_ID);
END IF
BAM!!! Waarschijnlijk verlost van 25 valse alarmen/minuut, hele dag lang, afgaan met alleen maar dat een kleine truc. Voor één of andere God onbekende reden, de Boeing logica was, als ik een alarmsignaal, opgemaakt een geel symbool, en als ik drie op een rij, opgemaakt een rood symbool. Dat betekent dat ze waren alleen besteden ongeveer 2 seconden op zoek op een doelwit, voordat zij een besluit om aan te geven van een alarm genomen. En wat ik net deed met dat vergelijking moest zeggen, als ik zie slechts één object, en het is er alleen minder dan de helft van de tijd als ik kijk naar het, en het is echt ver weg, zoals een halve mijl, dan ik hoef niet zorgen over te maken. Ik houd het op bestand, maar als er iemand komt over de grens, en ze op de voet, dan is ze zijn zijn gonna komen uiteindelijk mijn richting, en ik kan besteden de komende 30 minuten bijhouden van hen (of het) om te zien als het dichter geworden in die tijd. Ik hoef niet om het even wie te rijden die er naar kijken, want het is er geen plaats te gaan waar ik niet kan zien. En hoe vaak mensen komen over de grens al vanzelf? Nooit! Mensen altijd komen over de grens in drommen, of nochtans vele een pick-up truck houdt. Dus is het waarschijnlijk gewoon een coyote. By the way, heb ik de afstand naar het doel van de radar, hoewel ik het direct uit de video net zo goed kunt berekenen, en ik kan ook het berekenen van de grootte van de video. En ik voel me als ik kruipend op hier, terwijl ik ben het verslaan van een dood paard op hetzelfde moment, over iets dat is gewoon simpel gezond verstand. Dan weer hebben dames en heren, we ongeveer $1 miljard dollars van de belastingbetalergeld hier. (Iemand hier is absoluut gek, en het is zeker niet mij. Hoewel, het is een gehele partij van mensen die het eens over iets geworden, en ik ben de enige oneens... het kinda freak me out, gewoon beetje.)
Nou, wordt voort, met betrekking tot computer-visie, dat ik enkel model alles om te werken precies de manier waarop het menselijk oog, samen met hoe de werkt informatie verwerkt in de hersenen. Een triviaal voorbeeld is hoe de iris regelt de leerling als de hoeveelheid licht die het oog binnenkomt wilt aanpassen. Dit is een automatische functie, wat betekent dat onvrijwillige; je hoeft niet te denken, maar je het nodig hebt. Deze functie is iets wat die je normaal gesproken gratis krijgen omdat het ingebouwd in de camera. De leerling wordt vertegenwoordigd door het diafragma van de camera. Een andere functie ingebouwd in de meeste camera's is automatische niveau en krijgen.
Voor sommige interessante lezing over computer-visie, controleer dit leger voorstel schreef ik enkele jaren geleden. (Scroll naar beneden naar 2.1.1.1 Generalized evenwichtig ternaire.) In dit voorstel heb ik besproken hoe visuele stimuli worden geïnterpreteerd in de hersenen, met inbegrip van hoe objecten worden herkend met behulp van een algoritme voor clustering, en hoe de relatieve grootte is geschat met slechts een paar eenvoudige berekeningen. Ook besproken, is het gebruik van een base-7 wiskundige systeem bieden een handige methode voor sommering van statistische gegevens over een zeshoekig raster met piramide algoritmen.
Waarschijnlijk het belangrijkste ding als uitvoering van computervisie te emuleren van de manier waarop de hersenen filtert dingen die van geen belang zijn. Bijvoorbeeld, als u kijkt uit over de woestijn op zoek naar bewegende objecten, is één ding, die de hersenen doet negeren dingen in beweging op een natuurlijke manier verschuldigd naar aanleiding. Dat betekent dat de wuivende takken en geritsel van bladeren aan een boom worden genegeerd zonder zelfs maar te denken. Vele jaren geleden was ik bezig met automatische doel erkenning voor een targeting systeem dat mijn fractie op een DARPA -project ontwikkeld, en wordt momenteel gebruikt in een leger helikopter genaamd de OH-58 D Kiowa Warrior . Een algoritme die ik ontwikkeld was voor emuleren van de manier waarop die de hersenen beweging op een bepaald gebied in het gezichtsveld tenietdoet, en riep ik dat "adaptieve gelokaliseerde filteren." Dat betekent dat als ik kijk naar een scène, en er is beweging die ambient is, en een natuurlijke gebeurtenis, dan ik dat door het veranderen van de winsten en de drempels voor de pixels in het gebied kunt uitfilteren. Dit betekent dat ik kan nu aanpassen aan wat de huidige omstandigheden zijn. Dit is een vorm van artificiële intelligentie, in die zin dat ik heb geen nodig van een operator om aan te passen parameters voor mij om mijn filters voor de huidige omstandigheden aan te passen. Dit kan worden opgedreven door de voeding me de momentane windsnelheid (windsnelheid plus richting.) Doordat deze windsnelheid in de Kalman-filter, weet ik dat als de windsnelheid hoog is, zou ik bepaalde aannames maken kan bij het initialiseren van mijn filters. Opmerking, ik gebruik veel en veel kleine filters om te emuleren de afzonderlijke cellen van het netvlies, of liever gezegd, groepen van cellen, omdat ik gebruik "super pixels" om te bezuinigen op de processor bandbreedte.
BTW, ik besefte dat ik heb nu vervangen door "mezelf" in de plaats van "de software". Ik deed het niet opzettelijk, maar het is in feite precies hoe ik al mijn algoritmen gerelateerd aan kunstmatige intelligentie, dus ik laat het in de ontwikkeling. Om te komen met algoritmen die ik ik nodig heeft ken om tot een systeem werken perfect, (dat wil zeggen, werken als ik was er onder controle, maar I 'm gonna worden er onder controle,) ik mezelf zetten in de plaats van de computer, en ik sluit mijn ogen, omdat een computer geen ogen heeft, en ik doe gedachte-experimenten, die ik geleerd van lezen over Albert Einstein. Van daar, ik heb alleen mijn hersenen te werken, die me in staat stelt om te doen de gedachte-experimenten, zodanig dat mijn hersenen eigenlijk de computer is, en ik sluit mijn ogen om te simuleren van computervisie, waar ik heb alleen videogegevens, een matrix van pixels waarvan de waarden alleen grijstinten van 0 tot 255 kunnen. En dan denk ik over hoe ik Verwerk de gegevens in mijn hoofd, met gegevens vanuit meerdere sensoren. Op het einde ontwikkel ik een algoritme, om het oplossen van een probleem, met behulp van een biologisch model, samen met mijn eigen gedachteprocessen. Het uiteindelijke resultaat is een "ad hoc" algoritme, gebaseerd op een combinatie van gezond verstand en intuïtie, samen met veel van laboratorium trial and error.
De manier om de sensor fusion, gezien het feit dat de Doppler radar alleen bewegings detectie, is ook bezig met de opsporing van de motie met de twee camera's. De basistechniek voor video bewegingsdetectie door aftrekken van de scène, waarin is een frame van gegevens wordt afgetrokken van een frame van gegevens misschien 1/10 van een seconde later genomen waaruit elke beweging duidelijk wordt. Voor dit systeem zou er een hoge snelheid beweging detectie functie die wordt uitgevoerd op een van de staren posities, evenals een functie van de lage snelheid uitgevoerd wanneer het systeem naar een bepaalde staren locatie terugkeert. Met andere woorden, hebt u de opsporing van de motie voor dingen bewegen snel, alsmede opsporing van de motie voor dingen die 30 seconden tussen frames te duidelijk waarneembaar is, zoals in het geval van objecten op lange afstand kan vereisen. Dit biedt twee niveaus van resolutie. Merk op dat de radar slechts momentane bewegingsdetectie doet, wat betekent dat het niet gegevens uit de vorige keer op een bepaalde staren vestiging te vergelijken.
Met betrekking tot de Kalman-filter, voor elke individuele doelstelling zou willen ik beweren een staat vector bestaande uit [positie, snelheid, versnelling, grootte, bereik, persistentie].
Voor de volledig autonome werking, en de mogelijkheid om continu draaien, is het alleen nodig om de software in een oneindige lus.
Op dit punt, de belangrijkste, en meest interessante, om op te nemen, en wat geeft het systeem echt mens-achtige kenmerken, is de capaciteit voor cognitieve gedrag. Cognitieve gedrag kan het systeem om te doen alsof het vermogen om te leren uit ervaring, en de mogelijkheid om meer bekwamen in prestaties na verloop van tijd precies wat te verwachten van een menselijke exploitant. Ook, aangezien we hebben een neuraal netwerk, en het gebruik van patroonherkenning, het systeem kan detecteren trends, zoals de meeste inbraken plaatsvinden binnen een bepaalde corridor, en op een bepaald moment in de nacht, en dat de indringers de neiging te volgen een vergelijkbaar pad telkens. Met deze informatie van het systeem kunt wijzigen het zoekpatroon om meer tijd te besteden op zoek dat bepaalde corridor, en minder tijd op gebieden die historisch vertonen weinig of geen activiteit. Nogmaals, dit is hetzelfde exacte gedrag men van een menselijke exploitant verwachten zou.
Voor een laatste opmerking is het net gegeven voorbeeld een goede omschrijving van een neuraal netwerk omdat, voor mij, een neuraal netwerk is gewoon een database samen met enkele logica van regel-gebaseerd. In het bovenstaande geval, met behulp van patroonherkenning een trend, de resultaten in dat lekkernij van informatie worden opgeslagen in de database als een nieuw knooppunt, veel op dezelfde manier genereert de hersenen neuronen permanent waarin informatie wordt opgeslagen in het lange termijn geheugen. Nogmaals, ik doe alles met behulp van een biologische aanpak. In feite kan niet ik eens denken aan een andere manier die ik het eventueel zou kunnen doen. Bovendien is de biologische aanpak gebruikt de analogie van een 1 op 1. Bijvoorbeeld met het menselijk brein, hebt u korte termijn geheugen (RAM), lange termijn geheugen (harde schijf of FLASH,) en neuronen (brain cel clusters, of iets dergelijks) en synapsen (knooppunten in een database), en het alle loopt parallel aan de manier waarop een computer werkt. Eerlijk gezegd, ik niet zelfs het geringste verschil zien tussen een menselijke hersenen en een computer, inclusief met verschillende sensoren en visie wordt zoals computervisie, en enzovoort. Je zou ook geïnteresseerd om te weten, dat de manier waarop een hoge einde autofocus camera werkt, of gebruikt om hoe dan ook, (ik heb deze functie voordat, eigenlijk geprogrammeerd) is door dithering van de lens heen en weer totdat u de beste focus krijgen (technisch, het vinden van het punt dat de standaarddeviatie van de pixel maximaliseert.) En dit wordt gedaan, niet met een motor en versnellingen, maar met behulp van een piëzo-elektrische membraan, dat klinkt voor mij net als hoe het menselijk oog spieren en membranen als actuatoren gebruikt. Biologisch gesproken, alles komt overeen zo goed met behulp van een biologisch model. Behalve, natuurlijk, voor menselijke gevoelens en God zij dank daarvoor. (Oh crap, mijn computer is niet met me te praten nu... most zijn geweest iets gezegd!!!)