中英文网站用一个域名还是两个域名利于优化/批量查询指数

中英文网站用一个域名还是两个域名利于优化,批量查询指数,广东建设厅网站,广告装饰 技术支持 东莞网站建设在人工智能的领域中,神经网络是推动技术发展的核心力量。今天,让我们深入探讨循环神经网络(RNN) 一、神经网络基础 (1)什么是神经网络 神经网络,又称人工神经网络,其设计灵感源于人…

在人工智能的领域中,神经网络是推动技术发展的核心力量。今天,让我们深入探讨循环神经网络(RNN)

在这里插入图片描述

一、神经网络基础

(1)什么是神经网络

神经网络,又称人工神经网络,其设计灵感源于人类大脑的运作模式。它由众多被称为“节点”的处理单元构成,这些节点之间相互传递数据,恰似大脑中的神经元传递电脉冲。

在机器学习领域,神经网络扮演着关键角色。尤其是在深度学习中,它能够从无标签数据中提取有价值的信息,实现诸如识别照片中未知物品等复杂任务。

(2)神经网络的学习过程

神经网络的学习过程是一个迭代的过程,主要包括前向传播、损失函数计算和反向传播三个关键步骤。
在这里插入图片描述
在前向传播阶段,数据从输入层开始,依次经过隐藏层的处理,最终到达输出层。在这个过程中,每个神经元都会根据输入数据和自身的权重、偏差进行计算。权重决定了输入数据的相对重要性,而偏差则影响着神经元的激活程度。最初,我们会为权重和偏差赋予非零的随机值,这就是网络的参数初始化过程。
在这里插入图片描述
计算完成后,输出层的结果即为前向传播的最终输出,我们将其与真实值(ground-truth value)进行对比,通过损失函数(loss function)来衡量模型的性能。损失函数计算预测值与真实值之间的误差,常见的损失函数包括均方误差(Mean Squared Error,MSE)、平均绝对误差(Mean Absolute Error,MAE)、二元交叉熵(Binary Cross-entropy)、多类交叉熵(Multi-class Cross-entropy)等,它们分别适用于不同类型的任务,如回归问题或分类问题。

在这里插入图片描述
如果前向传播得到的预测值与真实值相差较大,说明我们需要调整网络的参数以降低损失函数的值。这就引出了反向传播过程,在这个阶段,我们会计算损失函数关于模型参数的梯度,并利用优化算法(如梯度下降 等)来更新参数。

在这里插入图片描述

二、循环神经网络

(1)RNN的定义与应用场景

循环神经网络(RNN)是一种专门设计用于处理顺序数据的神经网络架构。与传统的前馈神经网络不同。
RNN 能够通过内部状态来记忆之前输入的信息,从而更好地处理序列数据。在处理时间序列数据、语言建模或视频序列等任务时,RNN 表现出了独特的优势,因为这些任务中输入数据的顺序至关重要。
在这里插入图片描述

(2)顺序数据的概念

顺序数据是指具有特定顺序且顺序会影响数据含义的信息。

“The quick brown fox jumps over the lazy dog.”

每个单词都是数据的一部分,单词的顺序决定了句子的语义。如果将单词顺序打乱,句子就会变得毫无意义。
其他常见的顺序数据还包括时间序列数据(如股票价格、温度读数、网站流量等)和语音信号等。

(3)RNN与前馈神经网络的对比

  • 前馈神经网络:数据在网络中仅沿一个方向流动,从输入层到输出层,不存在反馈回路。这种架构适用于模式识别等任务,但在处理顺序数据时存在局限性,因为它无法利用之前的输入信息。
  • 循环神经网络:通过网络中的反馈回路,信号可以在前后时间步之间传递,使得网络能够记住之前的输入,从而更好地处理顺序数据。

在这里插入图片描述

(4)为什么使用RNN

传统的人工神经网络(ANN)在处理顺序数据(如文本)时面临挑战,因为它们要求输入数据具有固定的大小。在 ANN 中,每个输入被独立处理,无法捕捉元素之间的顺序和关系。

三、RNN的架构

在这里插入图片描述

3.1 RNN的时间展开

RNN的关键在于其内部状态或记忆,它能够跟踪已处理的数据,可以将 RNN 视为多个前馈神经网络在时间上的链式执行,每个时间步都有一个相同的网络结构在处理输入数据。
在这里插入图片描述

  • 输入层:在每个时间步,输入层接收一个输入数据,并将其传递给隐藏层。与前馈网络不同,RNN 的输入是逐个时间步进行处理的,这使得网络能够适应动态变化的数据序列
  • 隐藏状态:隐藏层在 RNN 中起着核心作用,它不仅处理当前输入,还会保留之前输入的信息。隐藏状态 h t h_t ht 在时间步 t t t是根据当前输入 X t X_t Xt和前一个隐藏状态 h t − 1 h_{t - 1} ht1 计算得出的,计算公式如下:

h t = t a n h ( W ∗ [ h t − 1 , X t ] + b h ) h_t = tanh(W*[h_{t-1},X_t] + b_h) ht=tanh(W[ht1,Xt]+bh)

  • t a n h tanh tanh: 是非线性激活函数
  • W W W:隐藏层的权重矩阵
  • b h b_h bh: 隐藏层的偏差向量
  • 输出序列
    RNN 的输出方式非常灵活,可以在每个时间步都产生输出(多对多),也可以在序列结束时产生一个单一输出(多对一),甚至可以从单个输入生成一个序列输出(一对多)。例如,对于多对多的 RNN,时间步 t t t的输出 O t O_t Ot 可以通过以下公式计算:

O t = V ∗ h t + b o O_t = V*h_t+b_o Ot=Vht+bo

  • V V V: 输出层的权重矩阵
  • b o b_o bo:输出层的偏差向

3.2 RNN的关键操作

3.2.1 前向传播

在 RNN 的前向传播过程中,对于每个时间步 t t t,网络会结合当前输入 X t X_t Xt 和前一个隐藏状态 h t − 1 h_{t - 1} ht1 来计算新的隐藏状态 h t h_t ht和输出 O t O_t Ot。这个过程中会使用一些非线性激活函数(如 s i g m o i d sigmoid sigmoid t a n h tanh tanh)来引入非线性变换.

在这里插入图片描述

def forward(self, inputs):h = np.zeros((1, self.hidden_size))self.last_inputs = inputsself.last_hs = {0: h}for i, x in enumerate(inputs):x = x.reshape(1, -1)h = np.tanh(np.dot(x, self.weights_ih) + np.dot(h, self.weights_hh) + self.bias_h)self.last_hs[i + 1] = hy = np.dot(h, self.weights_ho) + self.bias_oself.last_outputs = yreturn y

3.2.2 反向传播时间(BPTT)

与传统的反向传播不同,BPTT 会在时间上展开整个数据序列,并在每个时间步计算梯度,然后利用这些梯度来调整权重,以降低总体损失。

在这里插入图片描述
假设我们有一个长度为 T T T 的时间序列数据,在每个时间步 t t t 都有一个简单的损失函数 L t L_t Lt(如回归任务中的均方误差),那么总损失 L t o t a l L_{total} Ltotal 是每个时间步损失的总和:

L t o t a l = Σ t = 1 T L t L_{total}=\Sigma_{t=1}^{T}L_t Ltotal=Σt=1TLt

为了更新权重,我们需要计算 L t o t a l L_{total} Ltotal 关于权重的梯度。对于权重矩阵 U U U(输入到隐藏层)、 W W W(隐藏层到隐藏层)和 V V V(隐藏层到输出层),梯度的计算公式如下:
在这里插入图片描述

def backprop(self, d_y, learning_rate, clip_value=1):n = len(self.last_inputs)d_y_pred = (self.last_outputs - d_y) / d_y.sized_Whh = np.zeros_like(self.weights_hh)d_Wxh = np.zeros_like(self.weights_ih)d_Why = np.zeros_like(self.weights_ho)d_bh = np.zeros_like(self.bias_h)d_by = np.zeros_like(self.bias_o)d_h = np.dot(d_y_pred, self.weights_ho.T)for t in reversed(range(1, n + 1)):d_h_raw = (1 - self.last_hs[t] ** 2) * d_hd_bh += d_h_rawd_Whh += np.dot(self.last_hs[t - 1].T, d_h_raw)d_Wxh += np.dot(self.last_inputs[t - 1].reshape(1, -1).T, d_h_raw)d_h = np.dot(d_h_raw, self.weights_hh.T)for d in [d_Wxh, d_Whh, d_Why, d_bh, d_by]:np.clip(d, -clip_value, clip_value, out=d)self.weights_ih -= learning_rate * d_Wxhself.weights_hh -= learning_rate * d_Whhself.weights_ho -= learning_rate * d_Whyself.bias_h -= learning_rate * d_bhself.bias_o -= learning_rate * d_by

3.2.3 权重更新

在计算出梯度后,我们使用优化算法(如随机梯度下降)来更新权重。权重更新的公式如下:

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/70153.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SQL sever数据导入导出实验

1.创建数据库TCP-H (1)右键“数据库”,点击“新建数据库”即可 (2)用sql语言创建,此处以创建数据库DB_test为例,代码如下: use master;go--检查在当前服务器系统中的所有数据里面…

让编程变成一种享受-明基RD320U显示器

引言 作为一名有着多年JAVA开发经验的从业者,在工作过程中,显示器的重要性不言而喻。它不仅是我们与代码交互的窗口,更是影响工作效率和体验的关键因素。在多年的编程生涯中,我遇到过各种各样的问题。比如,在进行代码…

计算机网络(涵盖OSI,TCP/IP,交换机,路由器,局域网)

一、网络通信基础 (一)网络通信的概念 网络通信是指终端设备之间通过计算机网络进行的信息传递与交流。它类似于现实生活中的物品传递过程:数据(物品)被封装成报文(包裹),通过网络…

✨2.快速了解HTML5的标签类型

✨✨HTML5 的标签类型丰富多样&#xff0c;每种类型都有其独特的功能和用途&#xff0c;以下是一些常见的 HTML5 标签类型介绍&#xff1a; &#x1f98b;结构标签 &#x1faad;<html>&#xff1a;它是 HTML 文档的根标签&#xff0c;所有其他标签都包含在这个标签内&am…

eNSP防火墙综合实验

一、实验拓扑 二、ip和安全区域配置 1、防火墙ip和安全区域配置 新建两个安全区域 ip配置 Client1 Client2 电信DNS 百度web-1 联通DNS 百度web-2 R2 R1 三、DNS透明代理相关配置 1、导入运营商地址库 2、新建链路接口 3、配置真实DNS服务器 4、创建虚拟DNS服务器 5、配置D…

Linux 配置交换空间(Swap)解决内存不足

&#x1f680; 作者主页&#xff1a; 有来技术 &#x1f525; 开源项目&#xff1a; youlai-mall ︱vue3-element-admin︱youlai-boot︱vue-uniapp-template &#x1f33a; 仓库主页&#xff1a; GitCode︱ Gitee ︱ Github &#x1f496; 欢迎点赞 &#x1f44d; 收藏 ⭐评论 …

个人shell脚本分享

在周一到周五做增量备份&#xff0c;在周六周日做完全备份 #!/bin/bash定义变量 SRC“/path/to/source” # 源目录 BKUP“/backup” # 备份主目录 FUL“KaTeX parse error: Expected EOF, got # at position 22: …ull" #̲ 完全备份目录 INC"BKUP/inc” # 增量备份…

Django 5 实用指南(一)安装与配置

1.1 Django5的背景与发展 Django 自从2005年由Adrian Holovaty和Simon Willison在 Lawrence Journal-World 新闻网站上首次发布以来&#xff0c;Django 一直是 Web 开发领域最受欢迎的框架之一。Django 框架经历了多个版本的演进&#xff0c;每次版本更新都引入了新功能、改进了…

百度搜索融合 DeepSeek 满血版,开启智能搜索新篇

百度搜索融合 DeepSeek 满血版&#xff0c;开启智能搜索新篇 &#x1f680; &#x1f539; 一、百度搜索全量接入 DeepSeek &#x1f539; 百度搜索迎来重要升级&#xff0c;DeepSeek 满血版全面上线&#xff01;&#x1f389; 用户在百度 APP 搜索后&#xff0c;点击「AI」即…

RabbitMQ服务异步通信

消息队列在使用过程中&#xff0c;面临着很多实际问题需要思考&#xff1a; 1. 消息可靠性 消息从发送&#xff0c;到消费者接收&#xff0c;会经理多个过程&#xff1a; 其中的每一步都可能导致消息丢失&#xff0c;常见的丢失原因包括&#xff1a; 发送时丢失&#xff1a; 生…

【教程】MySQL数据库学习笔记(七)——多表操作(持续更新)

写在前面&#xff1a; 如果文章对你有帮助&#xff0c;记得点赞关注加收藏一波&#xff0c;利于以后需要的时候复习&#xff0c;多谢支持&#xff01; 【MySQL数据库学习】系列文章 第一章 《认识与环境搭建》 第二章 《数据类型》 第三章 《数据定义语言DDL》 第四章 《数据操…

胶囊网络动态路由算法:突破CNN空间局限性的数学原理与工程实践

一、CNN的空间局限性痛点解析 传统CNN的瓶颈&#xff1a; 池化操作导致空间信息丢失&#xff08;最大池化丢弃85%激活值&#xff09;无法建模层次空间关系&#xff08;旋转/平移等变换不敏感&#xff09;局部感受野限制全局特征整合 示例对比&#xff1a; # CNN最大池化示例…

#渗透测试#批量漏洞挖掘#Apache Log4j反序列化命令执行漏洞

免责声明 本教程仅为合法的教学目的而准备,严禁用于任何形式的违法犯罪活动及其他商业行为,在使用本教程前,您应确保该行为符合当地的法律法规,继续阅读即表示您需自行承担所有操作的后果,如有异议,请立即停止本文章读。 目录 Apache Log4j反序列化命令执行漏洞 一、…

深入剖析Spring MVC

一、Spring MVC 概述 1. 什么是 Spring MVC&#xff1f; Spring MVC 是基于 Spring 框架的 Web 框架&#xff0c;它实现了 MVC 设计模式&#xff0c;将应用程序分为三个核心部分&#xff1a; Model&#xff1a;封装应用程序的数据和业务逻辑。 View&#xff1a;负责渲染数据…

【AI】mac 本地部署 Dify 实现智能体

下载 Ollama 访问 Ollama 下载页&#xff0c;下载对应系统 Ollama 客户端。或者参考文章【实战AI】macbook M1 本地ollama运行deepseek_m1 max可以跑deepseek吗-CSDN博客 dify 开源的 LLM 应用开发平台。提供从 Agent 构建到 AI workflow 编排、RAG 检索、模型管理等能力&am…

[实现Rpc] 消息抽象层的具体实现

目录 具象层 _ 消息抽象的实现 信息的抽象类 实现 JsonMessage JsonRequest & JsonResponse 消息-不同消息分装实现 实现 Request RpcRequest TopicRequest ServiceRequest Response RpcResponse TopicResponse ServiceResponse 实现 生产工厂 本篇文章继 …

算法之 跳跃游戏

文章目录 55.跳跃游戏思路参考&#xff1a;56.合并区间 55.跳跃游戏 55.跳跃游戏 灵神思路 思路分析&#xff1a; 两种思路&#xff0c;思路1是我们可以直接维护当前到达i的时候所能到达的最右的边界mr&#xff0c;如果i>mr就说明无法到达i,否则就是可以到达&#xff1b;…

MySQL基本操作——包含增删查改(环境为Ubuntu20.04,MySQL5.7.42)

1.库的操作 1.1 创建数据库 语法&#xff1a; 说明&#xff1a; 大写的表示关键字 [] 是可选项 CHARACTER SET: 指定数据库采用的字符集 COLLATE: 指定数据库字符集的校验规则 1.2 创建案例 创建一个使用utf8字符集的db1数据库 create database db1 charsetutf8; …

Spring Boot 定时任务:轻松实现任务自动化

在现代应用开发中&#xff0c;定时任务是一个常见的需求。比如&#xff0c;我们可能需要定时清理过期数据、定时发送邮件通知等。 操作流程 开启定时任务注解 在启动类添加注解EnableScheduling 设置时间&#xff08;固定时间间隔&#xff09; 使用 Scheduled 注解创建定时…

七星棋牌全开源修复版源码解析:6端兼容,200种玩法全面支持

本篇文章将详细讲解 七星棋牌修复版源码 的 技术架构、功能实现、二次开发思路、搭建教程 等内容&#xff0c;助您快速掌握该棋牌系统的开发技巧。 1. 七星棋牌源码概述 七星棋牌修复版源码是一款高度自由的 开源棋牌项目&#xff0c;该版本修复了原版中的多个 系统漏洞&#…