Datorer som härmar våra hjärnor

shane-rounce-229914-unsplash.jpg

Vi har här på tech-talk berört ämnet AI eller Artificiell Intelligens tidigare när vi pratade om framtidens robotar. Men ämnet AI är ett nästintill outtömligt område som berör så många olika delar av våra liv och hjälper vår teknik framåt på nästan magiska vis. Häftigast att prata om är hur mjukvaruutvecklare försöker få datorer att tänka, ta beslut och lära sig som den mänskliga hjärnan gör. Men innan vi dyker in i det som kallas för neurala nätverk och deep learning så måste vi förstå lite grundläggande ord och hur de passar in i AI världen:

  • AI – Artificiell Intelligens, är ett övergripande ord som beskriver hur vi kan få datorer att lösa problem åt oss på ett ”smart” sätt.
  • Machine learning – Machine learning är en form av AI och beskriver system som lär sig att se mönster genom att tränas på stora mängder data som kan vara i form av t.ex. text eller bild.
  • Neurala nätverk – Neurala nätverk är en specifik form av machine learning som jobbar med noder i ett nätverk. Denna logik härmar hjärnan i hur skickar elektroner mellan neuroner och gör att detta AI kan vara mycket mer nyanserat i sitt utfall.
  • Deep learning – Deep learning används för att beskriva mycket komplexa neurala nätverk som har många så kallade nivåer. Deep learning system är byggda för att lösa komplexa problem vars nyanser den mänskliga hjärnan utan problem kan tolka.

För våra hjärnor är helt fantastiska. Det är nästan magiskt hur de lär sig själva att tolka sin omgivning via information de får in från våra sinnen och sedan kan ta logiska beslut utifrån dessa intryck samt tidigare erfarenheter. En så enkel sak som att kunna läsa handskriven text är något som våra hjärnor kan göra på bråkdelen av en sekund trots att olika personers handstil inte ens behöver vara lika det vi är vana att se. Att försöka få en dator att härma denna egenskap är en kombination av att ha smarta algoritmer (lösningsprocesser), starka datorer men framförallt mycket data som man kan öva upp systemet på. Våra hjärnor jobbar med neuroner som kan ta emot, bearbeta och skicka iväg information men ett neuralt nätverk jobbar istället med så kallade noder och det mest grundläggande neurala nätverken jobbar med artificiella neuroner som heter perceptrons.

Nedan kommer jag försöka beskriva en mänsklig beslutsprocess utifrån hur en perceptron hade kunnat hantera datan.

Du är sugen på att gå på bio, men du vill helst inte gå om det är varmt ute (mer än 18 grader) för då vill du hellre vara utomhus, du vill helst se filmen tillsammans med din bästa vän och du vill sitta på platser i mitten av salongen. Precis som att man i huvudet väger dessa krav/data mot varandra och prioriterar vad som är viktigast så måste en perceptron i ett neuralt nätverk förstå vad som är viktigast för dig för att utfallet ska bli rätt.

Är det viktigare att du kan gå med din vän än att det inte är för varmt ute? Eller är det absolut viktigaste att du får sitta i mitten?

 

Säg att din vän kan gå med dig då skickar man in värdet 1 till perceptronen, kan du inte gå med din vän så skickar du in 0 till perceptronen. Om alla tre sakerna måste stämma för att du ska vilja gå så måste perceptronen helt enkelt få in 3 stycken ”ja” eller ettor. Så om summan är 3 så kommer perceptronen att skicka ut ett ”ja du ska gå på bio” eller på datorspråk en 1a. Men ofta är det så att vissa saker väger tyngre än andra, det kanske är viktigare för dig att din kompis kan gå än att vädret är svalt. Då kan man göra så att vissa parametrar är viktigare än andra. T.ex. så kan man säga att om summan i perceptronen är 4 eller högre då kommer den att skicka en 1a dvs ett ”ja du ska gå på bio” och sedan säga att väder-parametern har värdet 2, kompis-parameter har värdet 4 och plats-parametern har värdet 2. Då betyder det att om kompisen kan gå så spelar de andra två grejerna ingen roll utan du kommer att gå ändå. Kan kompisen inte gå men vädret är svalt och du får den plats du vill så kommer du även att gå.

En perceptron kan därför ritas såhär där x1, x2 och x3 är de olika parametrarna som styr vad som i slutändan kommer att ske:

 Bild källa:  Neural Networks and Deep Learning

Bild källa: Neural Networks and Deep Learning


Dessa perceptrons kan sedan kopplas ihop till ett nätverk som då kan ta väldigt specialiserade beslut som beror av väldigt många parametrar och beslut från tidigare perceptrons och därmed även öka nyanseringen på de beslut som tas. Ett exempel kan ses nedan på hur flera perceptrons ser ut ihopkopplade:

                             Bildkälla:   Neural Networks and Deep Learning

                            Bildkälla: Neural Networks and Deep Learning

Ett tydligt exempel på ett avancerat AI är det byggt av Google ägda företaget DeepMind som skapade denna virtuella miljö där denna figur lärde sig själv av gå/springa genom att ha virtuella sensorer och uppmaningen om att ta sig från punkt A till punkt B.

 
 

Ett annat Ai vid namn AlphaGo Zero har även lärt sig själv att spela det kinesiska spelet GO utan att några människor har lagt sig i inlärningsprocessen.

 
 

Tydligt är att vi rör oss snabbt framåt med AI tekniken och snart kanske dessa smarta system kan komma på hur vi ska lösa världsproblem som våra hjärnor inte klarar av! 

Källa: https://www.cgit.se/nyheter/vad-ar-deep-learning, http://neuralnetworksanddeeplearning.com/chap1.html, Human Brain and Neural Network Behavior: A Comparison, https://courses.cs.washington.edu/courses/csep590/06au/projects/history-ai.pdf

Maria HjorthComment