波束形成(BF)从算法仿真到工程源码实现-第七节-关于波束10个基本概念
一、波束10个基本概念
1.作用:
对多路麦克风信号进行合并处理,抑制非目标方向的干扰信号,增强目标方向的声音信号。
2.原理:
调整相位阵列的基本单元参数,使得某些角度的信号获得相长干涉,而另一些角度的信号获得相消干涉。对各个麦克风输出信号加权求和、滤波,最终输出期望方向的语音信号,相当于形成一个“波束”。
3.问题:
(1)通常的阵列处理多为窄带(300~3400Hz),没有经过调制过程,且高低频相差比较大,不同麦克风的相位延时与声源的频率关系密切,使得现有的传统窄带波束形成方法不再适用;
(2)低信噪比和混响影响的环境下难以准确估计波达方向;
(3)传统的后置滤波只考虑散射噪声或只从波束形成后的单通道输出中估计噪声。
4.技术分类:
传统的波束形成技术主要分为固定波束形成和自适应波束形成技术。
(4.1)固定波束形成:固定权重和相位设置的天线阵列技术。将主要接收波束指向特定方向,以增强来自该方向的语音信号,并尽量减小其他方向的干扰信号。这种固定的波束指向可能是根据预先定义的声源位置或期望的信号方向来确定的。固定波束形成适用于固定的语音源或需要特定传输方向的应用场景。
(4.2)自适应波束形成:根据实时接收到的语音信号和噪声环境来调整天线阵列的权重和相位设置,以提供更好的语音质量和麦克风阵列性能。它的目标是最大程度地抑制干扰噪声并增强所需的语音信号。
根据获取加权矢量时采用的方法不同,可将波束形成方法分为三类:
(1)和参考信号数据无关的波束形成方法,如常规波束形成方法,这种波束形成方法通过加权取平均得到固定的阵列输出响应,阵列输出不受信号数据变化的影响;
(2)使用最佳权矢量的波束形成方法,这类方法依赖于对阵列接收数据统计特性的估计,如最大信噪比准则;
(3)可根据接收数据变化自适应地改变权矢量的波束形成方法,如最小方差无畸变响应(MVDR)波束形成、LMS算法、递推最小二乘(RLS)算法、采样矩阵求逆(SMI)算法等。
宽带波束形成主要分为时域方法和频域方法:
(1)时域方法:对每个支路进行合适的延时,对各麦克风上接受信号的时间进行补偿,使信号到达阵列时等效为是同一波面同时到达各麦克风;
(2)频域方法:首先将宽带信号在频域分解为若干个子带,对子带信号进行窄带波束形成后,通过合成得到宽带波束输出。
由于时域方法受到采样精度的限制,多用于处理低频信号,处理高频信号更多采用频域方法。
麦克风阵列信号处理通常由自适应波束形成和后置滤波两个部分组成。
在自适应波束形成和后置滤波中,准确的估计导向矢量和噪声功率谱密度十分的关键。在导向矢量可估计的条件下,常用的波束形成算法包括延迟相加、最小方差无失真响应和广义旁瓣相消器。最简单的导向矢量估计是利用波达方向信息,除此之外,S. Gannot利用语音信号的非平稳性计算相对传递函数作为导向矢量,A. Krueger使用广义特征值分解得到的最大特征向量估计传递函数作为导向矢量。基于最小均方误差幅度谱估计和对数幅度谱估计是应用最为广泛的单通道语音增强算法之一,准确地跟踪噪声可以避免语音失真或噪声残余,常用的噪声跟踪算法有最小值跟踪算法和最小值控制递归平均算法。
5.声辐射
声音的方向性和频率有关,频率越高,方向性越强,辐射角度越小。语音是宽带信号60Hz~8kHz均有语音信息,如下图所示,不同频率信号的辐射角不一样,对波束宽度不随频率改变的波束方法(dealy-sum),波束后信号的各频率之比和波束前信号的各频率之比将会发生较大差异,从而造成一定程度的失真,影响语音的音质。
不同频率的声波辐射指向特性示意图
大多数波束形成方法的主瓣宽度有限,为了使波束在全频带上具有较强的适用性和鲁棒性,通常会对低频带和高频带做额外的处理。
6.空域混叠
时域采样为了避免频域混叠,采样率必须大于语音最高频率的两倍(奈奎斯特采样定理)。与之类似,阵列属于空域采样,为了避免空域混叠,需要满足,其中d是麦克风间距。
7.评价指标
评价波束形成器性能的指标通常有波束图、指向性因子、白噪声增益和信噪比增益四个。
(1)波束图
波束图是描述波束形成器在空间各个方向上的响应特性的图形表示。它显示了波束形成器对来自不同方向的信号的接收能力,通常用来直观展示波束形成器的指向性和分辨率。理想的波束图应该在目标方向上有一个明显的主瓣,而在其他方向上有较低的旁瓣,以减少干扰和噪声的影响。
(2)指向性因子
指向性因子是衡量波束形成器指向性的一个量化指标,它反映了波束形成器对特定方向信号的聚焦能力。指向性因子越高,表明波束形成器在目标方向上的聚焦能力越强,对非目标方向上的干扰抑制能力越好。
(3)白噪声增益
白噪声增益是指在白噪声环境下,波束形成器输出信号与输入信号的信噪比(SNR)之比。这个指标反映了波束形成器在没有色噪声(即频谱平坦的噪声)影响下的性能。白噪声增益越大,说明波束形成器在白噪声环境中的性能越好。
(4)信噪比增益
信噪比增益是指波束形成器输出信号的信噪比与输入信号的信噪比之间的比值。这个指标衡量了波束形成器在存在噪声的情况下改善信号质量的能力。信噪比增益越高,表明波束形成器在提高信号质量和抑制噪声方面的效果越好。
8.噪声场
噪声场是由噪声形成的声场。当语音信号经障碍物反射和折射会产生多个传播路径,这时声场处于“混响”状态。混响会削弱语音信号的输出,改变声场的空间特性。噪声场空间特性的改变就形成了不同类型的噪声场,根据不同噪声情况使用不同的方法进行降噪,我们可以根据噪声之间的互功率谱相关性判断是哪类噪声场。
其中是麦克风i和j的互功率谱密度,
和
分别是麦克风i和j的自功率谱密度。依据
取值的不同,噪声场分为相关噪声场(
)、非相关噪声场(
)、散射噪声场。
(1)相干噪声场:不同麦克风采集到同一噪声源发出的噪声是高度相似的,且信号的传播几乎无任何反射,常见于消声室内。由于低频信号波长较长,在日常环境中,同一噪声源发出的噪声传播到不同麦克风也是有相似性的,有时低频分量的相似性相对中高频还比较高,因此低频需要额外的处理。
(2)非相干噪声场:麦克风接收的噪声信号之间几乎不具有相关性。在麦克风阵列满足空域混叠的情况下,不同麦克风采集到的噪声完全不相干的可能性极小,但是由于麦克风属于半导体器件,而半导体器件自身产生电器噪声可以认为是完全不相关的,这类噪声通常可以设计到-65dB以下。
(3)散射噪声场:噪声在各个方向上以相等的能量同时均匀传播,这使得麦克风接收到的信号相关性较小。散射噪声场可以用sinc或bessel函数建模。
散射噪声场适用于许多场景,如:办公室、汽车内等。
9.近场与远场
以均匀线性阵列为例。假设声源S到阵列坐标中心的距离为r,任意两个相邻阵列间的间距为d,声波波长的最小值为,
,
是声速,
是周期,近场和远场模型如下图所示:
超过了这个距离就是远场,球面波变成平面波
近场模型:不同麦克风接收到的信号幅度受信号源到各麦克风距离差异影响非常明显,需考虑信号源到达不同麦克风的波程差和振幅差。声波视为球面波;
远场模型:不同麦克风接收信号的幅度差异较小,因此把不同麦克风采集的语音信号的幅值认为都是一样的,只需对各麦克风接收信号的相位差异进行处理即可。声波视为平面波。
10.SBF(超指向性波束形成)
对于麦克风阵列,最关键的问题之一是如何处理噪声环境中的有效信号捕获。信号在空间中大量的反射往往会形成接近球形的各向同性噪声场。因此,在最小无失真响应(MVDR)算法的基础上,利用各向同性散射噪声场矩阵代替MVDR算法中的噪声空间相关协方差矩阵,对语音信号做波束形成降噪处理。
所有关于波束形成算法设计的主要性能指标是各类噪声场矩阵相关函数。所谓的“超指向性”(Superdirective)是指通过最优相关函数处理,抑制来自所有方向噪声对目标信号的影响,输出比常规波束形成具有更高“方向性”的阵列增益信号,从而改善降噪处理效果。
相关文章:
波束形成(BF)从算法仿真到工程源码实现-第七节-关于波束10个基本概念
一、波束10个基本概念 1.作用: 对多路麦克风信号进行合并处理,抑制非目标方向的干扰信号,增强目标方向的声音信号。 2.原理: 调整相位阵列的基本单元参数,使得某些角度的信号获得相长干涉,而另一些角度的…...
深度学习(第一集)
123 import torch# 创建一个需要计算梯度的张量 x1 torch.tensor([2.0], requires_gradTrue)# 定义一个简单的函数 y x^2 y x1 ** 4# 计算梯度 y.backward()print("x1.grad 的值:", ) # 打印 x1.grad print("x1.grad 的值:", x1…...
Spring 事务传播行为
在Spring框架中,事务传播行为(Transaction Propagation)定义了事务在多个方法调用之间的行为方式。理解这些传播行为对于设计可靠的事务管理策略至关重要。以下是Spring支持的七种事务传播行为及其应用场景的详细说明: 1. REQUIRED(默认) 行为:如果当前存在事务,则加入…...
搬运机器人的基本工作场景及原理
搬运机器人广泛应用于工业生产中,主要用于搬运、堆放、装配等工作。它通过机械手臂的运动,结合机器视觉技术完成各种自动化作业。 一、搬运机器人的设计原理 搬运机器人通常采用可移动门架式结构,手臂承载机构安装在导轨上,可以沿…...
Ubuntu终端中常用的快捷键整理
1. 导航与编辑 光标移动: Ctrl A:跳转到行首。 Ctrl E:跳转到行尾。 Alt B:向左移动一个单词(或 Ctrl ←)。 Alt F:向右移动一个单词(或 Ctrl →)。 删除操作…...
mysql安装-MySQL MGR(Group Replication)+ ProxySQL 架构
文章目录 前言一、环境规划二、安装 MySQL 8.0.36(主库,CentOS 9)2.1 添加 Yum 源2.2 安装 MySQL 8.0.362.3 初始化 三、配置主库 my.cnf(192.168.1.101)四、(可选)创建远程可访问的用户&#x…...
Opencv使用cuda实现图像处理
main.py import os import cv2 print(fOpenCV: {cv2.__version__} for python installed and working) image cv2.imread(bus.jpg) if image is None:print("无法加载图像1") print(cv2.cuda.getCudaEnabledDeviceCount()) cv2.cuda.setDevice(0) cv2.cuda.printCu…...
ubuntu 安装samba
ubuntu 版本:Ubuntu 24.04.2 LTS 1. 保证连网 2. 安装samba sudo apt install samba 在安装结束以后,我们可以使用下面的命令来查看安装: apt list | grep samba freeipa-client-samba/noble 4.11.1-2 amd64 ldb-tools/noble 2:2.8.0samba…...
山东大学软件学院创新项目实训开发日志(12)之将对话记录保存到数据库中
在之前的功能开发中,已经成功将deepseekAPI接口接入到springbootvue项目中,所以下一步的操作是将对话和消息记录保存到数据库中 在之前的开发日志中提到数据库建表,所以在此刻需要用到两个表,conversation表和message表ÿ…...
欢乐力扣:反转链表二
文章目录 1、题目描述2、思路 1、题目描述 反转链表二。 给你单链表的头指针 head 和两个整数 left 和 right ,其中 left < right 。请你反转从位置 left 到位置 right 的链表节点,返回 反转后的链表 。 2、思路 参考官方题解,基本思路…...
【CS*N是狗】亲测可用!!WIN11上禁用Chrome自动更新IDM插件
现象:每次打开chrome后IDM会弹出提示插件版本不一致。经过排查后发现是chrome把IDM插件给更新了,导致IDM提示版本不匹配。经过摸索后,得到了可行的方案。 第一步,打开Chrome,把IDM插件卸载掉,然后重新安装I…...
Linux:DNS服务配置(课堂实验总结)
遇到的问题,都有解决方案,希望我的博客能为你提供一点帮助。 操作系统:rocky Linux 9.5 一、配置DNS服务器的核心步骤 步骤 1:安装 BIND 软件 检查是否安装: rpm -qa | grep "^bind"…...
啥是Spring,有什么用,既然收费,如何免费创建SpringBoot项目,依赖下载不下来的解决方法,解决99%问题!
一、啥是Spring,为啥选择它 我们平常说的Spring指的是Spring全家桶,我们为什么要选择Spring,看看官方的话: 意思就是:用这个东西,又快又好又安全,反正就是好处全占了,所以我们选择它…...
【LeetCode】算法详解#4 ---合并区间
1.题目介绍 以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间 。 1 < intervals.length < 104interval…...
安装树莓派3B+环境
目录 一、安装树莓派3B环境 1.1 格式化SD卡 1.2 环境安装与配置 1.2.1 安装Raspberry Pi 1.2.2 SSH访问树莓派 1.3 创建用户账号 二、在树莓派上用C和Python编程运行一个简单的程序 2.1 C语言程序 2.2 Python程序 三、总结 树莓派是一款功能强大的微型计算机…...
STM32(3.3V 系统)通过串口直接向 ATmega328P(5V 系统)发送数据,居然能正常通信
核心结论 如果 STM32(3.3V 系统)通过串口直接向 ATmega328P(5V 系统)发送数据,3.3V 的 TX 高电平可能无法被 ATmega328P 可靠识别为逻辑“1”!以下是详细分析: 1.…...
Java 8中的Lambda 和 Stream (from Effective Java 第三版)
42.Lambda 优先于匿名类 在之前的做法中(Historically),使用单个抽象方法的接口(或很少的抽象类【只有一个抽象方法的抽象类数量比较少】)被用作函数类型。它们的实例称为函数对象,代表一个函数或一种行为。…...
MIPI协议介绍
MIPI协议介绍 mipi 协议分为 CSI 和DSI,两者的区别在于 CSI用于接收sensor数据流 DSI用于连接显示屏 csi分类 csi 分为 csi2 和 csi3 csi2根据物理层分为 c-phy 和 d-phy, csi-3采用的是m-phy 一般采用csi2 c-phy 和 d-phy的区别 d-phy的时钟线和数据线是分开的,2根线一对…...
深入解析 HTML 中 `<script>` 标签的 async 和 defer 属性
一、背景与问题 在网页性能优化中,脚本的加载和执行方式直接影响页面渲染速度和用户体验。传统 <script> 标签的阻塞行为可能导致页面“白屏”,而 async 和 defer 属性提供了非阻塞的解决方案。本周重点研究二者的差异、适用场景及实际应用。 二、…...
【从0到1学Elasticsearch】Elasticsearch从入门到精通(上)
黑马商城作为一个电商项目,商品的搜索肯定是访问频率最高的页面之一。目前搜索功能是基于数据库的模糊搜索来实现的,存在很多问题。 首先,查询效率较低。 由于数据库模糊查询不走索引,在数据量较大的时候,查询性能很差…...
2.0 全栈运维管理:Linux网络基础核心概念解析、Proxmox网络组件详解、虚拟化网络模型分类
本文是Proxmox VE 全栈管理体系的系列文章之一,如果对 Proxmox VE 全栈管理感兴趣,可以关注“Proxmox VE 全栈管理”专栏,后续文章将围绕该体系,从多个维度深入展开。 摘要:Linux 网络基础借助桥接、VLAN 和 Bonding 实…...
案例驱动的 IT 团队管理:创新与突破之路: 第四章 危机应对:从风险预见到创新破局-4.1.3重构过程中的团队士气管理
👉 点击关注不迷路 👉 点击关注不迷路 👉 点击关注不迷路 文章大纲 案例驱动的 IT 团队管理:创新与突破之路 - 第四章 危机应对:从风险预见到创新破局4.1.3 重构过程中的团队士气管理1. 技术债务重构与团队士气的矛盾2…...
洛谷刷题小结
#include <iostream> using namespace std; int n, m,ans0; char s[105][105]; //深搜 void dfs(int x, int y) {//将搜索到的水坑看为干地s[x][y] .;//确定八个方向int next[8][2] {{0,1},{0,-1},{1,0},{-1,0},{1,1},{1,-1},{-1,1},{-1,-1},};//朝八个方向搜索for (in…...
Android Compose 权限申请完整指南
Android Compose 权限申请完整指南 在 Jetpack Compose 中处理运行时权限申请需要结合传统的权限 API 和 Compose 的状态管理。以下是完整的实现方案: 1. 基本权限申请流程 添加依赖 implementation "com.google.accompanist:accompanist-permissions:0.34…...
VirtualBox虚拟机转换到VMware
VirtualBox虚拟机转换到VMware **参考文章:**https://blog.csdn.net/qq_30054403/article/details/123451969 一.找到对应文件位置 Windows11系统,VirtualBox版本为6.1.50,VMware版本为17.5.2 1.首先找到自己需要转换的vdi文件位置 D:\v…...
Spring Boot(二十二):RedisTemplate的List类型操作
RedisTemplate和StringRedisTemplate的系列文章详见: Spring Boot(十七):集成和使用Redis Spring Boot(十八):RedisTemplate和StringRedisTemplate Spring Boot(十九)…...
【MySQL】关于何时使用start slave和start slave user=‘’ password=‘’
这个问题是我在配置三个服务器的复制拓扑时,一开始没有给复制用户 repl 创建密码,搭建好循环拓扑后,给server1的复制用户通过 ALTER USER USER() IDENTIFIED BY oracle 设置了密码,然后同步给了server2和server3。 这时server2突…...
(个人题解)第十六届蓝桥杯大赛软件赛省赛C/C++ 研究生组
宇宙超级无敌声明:个人题解(好久不训练,赛中就是一个憨憨) 先放代码吧,回头写思路。 文章目录 A. 数位倍数B. IPv6C. 变换数组D. 最大数字E. 冷热数据队列F. 01串G. 甘蔗H. 原料采购 A. 数位倍数 问: 在1至…...
GitLab + Jenkins + .Net8 实现CICD部署
前提条件:需要安装好 Jenkins 和 GitLab 。 1. Jenkins配置 登录 Jenkins 找到自己的一个任务,点击配置(没有任务就新建)。 按图操作 点击高级展开后截图,点击生成Token 配置好自己的作业(我的是一个 .Ne…...
AI工具导航 快速找到喜欢的AI工具 功能使用介绍
此篇文章内容来源CTO Plus技术服务栈官网:http://www.mdrsec.com/ 在人工智能技术迅猛发展的2025年,AI工具的数量和种类呈爆炸式增长,涵盖文本生成、图像创作、视频编辑、编程辅助等多个领域。面对琳琅满目的AI工具,如何高效筛选和…...
[题解] Educational Codeforces Round 168 (Rated for Div. 2) E - level up
链接 思路 1 注意到在 k ∈ [ 1 , n ] k \in [1,n] k∈[1,n] 可以得到的最高等级分别为: n , n 2 , n 3 . . . . . n n n,\frac{n}{2},\frac{n}{3}.....\frac{n}{n} n,2n,3n.....nn, 总的个数是一个调和级数, s u m n ∗ ln n sumn*\ln n sumn∗lnn, 完全可以处…...
达梦数据库-学习-19-兼容ORACLE相关参数介绍
目录 一、环境信息 二、介绍 三、参数 一、环境信息 名称值CPU12th Gen Intel(R) Core(TM) i7-12700H操作系统CentOS Linux release 7.9.2009 (Core)内存4G逻辑核数2DM版本1 DM Database Server 64 V8 2 DB Version: 0x7000c 3 03134284194-202…...
如何通过 Spring 层面进行事务回滚?
Spring 中事务可以分为声明式事务和编程式事务,那么解下来就从这两方面说一说在 Spring 层面个怎么进行回滚 声明式事务回滚: 1. 基础注解配置 通过Transactional注解实现自动回滚,默认对RuntimeException和Error生效 Transactional publ…...
学Qt笔记
使用的是Qt SDK5.14.0 根据比特汤众老师的课程学习 先叠个甲:本人正在学qt,视角还不完备,如有错误请多多包含 选了widget开始学习 1.qt creator设计提供了拖拽式的编辑ui的控件,和代码直接编辑构建的方式 2.浅浅的认识了qt的对…...
【HarmonyOS 5】鸿蒙实现手写板
【HarmonyOS 5】鸿蒙实现手写板 一、前言 实现一个手写板功能,基本思路如下: 创建一个可交互的组件,用户在屏幕上触摸并移动手指时,会根据触摸的位置动态生成路径,并使用黑色描边绘制在屏幕上。当用户按下屏幕时…...
JavaWeb 课堂笔记 —— 09 MySQL 概述 + DDL
本系列为笔者学习JavaWeb的课堂笔记,视频资源为B站黑马程序员出品的《黑马程序员JavaWeb开发教程,实现javaweb企业开发全流程(涵盖SpringMyBatisSpringMVCSpringBoot等)》,章节分布参考视频教程,为同样学习…...
设计模式 --- 访问者模式
访问者模式是一种行为设计模式,它允许在不改变对象结构的前提下,定义作用于这些对象元素的新操作。 优点: 1.符合开闭原则:新增操作只需添加新的访问者类,无需修改现有对象结构。 2.操作逻辑集中管理&am…...
【Linux C】简单bash设计
主要功能 循环提示用户输入命令(minibash$)。创建子进程(fork())执行命令(execlp)。父进程等待子进程结束(waitpid)。关键问题 参数处理缺失:scanf("%s", buf)…...
如何在Agent中设置Memory
什么是LLM代理? LLM代理可以被定义为能够对环境采取行动的大型语言模型。代理的主要组成部分包括:记忆、规划、提示、知识和工具。大型语言模型可以被视为这个架构的大脑,而其他所有组件则是代理正常工作的基础模块。 代理的组成部分 1. 提…...
【强化学习-蘑菇书-3】马尔可夫性质,马尔可夫链,马尔可夫过程,马尔可夫奖励过程,如何计算马尔可夫奖励过程里面的价值
欢迎去各大电商平台选购纸质版蘑菇书《Easy RL:强化学习教程》 文章是根据 蘑菇书EasyRL ,网络查找资料和汇总,以及新版本的python编写的可运行代码和示例,包含了一些自己对书内容的简单理解 一、 马尔可夫性质 在随机过程中&a…...
leetcode 718 最长公共子数组
这个题目和最长公共子数组,类似于镜像题,子问题比较难想。对于 d p [ i ] [ j ] dp[i][j] dp[i][j] ,定义为分别以 i i i 和 j j j 结尾的最长公共子数组(公共后缀) 核心代码: if(nums1[i-1] nums2[j-…...
【C++】继承:万字总结
📝前言: 这篇文章我们来讲讲面向对象三大特性之一——继承 🎬个人简介:努力学习ing 📋个人专栏:C学习笔记 🎀CSDN主页 愚润求学 🌄其他专栏:C语言入门基础,py…...
java和c#的相似及区别基础对比
用过十几种语言,但是java和c#是最为重要的两门。c#发明人曾主导开发了pascal和delphi,加入微软后,参考了c和java完成了c#和net。大家用过java或c#任意一种的,可以通过本篇文章快速掌握另外一门语言。 基础语法 变量声明…...
TP8 PHP 支付宝-通用版-V3 SDK 接口加签方式为证书方式
TP8 已安装支付宝-通用版-V3 SDK 接口加签方式之前使用密钥方式,现在要使用证书 官方文档小程序文档 - 支付宝文档中心 SDK源码仓库https://github.com/alipay/alipay-sdk-php-all/tree/master/v3 第一步:生成证书 需要先下载支付宝官方工具:…...
地毯填充luogu
P1228 地毯填补问题 题目描述 相传在一个古老的阿拉伯国家里,有一座宫殿。宫殿里有个四四方方的格子迷宫,国王选择驸马的方法非常特殊,也非常简单:公主就站在其中一个方格子上,只要谁能用地毯将除公主站立的地方外的所有地方盖上,美丽漂亮聪慧的公主就是他的人了。公主…...
数据查询语言
一、DQL基础语法与执行逻辑 1.SELECT语句结构 (1)核心语法: SELECT 列名 FROM 表名 WHERE 条件 ,用于指定返回的字段和筛选行。例如, SELECT name, age FROM emp WHERE age > 25 筛选年龄大于25岁的员工姓名和年龄。 (2)执行顺序: FROM → WHERE → GROUP BY → HAV…...
【NLP】18. Encoder 和 Decoder
1. Encoder 和 Decoder 概述 在序列到序列(sequence-to-sequence,简称 seq2seq)的模型中,整个系统通常分为两大部分:Encoder(编码器)和 Decoder(解码器)。 Encoder&…...
基于Cline和OpenRouter模型进行MCP实战
大家好,我是herosunly。985院校硕士毕业,现担任算法工程师一职,获得CSDN博客之星第一名,热衷于大模型算法的研究与应用。曾担任百度千帆大模型比赛、BPAA算法大赛评委,编写微软OpenAI考试认证指导手册。曾获得多项AI顶级比赛的Top名次,其中包括阿里云、科大讯飞比赛第一名…...
Elasticsearch 故障转移及水平扩容
一、故障转移 Elasticsearch 的故障转移(Failover)机制是其高可用性的核心,通过分布式设计、自动检测和恢复策略确保集群在节点故障时持续服务。 1.1 故障转移的核心组件 组件作用Master 节点管理集群状态(分片分配、索引创建&…...
聊聊Spring AI的Prompt
序 本文主要研究一下Spring AI的Prompt Prompt org/springframework/ai/chat/prompt/Prompt.java public class Prompt implements ModelRequest<List<Message>> {private final List<Message> messages;private ChatOptions chatOptions;public Prompt(…...