Google-onderzoek laat neurale netwerken encryptie bedenken

Wetenschappers van Google Brain hebben een onderzoek uitgevoerd waarbij neurale netwerken een eigen vorm van encryptie moesten bedenken om hun communicatie geheim te houden. Uiteindelijk lukte het de netwerken om een effectieve vorm van versleuteling toe te passen.

De wetenschappers schrijven in hun onderzoek dat neurale netwerken niet bijzonder goed zijn in cryptografie. Toch zou hun onderzoek aantonen dat deze netwerken manieren kunnen bedenken om hun onderlinge communicatie te beschermen tegen andere netwerken. De onderzoekers gingen uit van een klassiek scenario in de cryptografie. Twee partijen, Alice en Bob, die hun communicatie willen beschermen tegen Eve, die de versleutelde teksten onderschept. Het doel was om Eve de onversleutelde tekst te laten reconstrueren en om Alice en Bob met zo min mogelijk fouten versleuteld te laten communiceren.

Daarbij werden de neurale netwerken van te voren niet voorzien van een bestaande encryptiemethode, maar moesten zij zelf een methode ontwikkelen op basis van een gedeelde geheime sleutel. Alice en Bob beschikten allebei over deze sleutel en pasten symmetrische encryptie toe. Het netwerk Eve kon 'verliezen' als het verschil in bits tussen zijn gegokte versie en de onversleutelde tekst van Alice te groot was. Voor Bob gold dat hij verloor als zijn versie van de tekst te veel afweek van het onversleutelde origineel. Alice kon verliezen als de versie van Eve beter was dan willekeurig gokken. Op deze manier wilden de wetenschappers 'optimale' versies van Alice, Bob en Eve voortbrengen.

Het bleek dat in het begin alle netwerken een hoge foutscore haalden, door ongeveer de helft van de 16bit-berichten fout te hebben. Tot ongeveer tienduizend herhalingen van stappen bleek dat Eve steeds beter werd in het minimaliseren van fouten. Daarna wisten Alice en Bob echter Eves voortgang teniet te doen door op een andere manier te communiceren, aldus de onderzoekers. Vanaf ongeveer vijftienduizend stappen is het experiment zo goed als klaar en weten Alice en Bob vrijwel foutloos te communiceren.

google brain encryptie

De wetenschappers zeggen geen uitputtende analyse van de versleuteling uitgevoerd te hebben. Zij hebben wel enkele obervaties gemaakt. Zo blijkt de versleuteling afhankelijk te zijn van de sleutel, omdat een gewijzigde sleutel met een constante onversleutelde tekst een andere versleutelde output opleverde. De neurale netwerken zouden niet alleen een xor-operatie op de tekst hebben losgelaten. Dat blijkt uit het feit dat de output vaak de vorm van zwevendekommagetallen aannam, in plaats van alleen nullen of enen. In hun conclusie schrijven de wetenschappers dat neurale netwerken niet alleen nuttig kunnen zijn voor cryptografische bescherming, maar ook voor aanvallende scenario's. Hoewel het onwaarschijnlijk is dat neurale netwerken echt goed worden in cryptografie, zouden zij inzetbaar kunnen zijn voor de analyse van metadata en netwerkverkeer.

Door Sander van Voorst

Nieuwsredacteur

28-10-2016 • 20:50

38

Reacties (38)

38
32
22
5
1
0
Wijzig sortering
Het is misschien leuk om nog iets aan dit nieuwsbericht toe te voegen over de motivatie voor het onderzoek. Ten dele is die gewoon dat het is uitgevoerd door medewerkers van Google die niet genoeg kunnen krijgen van hun favoriete speeltje. In de inleiding van het artikel staat echter ook dit:
Consider, for example, a neural network with several components, and suppose that we wish to guarantee that one of the components does not rely on some aspect of the input data, perhaps because of concerns about privacy or discrimination. Neural networks are notoriously difficult to explain, so it may be hard to characterize how the component functions. A simple solution is to treat the component as an adversary, and to apply encryption so that it does not have access to the information that it should not use.
Google is geïnteresseerd in de vraag hoe het informatie kan afschermen voor neurale netwerken. Dat komt natuurlijk doordat Google nu al grote hoeveelheden persoonsgebonden informatie laat verwerken door neurale netwerken. Het ligt voor de hand dat dat in de toekomst nog veel meer gaat worden, dus ze zijn geïnteresseerd in manieren om te voorkomen dat hun netwerken gaan leren om beslissingen te nemen op basis van informatie die stigmatiserend kan werken of die (zelfs naar de maatstaven van Google) teveel inbreuk maakt op de privacy. Het is op en top Google om dat afschermen zelf ook weer door neurale netwerken te laten doen.

Dat dit een substantieel deel van de motivatie is, blijkt wel uit het feit dat sectie 3 er volledig aan gewijd is. In die sectie doen ze het experiment nog eens over zoals het is beschreven in het nieuwsbericht hier op Tweakers, maar dan met een ingewikkelder boodschap. De boodschap bestaat uit stukjes, waarvan er één niet bekend mag worden voor Eve. De boodschap heeft echter ook een conclusie. Uit de stukjes van de boodschap kun je een goede inschatting maken van de conclusie en dat geldt ook andersom. De uitdaging zit hem er nu in dat Eve wel een benadering van de conclusie moet kunnen weten, die Alice onversleuteld publiceert. Alice publiceert daarnaast nog steeds een versleuteld bericht waarvan Bob de sleutel heeft en Eve niet. Bob moet de conclusie zo accuraat mogelijk kunnen trekken.

We kunnen dit als volgt vertalen naar een reële situatie. Stel iemand doet een zoekopdracht bij Google. Uit eerder surfgedrag van die persoon is op te maken dat die waarschijnlijk een motorische beperking heeft. Deze informatie mag wel gebruikt worden door het neurale netwerk dat zoekresultaten personaliseert (Bob), maar niet door het neurale netwerk dat kringen suggereert op Google+ (Eve). Ondertussen moet Eve nog steeds wel een algemeen profiel van de persoon kunnen krijgen. Alice is een neuraal netwerk dat Google speciaal heeft ingesteld om te zorgen dat informatie over functiebeperkingen wel bij Bob terechtkomt en niet bij Eve.
Dank voor je mooie toelichting!
Anoniem: 479106 28 oktober 2016 21:21
ik weet niet maar is dit nou slim? What's next? "Google geeft opdracht om nepaanval uit te voeren door computers op mensen"
Hoe bedoel je, is dit slim? Zouden we ook geen onderzoek moeten doen naar kernsplitsing omdat je er ook bommen mee kunt maken, naast het voor 'juiste' doeleinden gebruiken?
Zolang politieke dogma's en religies nog steeds voor verdeeldheid, angst en haat zorgen en de mensheid nog steeds niet zelfbewust genoeg is om dat te ontstijgen is het ronduit gevaarlijk en dom om zulke technieken toegankelijk te maken voor kwaadwillenden. Mijn antwoord is een volmondig nee, zeker wanneer men van te voren beseft hoe destructief zoiets kan zijn.
Anoniem: 399807 29 oktober 2016 14:22
"Wetenschappers van Google Brain "

De beide heren "Martín Abadi and David G. Andersen ∗" zijn verbonden aan:

"∗Visiting from Carnegie Mellon University."
Vermoedelijk heeft dit ook wel nut op vlak van cryptografie, zo zou een computer misschien een sterker encryptie-algoritme kunnen 'bedenken', maar ik zie het eerder als een demonstrator van een AI die een probleem zelfstandig kan oplossen zonder dat het eindresultaat voorgekauwd is door een programmeur. Personen zijn daar heel goed in, maar computers helemaal niet. In dat opzicht heeft dit soort onderzoek nut om op termijn echt "slimme" AI's te maken die zelfstandig problemen kunnen interpreteren en oplossen.

[Reactie gewijzigd door Joecatshoe op 22 juli 2024 23:28]

Ik denk niet dat dit enig nut gaat hebben voor cryptografie. Een encryptiealgoritme moet niet alleen werken, uit het ontwerp moet ook duidelijk zijn waarom bepaalde ontwerpkeuzes zijn gemaakt en welke eigenschappen je daarmee kunt bewijzen. Zelfs al zou er uit die AI een goed encryptiealgoritme komen, dan is het heel moeilijk om te analyseren waarom dit nou veilig zou zijn. Crypto met wat magic numbers zonder uitleg doet men sinds DUAL_EC niet meer (behalve bij de NSA dan :)).
Een encryptiealgoritme moet niet alleen werken, uit het ontwerp moet ook duidelijk zijn waarom bepaalde ontwerpkeuzes zijn gemaakt
Waarom zou dat moeten?

Het doel van een encryptiealgoritme is dat de ontvanger het kan ontcrypten en iemand anders niet. Waarom dat zo is, is volledig irrelevant als je deze eigenschap kunt bewijzen.

Het is helemaal niet interessant om te analyseren waarom een encryptiealgoritme veilig is. Nog sterker; de wetenschap waarom het veilig is, maakt het onveiliger. Het is alleen interessant om te weten óf iets veilig is of niet en dat is in dit experiment meegenomen in de vorm van Eve.

Wat jij beschrijft is alleen voor wetenschappers die zich specifiek bezig houden met het ontwikkelen van algoritmes interessant. Niet voor de daadwerkelijke eindgebruiker.
Dat zie je toch verkeerd. Tegenwoordig gelden er hele hoge eisen voor encryptiealgoritmes. Er zijn overheidsinstanties, zoals het NIST in de VS, die zulke algoritmes helemaal uitpluizen en ze pas goedkeuren als ze heel uitvoerig zijn onderbouwd en uitgebreide analyse van cryptografie-experts hebben weerstaan. Encryptie-algoritmes komen niet op jouw PC en in jouw smartphone terecht voordat ze door een instantie als NIST zijn goedgekeurd. Dat is maar goed ook, want de rekenkracht van de computers groeit hard en er worden steeds weer nieuwe kwetsbaarheden ontdekt. Om maar een voorbeeld te noemen: 3DES, een algoritme dat pas 18 jaar geleden uitkwam en toen als uitstekend gold, is nu al volkomen onveilig en onbruikbaar.

Als je niet weet hoe een algoritme werkt, dan weet je ook niet wat de kwetsbaarheden zouden kunnen zijn. De veiligheid van een algoritme komt voort uit het feit dat je de sleutel nodig hebt; als je niet weet hoe het algoritme werkt, kan het zijn dat een afluisteraar stiekem eigenlijk ook wel zonder sleutel kan.
Dus dit kan ook in robots werken om een soort eigen wil te maken of begrijp ik het verkeert?
De vraag is relevant: kan je robots / AI / neurale netwerken in principe elke opdracht geven om iets zelf te verzinnen? En wanneer "besluiten" deze dingen om dit uit eigen initiatief te doen / kunnen?

En dan geen alu-hoedjes, skynetachtige dingen, maar gewoon heel series:

In hoeverre verzinnen deze neurale netwerken nu daadwerkelijk zelf dingen en in hoeverre is het gewoon afstrepen van ingegeven mogelijkheden totdat er resultaat bereikt is?
Neurale netwerken doen het volgende. Ze hebben een input die uit een rij getallen bestaat en een output die uit een rij getallen bestaat. Beide rijen getallen hebben een vaste afmeting (voorbeeld: de input bestaat uit 1000 getallen en de output bestaat uit 100 getallen). Je stelt in hoeveel nodes er in het netwerk zitten en welke nodes met elkaar verbonden zijn. Vervolgens geef je het netwerk een zwik voorbeelden van inputs met bijbehorende outputs en daar laat je het netwerk een tijdje op oefenen, totdat het meestal een output geeft die sterk op de juiste output lijkt. Dat "oefenen" doet het netwerk door de wegingen van de verbindingen op een systematische manier aan te passen. Als het meezit, geeft het netwerk daarna ook bij benadering het goede antwoord op inputs die het nog nooit gezien heeft.

Neurale netwerken kunnen dus goed generaliseren, als het probleem ervoor geschikt is en je als je voorafgaand aan de training handige instellingen voor het netwerk hebt gekozen. Dat met die instellingen is nog steeds een beetje nattevingerwerk. Typische voorbeelden van problemen waarvoor neurale netwerken geschikt zijn, zijn het herkennen van letters in pixelplaatjes en het herkennen van goede zetten op een gobord (AlphaGo).

Er is geen sprake van afstrepen van ingegeven mogelijkheden, maar het gaat ook een beetje ver om het "zelf verzinnen" te noemen. De wegingen van het netwerk worden gevonden door een betrekkelijk eenvoudig algoritme dat mensen hebben bedacht en dat goed begrepen wordt. Neurale netwerken "doen" verder niets. Het hebben van een bedoeling met de input en het interpreteren van de output is aan de menselijke gebruiker.
Dank voor deze uitleg. Als ik het visueel voorstel, mag ik het dan vergelijken met zo'n bord met spijkers waar bovenaf een balletje in valt en deze onderweg naar beneden bij elke spijker "de keuze heeft" om links of rechts daarvan te vallen? Een bepaalde volgorde van deze "keuzes" leidt tot een resultaat. Dat kan gewenst zijn, bijv. vak A, B, of C, of daar in steeds grotere mate vanaf zitten. Het neurale netwerk leert dan na verloop van een x-aantal pogingen dat de gekozen wegen elk een ander resultaat hebben en op basis daarvan worden de volgende keren andere wegen gekozen. De rat in het doolhof is dan ook zoiets, waarbij dan wel een echt neuraal netwerk aan het werk is. De rat leert dat bepaalde wegen doodlopen en geen beloningen opleveren; dat andere wegen een kleine beloning tot gevolg hebben en dat de goede weg de jackpot oplevert. In beide gevallen gaat het natuurlijk wel om een vast en daarmee beperkt aantal routes.

Waar het bij het bord met spijkers een kwestie is van zwaartekracht i.c.m. willekeur; kan de rat daadwerkelijk leren dat het gunstiger is om bij twijfel naar rechts te gaan, dan naar links, bijvoorbeeld.

Hoe weegt zo'n neuraal netwerk dan de keuze? Als het niet zomaar op volgorde afstrepen is van alle opties; kan zo'n netwerk dan de afweging maken om na 3 x links te hebben geprobeerd zonder resultaat, dan eens rechts te gaan, om te zien of dat meer succes heeft? I.p.v. alle andere duizend opties met een start naar links eerst te gaan onderzoeken.
Je stelt een hele goede vraag, maar het antwoord is ingewikkeld.

Op het moment dat een rat een doolhof gaat verkennen en gaat leren hoe die moet lopen om de beloning te maximaliseren, maakt die gebruik van een al ontwikkeld deel van de hersenen, dat door evolutie gespecialiseerd is in het uitproberen en aanleren van routes en stappenplannen. De rat maakt dus als het ware gebruik van een "meta-leeralgoritme". Dat algoritme zit ingebakken in de structuur van de hersenen. Hierdoor kan de rat exploreren.

Bij kunstmatige neurale netwerken zoals in TensorFlow is dat niet zo. Er is een trainingsalgoritme dat de wegingen van de verbindingen in het netwerk instelt, maar dat algoritme wordt niet door het netwerk zelf uitgevoerd maar door een omvattend computerprogramma. Het neurale netwerk zelf is in die zin passief, een bak gegevens die van buitenaf wordt aangepast.

Er zijn een aantal trainingsalgoritmes voor neurale netwerken. Stuk voor stuk zijn dat hill climbers; dat is een categorie van zoekalgoritmes die vanaf een willekeurig beginpunt het dichtsbijzijnde optimum vinden, maar daardoor dus niet per sé het globale optimum. Je kunt je een hill climbing zoekalgoritme als volgt voorstellen.

Stel, je wordt gedropt op een willekeurige plaats in een heuvelachtig landschap en je wilt zo hoog mogelijk klimmen. Er is dikke mist, waardoor je maar een paar meter vooruit kunt zien. Je loopt steeds naar het hoogste stukje heuvel dat je kunt zien, tot je niet meer hoger kunt. Je hebt dan een top bereikt, al is het misschien niet de hoogste top.

Bij neurale netwerken zorgt het trainingsalgoritme er dus voor dat er een samenstelling van wegingen wordt gevonden die goed werkt, hoewel waarschijnlijk niet het allerbeste. Het populairste trainingsalgoritme heet backpropagation. Dit vereist dat het netwerk in lagen is georganiseerd en dat de informatie maar één kant op stroomt (van input naar output en dus zonder lussen). Het werkt als volgt.

Je begint met willekeurige wegingen voor alle verbindingen (dit is het willekeurige beginpunt in het heuvellandschap). Vervolgens ga je heel vaak alle voorbeelden af. Bij ieder voorbeeld probeer je wat het netwerk als uitvoer geeft bij de input. Dat vergelijk je met de gewenste output (in het begin wijkt dat natuurlijk heel erg af). Om aanpassingen te maken, kijk je eerst alleen naar de laatste laag van het netwerk, dus de laag die het dichtste bij de uitvoer zit. Gegeven de invoer van die laag, wat hadden de wegingen van de verbindingen in die laag moeten zijn om te zorgen dat er de juiste uitvoer uit zou komen? Dit is eenvoudig te berekenen. Je past de verbindingen een klein beetje aan in die richting. Dit herhaal je met alle voorgaande lagen tot je bij de invoerlaag bent, en dan ga je door met het volgende voorbeeld. Op zeker moment (meestal na tienduizenden of honderdduizenden trainingsrondes) is de afwijking zo klein dat je kunt stoppen.
Dankjewel voor je antwoord. Ondanks de ingewikkelde materie, heb je het voor de leek redelijk behapbaar opgeschreven. Fijn. Ik had je graag +2 gegeven, maar als beantwoorder van mijn post, kan ik je niet beoordelen.

Als je naar een eerdere laag toegaat, probeer het netwerk daar met alle opties ook weer de laatste laag (a) te bereiken en (b) test je of je output nu dichterbij ligt, dan bij je vorige pogingen? Teruggrijpend op die hill climb, kan het programma dan dus op deze manier "bedenken" dat wellicht een iets lagere top te kiezen in stap X en Y, het resultaat in Z hoger kan zijn dan tijdens de eerder gedane pogingen waarbij hogere / de hoogste toppen voor X en Y gekozen werden en het resultaat van Z uiteindelijk lager bleek?

Dit is eigenlijk heel interessante materie waarbij redelijk domme neurale netwerken "doen alsof" ze slim zijn, maar waarbij eigenlijk elk overzicht en elke fantasie en creativiteit ontbreekt om echt intelligent te zijn.
Nee, het algoritme is nog simpeler dan je daar beschrijft. Het gaat iedere trainingsronde voor ieder voorbeeld één keer van achteren naar voren door alle lagen heen, dus zonder tussentijds terug te grijpen op een laag waar het al geweest is. Er is geen mogelijkheid om een top te kiezen, je komt gewoon altijd uit bij de makkelijkst te bereiken top vanaf het beginpunt. Om deze reden kan het soms ook nodig zijn om de training een paar keer opnieuw te draaien met verschillende beginpunten, zodat je bij een "betere" top uitkomt.

Het is overigens niet nodig om tijdens het trainen te controleren of een aanpassing gewerkt heeft. Zoals ik al zei, is eenvoudig te berekenen wat de weging had moeten zijn om gegeven de input de gewenste output te krijgen. Dus als je een beetje in die richting aanpast, weet je zeker dat dat het gewenste effect heeft.

Dat over dom en slim zijn mag wel een beetje genuanceerd worden. De methode waar we het nu over hebben is slim bedacht, ondanks dat die betrekkelijk eenvoudig is. Neurale netwerken kunnen op deze manier ook heel geavanceerde taken leren. Onze natuurlijke hersenen werken ook op basis van vaste trucjes die consequent worden toegepast, alleen zijn ze een stuk effiiciënter en veel uitgebreider.

Dat kunstmatige neurale netwerken "dom" zijn, of beter gezegd, weak AI, ligt dus vooral aan de manier waarop we ze gebruiken. Als natuurlijk zenuwweefsel creatief en fantasierijk kan zijn, dan zou een kunstmatig neuraal systeem dat volgens mij in principe ook moeten kunnen.

[Reactie gewijzigd door J_Gonggrijp op 22 juli 2024 23:28]

Wederom bedankt voor je uitleg. :)
Nee, dat is nog heel erg ver weg, als het er überhaupt van gaat komen. Wat Joecatshoe daar schreef is wel het algemene idee achter AI, maar daaronder valt ook "computer, leer zelf maar hoe je de letter A moet herkennen in mijn ingescande krantenartikel". We hebben het hier over weak AI. Robots met een eigen wil vallen onder strong AI en die bestaat voorlopig alleen in science fiction.
Hmm erg intressant, ik vind dat jij het fijner uitlegt dan de artikels die je linkt !
Maar denk je "zelf" dus los van bronnen etc. Dat grotere organizaties zoals DARPA of MI5 misschien de NSA niet over deze Strong AI technologie beschikken ? of de beginselen ervan. Ik bedoel, als je zulke mooie robots bouwt net als darpa. Dan neem ik aan dat je hier ook wel hard aan werkt. Maar goed.. Ook al hadden ze een volledige functionerende Strong AI systeem. Dan kan je ervan uit gaan dat ze er niks van laten merken tot iedereen het een beetje heeft.

Erg interessante discussie dit.
Bedankt voor het mooie compliment!

Nee, ik denk niet dat dat soort instellingen een strong AI hebben. De eenvoudige reden waarom ik dat denk, is dat ze daar geen belang bij hebben. Als je vechtrobots wilt bouwen, of geheime informatie van andere overheden wilt ontfutselen, heb je aan een weak AI voldoende. Zolang het programma zijn specifieke taak maar uitvoert, maakt het niet uit dat het geen humor begrijpt en dat het geen andere taken kan leren.

Als je een concrete taak hebt en deadlines en een beperkt budget waar je ook nog andere dingen mee wilt doen, ga je geen extra moeite doen om een strong AI te maken. Eén ding is namelijk wel duidelijk: het maken van een strong AI zal erg veel tijd en moeite vergen. Als je toch een klein beetje extra budget hebt, besteed je die liever om je weak AI extra goed te maken in die ene taak. Specialistische weak AI's kunnen namelijk altijd beter.

Er zijn trouwens veel mensen die denken dat een strong AI helemaal niet mogelijk is. Dat betekent dat een grote organisatie het vaak sowieso te riskant zal vinden om erin te investeren, zelfs als er voor die organisatie toch een reden zou zijn om een strong AI te willen maken.
Ze proberen door AI encryptie te laten ontwikkelen. Dat werkt nog niet zo best, Alice die de encryptie moet verzinnen is de eerste verliezer en blijft verliezen omdat de encryptie gebroken wordt (Eve decrypt beter dan willekeurig), het enige wat op termijn lukt is dat Bob begrijpt hoe Alice encrypt (hij decrypt foutloos). Hoe Eve de encryptie deels breekt is lastig te begrijpen, AI is een black box.

[Reactie gewijzigd door aatos op 22 juli 2024 23:28]

Anoniem: 278437 @aatos28 oktober 2016 22:24
"Neurale netwerken" is het nieuwe buzz-woord. Zelfs in de wetenschappelijke literatuur wordt er zwaar overdreven met de "novelty" van deze experimenten. In dit artikel wordt er bijvoorbeeld bijzonder weinig info gegeven over de architectuur van het neuraal netwerk. Zoals in de meeste artikels hierover gaat de meeste uitleg naar het doel van het experiment en de resultaten. Leuk, maar mensen die dit artikel lezen hebben hier niets aan. Voor de lezer van dit artikel is het niet mogelijk om te begrijpen of dit resultaat nu goed of slecht is (in vergelijking met andere methodes), of een "neuraal netwerk" met andere architectuur een beter resultaat zou geven, of wat er ontbreekt aan een "neuraal netwerk" om sneller te convergeren naar een oplossing, ... Kortom, meer vragen dan antwoorden (en de vragen waren er voor dit artikel ook al).
...In this spirit, further work may consider other tasks, for example steganography, pseudorandom-number generation, or integrity checks...
Dit is volgens mij ook open deuren intrappen, of het neuraal netwerk nu na 15000 of 1500000 iteraties nodig heeft is irrelevant. Dit is een goede oefening, maar dit is geen wetenschappelijk onderzoek. Bij conclusie, is het dan ook veel te vroeg om hierover te rapporteren alsof er een doordraak is in "neurale netwerken".
Het is geen nieuw buzzwoord, "neuraal netwerk" wordt in deze betekenis al sinds de jaren tachtig gebruikt. Er wordt een heel specifiek type netwerkemulatie mee bedoeld, waaraan je met een beetje goede wil kunt zien hoe die op natuurlijk zenuwweefsel geïnspireerd is. "Deep learning" is wel een relatief nieuw buzzwoord, daar wordt een neuraal netwerk met veel lagen mee bedoeld.

Je hebt gelijk dat hier geen sprake is van een grote doorbraak, maar de architectuur van het netwerk is beter beschreven dan je denkt. Zo staat er in sectie 2.5 van het artikel:
Network Structure Our networks follow the “mix & transform” pattern described in Section 2.4. The Alice network concatenates two N -bit inputs (the plaintext and the key) into a 2N -entry vector, using −1 and 1 to represent the bit values. This vector is processed through a 2N ×2N FC layer, then sent through a succession of four 1-D convolutional layers. The convolutional layers are described in terms of their window size, input depth, and output depth. Each has a “stride”—the amount by which the window is shifted at each step. The concrete layers are [4, 1, 2], [2, 2, 4], [1, 4, 4], and [1, 4, 1], with strides of 1, 2, 1, 1. Intuitively, the first layer slides a size-4 window across the 2N output elements from the FC layer, outputting two numbers (output depth 2), with stride 1. We use a sigmoid nonlinear unit after each layer except the final one. After the final layer, where the output is reduced to N elements, we use a tanh nonlinear unit. (Recall that tanh has an output domain between [−1, 1], bringing the values back to a range that can map to binary values.) The Bob network is identical to the Alice network The Eve network takes only the ciphertext as input, and thus has a first N × 2N FC layer.
Je moet wel een hoop jargon kennen, maar hier staat eigenlijk al genoeg om het experiment te kunnen reproduceren. Het is voor dit soort artikelen (vakliteratuur) niet onredelijk om te verwachten dat de lezer genoeg van het jargon afweet.

Dat gezegd hebbende: ja, dit zijn gewoon twee medewerkers van Google die hun favoriete speeltje weer eens uit de kast hebben gehaald voor een experimentje. Het resultaat is ook niet zo heel verrassend: je kunt neurale netwerken zo'n beetje iedere vastomlijnde taak leren als je maar genoeg geduld of geld hebt, maar je moet niet verwachten dat de oplossing waar een netwerk dan mee aankomt heel netjes of wiskundig doortimmerd is. Wat dat betreft lijken zulke netwerken eigenlijk wel een beetje op mensen: slordig en pragmatisch, maar daardoor ook betrekkelijk robuust.
Ik heb dat stuk gelezen en begrijp wat er geschreven is. De uiteindelijke structuur is beschreven maar enige motivatie voor deze structuur ontbreekt. Ik verwacht van wetenschappelijke artikels dat ze motiveren waarom bepaalde keuzes zijn gemaakt en dat ze deze keuzes onderbouwen met experimentele resultaten. Dit lijkt eerder op een random of arbitrair gedefinieerde structuur. Daarom is het als lezer ook moeilijk (ja, ook voor iemand die in dit vak zit) om intuïtief na te gaan of deze structuur optimaal is.

Als wetenschapper blijf je dus nog altijd met dezelfde vragen zitten die je in het begin van het artikel ook al had.
Ik vind het anders heel duidelijk waarom ze voor deze structuur hebben gekozen. Ze beginnen voor Alice en Bob met een 2N laag omdat ze N boodschap-bits en N sleutel-bits hebben. Bij Eve een N laag omdat die de sleutel niet heeft.

Vervolgens doen ze een fully connected layer om te zorgen dat iedere mogelijke permutatie en combinatie van de bits mogelijk is. Bij alledrie de netwerken gaat de FC layer naar 2N, zelfs bij Eve, omdat ze niet willen uitsluiten dat Alice verzuimt om de sleutel te gebruiken en dat Eve daarvan profiteert.

Tenslotte doen ze een aantal layers om het aantal bits weer terug te brengen naar N, want er moet een ciphertext (bij Alice) of een plaintext (bij Bob en Eve) van dezelfde lengte uit komen. Aangezien de eerste layer al volledig vrij kan bepalen welke bits met welke mogen interacteren, hoeven de overige layers niet FC te zijn, dus gebruiken ze convoluties.

De precieze samenstelling van de convoluties (window size, stride, aantal layers enzovoorts) is arbitrair, maar neurale netwerken vereisen nu eenmaal een beetje nattevingerwerk. Waarschijnlijk hadden de auteurs op basis van eerdere ervaring een vermoeden van wat goed zou gaan werken en hebben ze daar een aantal varianten van geprobeerd. De variant die ze hier publiceren werkte blijkbaar het best. Ik lig daar niet wakker van, en weet hoe ik zelf een vergelijkbaar experiment zou kunnen uitvoeren als ik dat zou willen.

Dat gezegd hebbende, geef ik je wel gelijk dat de wetenschappelijke opbrengst van dit artikel beperkt is. Ik denk niet dat iemand die verstand heeft van neurale netwerken hierdoor verbaasd zal zijn. Je moet het denk ik ook meer zien als een klein R&D experiment van Google, waarvan de medewerkers nog de moeite hebben genomen om hun conclusies op arXiv te dumpen. In deze post heb ik nog iets over de motivatie geschreven.
het enige wat op termijn lukt is dat Bob begrijpt hoe Alice encrypt.
En dat is precies de strekking van encryptie; dat enkel de ontvanger het bericht "snapt" of kan inzien, en eventuele derde partijen niet.
Het is inderdaad vreemd dat zoals het artikel meldt Alice alleen als doel zou hebben om Eve het niet te laten kunnen decrypten.
Even de bron bekeken en het blijkt dat Alice en Bob niet apart maar samen winnen als Bob beter decrypt dan Eve. Niet erg ambitieus maar dat wordt wel behaald.
Het doel zoals jij het correct omschrijft zou behaald zijn als de error rate van Eve weer naar 8 zou gaan.
Zo zijn we goed voorbereid voor het gevecht met de Borg bij Wolf 359 nadat Q ons met zijn idiote kinderachtige gedrag heeft voorgesteld aan deze gigantische metalen verhuizdozen vol met halfrobots.
Het is misschien moeilijk voor te stellen :+ maar volgens recente voorspellingen van o.a. Prof. S. Hawking zullen wij een zelfde lot ondergaan indien wij deze weg bewandelen doordat A.I.'s ons op ten duur door toedoen van een veel "snellere evolutionaire intellectuele groeicurve" die non artificieel onmogelijk is bij te houden en ons dus zullen wegconcurreren. Men is momenteel zelfs aan het nadenken over nog meer extra ingebouwde ethische veiligheidsprotocollen. Misschien niet helemaal met jou fictieve Startrek scenario te vergelijken ;) maar goed... Je krijgt er I.R.L wel een Skynet achtig gevoel bij! :) P.s. Dit alles als gevolg van de menselijke ijver om de dood te overwinnen en daarmee de kosmos te exploreren.
Ik wil niet lullig doen, maar Stephen Hawking is een sterrenkundige. Hij schijnt best wel slim te zijn, maar als hij uitspraken doet over AI moet je die toch met een korreltje zou nemen. Daar heeft hij namelijk geen kaas van gegeten.

Hetzelfde geldt trouwens voor Elon Musk. Koop vooral alle producten van al zijn bedrijven, maar neem hem niet te serieus als hij voorspellingen doet over AI. Hij is daar niet voor opgeleid.
Ik beschouw het ook niet als lullig, Hawking is overigens natuurkundige, kosmoloog en wiskundige. Misschien niet het grootste orakel op dit specifieke terrein maar we mogen dit soort mensen toch wel iets serieuzer nemen dan een gemiddelde schoenmaker die niet bij zijn leest blijft. Musk ken ik alleen van zijn innovatieve ondernemers kwaliteiten en zijn exploratieambities maar niet van zijn baanbrekende empirische prestaties.

Op dit item kan niet meer gereageerd worden.