Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Haaste: Perceptronin Luominen | Neuroverkon Rakentaminen Alusta Alkaen
Johdatus neuroverkkoihin

bookHaaste: Perceptronin Luominen

Koska tavoitteena on toteuttaa monikerroksinen perceptroni, Perceptron-luokan luominen yksinkertaistaa mallin alustamista. Sen ainoa attribuutti, layers, on käytännössä lista Layer-olioita, jotka määrittelevät verkon rakenteen:

class Perceptron:
    def __init__(self, layers):
        self.layers = layers

Kerrokset alustetaan seuraavilla muuttujilla:

  • input_size: syöteominaisuuksien määrä;
  • hidden_size: neuronien määrä jokaisessa piilokerroksessa (tässä tapauksessa molemmissa piilokerroksissa on sama määrä neuroneita);
  • output_size: neuronien määrä ulostulokerroksessa.

Tuloksena olevan perceptronin rakenteen tulisi olla seuraava:

Tehtävä

Swipe to start coding

Tavoitteena on määrittää perceptronin perusrakenne toteuttamalla sen kerrokset:

  1. Viimeistele kerroksen alustus (__init__()-metodi):

    • Alusta weights-matriisi (muoto (n_neurons, n_neurons));
    • Alusta biases-vektori (muoto (n_neurons, 1)).

    Täytä nämä satunnaisilla arvoilla tasaisesta jakaumasta välillä [1,1)[-1, 1). Käytä tähän np.random.uniform()-funktiota.

  2. Viimeistele kerroksen eteenpäinlevitys (forward()-metodi):

    • Laske neuronien raakaulostuloarvot. Käytä pistetuloon np.dot()-funktiota;
    • Käytä aktivointifunktiota raakaulostuloihin ja palauta tulos.
  3. Määrittele kolme kerrosta:

    • Kaksi piilokerrosta: kummassakin kerroksessa tulee olla hidden_size neuronia ja käytössä relu-aktivointifunktio;
    • Yksi ulostulokerros: käytössä sigmoid-aktivointifunktio.

Ratkaisu

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 4
single

single

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

close

Awesome!

Completion rate improved to 4

bookHaaste: Perceptronin Luominen

Pyyhkäise näyttääksesi valikon

Koska tavoitteena on toteuttaa monikerroksinen perceptroni, Perceptron-luokan luominen yksinkertaistaa mallin alustamista. Sen ainoa attribuutti, layers, on käytännössä lista Layer-olioita, jotka määrittelevät verkon rakenteen:

class Perceptron:
    def __init__(self, layers):
        self.layers = layers

Kerrokset alustetaan seuraavilla muuttujilla:

  • input_size: syöteominaisuuksien määrä;
  • hidden_size: neuronien määrä jokaisessa piilokerroksessa (tässä tapauksessa molemmissa piilokerroksissa on sama määrä neuroneita);
  • output_size: neuronien määrä ulostulokerroksessa.

Tuloksena olevan perceptronin rakenteen tulisi olla seuraava:

Tehtävä

Swipe to start coding

Tavoitteena on määrittää perceptronin perusrakenne toteuttamalla sen kerrokset:

  1. Viimeistele kerroksen alustus (__init__()-metodi):

    • Alusta weights-matriisi (muoto (n_neurons, n_neurons));
    • Alusta biases-vektori (muoto (n_neurons, 1)).

    Täytä nämä satunnaisilla arvoilla tasaisesta jakaumasta välillä [1,1)[-1, 1). Käytä tähän np.random.uniform()-funktiota.

  2. Viimeistele kerroksen eteenpäinlevitys (forward()-metodi):

    • Laske neuronien raakaulostuloarvot. Käytä pistetuloon np.dot()-funktiota;
    • Käytä aktivointifunktiota raakaulostuloihin ja palauta tulos.
  3. Määrittele kolme kerrosta:

    • Kaksi piilokerrosta: kummassakin kerroksessa tulee olla hidden_size neuronia ja käytössä relu-aktivointifunktio;
    • Yksi ulostulokerros: käytössä sigmoid-aktivointifunktio.

Ratkaisu

Switch to desktopVaihda työpöytään todellista harjoitusta vartenJatka siitä, missä olet käyttämällä jotakin alla olevista vaihtoehdoista
Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 4
single

single

some-alt