じんこうニューラルネットワーク
2162 ワード
人工神経ネットワークとは何ですか。
人工ニューラルネットワークの要素
->1つのセル(ニューロン)と同様に,入力値の重み付けと活性化関数による変形を行い,この過程を繰り返して最終結果値を得る.
アクティブ化関数
電波と逆電波
パイを使って実施
import torch
import torch.nn as nn
import torch.optim as optim
import torch.nn.init as init
num_data = 1000
num_epoch = 10000
#데이터 생성
noise = init.normal_(torch.FloatTensor(num_data,1),std=1)
x = init.uniform_(torch.Tensor(num_data,1),-15,15)
y = (x**2) + 3
y_noise = y + noise
## 모델, 손실함수, 최적화 함수 설정
model = nn.Sequential(
nn.Linear(1,6),
nn.ReLU(),
nn.Linear(6,10),
nn.ReLU(),
nn.Linear(10,6),
nn.ReLU(),
nn.Linear(6,1),
)
loss_func = nn.L1Loss()
optimizer = optim.SGD(model.parameters(),lr=0.0002)
# 모델 학습
loss_array = []
for i in range(num_epoch):
optimizer.zero_grad()
output = model(x)
loss = loss_func(output,y_noise)
loss.backward()
optimizer.step()
loss_array.append(loss)
# 손실 그래프
import matplotlib.pyplot as plt
plt.plot(loss_array)
plt.show()
# 학습모델의 결과와 실제 목표값 비교
plt.figure(figsize=(10,10))
plt.scatter(x.detach().numpy(),y_noise,label="Original Data")
plt.scatter(x.detach().numpy(),output.detach().numpy(),label="Model Output")
plt.legend()
plt.show()
そんしつ図
学習モデルの結果と実際の目標値の比較
Reference
この問題について(じんこうニューラルネットワーク), 我々は、より多くの情報をここで見つけました https://velog.io/@aelim0409/인공신경망テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol