当前位置: 首页 > backend >正文

第一讲 生成式ai是什么

声明:

   作者是个ai小白,所以博客会尽最大限度的详细,不建议基础很好的大佬观看。大家觉得有墨迹的地方可通过导航栏或其他方式略读,同时非常欢迎大家指正和补充博客的内容。

  self attention 和 RNN 因为刚开始学 所以有待完善。

生成式人工智能要解决的问题

生成式人工智慧就是生成一些复杂而有结构的东西

怎么理解复杂:就是无法通过穷举解决的东西

分类问题不是一个复杂的问题 他的结果使能穷举出来的。

机器学习的本质

机器学习的本质 是从一堆资料中找出一个函式,比如我给一堆数(我可以确定这个是一个一次函数),然后计算出这里的a和b

那么我们推广一下,如果我们给野狗图片,然后 将这个图片转化成一个函式 得到最后的结果这个有上万个参数。

 机器学习就是把 这些参数找出来。然后 我们拿出一个新的图片 看看他属于哪个类别 这个就叫做测试。

彩蛋:手搓神经网络(有待完善)

向前传播

向前传播讲解_哔哩哔哩_bilibili

逆向传播

还是用刚才的例子

这里的w11和w12是右边的w11和w12

 使用矩阵表示就是这个形式

计算损失函数

通过学习率改变差值

生成式人工智慧和机器学习深度学习以及GPT之间的关系

从图片上来讲,我们的GPT可以通过深度学习进行训练。

GPT 其实是具有很多个参数的函式

GPT背后的函式也可以看成是一个向量

tranformer 介绍--- 引言 输入输出

不管是查看直播观看youtube人数还是影像处理上, 我们输入的都是一个向量,我们的输入可能是一个数字(回归)我们可能输入的是一个类别(分类)

但是加入的是一堆向量并且向量的长度是可以改变的,那么我们如何处理呢

生活中不妨有这种复杂的输入 的例子

比如我们输入一个句子,句子中的每一个单词就可以作为一个向量

This is a cat
This 作为向量1
is 作为向量2.....

如何区分这些向量:

  • 方案1:   onehot独热编码,但是缺点是不能看出向量之间的相似度。
  • 方案2:使用wordEmbedding ,我们不难发现run和jump都是动词,dog和rabbit和cat都是动物,tree和flower都是植物,这些具有相似性质的颜色都是相似的。关于wordEbedding的内容这里不过多赘述,有感兴趣的小伙伴可以自行查阅相关资料。

举例1:

我们对N维向量的每一个都要进行一个输出。

 这些应用比如给一个单词我们判定他是一个动词还是一个名词;比如给一段语音判断他是多少级的台风;比如给一个社交网络图,判断这个人是否购买..... 生活中这样的例子有很多。

举例2:

我们输入N个向量,我们只需要输出一个结果就可以。

比如我们想要了解一个产品怎么样,我们不可能一条条的阅读每一个评论,但是我们可以把所有评论作为输入,让机器输出一个值是正面还是负面;比如听一段声音判断是谁讲的;给一个分子判断他的亲水性如何。

举例3:

 机器需要自己决定输出的规模。

我们在作业5会有这方面的详细介绍。

但是我们在第1个例子中会出现一个问题,比如相同的saw 我们期望他们输出不同的词性,然而简单的分类问题显然不能满足我们的需求,这个时候 我们就需要结合语境来说明一下。

我们可以设定一个window,并把整个windows都给覆盖住,但是我们都知道 windows大小是不一样的 ,所以我们无法设定。怎么解决---self attention.

self--attention

  • 首先withcontext那一行 表示通过selfattention 之后  考虑到整个句子之后输出的向量。
  • 将上一步得到的向量扔进FC全连接层 之后输出一个向量。

当然我们也可以叠加

attention is all you need论文解读(未完成)

https://arxiv.org/pdf/1706.03762

这个就是一个论文解读,目的是更好的理解self atteion的原理,如果读者不喜欢看请通过导航栏进行跳跃。

 这个文章最早是谷歌团队为了解决机器翻译问题采用的方案

intruduction

首先介绍一下循环神经网络RNN的架构和说明

序列数据:例如天气股票数据  都是一些序列数据,或者是对于翻译文章我们的输入也是一个序列数据,我们的机器翻译也是一个序列数据 每个数据每个词都有相同的含义,而将他们通过不同的顺序组合将会表达不同的含义。

我爱你
/// 不同字符的顺序组合会表达出不同的含义
你爱我

  • 如果我们想要翻译句子或者分析句子情感的时候 这个时候我们需要使用到循环神经网络

  • 在金融领域:我们可以分析股票的走向和预测天气
  • 在图像识别领域我们可以利用CNN模型识别出物体 然后将CNN输出的记过给RNN 组成图片的描述

为啥要引入RNN循环网络

弊端1:

多层感知机的缺点是输入的规模是确定的 隐藏层的数量也是确定的,我们想要扩展很困难。

弊端2:

对于MLP(多层感知机),输出是dest和depa所以每个词输出这两个的概率是相同的,所以每个词都会属于这俩的一种。

但是循环神经网络完美的解决了这个问题:RNN模型在每期计算的时候会同时考虑当期输入值和前期状态,并利用相同的模型架构循环下去,具体来说比如他看到下面台北的时候,他会记得前面看过leave或者arrive

每次我们的隐藏层产生输出的时候 这个结果会存放到左侧的小方块a1和a2中

在下一次进行输入输出的时候 除了会考虑隐藏层还会考虑之前存放在小方块里面的内容。

RNN的计算过程:

李宏毅机器学习-RNN网络(中英文)_哔哩哔哩_bilibili

建议看一下视频的弹幕:说白了就是简单的线性相加,弄清楚有几个来源之后 就知道怎么算了。

总结:对于RNN来说,改变了输入输出顺序也会改变结果。

注意 这里是同一个RNN在不同时间被使用的示意图,为了方便演示 所以画了三个

双向循环神经网络

相当于阅读了整个句子

GPT的原理--文字接龙

变成分类问题

机器是需要有创造力的,生成式ai需要解决的问题是生成的问题是不可以穷举的,但是如果文字接龙的话这个就变成了一个分类问题(常用的字是可以穷举的)

 从生成文字到生成图片

可以将这种文字接龙的方法推广到图片接龙。

http://www.xdnf.cn/news/732.html

相关文章:

  • 头歌java课程实验(函数式接口及lambda表达式)
  • 【AI论文】CLIMB:基于聚类的迭代数据混合自举语言模型预训练
  • 2026《数据结构》考研复习笔记四(第一章)
  • 单例模式与消费者生产者模型,以及线程池的基本认识与模拟实现
  • Java学习手册:Filter 和 Listener
  • synchronized 与分布式锁
  • 约束:常见约束(常见约束-例子,外键约束)
  • Laravel-vite+vue开发前端模板
  • 最新扣子空间实操指南
  • QML--全局对象Qt
  • 1.Vue自动化工具安装(Vue-cli)
  • 自定义请求头导致跨域的解决办法
  • C++学习:六个月从基础到就业——内存管理:RAII原则
  • 键入网址到网页显示,期间发生了什么?
  • Arduino示例代码讲解:Project 08 - Digital Hourglass 数字沙漏
  • DAY 50 leetcode 1047--栈和队列.删除字符串中的所有相邻重复项
  • Spring MVC 如何体现 Model-View-Controller 各自的职责?它们之间是如何协作的?
  • 【Linux】进程状态
  • 【仓颉 + 鸿蒙 + AI Agent】CangjieMagic框架(17):PlanReactExecutor
  • OpenCV 自适应背景更新 cv2.accumulateWeighted
  • 【OC】AVPlayerLayer的学习
  • PG psql --single-transaction 参数功能
  • 秘密任务 3.0:如何通过 JWT 认证确保 WebSockets 安全
  • c++基础·左值右值
  • HBase安装与基本操作指南
  • 安卓单机斗地主,具备休闲挑战等多模式
  • paddleocr出现: [WinError 127] 找不到指定的程序解决办法
  • 一招解决所以Maven找不到依赖包的问题
  • 即插即用模块(1) -MAFM特征融合
  • javascript day4