Connecting the Dots https://connecting-dots.aalto.fi Tue, 18 Feb 2020 09:11:55 +0000 en-US hourly 1 https://wordpress.org/?v=5.3.14 The Brain, Energy & Power https://connecting-dots.aalto.fi/brain-energy-power/ Tue, 04 Feb 2020 12:18:15 +0000 https://connecting-dots.aalto.fi/?p=308

The brain takes around 20% of the body’s daily energy consumption.

Converted into power, that means 12.6 watts—equivalent to a bright LED lamp.

There are about 1014 synapses, connection points between neurons, in the brain.

That’s quite an efficient bundle of neurons!

]]>
Problem-solving in the Wild https://connecting-dots.aalto.fi/problem-solving-in-the-wild/ Tue, 04 Feb 2020 12:05:57 +0000 https://connecting-dots.aalto.fi/?p=306 What’s difficult for humans is sometimes easy for computers, and what’s easy for humans is sometimes difficult for computers. Why is this?

Computers do very well with problems that have a well-defined set of rules. Take a game of tic-tac-toe, for example: from placing the first X, computers can easily simulate all possible future states of the game.

If you try to do the same—think about all possible movements that can be done on a single turn, and on each turn after that, until the end of the game—you will probably have a hard time without the help of pen and paper. This is because we can process a much more limited amount of this type of information at a time than a regular computer. However, through practice, you will learn to estimate what’s likely to happen next.

Computers have their limits, too: more complex games create more possible states, which takes a toll on computing power. A regular computer can be a worthy tic-tac-toe opponent just fine, but to train a neural network to the level of an expert player of, say, chess or go—you need a supercomputer (or a completely different approach to computing than our current solutions).

Robotics in natural environments poses an even greater challenge for computing, because for a robot, our environment is complex and unpredictable. To physically move a chess piece, it needs to calculate its distance to the piece, an optimal grip, the weight of the piece, the distance between the piece and the new location on the chess board, any chess pieces in the way, and many more parameters.

]]>
Experiences Invoke Memories https://connecting-dots.aalto.fi/experiences-invoke-memories/ Tue, 04 Feb 2020 12:04:20 +0000 https://connecting-dots.aalto.fi/?p=303 Think of the scent of roses. What memories does it conjure? A leisurely walk in a garden, someone wearing a rosy perfume? In the blink of an eye, you’re able to travel in time through your experiences. The rose leads you to your memories through associations.

You’re able to both have memories out of the things you experience (episodic memory) and memorize new facts without personal experiences (a Japanese rose is rosa multiflora in Latin, and remembering this is a case of semantic memory).

While an artificial neural network certainly does not experience roses the way you do, it can also fetch content from its memory storage in a somewhat similar fashion as you can – if there’s content associated with your search word “cat” in the network, it’s able to return all cat-related instances.
In computer science terms, this is called content-addressable memory. Traditional computer storage can only fetch a memory instance if it is given the exact location of the given instance.

In the history of science, the idea of associations–information grouped together by similarity or co-occurrence–takes us back to ancient Greece: its centrality to human thought was already noted by Aristotle.

During the Enlightenment period in the 18th century, David Hume revisited the idea, laying a cornerstone in the later development of psychology as a field of study. The idea of associations was put into numbers with the development of Hebbian learning and related algorithms, such as self-organizing maps, in the last decades.

]]>
From Neurons to Networks https://connecting-dots.aalto.fi/from-neurons-to-networks/ Tue, 04 Feb 2020 11:58:04 +0000 https://connecting-dots.aalto.fi/?p=298

In order to build flying machines, we don’t build airplanes that flap their wings, or that are made of bones, muscle, and feather.
Likewise, in artificial neural networks, the internal mechanism of the neurons is usually ignored, and artificial neurons are often much simpler than their natural counterparts.
If the goal is to build AI systems rather than to simulate biological phenomena, the electrochemical signaling mechanisms between natural neurons are also mostly ignored.

Join the Elements of AI online course!

The vocabulary in modern artificial neural networks and in the study of human cognition is partially shared – but the explanations behind words often differ.
What is actually different, and what is similar?

Neurons and Perceptrons

What is a neuron? Let’s look into biological neurons and their artificial counterparts. Here’s an illustration of activity between two motor neurons:

You will see that biological neurons and machine learning neurons have little in common.

Communication between biological neurons is electrochemical in nature whereas artificial neurons communicate purely in numbers. What is similar, though, is that both neurons form interconnected networks.

Perceptron: an artificial neuron

The perceptron is a learning algorithm. A perceptron learns associations between inputs and outputs, inspired by how connections between neurons in the human brain work. A perceptron is a classifier: it can sort items into two distinct classes (e.g. a cat or a non-cat).

Delving Deeper

A single neuron can’t process much on its own: some connections between nodes (called weights) and the overall network structure play an important role in the flow of information and learning.

A perceptron becomes a multilayer perceptron—a neural network—simply when we add many perceptrons together.

In artificial neural networks, depth is generated by adding new layers between the input and output layers (the deep in deep learning usually refers to just this). Some of these are called hidden layers because of their in-between location and because we don’t explicitly tell the network what kind of features it should be looking for in each layer.

The structure of a neural network can be anything. A layer may hold many neurons, and neurons may be interconnected in a single layer.

Information may flow from a neuron to another in a feed-forward way, or it can return to previous neurons in a recurrent way. The illustration above shows a toy example of both.

Recurrent neural networks (RNNs) are used in models where consecutive information—or context—a kind of a short-term memory—is important, such as in machine translation.

Learning Changes Neural Connections

In both human and artificial neural networks, when something is learned, connections between neurons become stronger.

In artificial neural networks, these connections are called weights. Weight changes can occur through backpropagation, for example. As the model makes predictions, errors are propagated back, which fine-tunes the interactions between neurons, and changes the weights.

An important difference between artificial neural networks and you: unlike most artificial networks, you do not need to be exposed to the same object multiple times to remember having seen it before.

Although: it’s often said that with humans, the problem is not storage, it’s retrieval! It’s completely normal to “forget” a friend’s name even though you recognize their face. If an artificial neural network recognizes what’s in a picture, it will have no problem fetching the name (and all other information) associated to it.

Generalization

Connecting previous knowledge to new information

Uudenlainen tuoli.

You know that this thing could be used for sitting although you’ve never seen it before. Maybe you would even call it a chair. That’s you using your previous knowledge to generalize into newly acquired information.

Generalizing is also what artificial neural networks can do, but only to an extent. If an artificial network has learned what a chair is by only looking at four-legged wooden stools, it will not be able to classify a Ball Chair as a chair.

Jakkara
Pallotuoli
]]>
Public Perceptions and Artificial Intelligence https://connecting-dots.aalto.fi/public-perceptions-and-artificial-intelligence/ Tue, 04 Feb 2020 10:05:11 +0000 https://connecting-dots.aalto.fi/?p=295 The unclear nature of emerging technologies like AI makes users unsure about what this new technology is, how it will perform, and how it will impact society. Even research discussing the “societal implications” of AI often takes a techno-optimist or a techno-pessimist angle.

A wide array of possibly conflicting meanings, technological frames, and thoughts regarding the emerging technology typically surfaces. We’ve been able to see much of AI-related talk on the news lately. Ultimately, these discussions shape technological trajectories.

We could say that the future development of an emerging technology like artificial intelligence is facilitated or hindered by a shared understanding or perception of AI.

Think, for example, about the deflated hype around nuclear power or gene technology: they are similar emerging technologies that brought about exceptional, futuristic opportunities for society and businesses, but ultimately got marginalized due to severe criticism.

]]>
Datasets, humans, and biases https://connecting-dots.aalto.fi/datasets-humans-and-biases/ Tue, 04 Feb 2020 09:56:40 +0000 https://connecting-dots.aalto.fi/?p=293 A human decides what kind of data machines get and what kind of code they run. Machines do just what they’re programmed to do.

Datasets are created and curated by humans.
For example, labeled images in the gigantic, state-of-the-art database ImageNet have originally been scraped from the Internet, consisting of both stock photos and selfies and everything in between.

The labeling process of these images has been 100% human labor: via an online service, workers were recruited to view images and pick the most appropriate label from a word database (an equally giant, organized list of nouns). This list included neutral words such as “apple” but very loaded ones, ranging from “loser” to racial slurs. As an end result, some of the ImageNet images are very controversially labeled.

With biased data, we can only expect to repeat the same bias in our analysis.

In order to build a model that generalizes well to data outside of the training data, the training data needs to contain enough information that is relevant to the problem at hand. For example, if you create an image classifier that tells you what the image given to the algorithm is about, and you have trained it only on pictures of dogs and cats, it will assign everything it sees as either a dog or a cat. This would make sense if the algorithm is used in an environment where it will only see cats and dogs, but not if it is expected to see boats, cars, and flowers as well.

Join the Elements of AI online course!
]]>
Generative + Discriminative = GAN https://connecting-dots.aalto.fi/generative-discriminative-gan/ Tue, 04 Feb 2020 09:51:32 +0000 https://connecting-dots.aalto.fi/?p=289 Generative Adversarial Networks are a machine learning model family that can learn to “hallucinate” new examples of complex data. GANs may be used for generating images, for instance—so-called “deepfake” images use GANs.

A GAN’s Training Process

The GAN has two parts: a Generator, and a Discriminator. The Generator learns to produce increasingly realistic pictures by randomly making up pictures and showing them to the Discriminator. The Discriminator has a set of real pictures, and it tries to distinguish the made up pictures from the real ones. The generator is programmed to try and fool the discriminator into thinking the made up pictures are real.

When the Generator does trick the Discriminator, it learns what looks like a real image to the discriminator, so over time, the Generator gets better at fooling the Discriminator, and the generated fakes start resembling real pictures.
The competition between these two kinds of models has led to quite convincing results!

]]>
Robotics and Machine Learning https://connecting-dots.aalto.fi/robotics-and-machine-learning/ Tue, 04 Feb 2020 09:47:17 +0000 https://connecting-dots.aalto.fi/?p=285 Robotics means building and programming robots so that they can operate in complex real-world scenarios. In a way, robotics is the ultimate challenge of AI since it requires a combination of virtually all areas of AI:

  • Computer vision and speech recognition for sensing the environment,
  • Natural language processing, information retrieval, and reasoning under uncertainty for processing instructions and predicting consequences of potential actions,
  • Cognitive modeling and affective computing (systems that respond to expressions of human feelings or that mimic feelings) for interacting and working together with humans.

Many of the robotics-related AI problems are best approached by machine learning, which makes machine learning a central branch of AI for robotics.

Machine learning: a very short introduction

If you were tasked to write down a set of rules that define a cat—what exactly does it look like, how does it move?—you would quickly run into trouble. Yet, you know one when you see one, even if you’ve never seen this particular one before.

The laws governing the nature of the real world are often similarly difficult to write down. This is where machine learning comes in: when it’s difficult to write rules down “by hand”, we build algorithms that learn from example.
For instance, a computer vision model learns to recognize cats when it’s shown many examples of pictures of cats, as well as pictures without cats. Machine learning models can be roughly divided into two categories:

Grouping and classifying existing data: Discriminative modeling

Many AI models recognize objects and persons in the world or make predictions about future outcomes of complex processes. A machine learning model can learn to group data into different categories or find similarities between data instances.
These are called discriminative or regression models.

Creating new data: Generative modeling

What about mimicking the actual complexity of the shapes and sounds of the world? Again, it is hard for a human to write a computer program that would be able to draw a realistic picture of every possible cat in every possible environment in the world. Generative modeling aims to discover such rules by looking at data and distilling it down into a “recipe” that enables creation of new data that follows the same pattern. For example, we can give a generative model a bunch of cat pictures and tell it to make new ones.

]]>
Boosting research & human creativity with AI https://connecting-dots.aalto.fi/boosting-research-human-creativity-with-ai/ Tue, 04 Feb 2020 09:41:27 +0000 https://connecting-dots.aalto.fi/?p=283 Methods under the umbrella of AI can be used in various fields.

In research, AI methods are a valuable tool for all kinds of tasks that require classification, identification, optimization, or even finding new combinations and predicting future occurrences.

AI-aided research has brought us support for weather prediction, speech recognition, and the automatic identification of medical imaging scans, just to name some examples. AI methods apply to any area that can be described in numbers.

Generative modeling can also be used to empower creativity. A new AI-provided combination can sometimes solve writer’s block. Creative work can turn into a curation-like task: one can start with a set of images, process it, and hand-pick the best results.

]]>
So, when will robots reach true intelligence? https://connecting-dots.aalto.fi/so-when-will-robots-reach-true-intelligence/ Tue, 04 Feb 2020 09:40:01 +0000 https://connecting-dots.aalto.fi/?p=280 Programs that can solve well-defined problems, such as telling a cat apart from a dog or win a game of chess, are called weak or narrow AI. Recently, computer programs have become rather good at this. Partially autonomous cars, recommendation systems, and image recognition are just a few examples that already exist in everyday use.

A program that could deal with a more complex environment and show human-like intelligence in multiple tasks – like riding a bike by the lake, looking at a view it considers beautiful, and deciding to paint it onto a canvas – would be called strong AI. This only currently exists in science fiction!

So, which one is more intelligent: a spam filter or a speech synthesizer? It’s a silly question, isn’t it? The filter and synthesizer represent narrow AI: they are only “intelligent” in one, very limited, field. Even though a speech synthesizer can produce speech comprehensible to humans, it will not understand what it has produced.

]]>
What is AI? https://connecting-dots.aalto.fi/what-is-ai/ Tue, 04 Feb 2020 09:37:55 +0000 https://connecting-dots.aalto.fi/?p=278 Think of a cake recipe: it has a list of ingredients and instructions. Following the recipe produces a cake. In computer science, the ingredients are our data, the instructions are called algorithms, and the whole recipe is our program. What’s the cake then? It’s the output of the program.

Artificial intelligence is in fact a whole cookbook filled with different algorithms and data!

There is no official definition for what artificial intelligence is. In research, AI is the computational discipline that focuses on the ability of computers and machines to “think”, recognising patterns and relationships in data and to learn from them and to make predictions.

The “intelligence” in modern AI mainly comes from two properties: autonomy and adaptability.

Autonomy is the ability for the program to perform tasks in complex environments without constant guidance by a human user.

Adaptability is a program’s ability to improve performance by learning from experience.

Join the Elements of AI online course!
]]>
Datatiede, robotiikka ja tekoäly https://connecting-dots.aalto.fi/datatiede-robotiikka-ja-tekoaly/ Wed, 11 Dec 2019 14:01:55 +0000 https://connecting-dots.aalto.fi/?p=144

Datatiede on uudehko kattotermi, johon kuuluvat koneoppiminen ja tilastotiede sekä tietyt tietojenkäsittelytieteen osiot, kuten algoritmit, tiedonhallinta ja verkkosovellusten kehittäminen. Datatiede on myös käytännön ala, joka edellyttää kulloisenkin sovellusalan (esim. liiketalouden tai luonnontieteen) ymmärrystä. Tällöin on huomioitava, mitkä ovat kyseisen sovellusalan tavoitteet (eli mitä lisäarvo tarkoittaa), perusolettamukset ja rajoitteet. Datatieteilijöiden työ sisältää useimmiten vähintäänkin pienen ripauksen tekoälyä (mutta harvoin niin paljon kuin otsikoista voisi päätellä).

Robotiikka tarkoittaa sellaisten laitteiden rakentamista ja ohjelmointia, jotka voivat operoida monimutkaisessa reaalimaailmassa. Robotiikka on tavallaan tekoälyn kaikkein suurin haaste, koska se edellyttää lähes kaikkia tekoälyn osa-alueita. Esimerkiksi:

  • Konenäkö ja puheentunnistus mahdollistavat ympäristön havainnoinnin.
  • Luonnollisen kielen käsittelyn, tiedonhaun ja joustavan päättelyn ansiosta ohjeita voidaan tulkita ja mahdollisen toiminnan seurauksia ennustaa.
  • Kognitiivinen mallinnus ja affektiivinen laskenta (järjestelmät, jotka reagoivat tunteiden ilmaisuun tai jotka matkivat tunnetiloja) helpottavat vuorovaikutusta ja yhteistyötä koneiden ja ihmisten välillä.

Paras lähestymistapa monissa robotiikkaan liittyvissä tekoälyongelmissa on koneoppiminen. Tästä syystä koneoppiminen on yksi keskeisin aihepiiri myös tekoälyn robotiikkasovelluksissa.

Tutustu Tekoälyn perusteet -kurssiin!
]]>
Kokemukset herättävät muistoja https://connecting-dots.aalto.fi/kokemukset-herattavat-muistoja/ Wed, 11 Dec 2019 14:01:40 +0000 https://connecting-dots.aalto.fi/?p=151 Ajattele ruusun tuoksua. Minkälaisia muistoja se tuo esiin? Ehkä hupikävelyn puutarhassa tai tutun ihmisen hajuveden? Voit hetkessä matkustaa ajassa kokemustesi läpi. Ruusu vie sinua kohti muistojasi mielleyhtymien kautta.

Muistosi koostuvat niin asioista, joita olet kokenut (episodinen muisti) kuin faktoista, joita et itse ole välttämättä todistanut (japaninruusu on latinaksi rosa multiflora, ja tämän muistaminen on esimerkki semanttisesta muistista).

Vaikka keinoneuroverkko ei tietenkään koe ruusuja samalla tavalla kuin sinä, se osaa noutaa “muististaan” sisältöä hieman samalla tavoin kuin sinäkin. Jos neuroverkosta löytyy hakusanallasi “kissa” sisältöä, osaa verkko noutaa sinulle kaikki kissaan liitetyt muistiedustumat.

Tietojenkäsittelyssä tätä kutsutaan sisältöhakuiseksi muistiksi. Perinteinen tietokoneen muisti voi hakea muistiedustumia vain silloin, jos sillä on täsmällinen osoite muistiedustumaan.

Tieteen historiassa assosiaatioita — samankaltaista tai yhdessä esiintyvää informaatiota — on pohdittu jo antiikin Kreikassa. Jo Aristoteles huomasi assosiaatioiden keskeisen roolin ihmismielessä.

Valistuksen aikakaudella 1700-luvulla David Hume toi assosiaatiot jälleen esiin. Humen työ muodosti myöhemmin tärkeän osan myöhemmin syntyneen psykologian tieteenalan peruskivestä.

Assosiaatioiden periaate saatettiin numeromuotoon hebbiläisen oppimisen ja muiden siihen liittyvien algoritmien, kuten itseorganisoituvien karttojen, muodossa aivan viime vuosikymmeninä.

]]>
Luonnonvaraista ongelmanratkaisua https://connecting-dots.aalto.fi/luonnonvaraista-ongelmanratkaisua/ Wed, 11 Dec 2019 14:01:23 +0000 https://connecting-dots.aalto.fi/?p=154 Ihmisille vaikeat asiat ovat joskus helppoja tietokoneille, ja toisaalta ihmisille helpot asiat ovat joskus tietokoneille vaikeita. Miksi?

Tietokoneet pärjäävät hienosti sellaisten ongelmien kanssa, jotka ovat hyvin määriteltyjä ja joilla on säännöt. Koneet esimerkiksi päihittävät ristinollan varsin helposti: ensimmäisestä ruksista lähtien niiden on helppoa simuloida kaikki mahdolliset tulevat pelitilanteet.

Jos itse yrität samaa — siis ajatella läpi kaikki mahdolliset liikkeet, joita yhdellä vuorolla voi tehdä, ja sitten taas seuraavalla, aina pelin loppuun — on se luultavasti aika hankalaa ilman kynää ja paperia. Tämä johtuu siitä, että me ihmiset voimme käsitellä paljon rajatumman määrän tämäntyyppistä informaatiota kuin perustietokone. Harjoittelun myötä ihmisetkin oppivat ennustamaan, mitä todennäköisesti tapahtuu seuraavaksi.

Tietokoneilla on myös rajansa: monimutkaisemmat pelit tuottavat enemmän mahdollisia tilanteita, mikä verottaa laskentatehoa. Normaali tietokone voi olla mainio ristinollavastus, mutta shakin tai gon ammattilaispelaajan tasolle opetettava neuroverkko vaatii jo supertehokasta laskentaa (tai ihan erilaisia laskentaperiaatteita kuin tietokoneillamme nykyään on).

Luonnollisten ympäristöjen robotiikkasovellukset tuottavat vielä enemmän haastetta laskentaan, sillä robotille ympäristömme on monimutkainen ja huonosti ennustettavissa. Fyysisen shakkinappulan siirtoon täytyy laskea etäisyys nappulaan, sopiva tartuntavoima ja -ote, nappulan etäisyys uuteen aiottuun sijaintiinsa, arvioida tiellä olevat nappulat, ja monta muuta parametria.

]]>
Laskennalliset mallit https://connecting-dots.aalto.fi/laskennalliset-mallit/ Wed, 11 Dec 2019 14:01:09 +0000 https://connecting-dots.aalto.fi/?p=157 Erityisesti luonnontieteissä laaditaan malleja kuvaamaan sitä, miten uskomme asioiden todellisuudessa toimivan. Mallit eroavat laajemmista teorioista siten, että niiden avulla yritetään yleensä kuvata rajattua toimintaperiaatetta usein matemaattisten käsitteiden ja kielen termein.

Malli laaditaan tarkoituksensa perusteella. Otetaan esimerkiksi malli, joka kuvaa napin painallusta.
Jos mallia halutaan käyttää siihen, että tarkasti ennustetaan, miten ihminen painaisi nappia, täytyisi malliin sisällyttää arviot muun muassa lihasvoimasta sekä käden ja liikkeen yhteistoiminnasta. Jos tarkoituksena on vain saada robotti painamaan nappia itse, voidaan luoda malli, joka kuvastaa sille optimaalista napinpainallusta.

Tekoälyn alle mahtuu malleja moniin eri tarkoituksiin. Suurimmaksi osaksi ne keskittyvät jonkin tehtävän tehokkaaseen suorittamiseen, mutta joskus tarkoituksena on myös simuloida ihmismielen toimintaa. Parhaatkin mallit ovat aina arvioita, koska tosimaailman ilmiöt ovat usein paljon monimutkaisempia kuin omat yksinkertaistuksemme.

Kaikki mallit ovat väärässä, mutta joistakin on hyötyä.

George Box
]]>
Koneoppiminen https://connecting-dots.aalto.fi/koneoppiminen/ Wed, 11 Dec 2019 14:00:52 +0000 https://connecting-dots.aalto.fi/?p=160 Jos saisit tehtäväksesi koota listan säännöistä, jotka määrittelevät täydellisesti kissan — miltä se tismalleen näyttää, miten se tarkalleen ottaen liikkuu — saattaisit pian törmätä vaikeuksiin. Tunnistat kuitenkin kissan kuin kissan kissaksi, vaikka et olekaan kohdannut kaikkia maailman kissoja.

Tosimaailman sääntöjä on vaikea listata tarkasti, vaikka haluammekin tarkastella todellisia ilmiöitä. Koneoppimisen avulla voidaankin rakentaa algoritmeja, jotka oppivat esimerkkejä hyödyntäen.

Esimerkiksi konenäkömalli voi oppia tunnistamaan kissoja nähtyään monia kissakuvia — ja vertailun vuoksi kuvia ilman kissoja. Karkeasti koneoppimismallit voi jakaa kahteen luokkaan:

Tietoaineistoa ryhmittelevät ja luokittelevat mallit

Monet tekoälymallit tunnistavat esineitä ja ihmisiä tai tekevät ennusteita tulevaisuuden tapahtumista tai monimutkaisista kehityskuluista. Koneoppimismalli voi oppia ryhmittelemään tietoja eri kategorioihin tai löytämään samankaltaisuuksia aineiston sisällä. Näitä kutsutaan erotteleviksi (discriminative) tai regressiomalleiksi.

Generatiiviset mallit luovat uutta aineistoa

Kuinka sitten matkia maailman monimuotoisuutta? Kuten aiemmin mainittu, on vaikeaa kirjoittaa tietokoneohjelma, joka voisi piirtää tarkasti kaikki maailman kissat. Generatiivisen mallinnuksen avulla pyritään löytämään näitä sääntöjä. Tietoaineistoista tiivistyy “resepti”, jonka avulla voidaan luoda uutta, samoja säännönmukaisuuksia toistavaa aineistoa. Kissoja piirtävälle generatiiviselle mallille annetaan siis liuta esimerkkikissoja, joiden pohjalta se luo uusia kissapiirroksia.

]]>
Hermosoluista hermoverkkoihin https://connecting-dots.aalto.fi/hermosoluista-hermoverkkoihin/ Wed, 11 Dec 2019 13:57:55 +0000 https://connecting-dots.aalto.fi/?p=162

Kun haluamme rakentaa lentävän koneen, paras ratkaisu ei ole lentokone, joka räpyttää siipiään ja joka on rakennettu luista, lihaksista ja höyhenistä.

Samaan tapaan keinotekoisten neuroverkkojen neuronit ovat useimmiten paljon yksinkertaisempia kuin oikeat hermosolut, ja niissä jätetään huomiotta oikeiden hermosolujen sisäiset toimintamekanismit varsinkin silloin, kun tavoitteena on toteuttaa tekoälyratkaisuja eikä simuloida biologisia järjestelmiä.

Tutustu Elements of AI -kurssiin!

Keinotekoisten neuroverkkojen ja ihmiskognition tutkimuksen sanasto on osittain päällekkäistä, mutta selitykset sanojen takana usein eroavat toisistaan.
Mikä oikeastaan on erilaista ja mikä jossakin määrin samanlaista?

Hermosolu ja perseptroni

Mikä on hermosolu? Vertaillaanpa biologisia hermosoluja ja niiden keinovastineita. Alla näet kuvan kahden motorisen hermosolun välisestä toiminnasta:

Ihmisen hermosolun osia ja hermosolujen välistä viestintää.

Huomaat pian, että biologisilla hermosoluilla ja koneoppimisneuroneilla on vain vähän yhteistä. Hermosolujen välinen viestintä on sähkökemiallista, kun taas keinoneuronit viestivät täysin numeroilla. Yhteistä niille on se, että ne molemmat ovat keskenään tiiviissä yhteydessä verkkorakenteessa.

Perseptronin toiminta: painokertoimet ja painotettu summa.

Perseptroni: keinohermosolu

Perseptroni on oppiva algoritmi. Se oppii syötteiden ja tulosteiden välisiä yhteyksiä: toimintaperiaate on saanut innoituksensa biologisten hermosolujen välisistä yhteyksistä. Perseptroni on luokittelija: sen avulla aineistoa voidaan lajitella kahteen luokkaan (esimerkiksi kissa tai ei-kissa).

Sukellus syvemmälle

Yksittäinen neuroni ei voi prosessoida kovin paljoa itsekseen. Painokertoimet, eli tietyt yhteydet pisteiden välillä, sekä koko verkon rakenne, ovat tärkeässä roolissa informaation kulkeutumisessa ja oppimisessa.

Perseptronista tulee monikerrosperseptroni — neuroverkko — yksinkertaisesti silloin, kun perseptroneja on verkkorakenteessa enemmän kuin yksi.

Neuroverkkojen syvyys syntyy lisäämällä uusia kerroksia syöte- ja tulostekerrosten väliin (juuri tähän viitataan, kun puhutaan syväoppimisesta). Joitakin kerroksia kutsutaan piilokerroksiksi, koska ne ovat syöte- ja tulostekerrosten välissä, eikä näissä kerroksissa aina suoraan määritellä, mitä piirteitä aineistosta pitäisi kyseisessä kerroksessa etsiä.

Neuroverkon rakenne voi olla millainen hyvänsä. Kerroksessa voi olla monta neuronia, ja neuronit voivat olla myös kerroksen sisällä vuorovaikutuksessa.

Informaatio voi liikkua suoraan neuronista seuraavaan (eteenpäin syöttävä, feed-forward) tai se voi palata verkossa takaisin (takaisinkytkeytyvä, recurrent). Yllä oleva kuva kuvaa yksinkertaistetusti molempia tapoja.

Takaisinkytkeytyviä neuroverkkoja (RNN) käytetään malleissa, joissa peräkkäinen informaatio, konteksti — eräänlainen lyhytaikainen muisti — on tärkeää, kuten konekäännöksissä.

Oppiminen päivittää yhteyksiä

Sekä ihmis- että keinotekoisissa neuroverkoissa oppiminen vahvistaa neuronien välisiä yhteyksiä.

Keinoneuroverkoissa näitä yhteyksiä kutsutaan painokertoimiksi. Painokertoimien muutos voi esimerkiksi tapahtua vastavirta-algoritmin (backpropagation) kautta. Kun malli tekee ennusteita, ennustevirheet virtaavat takaisin. Tämä päivittää neuronien välisiä yhteyksiä ja muuttaa painokertoimia.

Keinoverkkojen ja sinun välilläsi on tärkeä ero: toisin kuin keinotekoisten verkkojen, sinun ei tarvitse nähdä yksittäistä esinettä kovin montaa kertaa ennen kuin muistat nähneesi sen aiemminkin.

Toisaalta sanotaan usein, että ihmismuistin suhteen ongelma ei suinkaan ole varastointitila, vaan pikemminkin muistista haku! On täysin normaalia “unohtaa” ystävän nimi, vaikka tunnistaisitkin tämän kasvot. Jos keinoverkko tunnistaa kuvan, se varmasti kykenee noutamaan kaiken tiedon, joka sen yhteyteen on varastoitu.

Yleistyminen

Vanhan tiedon yleistyminen uuteen

Uudenlainen tuoli.

Tiedät, että yllä oleva esine kävisi istumiseen, vaikka et olekaan nähnyt sitä koskaan ennen. Ehkä jopa kutsuisit sitä tuoliksi. Käytät näin aiempaa tietoasi ja yleistät sen uuteen informaatioon.

Myös keinoneuroverkot taitavat yleistyksen periaatteet, mutta tiettyyn pisteeseen asti. Jos keinoverkko on saanut katsella vain nelijalkaisia jakkaroita oppiessaan tuolin käsitettä, se tuskin ymmärtää pallotuolin tuoliksi.

Jakkara
Pallotuoli
]]>
Generatiivinen + Erotteleva = GAN https://connecting-dots.aalto.fi/generatiivinen-erotteleva-gan/ Wed, 11 Dec 2019 13:45:38 +0000 https://connecting-dots.aalto.fi/?p=165 Generatiiviset kilpailevat verkot (generative adversarial networks, GAN) ovat joukko koneoppimismalleja, jotka oppivat “kuvittelemaan” uusia asioita. GAN-verkkoja voi käyttää esimerkiksi kuvien luomiseen – niin kutsuttujen “deepfakejen”, “väärennettyjen” valokuvien, takana ovat GAN-menetelmät.

GAN-verkon opettaminen

Verkolla on kaksi osaa: Tuottaja ja Luokittelija. Tuottaja oppii luomaan yhä realistisempia kuvia näyttämällä keksimiään tuotoksia Luokittelijalle. Luokittelijalla on pino aitoja kuvia, joihin se vertaa Tuottajan kuvia. Tuottaja pyrkii huijaamaan Luokittelijaa kehittämällä niin aidon näköisiä kuvia kuin mahdollista.

Aina kun Tuottaja onnistuu tehtävässään, se oppii Luokittelijalta, miltä aito kuva näyttää, ja parantaa strategiaansa. Lopulta Tuottajan väärennökset alkavat muistuttaa aitoja kuvia. Näiden kahden välinen kilpailu on saanut aikaan aika vakuuttavia tuloksia!

]]>
Sääntöpohjaiset järjestelmät https://connecting-dots.aalto.fi/saantopohjaiset-jarjestelmat/ Wed, 11 Dec 2019 13:44:56 +0000 https://connecting-dots.aalto.fi/?p=175

Ensimmäiset tekoälyohjelmat olivat sääntöpohjaisia. Niiden takana oli usein formaali looginen päättely. Sääntöpohjaiset ohjelmat toimivat annettujen sääntöjen perusteella. Esimerkiksi kissat takaperin kirjoittavassa ohjelmassa olisi seuraava sääntö: Jos sana “kissa” löytyy tekstistä, käännä tämän sanan sanajärjestys.

Kaikki ohjelman soveltamat säännöt muunnetaan ensin täsmälliseen loogiseen muotoon. Säännöistä tulee tietokanta, joka on mahdollisesti hierarkkisesti järjestäytynyt. Mitä monimutkaisempi järjestelmä on, sitä enemmän sääntöjä siinä on.

Ontologialuokittelu ja semanttinen laskenta toimivat usein sääntöpohjaisilla periaatteilla.

]]>
Koska robotit sitten kykenevät todelliseen älykkyyteen? https://connecting-dots.aalto.fi/koska-robotit-sitten-kykenevat-todelliseen-alykkyyteen/ Wed, 11 Dec 2019 13:44:20 +0000 https://connecting-dots.aalto.fi/?p=179

Sellaisia ohjelmia, jotka osaavat ratkoa hyvin määriteltyjä ongelmia (kuten kissan erottaminen koirasta tai shakkipeli) kutsutaan heikoksi tai kapeaksi tekoälyksi. Viimeaikaiset ohjelmat taitavat tämän jo aika hyvin. Osittain itsenäiset autot, suosittelujärjestelmät sekä kuvantunnistus ovat vain muutama esimerkki jo käytössä olevista tällaista tekoälyä soveltavista arkisista järjestelmistä.

Sellainen ihmisen kaltaista älyä osoittava ohjelma, joka pärjäisi arkisen monimutkaisessa ympäristössä – kävisi vaikka pyöräretkellä järven rannalla ihastelemassa maisemia ja maalaisi niistä taulun – edustaisi vahvaa tekoälyä. Tällä hetkellä moinen on tieteisfiktiota!

Kumpi sitten on älykkäämpi, roskapostisuodatin vai puhesyntetisaattori? Kysymys on vähän höpsö, eikö vain? Suodatin ja syntetisaattori edustavat kapeaa tekoälyä. Ne ovat “älykkäitä” vain yhden kapean alan alla. Vaikka puhesyntetisaattori osaakin tuottaa ihmisille ymmärrettävää puhetta, ei se silti ymmärrä sanomaansa.

Tutustu Elements of AI -kurssiin! ]]>
Tietoaineistot, ihmiset ja vinoumat https://connecting-dots.aalto.fi/tietoaineistot-ihmiset-ja-vinoumat/ Wed, 11 Dec 2019 13:43:43 +0000 https://connecting-dots.aalto.fi/?p=170 Ihmiset päättävät, minkälaista tietoaineistoa koneille syötetään ja millaista koodia ne ajavat. Koneet tekevät vain sen, mitä ne on ohjelmoitu tekemään.

Tietoaineiston luovat ja kokoavat ihmiset.

Esimerkiksi ImageNet on valtava, laajasti käytetty valokuvatietoaineisto. Sen sisältämät valokuvat on haettu automaattisesti internetistä, ja ne sisältävät niin kuvapankkikuvia, selfieitä ja kaikkea siltä väliltä.

Kaikki ImageNetin kuvat on luokiteltu sanallisesti, ja tämä luokitusprosessi on ollut sataprosenttisesti ihmisen hoitamaa työtä. Nettipalvelun kautta palkattujen työntekijöiden tehtävänä oli katsoa kuvia ja valita jokaiselle kuvaavin nimike toisesta, valtavasta sana-aineistosta. Listassa oli neutraaleja sanoja, kuten “omena”, mutta myös melkoisen latautuneita termejä luuserista rasistisiin solvauksiin.

Tämän vuoksi osalla ImageNetin kuvista on edelleen hyvin kyseenalainen nimeke. Vinoutuneella aineistolla voi olettaa saavansa vain saman vinouman analysoitavaksi.

Jotta olisi mahdollista rakentaa malli, joka on hyvin yleistettävissä muuhunkin kuin mallin opettamiseen käytettyyn aineistoon, aineistossa on oltava riittävästi relevanttia informaatiota tulokseen vaikuttavista tekijöistä. Jos esimerkiksi rakennamme kuvien luokittimen, joka pystyy tunnistamaan, mitä siihen syötetty kuva esittää, mutta käytämme opetusdatana ainoastaan kissojen ja koirien kuvia, luokitin luokittelee joka ikisen kuvan kissaksi tai koiraksi. Tämä olisi ok, jos luokitinta käytettäisiin vain kissojen ja koirien erottamiseen toisistaan, mutta ei silloin, jos sitä tarvittaisiin myös tunnistamaan veneitä, autoja tai kauniita kukkia.

Tutustu Elements of AI -kurssiin!

Tekoäly ja yhteiskunnan asenteet

Tekoälyn kaltaisten nousevien teknologioiden epämääräisen luonteen vuoksi käyttäjät ovat epävarmoja siitä, mitä teknologia on, mitä sillä voi tehdä, ja miten se vaikuttaa koko yhteiskuntaan. Jopa tekoälyn “yhteiskunnallisia vaikutuksia” käsittelevä tutkimus tarkastelee usein teknologiaa optimistisesta tai pessimistisestä näkökulmasta.

On tyypillistä, että nousevasta teknologiasta syntyy mahdollisesti ristiriitaisia merkityksiä, teknologisia viitekehyksiä ja ajatuksia. Tekoäly vilahtelee otsikoissa tuon tuosta. Viime kädessä nämä julkiset keskustelut muokkaavat teknologisia kehityskulkuja.

Voisi sanoa, että tekoälyn kaltaisen nousevan teknologian kehitys nopeutuu tai hidastuu riippuen jaetuista käsityksistä ja asenteista, joita tekoälyyn liittyy.

Ajattele esimerkiksi ydinvoiman sekä geeniteknologian ympäriltä haihtunutta hehkutusta. Nämä nousevat teknologiat toivat mukanaan poikkeuksellisia, tulevaisuuteen suuntautuvia mahdollisuuksia yhteiskunnalle ja yrityksille, mutta lopulta joutuivat julkisen kritiikin vuoksi syrjään.

]]>
Konvoluutioverkot saivat innoituksensa näköaistista https://connecting-dots.aalto.fi/konvoluutioverkot-saivat-innoituksensa-nakoaistista/ Wed, 11 Dec 2019 13:43:22 +0000 https://connecting-dots.aalto.fi/?p=181 Konvoluutioneuroverkoissa (convolutional neural networks, CNNs) on osia, joiden rakenne ja toiminta muistuttavat eläinaivojen varhaisia näköalueita. Opetetut neuroverkot suoriutuvat lähes ihmisen tasoisesti joissakin tunnistustehtävissä.

Kun katsot jonkin henkilön kasvokuvaa, aivosi pilkkovat näköhavainnon osiin. Havainto alkaa yksinkertaisista piirteistä ja siirtyy kerroksittain monimutkaisempiin kokonaisuuksiin, hieman alla olevan piirroksen kaltaisesti:

A picture of Einstein, layer by layer.

Tämä kaikki toki tapahtuu silmänräpäyksessä (heh) ja tiedostamatta, joten todennäköisesti huomaat vain aivojesi lopullisen tulkinnan silmiesi välittämästä informaatiosta.

Konvoluutioverkot käsittelevät informaatiota samalla tavalla kerroksittain. Jokainen kerros tuottaa vähän monimutkaisemman käsityksen kuvasta kuin edellinen. Joissakin kerroksissa käytetään matemaattista operaatiota nimeltä konvoluutio: tästä tulee verkkorakenteen nimi.

Muistutamme, että biologisessa näköjärjestelmässä on monia ominaisuuksia, joita konvoluutioverkoissa ei ole, ja jotkin konvoluutioverkon ominaisuudet tuskin vastaavat luonnollisia olosuhteita.

]]>
Eri keinoja oppia ja opettaa https://connecting-dots.aalto.fi/eri-keinoja-oppia-ja-opettaa/ Wed, 11 Dec 2019 13:38:49 +0000 https://connecting-dots.aalto.fi/?p=183 Koneoppimismallit oppivat tunnistamaan ja luokittelemaan tietoja opetusdatan avulla. Opetusdata on todellisen luokitteludatan kanssa samankaltaista, mutta ei suinkaan samaa dataa (koska sehän olisi huijausta!).

Opetusdata on samankaltaista kuin luokiteltava data, mutta ei samaa dataa.

Otetaan esimerkiksi ohjelma, jota opetetaan tunnistamaan eri eläimiä. Opetuksen voi toteuttaa eri tavoilla:

Valvottu oppiminen

Valvotussa oppimisessa datayksiköillä on annetut luokat.

Opetusdata voi sisältää esimerkkejä oikeista pareista (esimerkiksi kuvia koirista, joihin on liitetty nimike ‘koira’ ym.). Tätä kutsutaan valvotuksi oppimiseksi, koska tiedämme, että opetusdata sisältää oikeita esimerkkejä.

Valvottu oppiminen muistuttaa tuttujen sanojen opettelua vieraalla kielellä: esimerkiksi silloin, kun joku kertoo, että ‘hund’ on ‘koira’ ruotsiksi.

Opetusdata voi myös olla raakadataa, ja voimme antaa ohjelman käsitellä sitä itse. Tästä voidaan jatkaa kahdella tavalla:

Valvomaton oppiminen

Ohjelma voi keksiä merkitsevät piirteet itse (etsimällä säännönmukaisuuksia aineistosta) ja luokitella asiat kokonaan itse.

Jos kaikki koirat ja kissat opetusdatassa ovat valkoisia, mutta hevoset ovat ruskeita, on todennäköistä, että ohjelma päätyy lajittelemaan eläimet värin mukaan eläinlajin sijaan. Tätä me emme halunneet!

Jotta tällä lähestymistavalla saadaan realistinen lopputulos, ohjelmalla pitää olla valtavat määrät monimuotoista dataa.

Voidaan ajatella, että ihminen oppii suurimman osan asioista valvomatta. Vauvat oppivat jäsentämään ja tuottamaan lauseita ihan itse: kukaan ei ensin selitä kielioppi- tai ääntämissääntöjä vauvoille, ja silti he oppivat puhumaan.

On toki totta, että ihmisvauvat viettävät suurimman osan ajastaan seurailllen itsenäisesti aikuisen esimerkkiä, toisin kuin keinoneuroverkot.

Vahvistusoppiminen

Ohjelma voi myös oppia yrityksen ja erehdyksen kautta. Tätä kutsutaan vahvistusoppimiseksi. Jos esimerkkiohjelmamme erehtyisi vaikkapa laittamaan kissan kenneliin, syntyisi paljon murinaa ja sähinää. Tämä palaute saisi ohjelman välttämään saman tempun toistamista.

Jos jaat jotakin sosiaalisessa mediassa ja saat paljon tykkäyksiä, on se sinulle kannustus tehdä sama uudestaan. Tämä on vahvistusoppimista (psykologian käsitteissä operanttia ehdollistumista)!

]]>
Aivot, energia ja teho https://connecting-dots.aalto.fi/aivot-energia-ja-teho/ Wed, 11 Dec 2019 13:14:32 +0000 https://connecting-dots.aalto.fi/?p=227

Aivot vaativat noin 20 % kehon päivittäisestä energiankulutuksesta.

Tehoon käännettynä tämä tarkoittaa noin 12.6 wattia — suurin piirtein kirkkaan LED-lampun verran.

Aivoissa on noin 1014 synapsia eli kahden hermosolun välistä liitospintaa.

Siinäpä aika tehokas hermosolukimppu!

]]>
Mitä tekoäly on? https://connecting-dots.aalto.fi/mita-tekoaly-on/ Wed, 11 Dec 2019 09:21:59 +0000 https://connecting-dots.aalto.fi/?p=139 Lähdetään kakkureseptistä: siihen kuuluu lista ainesosista ja lista ohjeita. Jos noudatat reseptiä, syntyy kakku. Tietojenkäsittelyssä ainesosat muodostavat tietoaineiston, ohjeet ovat algoritmeja, ja koko resepti on ohjelma.

Mikäpä sitten itse kakku on? Sitä voisi kutsua vaikka tulosteeksi.

Tekoäly on itse asiassa kokonainen keittokirja täynnä kaiken sortin algoritmeja ja tietoaineistoja.

Tekoälylle ei ole olemassa mitään virallista, yksiselitteistä määritelmää. Tutkimuskohteena tekoäly on laskennallinen ala, joka keskittyy koneiden kykyyn “ajatella” – siis tunnistaa säännönmukaisuuksia tietoaineistoista, oppia niistä ja muodostaa ennusteita.

“Älykkyys” nykypäivän tekoälyssä syntyy kahdesta ominaisuudesta: autonomiasta ja joustavuudesta.

Autonomia on ohjelman kyky toimia monimutkaisissa ympäristöissä ilman jatkuvaa ihmisen ohjausta.
Joustavuus on ohjelman kyky parantaa suoritustaan oppimalla kokemuksesta.

Tutustu Tekoälyn perusteet -kurssiin!

Tekoäly tutkimuksessa ja luovilla aloilla

Tekoälymenetelmiä voidaan käyttää useilla aloilla.

Tutkimuksessa menetelmät ovat arvokas työkalu kaikkeen sellaiseen työhön, jossa tarvitaan luokittelua, tunnistamista, optimointia tai jopa uusien yhdistelmien löytämistä sekä tulevaisuusennusteiden muodostamista.

Tekoälyn tukeman tutkimuksen avulla voimme esimerkiksi jo ennustaa paremmin säätä, tunnistaa puhetta, ja tunnistaa automaattisesti lääketieteellisiä kuvantamistuloksia. Oikeastaan tekoälymenetelmiä voi käyttää missä tahansa, missä tietoaineisto kääntyy hyvin numeroiksi.

Generatiivista mallintamista voidaan käyttää myös luovan työn tukena. Tekoälyn ehdottama uusi yhdistelmä voi joskus pelastaa tyhjän paperin syndroomalta.

Luova työ jopa tavallaan muuttuu kuratoinnin kaltaiseksi tehtäväksi: tekoälyohjelmalle voidaan syöttää sarja kuvia, ohjelma voidaan ajaa, ja lopuksi voidaan valikoida mielenkiintoisimmat lopputulokset.

]]>