人工ニューラルネットワーク。パート2

ニューラルネットワーク

このパートでは、ニューラルネットワークの原理を研究し、2層のニューラルネットワークを作成します。





ニューラルネットワークは、相互接続されたニューロンで構成されています。





前のパートでニューロンについてもっと書きました。





ニューラルネットワークは次の層に分かれています。





  1. 入力レイヤー





  2. 隠しレイヤー





  3. 出力層





非表示レイヤーは入力と出力の間のレイヤーであり、非表示レイヤーの数は任意です。





入力層と出力層の2層のニューラルネットワークを作成します。





まず、ニューラルネットワークの原理を見てみましょう。





私が言ったように、ニューラルネットワークは層に分かれています。各層には多数のニューロンが含まれています。レイヤー内のすべてのニューロンの出力は、次のレイヤー内のすべてのニューロンの入力に送信されます。





入力に2つのニューロン、非表示に3つ、出力に1つある3層のニューラルネットワーク図は次のようになります。





レイヤー間のこの接続は、フィードフォワードと呼ばれます。





その結果、3つの層と6つのニューロンが得られました。





大規模なプロジェクトの場合、これはそれほど多くはありませんが、学習しているだけなので、2つの入力ニューロンと1つの出力を持つ2層のニューラルネットワークを作成します。





ニューラルネットワークのスキーム





NeuronNet.pyファイルを作成しましょう





最後の部分で書いたニューロンクラスを接続しましょう:





from Neuron import *
      
      



NeuronNetクラスとそのコンストラクターをファイルで説明しましょう。





class NeuronNet:

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



サイズが3ニューロンのNeuronクラスのオブジェクトの配列は、クラスコンストラクターで作成されます。すべてのニューロンに2つの入力があるため、パラメーターのニューロンに数値2を渡します。





, 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
      
      











. .





まとめましょう。





今日は私達:





  1. ニューラルネットワークの原理を学びました





  2. ニューラルネットワークにおけるニューロン通信の原理を学びました





  3. NeuronNetクラスをPythonプログラミング言語で作成しました





  4. 最初のニューラルネットワークを立ち上げました





次のパートでは、ニューラルネットワークのトレーニングを実装します。





記事を読んだ後に質問がある場合は、コメントで質問してください。








All Articles