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

第一讲 生成式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需要解决的问题是生成的问题是不可以穷举的,但是如果文字接龙的话这个就变成了一个分类问题(常用的字是可以穷举的)

 从生成文字到生成图片

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

相关文章:

  • 深度解析算法之前缀和
  • Linux命令-Shell编程
  • 深入剖析 Java Web 项目序列化:方案选型与最佳实践
  • k8s 基础入门篇之开启 firewalld
  • 低代码行业研究报告
  • ClickHouse简介
  • AI日报 - 2025年04月19日
  • 网络基础(协议,地址,OSI模型、Socket编程......)
  • Linux网络编程 TCP---并发服务器:多进程架构与端口复用技术实战指南
  • GO语言入门:常用数学函数2
  • TCVectorDB 向量数据库简介
  • K8s-Pod详解
  • 操作系统是如何运行的?
  • 2014-2021年 区域经济高质量发展-高质量需求指标数据
  • 【Hot100】 240. 搜索二维矩阵 II
  • 微信小程序中使用h5页面预览图片、视频、pdf文件
  • 软考复习——知识点软件开发
  • 深入理解Java包装类:自动装箱拆箱与缓存池机制
  • Linux操作系统--进程的创建和终止
  • 缓存 --- Redis的三种高可用模式
  • 复旦大学史地学系在北碚
  • 调查显示特朗普在经济问题上的支持率跌至其总统生涯最低
  • 中国足协、中足联:对中超浙江队外援布彭扎不幸离世表示深切哀悼
  • 黄仁勋时隔3个月再次到访北京
  • 言短意长|郑州大学教授范冰冰遭遇标题党
  • 伊朗外交部:美矛盾立场被视为缺乏谈判的严肃性和诚意