PyBrain - İleri Beslemeli Ağlarla Çalışma

İleri beslemeli bir ağ, düğümler arasındaki bilgilerin ileri yönde hareket ettiği ve asla geriye gitmeyeceği bir sinir ağıdır. Feed Forward ağı, yapay sinir ağında bulunan ağlar arasında ilk ve en basit olanıdır. Bilgi, gizli düğümlerin yanındaki giriş düğümlerinden ve daha sonra çıkış düğümüne iletilir.

Bu bölümde nasıl yapılacağını tartışacağız -

  • İleri Beslemeli Ağlar Oluşturun
  • FFN'ye Bağlantı ve Modüller Ekleme

Feed Forward Ağı Oluşturma

Seçtiğiniz python IDE'sini, yani PyCharm'ı kullanabilirsiniz. Bunda, kodu yazmak için Visual Studio Code kullanıyoruz ve aynısını terminalde çalıştıracağız.

İleri besleme ağı oluşturmak için, onu şuradan içe aktarmamız gerekir: pybrain.structure aşağıda gösterildiği gibi -

ffn.py

from pybrain.structure import FeedForwardNetwork
network = FeedForwardNetwork()
print(network)

Ffn.py'yi aşağıda gösterildiği gibi çalıştırın -

C:\pybrain\pybrain\src>python ffn.py
FeedForwardNetwork-0
Modules:
[]
Connections:
[]

Feedforward ağına herhangi bir modül ve bağlantı eklemedik. Dolayısıyla ağ, Modüller ve Bağlantılar için boş diziler gösterir.

Modüller ve Bağlantılar Ekleme

Öncelikle girdi, gizli, çıktı katmanları oluşturacağız ve aynısını aşağıda gösterildiği gibi modüllere ekleyeceğiz -

ffy.py

from pybrain.structure import FeedForwardNetwork
from pybrain.structure import LinearLayer, SigmoidLayer
network = FeedForwardNetwork()

#creating layer for input => 2 , hidden=> 3 and output=>1
inputLayer = LinearLayer(2)
hiddenLayer = SigmoidLayer(3)
outputLayer = LinearLayer(1)

#adding the layer to feedforward network
network.addInputModule(inputLayer)
network.addModule(hiddenLayer)
network.addOutputModule(outputLayer)

print(network)

Çıktı

C:\pybrain\pybrain\src>python ffn.py
FeedForwardNetwork-3
Modules:
[]
Connections:
[]

Hala modülleri ve bağlantıları boş alıyoruz. Aşağıda gösterildiği gibi oluşturulan modüllere bağlantı sağlamamız gerekiyor -

İşte girdi, gizli ve çıktı katmanları arasında bir bağlantı oluşturduğumuz ve ağa bağlantı eklediğimiz kod.

ffy.py

from pybrain.structure import FeedForwardNetwork
from pybrain.structure import LinearLayer, SigmoidLayer
from pybrain.structure import FullConnection
network = FeedForwardNetwork()

#creating layer for input => 2 , hidden=> 3 and output=>1
inputLayer = LinearLayer(2)
hiddenLayer = SigmoidLayer(3)
outputLayer = LinearLayer(1)

#adding the layer to feedforward network
network.addInputModule(inputLayer)
network.addModule(hiddenLayer)
network.addOutputModule(outputLayer)

#Create connection between input ,hidden and output
input_to_hidden = FullConnection(inputLayer, hiddenLayer)
hidden_to_output = FullConnection(hiddenLayer, outputLayer)

#add connection to the network
network.addConnection(input_to_hidden)
network.addConnection(hidden_to_output)

print(network)

Çıktı

C:\pybrain\pybrain\src>python ffn.py
FeedForwardNetwork-3
Modules:
[]
Connections:
[]

Hala modülleri ve bağlantıları alamıyoruz. Şimdi son adımı ekleyelim, yani sortModules () yöntemini aşağıda gösterildiği gibi eklememiz gerekiyor -

ffy.py

from pybrain.structure import FeedForwardNetwork
from pybrain.structure import LinearLayer, SigmoidLayer
from pybrain.structure import FullConnection
network = FeedForwardNetwork()

#creating layer for input => 2 , hidden=> 3 and output=>1
inputLayer = LinearLayer(2)
hiddenLayer = SigmoidLayer(3)
outputLayer = LinearLayer(1)

#adding the layer to feedforward network
network.addInputModule(inputLayer)
network.addModule(hiddenLayer)
network.addOutputModule(outputLayer)

#Create connection between input ,hidden and output
input_to_hidden = FullConnection(inputLayer, hiddenLayer)
hidden_to_output = FullConnection(hiddenLayer, outputLayer)

#add connection to the network
network.addConnection(input_to_hidden)
network.addConnection(hidden_to_output)
network.sortModules()

print(network)

Çıktı

C:\pybrain\pybrain\src>python ffn.py
FeedForwardNetwork-6
Modules:
[<LinearLayer 'LinearLayer-3'gt;, <SigmoidLayer 'SigmoidLayer-7'>, 
   <LinearLayer 'LinearLayer-8'>]
Connections:
[<FullConnection 'FullConnection-4': 'SigmoidLayer-7' -> 'LinearLayer-8'>, 
   <FullConnection 'FullConnection-5': 'LinearLayer-3' -> 'SigmoidLayer-7'>]

Artık feedforwardnetwork için modülleri ve bağlantı ayrıntılarını görebiliyoruz.