Learn Prompt-人工智能基础

news2024/12/25 12:59:44

什么是人工智能?很多人能举出很多例子说这就是人工智能,但是让我们给它定义一个概念大家又觉得很难描述的清楚。实际上,人工智能并不是计算机科学领域专属的概念,在其他学科包括神经科学、心理学、哲学等也有人工智能的概念以及相关的研究。在笔者的观点里,人工智能就是机器具备同时获得、建立、发展、和运用知识的能力。

在计算机科学中,我们可以把人工智能看成是一个目标,而我们讲的机器学习、深度学习、强化学习等各种算法是实现人工智能这个目标的方法之一。

下图是非常经典的描述人工智能与机器学习、深度学习的关系的图。

describe1

机器学习​

机器学习方法我们可以分为以下几个大类:监督学习、无监督学习和强化学习。

监督学习中,数据集的数据具有标签,比如说,我们想让机器对水果的图片进行分类,数据集中除了需要有各种水果的图片之外,还需要每张图片带有是什么水果的标签。

在无监督学习中,数据集的数据是不带有标签的,用回上面的水果图片的例子,无监督学习中,数据集只含有各种水果的图片,而不带有标签。

强化学习中,有三要素:智能体(Agent),环境(Environment)和行为(action)。智能体根据环境会有不同的行为,根据行为定义了收益函数来确定奖励或者惩罚。比如说,下围棋如果下赢了就进行奖励,如果输了则进行惩罚。同时,我们设定一些机制让智能体自己改变行为使得收益函数最大化。换句话说,通过于环境的交互不断的更新自己的行为来使自己变得更智能。

半监督学习​

半监督学习的数据集中,部分数据有标签,而部分数据没有标签。随着现在互联网中数据量越来越大,对所有数据标注是不太可能完成的事,因此,利用少量标注的数据和大量没有标注的数据进行训练成为了一个研究方向之一。

自监督学习​

自监督学习是利用辅助任务从大量的无标签数据中挖掘表征特性作为监督信息,来提升模型的特征提取能力。比如在自然语言处理的预训练模型过程中,设计了挖空让模型去做完形填空,把两个句子拼接让模型判断第二个句子是否承接第一个句子等任务来进行训练。自监督学习的监督信息不是人工标注的,而是算法在大量无标注数据中自动构造监督信息来进行监督学习或者训练,这就是自监督学习。

深度学习​

深度学习主要基于深度神经网络,属于监督学习的一种,它的训练需要带有标签的数据,但是现在的深度学习领域模型并不一定单纯的属于监督学习,比如说语言模型预训练的过程属于自监督学习。

目前神经网络的结构五花八门,并且神经网络的层数都堆得比较深,因此神经网络可以看成是一个黑盒,目前还没有严谨的数学证明证明神经网络为什么有效,不同于传统的统计机器学习,比如SVM(支持向量机)等,具有严格的数学证明证明它是有效的。所以深度学习的从业者门通常自嘲自己是在炼丹,只要输入数据(原材料),然后一段时间后看结果是否符合自己的预期(丹成)。

训练​

模型有了,训练数据集也有了,那么AI是怎么训练的呢?AI的训练准备大致分为:数据收集与数据预处理,模型构建,定义损失函数和优化方法,训练、检验与优化。

数据量和数据的质量是至关重要的一环,业内有句话叫数据为王,谁的数据量越大、数据质量越高,那么理论上就能拥有最“智能”的AI。

AI的“学习”过程其实就是模型参数的更新,那么AI是怎么更新参数的呢?答案是通过定义损失函数和梯度下降的方法。

损失函数就是用来衡量你的模型的输出和实际你需要的输出之间的差距/不一致程度的函数,模型的输出我们叫它预测值,数据集中的标签是我们的实际值。比如说,我要训练一个模型能分清楚各种水果,因为模型没有办法知道什么是苹果、香蕉、葡萄等,所以在正式训练之前,我们会把数据的标签转换成数字的形式,比如1代表苹果,2代表香蕉,3代表葡萄......然后我们训练的时候,模型读取一张苹果图片进去,模型输出的预测值为2,但是苹果的标签实际值为1,于是就知道模型的预测和实际的正确值有误差,我们定义损失函数就是用来衡量这个误差。

损失函数有很多种,不同的任务会使用不同的损失函数。有了损失函数之后,我们就可以优化模型的参数来最小化损失函数,损失越小代表了模型的预测越准。 而优化的一种常用方法叫梯度下降,梯度下降可以类比下山的过程,如下图所示,假设这样一个场景:一个人被困在山上,需要从山上下来(i.e. 找到山的最低点,也就是山谷)。但此时山上的浓雾很大,导致可视度很低。因此,下山的路径就无法确定,他必须利用自己周围的信息去找到下山的路径。这个时候,他就可以利用梯度下降算法来帮助自己下山。具体来说就是,以他当前的所处的位置为基准,寻找这个位置最陡峭的地方,然后朝着山的高度下降的地方走,。然后每走一段距离,都反复采用同一个方法,最后就能成功的抵达山谷。

在梯度下降的过程中,模型的参数会不断的更新,直到最后到达最低点。 

describe1

虽然梯度下降的原理很直白很简单,但实际中,这座山不是只有一个山峰和一个山谷的,因此到达的山谷可能只是一个局部最优点而不是全局最优点,梯度下降也有很多的改进尽可能让模型不会落在一个局部最优点就停下,但是实际上神经网络的解空间比较复杂,并不一定能找到全局最优点,以及无法证明找到的点是全局最优。尽管不能保证找到的点是全局最优,但是目前的技术下找到的最优点已经足够优秀,所以不一定话费更大的精力去寻找全局最优。

过拟合与欠拟合​

我们收集到数据在进行数据预处理之后的数据集并不是直接丢给模型训练的,一般情况下会把数据集分割成训练集和测试集(8:2的比例)。测试集的数据是不存在于训练集中,也就是在模型训练的阶段,模型没有见过这部分的数据的。当我们在训练集上训练好模型的时候,我们会在测试集上去测试模型的效果。下图展示的是我们会遇到的三种常见情况:欠拟合、拟合的符合我们的预期、和过拟合。

describe1

欠拟合的情况下就说明模型学习的不够,模型不够聪明学会我们让它学的东西,表现为在训练集上的效果和测试集上的效果都不好。可以解决欠拟合的方法有:

  1. 引入更多特征
  2. 使用非线性模型
  3. 使用更复杂的模型 等等

过拟合的方法则是另一个极端,模型在训练集上学习的太好以致于太死板了,不会变通,变现为在训练集上的效果很优秀,但是在测试集上的表现比较差。比如说,我们让模型去识别写的字,识别一个人字,过拟合的表现就是模型得这个人字写的很端正、字迹与训练集中看到的一致才会识别出它是一个人字,如果这个人字的字迹不同、写的不端正等等,模型则无法正确识别出这个字,很明显这种情况下模型的表现也是不符合我们的预期的。解决过拟合的方法有:

  1. 扩大训练数据集,使用更多数据去训练
  2. 降低模型的复杂度或者更换使用简单点的模型
  3. 加入正则化
  4. 在合适的时候停止训练,防止训练过度 等等

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

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

相关文章

机器学习第六课--朴素贝叶斯

朴素贝叶斯广泛地应用在文本分类任务中,其中最为经典的场景为垃圾文本分类(如垃圾邮件分类:给定一个邮件,把它自动分类为垃圾或者正常邮件)。这个任务本身是属于文本分析任务,因为对应的数据均为文本类型,所以对于此类任务我们首先…

Jprofiler的使用查看oom

一、安装 idea安装插件 安装客户端 链接 IDEA配置Jprofiler执行文件 二、产生oom import java.util.ArrayList; import java.util.List;//测试代码 public class TestHeap {public static void main(String[] args) {int num 0;List<Heap> list new ArrayList&l…

【深度学习实验】线性模型(一):使用NumPy实现简单线性模型:搭建、构造损失函数、计算损失值

目录 一、实验介绍 二、实验环境 三、实验内容 0. 导入库 1. linear_model函数 2. loss_function函数 3. 定义数据 4. 调用函数 一、实验介绍 使用Numpy实现 线性模型搭建构造损失函数进行模型前向传播并计算损失值 二、实验环境 conda create -n DL python3.7 cond…

Learn Prompt-什么是ChatGPT?

ChatGPT&#xff08;生成式预训练变换器&#xff09;是由 OpenAI 在2022年11月推出的聊天机器人。它建立在 OpenAI 的 GPT-3.5 大型语言模型之上&#xff0c;并采用了监督学习和强化学习技术进行了微调。 ChatGPT 是一种聊天机器人&#xff0c;允许用户与基于计算机的代理进行对…

LVS+Haproxy

LVSHaproxy 一、Haproxy简介1.1、Haproxy应用分析1.2、Haproxy的特性1.3、常见负载均衡策略1.4、LVS、Haproxy、Nginx区别1.5、 Haproxy的优点1.6、常见的Web集群调度器 二、Haproxy部署实例四、日志定义优化 一、Haproxy简介 Haproxy 是一个使用C语言编写的自由及开放源代码软…

ES6中新增加的Proxy对象及其使用方式

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ Proxy对象的基本概念Proxy对象的主要陷阱&#xff08;Traps&#xff09; ⭐ 使用Proxy对象⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来…

Hugging Face使用Stable diffusion Diffusers Transformers Accelerate Pipelines

Diffusers A library that offers an implementation of various diffusion models, including text-to-image models. 提供不同扩散模型的实现的库&#xff0c;代码上最简洁&#xff0c;国内的问题是 huggingface 需要翻墙。 Transformers A Hugging Face library that pr…

log4j2漏洞复现

log4j2漏洞复现 漏洞原理 log4j2框架下的lookup查询服务提供了{}字段解析功能&#xff0c;传进去的值会被直接解析。例如${sys:java.version}会被替换为对应的java版本。这样如果不对lookup的出栈进行限制&#xff0c;就有可能让查询指向任何服务&#xff08;可能是攻击者部署…

JavaScript-箭头函数

es6的箭头函数具体使用 es6之后提出了箭头函数 更加简洁方便 注意 &#xff1a; 特点:只有一个形参可以省略括号 大括号是否可以省略&#xff1f; 是 只有一句代码的时候可以省略 具体看代码演示&#xff1a; 代码 <!DOCTYPE html> <html lang"en"&…

Python 图形化界面基础篇:处理鼠标事件

Python 图形化界面基础篇&#xff1a;处理鼠标事件 引言 Tkinter 库简介步骤1&#xff1a;导入 Tkinter 模块步骤2&#xff1a;创建 Tkinter 窗口步骤3&#xff1a;创建一个 Canvas 画布步骤4&#xff1a;处理鼠标事件步骤5&#xff1a;启动 Tkinter 主事件循环 完整示例代码代…

解决中国科大 USTC 邮箱系统的超大附件上传的邮箱控件安装问题

USTC邮箱系统上传超过 48M 的附件的步骤&#xff1a; 从文件中转站上传文件&#xff0c;会提示下载邮箱控件 cmplugin_setup.exe &#xff0c;默认安装C盘即可 2. 安装好之后依然无法上传超大文件&#xff0c;因为只有 IE 浏览器支持该功能&#xff0c;所以可以使用 Edge 浏览…

timer trigger function

创建&#xff08;使用vscode&#xff09; 选择Timer trigger 命名 设置多久触发一次&#xff08;该语句是5分钟一次&#xff09; 创建完成 在下面直接编辑想要运行的代码。

【计算机网络】75 张图详解:网络设备、网络地址规划、静态路由(万字长文)

75 张图详解&#xff1a;网络设备、网络地址规划、静态路由 1.网络设备1.1 交换机1.2 路由器 2.网络地址规划2.1 IP 地址2.2 分类地址2.3 子网掩码2.4 无类地址2.5 子网划分2.5.1 示例一2.5.2 示例二 2.6 超网合并 3.静态路由3.1 路由表3.2 直连路由3.3 静态路由3.4 默认路由3.…

OpenCV之怀旧色、冰冻滤镜、熔铸滤镜

怀旧色 源码&#xff1a; void huaijiu(Mat& src,Mat& dst) {for (int h 0;h < src.rows;h ){uchar *d1 src.ptr<uchar>(h);uchar *d2 dst.ptr<uchar>(h);for (int w 0;w < src.cols;w ){int w3 3*w;int r d1[w3 2];int g d1[w3 1];int …

这种长海报制作技巧大揭秘,让你的作品与众不同

制作吸引人的长图海报&#xff0c;是许多人在社交媒体、广告宣传、活动策划等场合中经常需要面对的任务。然而&#xff0c;对于不熟悉设计软件的人来说&#xff0c;这可能是一个挑战。幸运的是&#xff0c;现在有许多在线工具和模板可以帮助我们解决这个问题。下面&#xff0c;…

索引-动图演示存储过程

索引 二叉树存储过程演示 BThree存储过程 sql二级索引搜索过程 Id是唯一键&#xff0c;聚集索引 只存在一个 Name是二级索引 可以存在多个 第一种效率更高&#xff0c;不需要回表

C语言经典100例题(56-60)--画圆;画方;画线

目录 【程序56】题目&#xff1a;画图&#xff0c;学用circle画圆形 【程序57】题目&#xff1a;画图&#xff0c;学用line画直线。 【程序58】题目&#xff1a;画图&#xff0c;学用rectangle画方形。 【程序59】题目&#xff1a;画图&#xff0c;综合例子。 【程序60】题…

idea移除许可证

目录 一、介绍 二、操作步骤 一、介绍 当自己的idea日期要到了&#xff0c;又想续上&#xff0c;但是覆盖不了之前的日期&#xff0c;新的没办法生效。那么就要把原先的许可证先移除&#xff0c;再重新续上新的。 二、操作步骤 1.点击idea的右上角的这个展开 2.选择帮助…

二叉搜索树经典笔试题【力扣、牛客】

文章目录 1.根据二叉树创建字符串2. 二叉树的层序遍历3.二叉树的层序遍历Ⅱ4.二叉树的最近公共祖先1.法一&#xff1a;定位p、q在左还是右 分类讨论2.法二&#xff1a;利用stack求出p、q路径 求相交值 5.二叉搜索树与双向链表1.法一&#xff1a;递归&#xff1a;递归过程修正指…

基础篇之环境搭建

文章目录 一、安装依赖包二、SDK源码包下载三、分块文件合并四、更新SDK五、可能存在的问题与解决方案5.1 contains uncommitted changes5.2 app/QLauncher: UnicodeDecodeError5.3 Cannot checkout app/QLauncher 六、软件包下载6.1 下载地址6.2 使用方法 一、安装依赖包 sud…