Embedding空间中的时序异常检测

自动驾驶时序数据异常检测:JEPA自监督学习方案 时序数据异常检测是自动驾驶安全监控的核心技术,传统监督学习方法受限于标注数据的稀缺性。自监督学习通过设计预测任务从数据本身学习表征,无需人工标注即可捕捉正常行为模式。JEPA(Joint Embedding Predictive Architecture)架构采用Transformer编码器和潜在空间预测,显著提升异常检测性能。该技术特别适用于ISO 21448(SOTIF)标准要求的未知场景监测,在nuScenes数据集上AUROC指标提升达30%。工程实现中通过双分支Transformer设计、EMA权 阅读详情

01 背景

在安全、反作弊等业务场景下,对流量、用户行为进行异常检测是基本的刚需。通常的做法是,在各个业务维度上,对流量、用户行为进行统计分析,提取出相应的指标特征,然后在时间维度上,对这些指标特征进行建模分析。再利用相关的算法来检测当前的指标值是否背离了该指标在历史数据中的分布规律。

02 示例

假设某业务场景下,用户有100个来源渠道,用户使用产品时,有10种不同的操作方式,对于用户的行为,我们可以简单的撮取出PV、UV、失败率等指标。那么我们可以建立这样一个监控:

监控的维度:来源渠道 * 操作方式 = 100 * 10 = 1000个维度

监控的指标:PV、UV、失败率…

统计周期: 小时

然后针对每个维度、时刻、指标,收集过去30天的数据做为训练样本,训练异常检测模型(如EllipticEnvelope等),然后对当前时刻的指标值,进行异常检测。

上面的方法,通过合理的拆分监控维度,一方面可以有效的提高检测的灵敏度,避免较少的异常流量淹没在大盘监控在随机波动中;另一方面,也可以对异常流量进行快速的定位,便于及时处理。

03 问题

上面的方法也存在诸多的限制,比如:

  • 监控维度必需是离散、可枚举的,否则无法建立历史数据的统计模型;

  • 监控维度的粒度必须合适,否则或是灵敏度不足,或是噪声太多,无法有效检测异常。

显然,不是所有的业务场景都能满足上述的要求。即便是能满足上述要求的业务场景中,随着对攻击者的对抗不断深入,攻击者会尝试降低攻击的规模,并尽量将攻击行为分散到更多的维度中,从而躲避我们的检测手段。

04 解决思路

那么,能否不依赖业务维度拆分,直接对指标进行异常检测呢?

首先,我们需要把待检测的每一条日志、数据当做一个独立的样本。接下来,不难联想到,这些样本都可以映射到某个高维空间中,我们把这个空间叫做样本空间。可以通过向量化、Embedding等方法,得到样本在这个空间中的坐标。

样本在这个空间中的分布必然不是完全随机的,而是会存在一定的特点(分布特征)。若当前时刻样本在这个空间中的分布特征与历史数据中的分布特征不一致,则说明当前样本存在异常。而分布在差异最大的区域中的样本,则可以认为是异常样本。

接下来的问题就变成了如何对这种分布特征进行建模?

最先想到的是,我们可以通过聚类算法,来对样本进行划分,再对每个Cluster,提取出统计特征。但在具体实现时还需要考虑以下问题:

  • 支持的样本数量要足够多;

  • 支持的Cluster数量要足够多;

  • 每个Cluster的样本数量要尽可能均匀;

  • Cluster的划分要尽可能稳定,才能在时间维度上执行异常检测。

再进一步,其实我们不需要执行完整的聚类算法,我们只需要对样本空间设置足够多的采样点进行采样,计算出采样点附近的样本的统计特征做为采集采样点的分布特征,再对采样点的特征进行时间维度的异常检测,即可完成对整个样本空间的异常检测了。

图片

05 算法实验

5.1 数据准备

取某业务场景下近30天的用户行为日志,约160万条,利用其中的UserAgent信息,对其进行向量化处理。每条日志的向量长度为128维。

向量化算法:

def to_vector(ua):
    if isinstance(ua, (list, tuple)):
        return [to_vector(c) for c in ua]
    else:
        vec = np.zeros(128)
        for c in ua:
            vec[ord(c) % 128] += 1  # UserAgent中的字符绝大多数都是Ascll字符,所以取余128
        l2 = np.sqrt(np.sum(vec * vec))
        if l2 != 0:
            vec /= l2
        return vec.tolist()


将清洗好的数据保存到向量DB中备用:

for day in days:
    for hour in hours:
        event_day = day.strftime("%Y%m%d")
        event_hour = "{:02d}".format(hour)
        collection = chroma_client.get_or_create_collection(
            name="{}_{}_{}".format(name_prefix, event_day, event_hour)
        )
        sub_df = df_ua_pv[(df_ua_pv.event_day == event_day) & (df_ua_pv.event_hour == event_hour)]
        ids = [hashlib.md5(bytes(str(row), "utf-8")).hexdigest() for _, row in sub_df.iterrows()]
        docs = [row.ua for _, row in sub_df.iterrows()]
        metadatas = [{"pv": row.pv} for _, row in sub_df.iterrows()]
        embeddings = [to_vector(row.ua) for _, row in sub_df.iterrows()]
        batch_size = 10000
        for batch_id in range(0, len(docs), batch_size):
            collection.upsert(
                ids=ids[batch_id : batch_id + batch_size],
                documents=docs[batch_id : batch_id + batch_size],
                metadatas=metadatas[batch_id : batch_id + batch_size],
                embeddings=embeddings[batch_id : batch_id + batch_size],
            )
            print("{:>8d} / {}".format(batch_id + batch_size, len(docs)))
        collections[event_day + event_hour] = collection


为了更方便的验证算法的有效性,在数据集中,人工构造了一些异常样本,包括:

  • 个别随机UA,PV增长:10%, 20%, 50%, 100%, 200%, 500%,1000%;数量:5;min_pv=100。

  • 部分相似UA,PV增长:5%,10%,20%, 50%, 100%;数量:10, 20, 50, 100;min_pv=10。

  • 生成相似UA,PV同比增长,数量:10, 20, 50, 100。

  • 生成相似UA,整体PV不增长,数量:10, 20, 50, 100;min_pv=1。

5.2 算法实现

随机生成采样点:

query_ua_list = (
    df_ua_pv[(df_ua_pv.event_day == event_day) & (df_ua_pv.event_hour == event_hour)].sample(100)["ua"].to_list()
)


在样本空间进行邻近采样:

results = []
query_ua_vec = to_vector(query_ua_list)
for day in days:
    for hour in hours:
        res = get_collection(day, hour).query(query_embeddings=query_ua_vec, n_results=n_results)
        for i in range(len(query_ua_list)):
            for j in range(n_results):
                row = [
                    query_ua_list[i],
                    res["metadatas"][i][j]["event_day"],
                    res["metadatas"][i][j]["event_hour"],
                    res["documents"][i][j],
                    res["metadatas"][i][j]["pv"],
                    res["distances"][i][j],
                ]
                if extra_fields:
                    for field in extra_fields:
                        row.append(res["metadatas"][i][j].get(field))
                results.append(row)
cols = ["ua", "day", "hour", "doc", "pv", "dist"]
if extra_fields:
    cols += extra_fields
df_results = pd.DataFrame(results, columns=cols)


定义要检测的字段:

AREA_EXP = [0, 2, 8]
MODEL_FIELDS = ["pv", "dist"]
MODEL_FIELDS += [f"dens_{i}" for i in AREA_EXP]
MODEL_FIELDS += ["dens_s"]
MODEL_AGGS = {}
for col in MODEL_FIELDS:
    MODEL_AGGS[f"{col}_mean"] = (col, "mean")
    MODEL_AGGS[f"{col}_std"] = (col, "std")


进行天维度的异常检测:

df_query_results["dens_s"] = 1 / (df_query_results["dist"] ** 0.5 + 1)
df_res_agg = df_query_results.groupby(["ua", "day"], as_index=False).agg(
    pv=("pv", "sum"),
    dist=("dist", "mean"),
    dens_s=("dens_s", "mean"),
)
for i in AREA_EXP:
    df_res_agg["area_{}".format(i)] = (df_res_agg["dist"] * 10) ** i
    df_res_agg["dens_{}".format(i)] = df_res_agg["pv"] / df_res_agg["area_{}".format(i)]
df_model = df_res_agg[df_res_agg.day <= last_event_day].groupby("ua").agg(**MODEL_AGGS)
df_check = df_res_agg.join(df_model, on="ua")
for col in MODEL_FIELDS:
    df_check[f"{col}_sigma"] = (df_check[col] - df_check[f"{col}_mean"]) / df_check[f"{col}_std"]
df_check["dens_avg_sigma"] = df_check[["dens_s_sigma"] + [f"dens_{i}_sigma" for i in AREA_EXP]].mean(axis=1)
df_check["dens_max_sigma"] = df_check[["dens_s_sigma"] + [f"dens_{i}_sigma" for i in AREA_EXP]].max(axis=1)
df_check["dens_min_sigma"] = df_check[["dens_s_sigma"] + [f"dens_{i}_sigma" for i in AREA_EXP]].min(axis=1)


06 实验效果

6.1 实验一

个别随机UA,PV增长:10%, 20%, 50%, 100%, 200%, 500%,1000%;数量:5;min_pv=100。

异常样本与原始样本的异常置信度分布对比如下图,由上到下分别为:

  • 天级检测下异常样本的置信度分布;

  • 天级检测下正常样本的置信度分布;

  • 小时级检测下异常样本的置信度分布;

  • 小时级检测下正常样本的置信度分布。

图片

天级检测不同阈值下的准召情况:

图片

小时级检测不同阈值下的准召情况:

图片

6.2 实验二

部分相似UA,PV增长:5%,10%,20%, 50%, 100%;数量:5, 10, 20; min_pv=10。

异常样本与原始样本的异常置信度分布对比如下图,由上到下分别为:

  • 天级检测下异常样本的置信度分布;

  • 天级检测下正常样本的置信度分布;

  • 小时级检测下异常样本的置信度分布;

  • 小时级检测下正常样本的置信度分布。

图片

天级检测不同阈值下的准召情况:

图片

小时级检测不同阈值下的准召情况:

图片

6.3 实验三

生成相似UA,PV同比增长,数量:5, 10, 20, 50, 100。

异常样本与原始样本的异常置信度分布对比如下图,由上到下分别为:

  • 天级检测下异常样本的置信度分布;

  • 天级检测下正常样本的置信度分布;

  • 小时级检测下异常样本的置信度分布;

  • 小时级检测下正常样本的置信度分布。

图片

天级检测不同阈值下的准召情况:

图片

小时级检测不同阈值下的准召情况:

图片

6.4 实验四

生成相似UA,整体PV不增长,数量:10, 20, 50, 100;min_pv=1。

异常样本与原始样本的异常置信度分布对比如下图,由上到下分别为:

  • 天级检测下异常样本的置信度分布;

  • 天级检测下正常样本的置信度分布;

  • 小时级检测下异常样本的置信度分布;

  • 小时级检测下正常样本的置信度分布。

图片

天级检测不同阈值下的准召情况:

图片

小时级检测不同阈值下的准召情况:

图片

07 总结与展望

通过实验,验证了该算法的有效性,但在后续的工程化应用中,还需要结合具体的应用场景进行适当的调整。比如采样点的数量、采样点的选取方法、样本Embedding方法、距离计算方法等。

此外,在实践中,若要发挥出异常检测的真正价值,还需要考虑以下问题:

  • 检测到异常后,如何快速定位到异常样本;

  • 异常样本定位后,如何快速度评估分析,确定异常是否需要进一步处理;

  • 若需要进一步处理,如何快速定位到异常样本来源特征,制定出相应的攻防策略等。

​

如何学习AI大模型?

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img

四、AI大模型商业化落地方案

img

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

LLM Embeddings用于极端不平衡异常检测的实战方法 异常检测是工业智能与金融风控等场景的基础任务,其核心挑战在于真实数据中异常样本占比极低(常低于0.1%),导致传统统计方法与监督模型严重失效。根本原因在于原始特征空间难以表达高维、跨模态、语义模糊的异常模式。LLM Embeddings通过将多源异构数据(文本、时序、图像)映射至统一语义向量空间,使异常从‘数值离群点’转化为‘语义孤岛’,显著提升对细微、耦合、小样本异常的识别能力。本文聚焦Embedding驱动的异常检测落地路径,涵盖语义化预处理、轻量级时序Embedding选型、归一化向量检索、动态KNN 阅读详情

相关推荐

特征工程实战:构建工业级销量预测特征体系——从时序特征到Embedding特征的全方位解析

特征工程是机器学习中最能体现"领域知识"和"工程经验"的环节。希望本文提供的完整特征体系和代码模板,能帮助你构建更强大的预测模型。如果觉得有帮助,欢迎一键三连!有更多问题欢迎评论区交流~

wanghaiwen69的博客 738

LLM Embedding在极端不平衡异常检测中的工程实践

异常检测本质是识别数据中偏离正常模式的罕见事件,其核心挑战在于高维、非结构化、跨模态场景下的语义表征能力。传统统计与深度学习方法受限于特征工程瓶颈、小样本分布坍塌及模态割裂,在异常占比低于0.05%的真实工业场景中普遍失效。LLM Embeddings通过将文本、时序、图像等多源信号统一映射至共享语义向量空间,使异常从‘数值离群点’转化为‘语义孤岛’,显著提升对微妙、渐进、跨模态异常的敏感性。本文聚焦Embedding驱动的异常检测落地路径,涵盖语义化预处理、轻量级模型选型(如Sentence-BERT、S

weixin_42526087的博客 309

sdio wifi 移植

介绍 简单来说,sdio起源自sd标准,顾名思义就是sd的IO接口(interface)的意思,更具体的说明,sd本来是记忆卡的标准,但是现在也可以把SD卡拿来插上一些外围设备接口使用,这个就是就叫做sdio。 而且sdio本身是一种相当单纯的技术,通过sd的IO引脚来连接外部外围,并且通过sd的IO数据接位与外围传输数据,而且sd协会也推出很完整的sdio stack 驱动程序,使得sdio外围得开发与应用变得非常热门 这里我们要移植的是RTL8822cs的sdio WiFi 模块,将其移植到rk3

Enosji的博客 9610

Kaggle知识点:时序数据与Embedding

时序数据与Embedding在最近查看腾讯赛赛题介绍的时候突然发现赛题有点熟悉,进而在看渔佬对今年腾讯赛分享,以及大白对DCIC海洋赛的比赛总结时,思路逐渐清晰:所有的时序序列都可以用E...

fengdu78的博客 3399

《QGIS快速入门与应用基础》079:KML/KMZ格式:Google Earth兼容

KML/KMZ是专为地理可视化设计的空间数据格式,原生兼容Google Earth,支持点线面要素标注与多媒体集成。KML为XML文本格式,KMZ是其压缩版本。该格式优势在于可视化表现力强、跨平台共享便捷,适合地理标注、路线分享等场景,但存在属性支持弱、大数据量处理效率低等局限。QGIS中可便捷加载和导出KML/KMZ数据,需注意编码设为UTF-8、勾选"导出样式"以保留可视化效果。建议中小规模标注数据使用KMZ格式,确保关联资源完整,提升共享效率。

LuckyHanMo的博客 771

LightGBM之LGBMRegressor()参数详解以及调参

LightGBMLight Gradient Boosting Machine)是一种梯度提升框架,它使用决策树作为基学习器。LightGBM 可以说是在 XGBoost 上做的优化。LightGBM 为高效并行计算而生,它的 Light 体现在以下几个点上:更快的训练速度更低的内存使用支持单机多线程,多机并行计算,以及 GPU 训练能够处理大规模数据。

我走的每一步都算数 3748

Lc0核心架构解析:从神经网络到搜索算法的完美融合

Lc0是一款基于神经网络技术的开源国际象棋引擎,它通过深度学习模型来评估棋局并做出决策。作为LeelaChessZero项目的核心引擎,Lc0将神经网络评估与蒙特卡洛树搜索(MCTS)完美结合,展现了人工智能在复杂策略游戏中的卓越表现。🎯 ## 神经网络架构:智能决策的基础 Lc0的核心在于其强大的神经网络架构,能够从112个输入平面中提取棋局特征。这些输入平面以64位向量的形式表示棋盘状态

gitblog_01185的博客 984

Allegro如何进行四层板板层设计

板层的设计

weixin_42499230的博客 3189

时间序列(Time-Series)Embed.py代码解析

x = self.tokenConv(x.permute(0, 2, 1)).transpose(1, 2) #在前向传播中,对输入x进行维度交换,应用卷积,然后再次交换维度,使其回到原始的形状。# position = torch.arange(0, max_len).float().unsqueeze(1) 创建一个0到max_len的连续值,并增加一个维度。# x = self.value_embedding(x) + self.position_embedding(x) 应用值嵌入和位置嵌入。

qq_33712422的博客 1310

120、ISP 驱动架构解析:从 V4L2 请求到 ISP 硬件的配置下发流程

本文以实际案例解析ISP驱动架构的V4L2到硬件配置下发流程。作者通过一个因内存共享导致画面闪烁的bug案例,详细剖析了用户空间参数通过V4L2结构体传递、驱动层拆包与硬件寄存器映射、时序同步机制等关键环节。特别强调深拷贝、dirty flag增量更新、shadow register等实现要点,并给出多路并发隔离、寄存器写入失败等典型问题的排查方法。文章建议开发者深入理解参数到寄存器的转换过程,推荐通过debugfs实时监控寄存器状态,避免过度依赖自动调试工具。全文以实践为导向,对ISP驱动开发具有直接指导

sundong_81的博客 159

【腾讯小龙虾WorkBuddy专栏01】初识WorkBuddy!定位、核心优势、功能界面全解析

【腾讯小龙虾WorkBuddy专栏01】初识WorkBuddy!定位、核心优势、功能界面全解析

AI人人懂 3833

深入理解深度学习——Embedding基础知识

近些年在机器学习、深度学习等领域,嵌入(Embedding)技术指用向量表示一个物体,这个物体可以是一个单词、一条语句、一个序列、一件商品、一个动作、一本书、一部电影等,可以说嵌入涉及机器学习、深度学习的绝大部分对象。这些对象是机器学习和深度学习中最基本、最常用、最重要的对象,正因如此,如何有效表示、学习这些对象就显得非常重要。尤其word2vec这样的Word Embedding的广泛应用,更是带来了更大范围的延伸和拓展,嵌入技术由最初的自然语言处理领域向传统机器学习、搜索排序、推荐、知识图谱等领域延伸,

冯·诺依曼 1万+

pycharm报错cannot start the IED:Error occurred during initialization of VMagent library failed...如何解决?

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值 。

**My Coding Family** 1925

自动驾驶时序数据异常监测:自监督JEPA框架解析

时序数据异常检测是自动驾驶感知系统的关键技术,其核心在于从连续观测数据中识别不符合预期模式的异常行为。传统基于规则或监督学习的方法面临标注成本高和未知异常检测的挑战。自监督学习通过设计预测性任务自动学习数据内在特征,为解决这一问题提供了新思路。JEPA(Joint Embedding Predictive Architecture)作为一种先进的表示学习框架,通过掩码预测任务建模时序依赖关系,能够有效捕捉交通参与者的运动模式本质。该技术不仅降低了异常检测对标注数据的依赖,还能适应未知异常类型,在nuScen

weixin_31613447的博客 244

停车位检测:基于YOLOv5与UI界面的实现

YOLOv5是YOLO(You Only Look Once)系列中的最新版本,它能够在单次前向传播中同时完成多个目标的定位与分类,因此被广泛应用于实时目标检测任务。与之前的版本相比,YOLOv5在精度和速度上得到了很大的优化,适合嵌入到实际的自动驾驶和智能交通系统中。YOLOv5使用了卷积神经网络(CNN)进行特征提取,并通过回归方法预测边界框、类别及置信度。高效的推理速度:YOLOv5采用了优化的模型结构,能够在保证精度的同时提供较快的推理速度。较高的精度。

YOLO 694

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

深度捕捉时序本质:TSTD 异常检测之表示学习(Representation-based)全解析

在时序中,Embedding 是将一段窗口内的数值信息转化为一个定长的向量。这个向量包含了该时段内的趋势、频率和相位信息。

feizuiku0116的博客 697

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

初探图谱Embedding用于异常检测(一)

在第一篇论文中,作者提出了一种基于One-Hot编码的图谱Embedding算法——GEE(Graph Encoder Embedding)。首先构造输入数据:a. E: 图谱的边集,是一个三元组的列表,每个元组的三个元素分别代表两个顶点的索引值,以及边的权重。b. Y: 图谱的顶点集,是一个整数列表,长度为N, 每个元素为相应顶点的标签,取值范围为[0, K], K为标签的类别数量。

lihui49的博客 958

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

从日志中挖出隐患:大模型在异常检测中的妙用

日志异常检测的终极目标,不是“发现错误”,而是“防止错误发生”。大模型赋予了系统“预知能力”——它不满足于“看到错误”,而是能“理解错误背后的逻辑”。当某条日志中出现“数据库超时”时,它知道这不是偶然,而是风暴来临前的征兆。在数字化生存的时代,每一条日志都是未被利用的预警信号。用大模型挖掘它们,企业不仅能节省百万级停机成本,更能将运维从“救火”升级为“防火”。💡🌟行动建议从100条关键日志开始微调模型;部署动态阈值告警;每月收集反馈优化模型。无需等待“完美方案”,今天就能让系统更智能。

千淘万漉虽辛苦,吹尽狂沙始到金 2万+

复现异常检测论文:RD4AD

论文全名:Anomaly Detection via Reverse Distillation from One-Class Embedding

m0_63642362的博客 2747

cann时序预测算子库

化工过程数据在时间维度上具有天然的时序特征。DCS(Distributed Control System)持续记录的温度、压力、流量、液位等过程变量、批次反应轨迹、质量指标的在线测量——这些数据以多变量时间序列的形态存储,构成了化工行业最重要的数据资产之一。 时序建模在化工中的核心任务包括: - **预测**:未来时间步的过程变量或质量指标 - **异常检测**:识别工艺偏离、设备故障、安全风险

gitblog_00435的博客 358

tao-8k惊艳Embedding效果:对带时间戳的IoT设备日志文本进行时序语义建模

本文介绍了如何在星图GPU平台上自动化部署tao-8k镜像,实现对带时间戳的IoT设备日志进行时序语义建模。该模型能够处理长达8192个token的文本,适用于设备异常检测、故障预测等工业物联网场景,提升日志分析的准确性和效率。

weixin_31597759的博客 213

RxJS Join Patterns Compat 模块指南:用 Join Calculus 组合多个 Observable 的 when / and / thenDo

本文围绕 RxJS(The Reactive Extensions for JavaScript)的 `rx-lite-joinpatterns-compat` 模块展开,讲解如何在 RxJS v4 中利用"连接演算"(join calculus)思想,通过 `when`、`and`、`thenDo` 三个算子声明式地组合多个 Observable 序列:只有当参与匹配的序列**各自都产出一个可用

gitblog_01079的博客 449

AI 在生产环境日志分析与异常模式识别中的实践

AI 在日志分析中的两个核心能力是语义聚类和时序异常检测。前者通过 Embedding 发现日志文本的相似模式,后者通过统计模型识别指标的异常波动。两者结合,配合 LLM 做根因推断,可以将人工排查的耗时从小时级压缩到分钟级。工程落地时需要重点处理三个问题:采样策略控制 Embedding 成本、脱敏处理保护隐私、异步批处理降低延迟要求。

weixin_49475940的博客 4522

embedding特征能做什么?相似度计算实战示例

本文介绍了基于星图GPU平台自动化部署Emotion2Vec+ Large语音情感识别系统 二次开发构建by科哥镜像的方法,该镜像可高效提取音频embedding特征,适用于语音情感相似度计算、模型微调与AI应用开发等场景,助力实现智能客服质检、情绪变化分析等实际应用。

weixin_30481539的博客 342
上一篇: 不需要网络/不需要显卡,手把手教大家本地部署GPT
下一篇: 大模型分不清 9.9 与 9.11 谁大,那 Embedding 模型呢?
AI程序猿人
博客等级 码龄3年 6517粉丝 561原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值