Jaringan saraf tiruan. Bagian 2

Jaringan syaraf

Pada bagian ini, kita akan mempelajari prinsip-prinsip jaringan saraf dan menulis jaringan saraf 2 lapisan.





Jaringan saraf terdiri dari neuron yang saling berhubungan.





Saya menulis lebih banyak tentang neuron di bagian sebelumnya.





Jaringan saraf dibagi menjadi beberapa lapisan:





  1. Lapisan masukan





  2. Lapisan tersembunyi





  3. Lapisan keluaran





Lapisan tersembunyi adalah lapisan antara masukan dan keluaran, jumlah lapisan tersembunyi bisa berapa saja.





Kami akan menulis jaringan saraf 2 lapisan, lapisan input dan output.





Pertama, mari kita lihat prinsip-prinsip jaringan saraf.





Seperti yang saya katakan, jaringan saraf dibagi menjadi beberapa lapisan. Setiap lapisan berisi sejumlah neuron. Keluaran semua neuron dalam satu lapisan dikirim ke masukan semua neuron di lapisan berikutnya.





Diagram jaringan saraf dari 3 lapisan dengan 2 neuron pada masukan, 3 tersembunyi, 1 keluaran akan terlihat seperti ini





Hubungan antar lapisan ini disebut feedforward.





Hasilnya, kami mendapat 3 lapisan dan 6 neuron.





Untuk proyek besar ini tidak banyak, tetapi karena kita baru belajar, kita akan menulis jaringan saraf 2 lapisan dengan 2 neuron masukan dan 1 keluaran.





Skema untuk jaringan saraf kami





Mari buat file NeuronNet.py





Mari hubungkan kelas neuron yang kita tulis di bagian terakhir:





from Neuron import *
      
      



Mari kita gambarkan kelas NeuronNet dan konstruktornya di file:





class NeuronNet:

    def __init__(self):
    
        self.n = []
        
        for i in range(3):
            self.n.append(Neuron(2))
      
      



Sebuah array objek dari kelas Neuron dengan ukuran 3 neuron dibuat di konstruktor kelas. Kami meneruskan nomor 2 ke neuron di parameter, karena akan ada 2 input untuk semua neuron.





, 3 1 2 , 1 2 :





def activate(self, inputs):
    return self.n[2].activate(np.array([self.n[0].activate(inputs), self.n[1].activate(inputs)]))
      
      



NeuronNet. NeuronNet.py.





NeuronNet.py:





from Neuron import *

class NeuronNet:
    def __init__(self):

        self.n = []

        for i in range(3):
            self.n.append(Neuron(2))

    def activate(self, inputs):
        return self.n[2].activate(np.array([self.n[0].activate(inputs), self.n[1].activate(inputs)]))
      
      



main.py, .





main.py numpy NeuronNet.py:





import numpy as np
from NeuronNet import *
      
      



:





net = NeuronNet()
      
      



:





x = np.array([1, 2])

print(net.activate(x))
      
      



:





import numpy as np

from NeuronNet import *

net = NeuronNet()

x = np.array([1, 2])

print(net.activate(x))
      
      



. :





python main.py
      
      











. .





Mari kita rangkum.





Hari ini kita:





  1. Mempelajari prinsip-prinsip jaringan saraf





  2. Mempelajari prinsip-prinsip komunikasi neuron di jaringan saraf





  3. Kami menulis kelas NeuronNet dalam bahasa pemrograman python





  4. Kami meluncurkan jaringan saraf pertama kami





Pada bagian selanjutnya, kami akan menerapkan pelatihan jaringan saraf kami.





Jika Anda memiliki pertanyaan setelah membaca artikel, tanyakan di komentar.








All Articles