[深さ学習]3ニューラルネットワーク
18264 ワード
1.マグネトロン
1)重み付け、重み付け、買手、アクティブ化関数
ろんりかいふく
y=ax+b勘定科目の勘定科目y=wx+b(wは重み、bはバイヤー)
*光ファイバの制限
1本の
*XOR問題
2)多層マグネトロン
<1>多層マグネトロン設計
n1 = σ(x1w11 + x2w21+b1)
n2 = σ(x1w12 + x2w22 + b2)
<2>XORトラブルシューティング
2479172 n 1 gate:AND gateの正逆値出力ボックスnND(負AND)Gate
<3>コード
import numpy as np
w11 = np.array([-2,-2])
w12 = np.array([2,2])
w2 = np.array([1,1])
b1 = 3
b2 = -1
b3 = -1
def MLP(x,w,b): #퍼셉트론 함수
y = np.sum(w*x)+b
if y <= 0:
return 0
else:
return 1
def NAND(x1, x2):
return MLP(np.array([x1,x2]), w11, b1)
def OR(x1, x2):
return MLP(np.array([x1, x2]), w12, b2)
def AND(x1, x2):
return MLP(np.array([x1, x2]), w2, b3)
def XOR(x1, x2):
return AND(NAND(x1,x2), OR(x1,x2))
for x in [(0, 0), (1, 0), (0, 1), (1, 1)]:
y = XOR(x[0], x[1])
print("입력 값: " + str(x) + " 출력 값: " + str(y))
def MLP2(x, w, b):
ws = x.dot(w) + b
return ws > 0
w1 = np.array([[-0.5,0.5],[-0.5,0.5]])
w2 = np.array([0.5,0.5])
b1 = np.array([0.7,-0.2])
b2 = np.array([-0.7])
X = np.array([(0, 0), (1, 0), (0, 1), (1, 1)])
for x in X:
n = MLP2(x, w1, b1)
y = MLP2(n, w2, b2)
print("입력 값: " + str(n) + " 출력 값: " + str(y))
3)誤差逆伝搬(逆伝搬)
2階建て▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼96
24791721ℋ任意の初期重み付け(W)後の計算結果(y)
24791723σチルトダウン法により、前方重み付け値を誤差が小さくなる方向に更新する
誤差が小さくならないまで、上記の手順を繰り返します.
アルゴリズム#アルゴリズム#
1π環境変数:入力値、目標結果値を含むデータセット、学習率などを指定します.また,アクティブ化関数,重みなども宣言した.
2朕運行神経ネットワーク:初期値を入力し、関数と重み付けを活性化して欠品値を発生する
3ππ結果を実際の値と比較する:測定誤差
4朕は逆伝播を実行する:出力層と非表示層の重みを修正する
5π▼▼出力結果
2.深い学習
1)傾斜消失問題と活性化関数
勘定科目の勘定科目としては、信号関数が使用されます.微分値が1未満のため、乗算を続行すると0に近づきます.
24791721π超共通接線関数
24791722υυυυυυυ関数
勘定科目の勘定科目の微分値は1です.
АААААААААААААА
2)高級傾斜降下法
プレミアムチルトダウン法登場2479182
<1>確率傾斜降下法
すべてのデータではなく、ランダムに抽出されたデータの一部を使用するため、更新をより迅速かつ頻繁に行うことができます.
<2>運動量
<3>深さ学習駆動のための高度な傾斜降下法
3-1)確率傾斜降下法(SSG)
keras.optimizers.SGD(lr=0.1)
3-2)「親」(Momentum)
keras.optimizers.SGD(lr=0.1, momentum=0.9)
3-3)ネストロフ基準(NAG)
keras.optimizers.SGD(lr=0.1, momentum=0.9, nesterov=True)
3-4)Adagrad
keras.optimizers.Adagrad(lr=0.01, epsilon=1e-6)
3-5)RMSProp
keras.optimizers.RMSProp(lr=0.01, rho=0.9, epsilon=1e-6, decay=0.0)
3-6)アダム(Adam)
keras.optimizers.Adam(lr=0.01, beta_1 = 0.9, beta_2=0.999, epsilon=1e-6, decay=0.0)
Reference
この問題について([深さ学習]3ニューラルネットワーク), 我々は、より多くの情報をここで見つけました https://velog.io/@jjaa9292/딥러닝3.-신경망テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol