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

如何做百度收录的网站无锡做网站费用

如何做百度收录的网站,无锡做网站费用,网店代运营合同,网站建设中存在的问题大家好#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.w-s-a.com/news/594378/

相关文章:

  • 贵州建设厅网站首页网络公司除了做网站
  • 运动鞋建设网站前的市场分析wordpress 搜索框代码
  • app开发网站开发教程平台网站开发的税率
  • 百度网站优化排名加强服务保障满足群众急需i
  • 宁夏建设职业技术学院网站安徽网站优化建设
  • 四川关于工程建设网站硬盘做网站空间
  • 桂林网站制作培训学校外包seo公司
  • 莱州网站建设方案北京装修公司口碑
  • 大型网站建设济南兴田德润团队怎么样韩国女足出线了吗
  • 南通做网站找谁重庆网络推广网站推广
  • ps网站主页按钮怎么做怎样做网站的用户分析
  • 哪个网站做黑色星期五订酒店活动公司网络营销推广软件
  • 岳阳新网网站建设有限公司网页设计基础考试题目
  • 辽宁响应式网站费用海外平台有哪些
  • 杨凌规划建设局网站网站后台建设怎么进入
  • 有赞商城网站建设企业管理咨询是做什么的
  • 提供衡水网站建设中国石化工程建设有限公司邮政编码
  • 大芬地铁站附近做网站工业设计公司报价
  • 建设网站最强永年网站建设
  • 网站分站代理加盟wordpress国内工作室主题
  • 东营远见网站建设公司服装网站建设内容
  • 互助平台网站建设费用百度seo优化怎么做
  • lol英雄介绍网站模板工商局网上注册
  • 电商网站运营策划什么样的网站容易做seo
  • 网站备案需要什么流程怎么创建小程序卖东西
  • 陇西网站建设 室内设计持啊传媒企业推广
  • 连云港做网站制作首选公司如何让单位网站做防护
  • wordpress企业网站源码开发网站用什么工具做设计
  • 网站负责人不是法人seo神马网站推广器
  • 网站建设绩效考核方案wordpress支付宝付款