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 määrittely auttaa mallin järjestämisessä ja alustamisessa tehokkaasti. Luokalla on yksi attribuutti, layers, joka on lista Layer-olioita ja kuvaa verkon rakennetta:

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

Kerrokset alustetaan seuraavilla muuttujilla:

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

Tuloksena olevan monikerroksisen perceptronin rakenne sisältää:

  1. Syötekerros → vastaanottaa datan;
  2. Kaksi piilokerrosta → käsittelee syötteet ja tunnistaa rakenteita;
  3. Ulostulokerros → tuottaa lopullisen ennusteen.
Tehtävä

Swipe to start coding

Tavoitteena on määrittää monikerroksisen perceptronin (MLP) perusrakenne toteuttamalla sen kerrosten koodi.

Noudata näitä vaiheita huolellisesti:

  1. Alusta kerroksen parametrit __init__()-metodissa:
  • Luo painomatriisi, jonka muoto on (n_neurons, n_inputs);
    • Luo bias-vektori, jonka muoto on (n_neurons, 1);
    • Täytä molemmat satunnaisilla arvoilla tasaisesta jakaumasta välillä [1,1)[-1, 1) käyttäen np.random.uniform()-funktiota.
  1. Toteuta eteenpäinlevitys forward()-metodissa:
  • Laske jokaisen neuronin raakaulostulo pistetulolla:
np.dot(self.weights, self.inputs) + self.biases
  • Käytä määriteltyä aktivointifunktiota tähän tulokseen ja palauta aktivoitu ulostulo.
  1. Määritä perceptronin kerrokset:
    • Luo kaksi piilokerrosta, joissa kummassakin on hidden_size neuronia ja käytössä ReLU-aktivointifunktio;
    • Luo yksi ulostulokerros, jossa on output_size neuroni(a) ja 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 määrittely auttaa mallin järjestämisessä ja alustamisessa tehokkaasti. Luokalla on yksi attribuutti, layers, joka on lista Layer-olioita ja kuvaa verkon rakennetta:

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

Kerrokset alustetaan seuraavilla muuttujilla:

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

Tuloksena olevan monikerroksisen perceptronin rakenne sisältää:

  1. Syötekerros → vastaanottaa datan;
  2. Kaksi piilokerrosta → käsittelee syötteet ja tunnistaa rakenteita;
  3. Ulostulokerros → tuottaa lopullisen ennusteen.
Tehtävä

Swipe to start coding

Tavoitteena on määrittää monikerroksisen perceptronin (MLP) perusrakenne toteuttamalla sen kerrosten koodi.

Noudata näitä vaiheita huolellisesti:

  1. Alusta kerroksen parametrit __init__()-metodissa:
  • Luo painomatriisi, jonka muoto on (n_neurons, n_inputs);
    • Luo bias-vektori, jonka muoto on (n_neurons, 1);
    • Täytä molemmat satunnaisilla arvoilla tasaisesta jakaumasta välillä [1,1)[-1, 1) käyttäen np.random.uniform()-funktiota.
  1. Toteuta eteenpäinlevitys forward()-metodissa:
  • Laske jokaisen neuronin raakaulostulo pistetulolla:
np.dot(self.weights, self.inputs) + self.biases
  • Käytä määriteltyä aktivointifunktiota tähän tulokseen ja palauta aktivoitu ulostulo.
  1. Määritä perceptronin kerrokset:
    • Luo kaksi piilokerrosta, joissa kummassakin on hidden_size neuronia ja käytössä ReLU-aktivointifunktio;
    • Luo yksi ulostulokerros, jossa on output_size neuroni(a) ja 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