当前位置: 首页 > news >正文

做那个网站的图客比较好提高网站收录

做那个网站的图客比较好,提高网站收录,企业网站建设好的案例,怎么用node做网站大家好#xff0c;我是微学AI#xff0c;今天给大家介绍一下人工智能算法工程师(中级)课程9-PyTorch神经网络之全连接神经网络实战与代码详解。本文将给大家展示全连接神经网络与代码详解#xff0c;包括全连接模型的设计、数学原理介绍#xff0c;并从手写数字识别到猫狗识…大家好我是微学AI今天给大家介绍一下人工智能算法工程师(中级)课程9-PyTorch神经网络之全连接神经网络实战与代码详解。本文将给大家展示全连接神经网络与代码详解包括全连接模型的设计、数学原理介绍并从手写数字识别到猫狗识别实战演练。 文章目录 一、引言二、全连接模型的设计1. 神经元模型2. 网络结构 三、全连接模型的参数计算1. 前向传播2. 反向传播 四、全连接模型实现手写数字识别1. 数据准备2. 模型构建3. 代码实现 五、阶段实战猫狗识别1. 数据准备2. 模型构建3. 代码实现 六、数学原理详解1. 激活函数2. 损失函数3. 优化算法 七、总结 一、引言 全连接神经网络Fully Connected Neural NetworkFCNN是一种经典的神经网络结构它在众多领域都有着广泛的应用。本文将详细介绍全连接神经网络的设计、参数计算及其在图像识别任务中的应用。通过本文的学习读者将掌握全连接神经网络的基本原理并能够实现手写数字识别和猫狗识别等实战项目。 二、全连接模型的设计 1. 神经元模型 全连接神经网络的基本单元是神经元其数学表达式为 f ( x ) σ ( ∑ i 1 n w i x i b ) f(x) \sigma(\sum_{i1}^{n}w_ix_i b) f(x)σ(i1∑n​wi​xi​b) 其中 x x x 为输入向量 w w w 为权重向量 b b b 为偏置 σ \sigma σ 为激活函数。 2. 网络结构 全连接神经网络由输入层、隐藏层和输出层组成。每一层的神经元都与上一层的所有神经元相连如图1所示。 三、全连接模型的参数计算 1. 前向传播 假设一个全连接神经网络共有 l l l层第 k k k层的输入为 X ( k ) X^{(k)} X(k)输出为 Y ( k ) Y^{(k)} Y(k)则有 Y ( k ) σ ( W ( k ) X ( k ) b ( k ) ) Y^{(k)} \sigma(W^{(k)}X^{(k)} b^{(k)}) Y(k)σ(W(k)X(k)b(k)) 其中 W ( k ) W^{(k)} W(k) 和 b ( k ) b^{(k)} b(k) 分别为第 k k k层的权重和偏置。 2. 反向传播 全连接神经网络的参数更新通过反向传播算法实现。对于输出层损失函数为 L 1 2 ( Y t r u e − Y p r e d ) 2 L \frac{1}{2}(Y_{true} - Y_{pred})^2 L21​(Ytrue​−Ypred​)2 其中 Y t r u e Y_{true} Ytrue​ 为真实标签 Y p r e d Y_{pred} Ypred​ 为预测值。 根据链式法则输出层的权重梯度为 ∂ L ∂ W ( l ) ∂ L ∂ Y ( l ) ⋅ ∂ Y ( l ) ∂ Z ( l ) ⋅ ∂ Z ( l ) ∂ W ( l ) \frac{\partial L}{\partial W^{(l)}} \frac{\partial L}{\partial Y^{(l)}} \cdot \frac{\partial Y^{(l)}}{\partial Z^{(l)}} \cdot \frac{\partial Z^{(l)}}{\partial W^{(l)}} ∂W(l)∂L​∂Y(l)∂L​⋅∂Z(l)∂Y(l)​⋅∂W(l)∂Z(l)​ 其中 Z ( l ) W ( l ) X ( l ) b ( l ) Z^{(l)} W^{(l)}X^{(l)} b^{(l)} Z(l)W(l)X(l)b(l)。 同理可求得输出层的偏置梯度、隐藏层的权重梯度和偏置梯度。 四、全连接模型实现手写数字识别 1. 数据准备 使用MNIST数据集包含60000个训练样本和10000个测试样本。 2. 模型构建 构建一个简单的全连接神经网络包含一个输入层784个神经元、两个隐藏层128个神经元和一个输出层10个神经元。 3. 代码实现 import torch import torch.nn as nn import torch.optim as optim from torchvision import datasets, transforms from torch.utils.data import DataLoader# 定义模型 class Net(nn.Module):def __init__(self):super(Net, self).__init__()self.model nn.Sequential(nn.Flatten(),nn.Linear(28*28, 128),nn.ReLU(),nn.Linear(128, 128),nn.ReLU(),nn.Linear(128, 10),nn.Softmax(dim1))def forward(self, x):return self.model(x)# 加载数据 transform transforms.Compose([transforms.ToTensor()]) dataset datasets.MNIST(root./data, trainTrue, downloadTrue, transformtransform) dataloader DataLoader(dataset, batch_size32, shuffleTrue)test_dataset datasets.MNIST(root./data, trainFalse, downloadTrue, transformtransform) test_dataloader DataLoader(test_dataset, batch_size32, shuffleTrue)# 初始化模型和优化器 device torch.device(cuda if torch.cuda.is_available() else cpu) model Net().to(device) optimizer optim.Adam(model.parameters(), lr0.001) criterion nn.CrossEntropyLoss()# 训练模型 for epoch in range(5):for i, (images, labels) in enumerate(dataloader):images, labels images.to(device), labels.to(device)optimizer.zero_grad()outputs model(images)loss criterion(outputs, labels)loss.backward()optimizer.step()# 评估模型 correct 0 total 0 with torch.no_grad():for images, labels in test_dataloader:images, labels images.to(device), labels.to(device)outputs model(images)_, predicted torch.max(outputs.data, 1)total labels.size(0)correct (predicted labels).sum().item()print(Accuracy of the network on the 10000 test images: %d %% % (100 * correct / total))五、阶段实战猫狗识别 1. 数据准备 使用猫狗数据集包含25000张猫和狗的图片。我们将猫和狗的照片放在目录’data/train’下。 2. 模型构建 构建一个全连接神经网络包含一个输入层64643个神经元、三个隐藏层256、128、64个神经元和一个输出层2个神经元。 3. 代码实现 import torch import torch.nn as nn import torch.optim as optim from torchvision import datasets, transforms from torch.utils.data import DataLoader# 定义数据预处理 data_transforms transforms.Compose([transforms.Resize((64, 64)),transforms.RandomRotation(40),transforms.RandomHorizontalFlip(),transforms.RandomVerticalFlip(),transforms.RandomAffine(0, translate(0.2, 0.2), scale(0.8, 1.2)),transforms.ToTensor(), ])# 加载数据 train_dataset datasets.ImageFolder(data/train, transformdata_transforms) train_loader DataLoader(train_dataset, batch_size32, shuffleTrue)# 定义模型 class Net(nn.Module):def __init__(self):super(Net, self).__init__()self.model nn.Sequential(nn.Flatten(),nn.Linear(64*64*3, 256),nn.ReLU(),nn.Linear(256, 128),nn.ReLU(),nn.Linear(128, 64),nn.ReLU(),nn.Linear(64, 1),nn.Sigmoid())def forward(self, x):return self.model(x)# 初始化模型和优化器 device torch.device(cuda if torch.cuda.is_available() else cpu) model Net().to(device) optimizer optim.Adam(model.parameters(), lr0.001) criterion nn.BCELoss()# 训练模型 for epoch in range(15):for i, (images, labels) in enumerate(train_loader):images, labels images.to(device), labels.float().unsqueeze(1).to(device)optimizer.zero_grad()outputs model(images)loss criterion(outputs, labels)loss.backward()optimizer.step()# 评估模型 # 假设有一个测试数据集的加载器叫做 validation_loader correct 0 total 0 with torch.no_grad():for images, labels in validation_loader:images, labels images.to(device), labels.to(device)outputs model(images)predicted (outputs 0.5).float()total labels.size(0)correct (predicted labels).sum().item() print(Accuracy of the network on the test images: %d %% % (100 * correct / total))六、数学原理详解 1. 激活函数 激活函数用于引入非线性因素使得神经网络能够学习和模拟复杂函数。常用的激活函数有 Sigmoid函数 σ ( x ) 1 1 e − x \sigma(x) \frac{1}{1 e^{-x}} σ(x)1e−x1​ReLU函数 R e L U ( x ) max ⁡ ( 0 , x ) ReLU(x) \max(0, x) ReLU(x)max(0,x)Softmax函数 s o f t m a x ( x ) i e x i ∑ j e x j softmax(x)_i \frac{e^{x_i}}{\sum_j e^{x_j}} softmax(x)i​∑j​exj​exi​​ 2. 损失函数 损失函数用于衡量模型预测值与真实值之间的差异。常用的损失函数有 均方误差MSE M S E ( y , y ^ ) 1 n ∑ i 1 n ( y i − y ^ i ) 2 MSE(y, \hat{y}) \frac{1}{n}\sum_{i1}^{n}(y_i - \hat{y}_i)^2 MSE(y,y^​)n1​∑i1n​(yi​−y^​i​)2交叉熵损失对于二分类问题 C E ( y , y ^ ) − y log ⁡ ( y ^ ) − ( 1 − y ) log ⁡ ( 1 − y ^ ) CE(y, \hat{y}) -y\log(\hat{y}) - (1-y)\log(1-\hat{y}) CE(y,y^​)−ylog(y^​)−(1−y)log(1−y^​) 3. 优化算法 优化算法用于更新网络的权重和偏置以最小化损失函数。常用的优化算法有 梯度下降Gradient Descent w : w − α ∂ L ∂ w w : w - \alpha \frac{\partial L}{\partial w} w:w−α∂w∂L​Adam优化器结合了动量Momentum和自适应学习率Adagrad的优点。 七、总结 本篇文章从全连接神经网络的基本原理出发介绍了全连接模型的设计、参数计算以及如何实现手写数字识别和猫狗识别。通过配套的完整可运行代码读者可以更好地理解全连接神经网络的实现过程。在实际应用中全连接神经网络虽然已被卷积神经网络CNN等更先进的网络结构所取代但其基本原理仍然是深度学习领域的重要基石。希望本文能帮助读者深入掌握全连接神经网络并为后续学习打下坚实的基础。
http://www.hkea.cn/news/14519794/

相关文章:

  • 无锡做网站公司多少钱旅游网站建设项目报告论文
  • 网站建设学习视频网络营销赚钱
  • 万链网站做的怎么样?百度seo服务方案
  • 个体户可以注册网站建设服务wordpress主题DUX大前端
  • 如何防止网站攻击wordpress使用七牛防止降权
  • 自己做的网站出现广告盘锦市建设银行网站
  • wordpress 站内信插件seo和sem是什么意思
  • 求职网站开发多少钱地方o2o同城网站源码
  • 坪山公司网站建设公司网站费用构成需要多少钱
  • 郴州网站建设案例网站开发维护公司经营范围
  • 课程设计代做网站推荐领优惠券的小网站怎么做
  • 软件开发工资一般多少钱一个月做关键词优化的公司
  • 北京公司模板网站专业做生鲜的网站
  • 承德网站建设报价浦东新区办营业执照哪里办
  • 微信公众号和网站建设的意义seo优化包括什么
  • 城市建设与管理网站新浪云sae免费wordpress网站
  • 礼品网站建设公司百度招聘
  • 专业公司网站建设服务公司免费wordpress资源
  • 搭建网站难吗企业网站建设介绍
  • 网站建设的公司哪家强网站开发语言有什么
  • 网站素材免费如何建设数据报表网站
  • 山西省轻工建设有限责网站海口发布公众号
  • 网站建设关健词优化网络公司怎么样网站后台设置网站地图
  • 美词网站建设社交网络服务网站
  • 做那个的网站网站建设哪家好公司
  • wordpress 多语言网站html5网站模板
  • 购物网站 后台模板唯尚广告联盟
  • 投资公司取名常州网站seo代理加盟
  • 惠州seo工作室太原关键词优化软件
  • 扬州做企业网站网站开发制作平台