Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 30 reacties

Twentse onderzoekers hebben een schakeling ontworpen die als zestien verschillende logische schakelingen geconfigureerd kan worden. De schakeling bestaat uit een ordeloos netwerk van gouden nanodeeltjes en kan evolueren om Booleaanse functies uit te voeren.

Het artikel over de schakeling is maandag in het tijdschrift Nature Nanotechnology gepubliceerd. Wilfred van der Wiel, natuurkundige en professor in de nanotechnologie aan de Universiteit Twente legt uit waar het idee vandaan kwam om een dergelijke schakeling te maken. "Nu maken we logische schakelingen van heel veel transistoren en die chips maken we volgens de Von Neumann-architectuur met blauwdrukken voor bepaalde functies. Er zijn al een aantal mensen geweest die hebben gezegd: dat werkt heel goed, maar gooien we in dat proces van ontwerp niet heel veel potentiële rekenkracht weg? Dat is de prijs die je betaalt door in die vaste blokken te denken. Mooi voorspelbaar, minder krachtig."

Dat laatste is volgens Van der Wiel jammer. "Waarom doen we geen inspiratie op bij het brein? Het zit anders in elkaar, niet lineair, maar werkt heel snel omdat er zo veel operaties parallel lopen, iets wat bij een conventionele processor niet gebeurt. Daar gaat het altijd sequentieel, via een klok. De individuele componenten van het brein zijn wel traag, maar door de parallelle werking is het brein wel heel krachtig."

Daaruit kwam de vraag voort of het niet mogelijk zou zijn om iets met 'dode materie' te maken waarmee dat niet-lineaire proces na te bootsen is. Dat deden de onderzoekers in dit geval met gouden nanobolletjes. Bij een temperatuur onder de 5 kelvin of -268°C gedragen die zich als zogenaamde enkele-elektrontransistors. Door een enkele-elektrontransistor kan maar één elektron tegelijk bewegen, mits de juiste spanning erop staat.

Dat laatste is van belang, zegt Van der Wiel: "Als je een extra elektron op een stukje metaal wil zetten, van in dit geval maar 20 nanometer, dan zitten die elektronen als het ware op elkaars lip en merk je heel veel van elkaars afstoting. De meeste tijd laat dit systeem daarom geen stroom door, een fenomeen dat Coulomb-blokkade wordt genoemd. Deze blokkade kan opgeheven worden door een heel klein beetje spanning op het nanobolletje te zetten, waardoor er wel stroom doorheen kan. Dan staat dat basale transistortje in de aan-stand."

"Als je dan uitzoomt", vervolgt Van der Wiel, "dan zie je een heel sterke, niet-lineaire elektrische component. Als je al die deeltjes bij elkaar brengt in een wanordelijk netwerk, dan hou je nog steeds afzonderlijke eilandjes door een moleculaire schil van slechts één nanometer dik rondom de gouden bolletjes. Elektronen kunnen echter nog steeds van de een naar de ander hoppen. We maken zo een netwerk van al die niet-lineaire schakelaartjes. Toen dachten we: als we dat doen, hebben we dan een voldoende complex systeem om functionele schakelingen te bouwen?" En inderdaad, dat bleek te kunnen.

Het netwerk van gouden nanoballetjes is ongeveer 200 nanometer groot en de balletjes afzonderlijk hebben een diameter van 20nm. Die zijn allemaal capacitief aan elkaar gekoppeld, waardoor veel cross talk optreedt. Dat laatste wordt normaal gesproken zo veel mogelijk geëlimineerd, maar de Twentse onderzoekers hoefden zich daar bij dit ontwerp geen zorgen over te maken omdat er gebruik gemaakt wordt van een 'genetisch algoritme'.

Van der Wiel: "Omdat we een genetisch zoekalgoritme gebruiken, kunnen we alle soorten fysica die er zijn, gebruiken. Zo gooien we niks overboord. Dat betekent dat we zonder ontwerp ook geen ontwerpfout maken, dus zijn we tot op zekere hoogte ook ongevoelig voor defecten. Zijn er twee balletjes die kortsluiting maken, dan evolueer je daaromheen. Als je maar genoeg knoppen hebt om aan te draaien kunnen we die logische schakeling wel vinden."

Hier moet uiteindelijk een werkende schakeling uit voortkomen. Dat werkt als volgt: het netwerk is verbonden met negen elektrodes. Twee zijn inputs en er is een output. De overige elektrodes worden gebruikt als configuratie-elektrodes. "Op de inputs zetten we simpele pulstreintjes, nul of een, en dan kijken we wat er bij de output uitkomt. De inputs liggen vast. Wordt er dan bij de output niet het gewenste gedrag gemeten, dan ga je aan de knoppen van de zes configuratiespanningen draaien, waarna je kijkt of de output er al meer op lijkt", zegt Van der Wiel. Met het aanpassen van de spanning via de zes elektrodes, verandert het potentiaallandschap van het netwerk van nanodeeltjes. "Welk deeltje wat doet, weten we niet precies. Omdat er zo veel mogelijkheden zijn, gebruiken we een genetisch algoritme. De beste sets van configuratiespanningen ga je laten cross breeden en dergelijke. Alle trukendozen van natuurlijke evolutie kun je toepassen in deze genetische evolutie."

De gewenste uitkomst bij de paper van de onderzoekers van de Twentse Mesa+- en CTIT-instituten was een netwerk dat zich gedroeg als een logische functie, zoals een AND, NAND, OR, NOR, XOR of XNOR. Om hier te komen werd dus gebruik gemaakt van kunstmatige evolutie, iets waarbij zelfs mutaties voorkomen of, zoals Van der Wiel besluit, "soms heb je een lucky shot waarbij je uitkomt bij een veel geschiktere oplossing, je blijft niet in een lokaal optimum hangen."

darwin on a chip

Artist impression van de lay-out van de schakeling. De gouden bolletjes zijn ongeveer 20nm groot. Verder zorgen twee van de elektrodes voor de input van spanning en is er output-stroom. De overige zes elektrodes zorgen voor de controle van de schakeling. Mocht je een elektrode missen: er zit nog een aan de onderzijde.

Moderatie-faq Wijzig weergave

Reacties (30)

Gaaf! Tijdens mijn bacheloropdracht aan de Universiteit Twente heb ik aan een soort proof-of concept op grote schaal hiervan gewerkt. Goed te zien dat het nu in het klein ook gaat lukken. Zelf werkte ik met een grote bak tennisballen in plaats van gouddeeltjes. Daar plaatsten we een schakeling in (een stuk complexer dan de beoogde NAND gate, maar ach) en elke bal werd van 6 aluminium elektroden voorzien. Vervolgens 16 elektroden op de binnenkant van de bak, koppelen aan de pc en zoeken maar!

Het grote voordeel van deze techniek is trouwens niet meer rekenkracht vergaren. We lopen tegen de limitieten van lithografie aan en moeten dus van 2D naar 3D processorontwerpen toe. En dan niet een paar laagjes processoren: dezelfde resolutie alle kanten op.

Dat kan op grofweg 2 manieren, die beide leunen op self-assembly. Optie 1 is perfecte structuren laten groeien volgens een vast ontwerp, analoog aan wat we nu in 2D doen. Echter: elke onzuiverheid in je structuur betekent potentieel een niet werkend geheel.

Dit onderzoek focust op de andere optie: je mikt je processorgrondstof in een bak en programmeert je processor achteraf. Je hebt meer deeltjes nodig voor een bepaalde logische functie, maar die kunnen wel heel klein zijn. Precisie is ook geen issue meer. De volgende stap is misschien wel om al die gevonden logische gates in te pakken en samen in een grotere bak te gooien, en op zoek te gaan naar een complexer circuit.
Soort fpga dus. Het zoeken naar de juiste configuratie en die vast leggen is wel weer een uitdaging lijkt me.
Zie het als een hardware-implementatie van een zelflerend neuraal netwerk.
Ik begrijp nog steeds niet de basis van dit artikel.
Er zijn schakelaars gebouwd die zichzelf kunnen aanpassen en daardoor kunnen ze complexe structuren vormen? Wat ik ook niet begrijp is waarom er gouden nanobolletjes nodig zijn, waarom de tempteratuur 5 Kelvin moet zijn, en waarom er uberhaupt wordt gedacht in "schakelaars". Wat is het probleem dat hier geprobeerd wordt om op te lossen: het bouwen van een evolutionaire schakelaar of het bouwen van iets wat gebruik maakt daarvan? Er zijn meer dingen die ik niet begrijp in dit artikel.
Misschien is het dan handig om wat van de basis erbij te pakken:

Goud wordt vaak gebruikt in elektronica vanwege de goede geleiding.
Een lage temperatuur zorgt voornamelijk voor minder lekstroom.
Nanobolletjes hebben over het algemeen andere eigenschappen dan een zichtbaar blok van het materiaal.

Uit het artikel is te halen dat de nanobolletjes als het ware vol zitten met elektronen, en er daardoor niet zomaar een verplaatst. Met de kennis van de temperatuur weet je dat deze eigenschap wordt versterkt. Ondanks de goede geleiding van goud, zitten de elektronen dus goed op hun plek. Maar als ze toch verplaatst (geschakeld) moeten worden, is een goede geleiding belangrijk.

Het evolutionaire gedeelte kan je vrij letterlijk nemen: Het systeem past zich aan de omgeving aan. In dit geval is de omgeving de hoeveelheid spanning die op de 6 punten staat.

Er wordt gedacht in schakelaars omdat afhangende van de spanningen, en de input, er een bepaalde output uit komt. In het artikel wordt het voorbeeld gegeven van logic gates. Wikipedia heeft een goede basisuitleg hiervan.

De conclusie van dit alles is dat de verschillende logic gates hiermee kunnen worden samengebracht, waarmee er minder schakelingen nodig zijn om tot een resultaat te komen.
Ik denk dat iets als de hersenen geprobeerd wordt te simuleren. Bij de hersenen liggen ook niet alle verbindingen tussen de neuronen van te voren vast. Maar toch komt er iets zinnigs uit. Spontaan weten we boter, kaas en eieren op te lossen, zonder dat de spelregels van het spel in het DNA zitten. De verbindingen tussen de neuronen zullen ook bij elk mens verschillend zijn. Wat hier gebeurd is dat schakelaars (de goud deeltjes) willekeurig aan elkaar worden gekoppeld. En dat vervolgens wordt gekeken of er door bij te sturen iets zinnigs uit kan komen. Het is gelukt om logische gates te maken.

Het idee is dat je niet een precieze blauwdruk hoeft te hebben om een schakeling (iets anders dan een schakelaar, een AND-gate bijvoorbeeld) te maken. Dat stuur je achteraf bij.

De gouden nanodeeltjes gedragen zich van zichzelf al een beetje als schakelaars bij lage temperaturen. Ze zijn daarom geschikt om experimenten mee te doen. Ze moeten klein zijn, omdat macroscopische deeltjes niet de gewenste eigenschappen hebben. De gewenste eigenschappen doen zich ook alleen maar voor bij lage temperaturen. Maar in principe hadden ze wellicht ook neuronen als schakelaars kunnen gebruiken voor een gelijksoortig experiment, maar dat is een heel andere tak van sport. Nog andere systemen waren misschien ook mogelijk, maar die weet ik zo snel niet.

De vraag is natuurlijk als we steeds meer gouddeeltjes bij elkaar stoppen, of het dan niet te complex voor ons wordt om het bij te sturen. Dat zal zeker het geval zijn. Dus dan moet er iets komen waardoor het systeem zichzelf kan bijsturen. De hersenen lukt het bij het groeien. Dus onmogelijk is het niet.

Dit systemen van aan elkaar geklitte bollen heeft heel andere eigenschappen dan precies aan elkaar gekoppelde transistoren. De praktijk zal moeten uitwijzen of er uiteindelijk iets bruikbaars uit komt.
Van der Wiel: "Omdat we een genetisch zoekalgoritme gebruiken, kunnen we alle soorten fysica die er zijn, gebruiken. Zo gooien we niks overboord. Dat betekent dat we zonder ontwerp ook geen ontwerpfout maken, dus zijn we tot op zekere hoogte ook ongevoelig voor defecten. Zijn er twee balletjes die kortsluiting maken, dan evolueer je daaromheen. Als je maar genoeg knoppen hebt om aan te draaien kunnen we die logische schakeling wel vinden."
Ik vind dit tot op zekere hoogte een beetje "wishful thinking". Zonder ontwerp kun je geen ontwerpfouten maken maar als je genoeg knoppen nodig hebt waar je ook nog goed aan moet draaien, dan ben je op zekere hoogte ook bezig met ontwerpen. Maar dan het gedrag van het algoritme die bijvoorbeeld om kortsluitingen heen evolueerd. Als je daar fouten in maakt krijg je ook defecten. Omdat er zoveel combinaties zijn waarmee dingen fout en goed kunnen gaan die men moeilijk allemaal van te voren kan bedenken. En kun je ook lastig de knoppen van te voren bedenken en goedzetten. En als je dan de configuratie van het algoritme moet wijzigen kan dat weer invloed hebben op andere combinaties. Het enige wat ik zie gebeuren is dat ze het probleem waar defecten optreden vanwege ontwerpfouten verschuiven naar de knoppen en hun waarden daarvan.
[...]


Ik vind dit tot op zekere hoogte een beetje "wishful thinking". Zonder ontwerp kun je geen ontwerpfouten maken maar als je genoeg knoppen nodig hebt waar je ook nog goed aan moet draaien, dan ben je op zekere hoogte ook bezig met ontwerpen.
Ik denk meer dat hij het zo bedoelt, dat je 2 ontwerploze "apparaten", die allebei dezelfde output hebben, maar andere interne opbouw. Denk maar aan een brein. Twee mensen kunnen allebei fietsen, maar dat deel van de hersenen dat daarvoor verantwoordelijk is, is zeker niet identiek.
ontwerpen betekend dat je gericht schakelingen gaat maken in de context van hun probleemstelling. Dat is niet wat ze hier doen. Je argument is een beetje semantisch van aard ;)
Ben ik niet met je eens. Ik vind dat jij hem symantisch maakt. Doormiddel van het aanbrengen van knoppen en het bepalen van de waarden daarvan moet je een bepaald doel voor ogen hebben. Om dit doel te bereiken moet je de juiste knoppen met de juiste waarden ontwerpen. Natuurlijk maken deze knoppen het mogelijk om combinaties te maken die van te voren niet ontworpen zijn/hadden kunnen worden. Mijn ervaring met genetische algoritmes is dat het bedenken van de juiste knoppen en hun waarden net zo goed een onderdeel van het ontwerp is als het maken van een deterministisch model. Je verschuifd alleen het ontwerp waar men absoluut een voordeel uit kan halen. Maar het is net zo goed een ontwerp net als het ontwerpen van een deterministisch model.
Je kan het ook inregelen noemen. Evengoed lijkt het voor de hand te liggen dat het inregelen een lastige klus is die ook nogal flink met de beoogde complexiteit zal toenemen.
Deels overlappend, maar ook extra info:
Neuraal netwerkend nanogoud
Vet! Als ik het goed begrijp moet je dus wel heel veel proberen totdat de juiste/gewenste configuratie gevonden is, maar werkt de schakeling vervolgens wel sneller dan een conventionele schakeling en is het mogelijk de schakeling te veranderen in iedere andere schakeling.

Ik vraag me wel af of het echt mogelijk is om hiermee alle gewenste schakelingen te maken en of de schakeling niet verandert als dezelfde configuratie langere tijd wordt aangehouden.
Dan heb ik misschien een stomme vraag gezien ik totaal niet thuis ben in deze materie. Maar als ik het goed heb gelezen dan is dit eventueel een proof of concept voor een compleet ander cpu ontwerp. Maar als ik dan bij parallel uitkom dan moet ik meteen denken aan een GPU. Deze kan ook zeer goed parallel werken.

Maar als je het zelfde wilt als hier boven kun je dan niet proberen zoveel mogelijk kleine cores op een cpu plakken a la gpu? Dat je bijvoorbeeld elke core 100 transistors groot laat zijn maar dan opvult naar het niveau van nu (volgens mij zaten we al op de 6 biljoen transistors?) Dan kun je toch ook zeer goed parallel werken?
Je moet eens kijken naar fpga's en hoe die werken. Het ontwerp van de onderzoekers kun je vergelijken met een grote fpga waarvan de architectuur niet vast ligt. Door middel van proberen en 'evolutie' wordt de juiste architectuur voor de gewenste schakeling verkregen.
Voorlopig is het een soort gok maar ik denk dat ze het straks toch kunnen sturen?
bv het brein, elk kind kan leren fietsen maar als we kijken hoe dat in elk kind zijn brein gebeurd dan zijn er verschillen.

Een cpu die eerst getraint moet worden voor de taken die het uit moet voeren.
Niet alleen langere tijd een zelfde schakeling volhouden maar ik vraag me ook af of het wel echt zo efficiŽnt is. Immers 20nm * x bolletjes om een or/nor/xor etc schakeling te maken klinkt nog al groot. Misschien wel snel maar wat betreft aantal schakelingen per vierkante mm lijkt een standaard oplossing toch net even efficiŽnter gebruik te maken van de beschikbare ruimte.

Ook denk ik inderdaad dat al het pielen om een gewenste schakeling te krijgen leuk is op een kleine schaal maar probeer nu eens een complexe schakeling te maken die een specifiek doel dient. Het aantal inputs gaat om hoog, de hoeveelheid combinaties en ook en daar komt ook bij dat de daar op volgende staat van de input weer invloed zal willen hebben op het resultaat van de vorige input, dat in combinatie met vele output kanalen en het geheel lijkt wat lastig te maken. Ik vermoed dat anders dan een leuk onderzoek die niet echt veel verder gaat komen omdat het niet betrouwbaar en op grote schaal te maken is.
Zelfs als het je lukt om een supersnelle zeer efficiŽnte schakeling te maken die precies doet wat je wil, kun je dat dan nog 10.000x doen? Of is het toch wat lastig om de gouden bolletjes precies op de zelfde positie ten opzichten van elkaar te krijgen? Hoe lang duurt het om een complexe schakeling precies zo te laten werken als jij wil, en al de controle spanning zo belangrijk is kun je dat gedurende het leven van de schakeling gelijk houden? Om nog maar niet te spreken van het kleine probleem van de temperatuur (toch best lastig die 5 kelvin)

Mijn interpretatie is dus leuk idee maar erg lastig om dit buiten het lab nuttig in te zetten.
Ik denk dat je op zich helemaal gelijk hebt, ware het niet dat de eerste computers van het 'huidige soort' ook zo ongelooflijk groot en lomp waren, dat je in dat kader ook kunt spreken van 'alleen maar bruikbaar in het lab'. Als voorbeeld: de vader van een goede vriend vertelde onlangs dat hij vroeger op de wiskundefaculteit van de RUG werkte, en ze daar op een gegeven moment hun eerste (wetenschappelijke) computer hadden. In de winter, als de straatlantaarns brandden en hij rond 17 uur de deur uit ging, kon hij zien dat de computer uitschakelde omdat de straatlantaarns dan even een stukje feller gingen branden. Eťn computer (met waarschijnlijk minder rekenkracht dat het huidige mobieltje in je broekzak) die genoeg stroom trekt om het stadsnet te beÔnvloeden: zoiets kan alleen maar geschikt zijn voor laboratiumgebruik. Toch hebben die grootouders van onze huidige mobieltjes ervoor gezorgd dat je nu een heel sjieke computer op zakformaat hebt.

Moraal van dit verhaal: misschien is deze uitvinding als prototype nog totaal ongeschikt om te concurreren met de huidige state-of-the-art computers; mogelijk draagt het wel bij aan een soort techniek die we over X jaar allemaal gebruiken :)
En wat nu als het "draaien aan de knoppen" nu onderdeel is van de output van het systeem?
Pure non-lineair proces welke zichzelf stuurt. Je zou dan wel een "natuurlijke selectie" moeten kiezen in het systeem zodat deze evolueerd naar het optimum in de "omgeving".
Pure non-lineair proces welke zichzelf stuurt.
Stuurt, waar naar toe? Sturen impliceerd een doel. Een doel wordt geformuleerd door de ontwerper.
Je zou dan wel een "natuurlijke selectie" moeten kiezen in het systeem zodat deze evolueerd naar het optimum in de "omgeving".
Precies! Iemand moet een keuze maken wat de fitness bepaald van een uitkomst om te bepalen of je deze generatie verder gaat gebruiken om mee te kruizen. Daarom heeft het ook niks met natuurlijke selectie te maken. De selectie wordt namelijk gedaan door de ontwerper omdat de ontwerper een bepaald doel heeft waar hij naar toe wilt.
[...]
Precies! Iemand moet een keuze maken wat de fitness bepaald van een uitkomst om te bepalen of je deze generatie verder gaat gebruiken om mee te kruizen. Daarom heeft het ook niks met natuurlijke selectie te maken. De selectie wordt namelijk gedaan door de ontwerper omdat de ontwerper een bepaald doel heeft waar hij naar toe wilt.
Natuurlijke selectie werkt ook alleen als er genoeg 'bedreigingen' zijn die een foutief exemplaar om zeep helpen als het niet aan je eisen voldoet, en als het systeem zichzelf kan herconfigureren ("voortplanten") tot een nieuwe generatie.

Het idee van natuurlijke selectie is niet dat er lukraak en willekeurig een berg configuraties worden geprobeerd tot er ťťntje is die wel door het filter heen komt. ;)
En wat nu als het "draaien aan de knoppen" nu onderdeel is van de output van het systeem?
Pure non-lineair proces welke zichzelf stuurt. Je zou dan wel een "natuurlijke selectie" moeten kiezen in het systeem zodat deze evolueerd naar het optimum in de "omgeving".
Regelsysteem! ;)
Heel gaaf, weet iemand de titel van de paper?
Edit: gevonden de titel is:
Evolution of a designless nanoparticle network into reconfigurable Boolean logic
link naar Nature: http://www.nature.com/nna.../full/nnano.2015.207.html

[Reactie gewijzigd door antubus op 22 september 2015 09:07]

Fyi, de Nature-link is de eerste link in het artikel he ;)
Okee, dat was niet zo slim van mij |:(
Ah joh, maakt niet uit ;) Ik moet ook zeggen dat we de boel ook wat verdekt opstellen ;)
Dit gaat duidelijk boven mijn niet-wetenschappelijke pet ;)

Kan iemand mij uitleggen wat je hier nou in de praktijk aan hebt, wat voor een voordeel behaal je ermee? Of is dit niet te vertalen naar praktijkvoorbeelden waar Pietje Puk in het dagelijks leven mee te maken heeft?
Kan iemand mij uitleggen wat je hier nou in de praktijk aan hebt, wat voor een voordeel behaal je ermee? Of is dit niet te vertalen naar praktijkvoorbeelden waar Pietje Puk in het dagelijks leven mee te maken heeft?
Schakelaars worden door computers gebruikt om beslissingen te nemen. Bijvoorbeeld:
  • als die ene toets wordt ingedrukt, dan moet op het scherm de letter "a" worden afgebeeld;
  • als de optelling van 4 + 8 groter is dan 9, dan moet hij "1 onthouden";
  • als het geheugen vol zit, dan moet er een foutmelding komen;
  • etc.
In jouw telefoon zitten miljoenen, zo niet miljarden schakelaartjes. Die dingen heten transistors. Zonder die dingen werkt je telefoon niet. Als je die dingen kunt verbeteren, sneller maken, kleiner maken, efficienter maken etc, dan wordt je telefoon beter, sneller, kleiner, krachtiger etc.

[Reactie gewijzigd door Jael_Jablabla op 22 september 2015 20:32]

Het enige wat het mist is een soort leerfunctie waarmee de optimale schakelingen worden vast gehouden. Schakelingen zijn nu los en het is elke keer random ook al was de vorige schakeling meer optimaal dan de huidige. Maar het begin is er, van iets revolutionairs, een parallel brein :)

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True