(二)当人工智能是一个函数,函数形式怎么选择?ChatGPT的函数又是什么?

在上一篇文章中,我们通过二次函数的例子,讲解了如何训练人工智能。今天,让我们进一步探讨:面对不同的实际问题,应该如何选择合适的函数形式?

一、广告推荐系统中的函数选择

1. 业务目标

想象一下,你正在刷抖音,突然看到一个运动鞋的广告。巧的是,你最近正在对比各种跑鞋,这个广告简直像是读懂了你的心!这就是智能广告推荐系统的魔力。

广告推荐的核心目标是:

  • 向用户推送最适合的广告
  • 提高广告点击率
  • 最大化广告收益

2. 数据输入(特征工程)

A. 用户基础属性
  • 人口统计学特征
    • 年龄
    • 性别
    • 地理位置
    • 职业
    • 收入水平
# 用户基础属性示例
import pandas as pduser_base_features = {'user_id': ['u001', 'u002', 'u003'],'age': [25, 35, 28],'gender': ['F', 'M', 'F'],'location': ['北京', '上海', '广州'],'occupation': ['学生', '工程师', '设计师']
}df_user = pd.DataFrame(user_base_features)
print("用户基础特征示例:")
print(df_user)
B. 用户行为特征
  • 历史互动数据
    • 最近30天点击的品类
    • 最近7天的购买记录
    • 收藏的商品类型
    • 停留时长

请添加图片描述

C. 广告特征
  • 广告属性
    • 商品类别
    • 价格区间
    • 品牌信息
    • 广告创意类型(图片/视频)
    • 历史点击率

3. 函数选择:Logistic回归(LR)

A. 为什么选择LR?
  • 输出范围在[0,1]之间,完美契合概率预测
  • 计算速度快,适合在线服务
  • 模型可解释性强
B. 函数形式
def logistic_function(x, weights):"""x: 输入特征向量weights: 模型权重返回: 点击概率"""z = np.dot(x, weights)probability = 1 / (1 + np.exp(-z))return probability

请添加图片描述

C. 实际应用示例

请添加图片描述

4. 函数输出

  • 预测值:用户点击广告的概率(0~1之间的数值)
  • 实际应用:
    • 概率 > 0.7:优先推荐
    • 0.3 < 概率 < 0.7:次优推荐
    • 概率 < 0.3:不推荐

在这里插入图片描述

5. 效果评估

  • 在线指标:
    • CTR(点击率)
    • CVR(转化率)
    • ROI(投资回报率)
  • 离线指标:
    • AUC
    • Log Loss

在这里插入图片描述

这样的广告推荐系统就像一个智能客服,它通过分析用户的各种特征和行为,预测用户对不同广告的兴趣程度,从而实现精准推送,既提升了用户体验,也最大化了广告收益。

二、人脸识别中的函数选择

2.1 人脸识别要解决什么问题?

想象你走进一个高科技大厦,门禁系统的摄像头对准你的脸:

  • 0.1秒后,门开了:“张先生,早上好!”
  • 系统刚刚做了什么?它解决了"这个人是谁?"的问题

本质上,人脸识别就是一个函数,输入是"一张人脸照片",输出是"这个人的身份"。

2.2 输入:人脸图像数据

2.2.1 原始输入
  • 一张普通的人脸照片
  • 数据格式:224×224×3的像素矩阵
    • 224×224:图片的宽和高
    • 3:RGB三个颜色通道
2.2.2 输入预处理

就像你拍证件照时,摄影师会要求你"正对镜头"、"不要歪头"一样,原始照片需要标准化处理:

  • 人脸检测:找到照片中的人脸区域
  • 人脸对齐:调整人脸角度,使其正对镜头
  • 尺寸统一:缩放到224×224像素
  • 像素归一化:将0-255的像素值转换为0-1之间

2.3 函数:深度卷积神经网络(CNN)

2.3.1 CNN如何工作?

想象你在认人时的过程:

  • 先看整体轮廓(是胖是瘦)
  • 再看局部特征(眼睛大小、鼻子形状)
  • 最后综合判断(这是张三!)

CNN就是模仿这个过程的数学函数:

  • 卷积层:提取局部特征(眼睛、鼻子、嘴巴等)
  • 池化层:抓住重要特征(眼睛很大、鼻子很挺等)
  • 全连接层:综合判断,生成"身份证"(特征向量)

2.4 输出:身份特征向量

2.4.1 特征向量
  • 一个512维的数值数组
  • 每个数值代表一个抽象的人脸特征
  • 可以理解为人脸的"数字指纹"
2.4.2 身份判断
  • 计算特征向量之间的相似度
  • 如果相似度超过阈值(如0.8),则认为是同一个人

2.5 整体流程总结

人脸识别 = 特征提取函数 + 相似度比较

  1. 输入:224×224×3的人脸图片
  2. 函数处理:
    • CNN提取特征
    • 生成512维特征向量
  3. 输出:
    • 与数据库中的特征向量比较
    • 找到最相似的人脸
    • 返回身份信息

就像每个人的指纹都是独一无二的,CNN会为每个人的脸生成独特的"数字指纹",通过比对这些"指纹"来识别身份。这就是人脸识别的核心原理!

三、ChatGPT的函数又是什么?

3.1 ChatGPT要解决什么问题?

想象你在和一个无所不知的朋友聊天:

  • “帮我写一个请假条”
  • “解释下量子力学的基本原理”
  • “给我的短篇小说提些修改建议”

ChatGPT就是要解决"如何像人类一样理解和生成文本"的问题。本质上,它是一个复杂的函数,输入是"用户的问题或需求",输出是"连贯且符合上下文的回答"。

在这里插入图片描述

3.2 输入:文本序列

3.2.1 基本输入形式
  • 自然语言文本
  • 可以包含多轮对话历史
  • 支持多种语言
  • 可以包含代码、数学公式等特殊格式

在这里插入图片描述

3.2.2 输入预处理
  • 文本标准化
  • 分词(Tokenization)
  • 添加特殊标记(如开始符、结束符)
  • 转换为模型可理解的数字序列

在这里插入图片描述

3.3 函数:Transformer架构

3.3.1 核心组件
  • 注意力机制(Attention):理解单词之间的关系
  • 自注意力层:捕捉上下文信息
  • 前馈神经网络:处理特征转换

3.3.2 工作流程

  1. 输入编码:将文本转换为向量
  2. 多头注意力:同时关注多个特征维度
  3. 特征处理:通过多层转换提取深层特征
  4. 输出生成:逐个生成输出词汇

3.4 输出:生成的文本序列

3.4.1 输出形式
  • 自然语言回答
  • 代码片段
  • 创意写作
  • 格式化文档
3.4.2 输出特点
  • 上下文连贯性
  • 语法正确性
  • 逻辑合理性
  • 风格一致性

3.5 整体流程总结

ChatGPT = 超级语言理解函数 + 智能文本生成器

  1. 输入处理:

    • 用户输入文本
    • 分词和编码
    • 添加位置编码
  2. 函数处理:

    • 注意力计算
    • 上下文理解
    • 特征提取
    • 知识应用
  3. 输出生成:

    • 词语概率预测
    • 序列解码
    • 文本生成

ChatGPT就像一个超级对话助手,它通过复杂的Transformer架构,将我们的输入文本转化为有意义的回答。这个过程就像是一个超级翻译官,不仅要理解我们说什么,还要用最恰当的方式回答我们的问题!

总结

选择合适的函数形式是AI工程中的关键步骤。我们需要:

  1. 深入理解问题本质
  2. 权衡不同模型特点
  3. 考虑工程实现约束

记住:没有最好的函数形式,只有最适合的选择!

参考资料

[1] 推荐系统中的CTR预估模型详解 (https://zhuanlan.zhihu.com/p/35465875). 知乎专栏.

[2] 特征工程:从理论到实践 (https://zhuanlan.zhihu.com/p/105912713). 知乎专栏.

[3] Logistic回归原理与应用 (https://blog.csdn.net/qq_22210253/article/details/104452244). CSDN博客.

[4] Logistic回归的直观理解与实现 (https://zhuanlan.zhihu.com/p/111725866). 知乎专栏.

[5] 广告推荐系统中的机器学习模型 (https://www.jianshu.com/p/5a6e5e7b0d7c). 简书.

[6] 推荐系统性能评估指标详解 (https://blog.csdn.net/wangweiwei1992/article/details/103724165). CSDN博客.

[7] 人脸识别技术综述 (https://zhuanlan.zhihu.com/p/144576990). 知乎专栏.

[8] 深度学习中的图像预处理 (https://zhuanlan.zhihu.com/p/49785817). 知乎专栏.

[9] 人脸检测与对齐技术解析 (https://blog.csdn.net/qq_34337272/article/details/103005027). CSDN博客.

[10] 卷积神经网络(CNN)的原理与应用 (https://zhuanlan.zhihu.com/p/37065752). 知乎专栏.

[11] 深度学习在身份识别中的应用 (https://blog.csdn.net/qq_43557591/article/details/113302566). CSDN博客.

[12] 人脸识别中的特征向量与相似度计算 (https://zhuanlan.zhihu.com/p/34267502). 知乎专栏.

[13] ChatGPT:从原理到应用 (https://zhuanlan.zhihu.com/p/588257865). 知乎专栏.

[14] NLP中的文本预处理技术详解 (https://zhuanlan.zhihu.com/p/101264285). 知乎专栏.

[15] 图解Transformer:注意力机制的核心 (https://jalammar.github.io/illustrated-transformer/). Jalammar博客.

[16] Transformer在NLP中的应用 (https://zhuanlan.zhihu.com/p/54503186). 知乎专栏.

[17] GPT模型的文本生成原理 (https://zhuanlan.zhihu.com/p/484713322). 知乎专栏.


下期预告:我们将深入探讨如何训练这些不同形式的函数。敬请期待!

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

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

相关文章

Redis 中 Lua 脚本的使用详解

Redis 中 Lua 脚本的使用详解 在 Redis 中,Lua 脚本是一种强大的工具,用于执行复杂的操作并减少网络延迟。Lua 脚本通过 EVAL 命令执行,能够在 Redis 服务器端运行多步操作,从而确保操作的原子性,并提升性能。 1. Lua 脚本的作用 原子性:在 Redis 中,Lua 脚本执行是原子…

利用3DGS中convert.py处理自采数据

前言 3DGS源码中convert.py提供对自采数据集的处理&#xff0c;需要预先安装Colmap和ImageMagick. ubuntu22.04安装colmap 点击进入NVIDIA官网&#xff0c;查看GPU的CMAKE_CUDA_ARCHITECTURES 1、克隆colmap源码&#xff0c;并进入colmap文件夹 git clone https://github.c…

硬件设计-关于ADS54J60的校准问题

目录 简介: 校准模分析: 交错的优势 交错挑战 S/2 fIN处产生杂散。失调不匹配杂散很容易识别,因为只有它位于fS/2处,并可轻松地进行补偿。增益、时序和带宽不匹配都会在输出频谱的fS/2 fIN 处产生杂散;因此,随之而来的问题是:如何确定它们各自的影响。图8以简单的…

GraphRAG: 一种结合图结构和检索增强生成的工程实现思路

引言 随着自然语言处理&#xff08;NLP&#xff09;技术的发展&#xff0c;基于预训练模型的任务如文本生成、问答系统等取得了显著的进步。然而&#xff0c;在处理涉及复杂关系或需要利用外部知识的任务时&#xff0c;现有的方法可能面临挑战。GraphRAG&#xff08;Graph-bas…

数据库入门级SQL优化

1. SELECT * FROM users; 优化原因&#xff1a;使用SELECT *会选择所有列&#xff0c;可能导致不必要的数据传输。应只选择需要的列&#xff0c;例如&#xff1a; SELECT id, name FROM users;2. WHERE age > 30; 优化原因&#xff1a;如果age字段没有索引&#xff0c;查…

六十一:HTTP/2的问题及HTTP/3的意义

随着互联网的快速发展&#xff0c;网络协议的升级成为优化用户体验和提升网络效率的重要手段。HTTP/2 于 2015 年发布&#xff0c;标志着超文本传输协议的重大改进。然而&#xff0c;尽管 HTTP/2 带来了许多新特性&#xff0c;它也存在一定的问题。在此背景下&#xff0c;HTTP/…

什么是神经网络?神经网络的基本组成部分训练神经网络激活函数有哪些局限性和挑战

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c; 忍不住分享一下给大家。点击跳转到网站 学习总结 1、掌握 JAVA入门到进阶知识(持续写作中……&#xff09; 2、学会Oracle数据库入门到入土用法(创作中……&#xff09; 3、手把…

C# 设计模式的六大原则(SOLID)

C# 设计模式的六大原则&#xff08;SOLID&#xff09; 引言 在面向对象编程中&#xff0c;设计模式提供了高效、可复用和可维护的代码结构。SOLID原则是软件设计中的一组重要原则&#xff0c;用于确保代码具有良好的可维护性、可扩展性和灵活性。SOLID是五个设计原则的首字母…

std__invoke 的使用

std__invoke 的使用 文章目录 std__invoke 的使用1. std::invoke 的功能2. 语法3. 使用场景1. 调用普通函数2. 调用成员函数3. 调用成员函数&#xff08;通过指针或引用&#xff09;4. 调用函数对象&#xff08;仿函数&#xff09;5. 调用 Lambda 表达式 4. std::invoke 的优势…

感恩相伴,蓝凌向新成长!一起拥抱数智2025

2024&#xff0c;数字中国&#xff0c;向新奔跑&#xff01;千行百业拥抱数字化、人工智能&#xff0c;蓝凌继续践行“让组织更智慧”的使命&#xff0c;与客户、伙伴等共创共赢&#xff0c;引领中国数智化办公创新发展。感恩相伴24载&#xff0c;让我们一起拥抱数智2025&#…

【算法】模拟退火算法学习记录

写这篇博客的原因是博主本人在看某篇文章的时候&#xff0c;发现自己只是知道SGD这个东西&#xff0c;但是到底是个啥不清楚&#xff0c;所以百度了一下&#xff0c;然后在通过博客学习的时候看到了退火两个字&#xff0c;想到了本科做数模比赛的时候涉猎过&#xff0c;就上bil…

【0x0037】HCI_Write_Link_Supervision_Timeout命令详解

目录 一、命令概述 二、命令格式及参数说明 2.1. HCI_Write_Link_Supervision_Timeout 命令格式 2.2. Handle 2.3. Link_Supervision_Timeout 三、生成事件及参数 3.1. HCI_Command_Complete 事件 3.2. Status 3.3. Handle 四、命令执行流程 4.1. 命令准备阶段 4.…

【杂谈】-DeepSeek如何以560万美元突破成本障碍

DeepSeek如何以560万美元突破成本障碍 文章目录 DeepSeek如何以560万美元突破成本障碍1、高效人工智能的经济学2、实现不可能的工程3、人工智能生态系统的连锁反应 传统的人工智能观点认为&#xff0c;构建大型语言模型 (LLM)需要大量资金——通常需要数十亿美元的投资。但中国…

Android 系统 Activity 系统层深度定制的方法、常见问题以及解决办法

Android 系统 Activity 系统层深度定制的方法、常见问题以及解决办法 目录 引言Activity 系统层概述Activity 系统架构图Activity 系统层深度定制的方法 4.1 自定义 Activity 生命周期4.2 自定义 Activity 启动流程4.3 自定义 Activity 转场动画4.4 自定义 Activity 窗口管理4…

TIOBE 指数 12 月排行榜公布,VB.Net排行第九

IT之家 12 月 10 日消息&#xff0c;TIOBE 编程社区指数是一个衡量编程语言受欢迎程度的指标&#xff0c;评判的依据来自世界范围内的工程师、课程、供应商及搜索引擎&#xff0c;今天 TIOBE 官网公布了 2024 年 12 月的编程语言排行榜&#xff0c;IT之家整理如下&#xff1a; …

vs2022编译opencv 4.10.0

参考&#xff1a;Windosw下Visual Studio2022编译OpenCV与参考区别在于&#xff0c;没有用cmake GUI&#xff0c;也没有创建build目录&#xff0c;直接用vs2022打开了C:\code\opencv目录&#xff0c;即CMakeLists.txt所在根目录。没有修改默认下载地址&#xff0c;采用手动下载…

未来教育:AI知识库如何重塑学习体验

在科技日新月异的今天&#xff0c;教育领域正经历着前所未有的变革。人工智能&#xff08;AI&#xff09;技术的快速发展&#xff0c;特别是AI知识库的广泛应用&#xff0c;正在重塑我们的学习体验&#xff0c;使之变得更加高效、个性化和智能化。本文将深入探讨AI知识库如何影…

c#实现繁体转简体的方法

在软件开发中&#xff0c;使用了Syncfusion第三方控件&#xff0c;Syncfusion通过资源库实现汉化&#xff0c;但Syncfusion提供的资源库SfResources.zh.resx为繁体的&#xff0c;通过研究发现了使用C#完成繁体到简体转换&#xff0c;在 C# 中&#xff0c;处理繁体转简体的任务可…

Android Camera压力测试工具

背景描述&#xff1a; 随着系统的复杂化和业务的积累&#xff0c;日常的功能性测试已不足以满足我们对Android Camera相机系统的测试需求。为了确保Android Camera系统在高负载和多任务情况下的稳定性和性能优化&#xff0c;需要对Android Camera应用进行全面的压测。 对于压…

大中厂面试经验分享:如何使用消息队列(MQ)解决系统问题

在大中型互联网公司中&#xff0c;消息队列&#xff08;MQ&#xff09;作为一种关键的分布式系统组件&#xff0c;广泛应用于解决系统中的高并发、异步处理、解耦等问题。 在面试中&#xff0c;尤其是针对后端工程师或系统架构师的职位&#xff0c;面试官常常会通过询问消息队列…