深度学习简介-AI(三)

深度学习简介

  • 深度学习简介
    • 深度学习例子
    • 深度学习训练优化
      • 1.随机初始化
      • 2.优化损失函数
      • 3.优化器选择
      • 4.选择/调整模型结构
    • 深度学习常见概念
      • 隐含层/中间层
      • 随机初始化
      • 损失函数
      • 导数与梯度
      • 优化器
      • Mini Batch/epoch
    • 深度学习训练逻辑图

深度学习简介

深度学习例子

猜数字

A: 我现在心里想了一个0-100之间的整数,你猜一下?
B: 60。
A: 低了。
B:80。
A:低了。
B:90。
A:高了
B:88。
A:对了

我们可以通过这个典型的例子来学习深度学习的思想。上面的过程中,可以把B当成我们的模型,A心里面想的数字,是我们想要模型预测的内容。整个过程就是我们训练模型如何快速的预测数字的过程,1-100中,我们猜测的数据就是我们的样本。

备注:一般的样本中,应该是输入和输出1对1的;这里我们可以理解为输入就是1-100的任意一个数,任何都可以,我这里假设输入为100,比较好计算

深度学习过程-拆解:

1.B 随机预测一个数 --模型随机初始化的参数进行输出
选择一个模型(函数作为猜的方法)为:Y = k*X 此时这个样本就是(1-100的数)
第一次输出为为60 ,X输入为100,k初始化为0.6
2.计算模型猜出的数字与真正的答案的差距 ---计算loss,就是预测和真实值的差距,计算loss的公式叫损失函数=sign(y_true-y_pred)
3.根据loss,就可以告诉B是偏大还是偏小 ---模型得到loss信息
4.B根据获得信息调整自己的预测方案,就是K值 ---反向传播
5.B中的K可以预先设定调整的幅度大小,比如偏大,则k减小0.1,偏小则k加0.1 ---调整的东西叫优化器,调整的幅度大小就是学习率
6反复重复上述1-5;直到预测和真实值的差距 loss小于我们预设的值,则停止 --模型训练的轮数

释义: 上述的整个过程,就是深度学习训练模型的过程,就是找到模型(y=kx)中,k取什么值,可以满足xk得到B心中想要的数字。当然咱们这个例子中,这个k不是固定的,一个真实的完整训练模型,最后肯定是为了得到一共固定的k值,在这里只是举例说明。

深度学习训练优化

从猜数字的过程,可以类比为一个模型训练的过程,那么我们的目的是尽快训练出一个满足我们任务的模型,我们可以从以下部分考虑取优化:

1.随机初始化

如果B一开始初始化的值k就是88,那么我们就直接得到正确的模型了
所以 我们根据经验初始化一个值,一定程度上可以帮助计算机更快的找到正确的k。
NLP中预训练模型实际上计算对随机初始化的技术优化

2.优化损失函数

如果: A不是告诉B偏大还是偏小,而是直接告诉它还差多少,那么B就能很快的得到一个正确的k

所以我们可以选择一个好的损失函数,或者计算损失值时,我们可以给到模型准确的值

3.优化器选择

上述的例子中,如果我们采用2分法去预测数据:50-->75-->88....这样去设置我们预测参数的策略,无疑会更快的找到正确的k

4.选择/调整模型结构

上面我们选择的模型是y=k*x,我们知道这是一条直线;那如果我们预测的规律不是直线,那么不管我们怎么调整,都无法很好的预测结果,这就和我们选择的模型有关
示例:
就像一个只有文科天赋的学生,让他去研究数学一样,即时他已经很努力了,但是效果却差强人意

深度学习常见概念

深度学习中的神经网络是一种拟人化的说法,是为了我们便于理解,本质上就是一系列数学公式。

隐含层/中间层

释义: 神经网络模型输入层和输出层之间的部分
隐含层可以有不同的结构,如下面一些著名的网络结构:

RNN
CNN
DNN
LSTM
Transformer
…上述的网络本质上区别,就是数学公式不同的而已。

随机初始化

释义: 较大的模型,隐含层会包含很多的权重矩阵,这些矩阵需要有初始值,才能开始进行计算。
注意

  1. 初始值的选择会影响最终训练模型的结果
  2. 一般情况下,初始值随机初始化也是在一定范围内进行的
  3. 使用预训练模型时,初始值是提前被训练好的参数

损失函数

释义:用来计算模型的预测值和真实值之间的差距。
备注

  1. 损失函数的价值是让我们知道,当前离目标还有多大的差距,这个计算是通过预测值和目标值来计算的。示例:就像考试,是让我们知道距离想要完全掌握知识还差多少
  2. 损失函数有很多,需要选择合理的损失函数才能训练出想要的模型。示例:就像我们想要学好数学,那么就要做数学卷子,我们才知道还差多少

导数与梯度

释义: 导数表示函数曲线的切线斜率,即在该函数值点上的变化率。
在这里插入图片描述
作用: 导数可以告诉我们值得变化是增大还是减小;想想我们需要求预测值和真实值之间得差距loss;那么在这里记住,y、x都是输入得值,实际得函数是k和loss之间得关系;现在我们需要找到k得值,使得loss最小;那么是不是要对k在这个预测值得位置求导数,这样我们就知道,k该增大还是减小,才能使loss减小了。

梯度释义: 梯度通常就相当于函数在某个数据导数,由于人工智能计算通常使用向量,所以实际就是函数某一点的方向向量,有方向并且梯度的方向是该点增长最快的点,所以梯度的反方向就是减小最快的点。
所以需要梯度下降: 梯度下降得目的是找到函数得极小值

优化器

释义: 上面例子中调整预测数据大小的整个动作就是人工智能中的优化器。他的作用就是运用一定的调整策略,使得能够较好的找到一个适合的点,使得模型预测准确
相关概念: 学习率(learning rate)就是调整k的幅度大小
动量(Momentum)动量可以理解成物理中的惯性;目的是为了降低模型微调中,脏数据的影响。(即计算梯度方向会和之前的比较,如果完全相反,会继续向之前的方向前进一下步,如果方向相同,会适当的调大学习率)

Mini Batch/epoch

Batch释义: 简单理解就是一次性加入多个训练的语料,进行训练后,将他们梯度综合进行处理;这是避免,单条数据进行训练,梯度一会上一会下,导致最终训练没有办法拟合整体的数据规律。

Mini Batch释义: 但一次也不能太多数据一起训练,数据过多会导致需要的硬件设备太大,计算也较慢;预算成本达不到。

epoch: 是指将完整的训练数据训练完一次。因为在实际的训练中,训练集数据,不是指训练一次;会根据loss来控制或者是指定训练的轮,即epoch数

深度学习训练逻辑图

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

24年河南特岗教师招聘流程+报名流程

河南特岗教师报名流程如下 1.登录河南省特岗招聘网 登录河南省特岗招聘网注册账号和密码,账号可以是手机号或者身份证号,密码自己设置 2.注册登录账号 注册完账号重新登录账号,输入身份证号、手机号、密码、验证码 3.浏览考试须知 填写个人信…

Unity Shader技巧:实现带投影机效果,有效避免边缘拉伸问题

这个是原始的projector 投影组件,边缘会有拉伸 经过修改shader 后边缘就没有拉伸了 (实现代码在文章最后) 这个着色器通过检查每个像素的UV坐标是否在定义的边界内,来确定是否应用黑色边框。如果UV坐标处于边缘区域,那么像素颜色会被强制设为黑色,从而在投影图像周围形成一…

JWT入门

JWT与TOKEN JWT(JSON Web Token)是一种基于 JSON 格式的轻量级安全令牌,通常用于在网络应用间安全地传递信息。而“token”一词则是一个更广泛的术语,用来指代任何形式的令牌,用于在计算机系统中进行身份验证或授权。J…

云原生技术架构详解

云原生技术最全详解(图文全面总结) 容器技术 容器技术:是将应用程序、及其所有依赖项,打包到一个独立的、可移植的容器中。 如下图所示: 容器技术的实现,最典型的就是以Docker为代表的。 如下图所示: 主要解决: 1、…

【ROS中Cjson文件的作用】

在ROS (Robot Operating System) 中,.json 文件通常用于存储配置信息、数据序列化或者在某些情况下用于网络通信和数据交换。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于…

UE4_材质_使用彩色半透明阴影

学习笔记,不喜勿喷!侵权立删,祝愿大美临沂生活越来越好! 本教程将介绍如何配置虚幻引擎来投射彩色半透明阴影。 此功能在许多应用中都很有用,常见例子就是透过彩色玻璃窗的彩色光。 一、半透明阴影颜色 阴影在穿过半…

【Python机器学习】模型评估与改进——带交叉验证的网格搜索

虽然将数据划分为训练集、验证集、测试集的方法是可行的,也相对常用,但这种方法对数据的划分相当敏感,为了得到对泛化性能的更好估计,我们可以使用交叉验证来评估每种参数组合的性能,而不是仅将数据单次划分为训练集与…

模拟退火算法2—优缺点

模拟退火算法优点 1、以一定的概率接受恶化解 模拟退火算法(SA)在搜索策略上与传统的随机搜索方法不同,它不仅引入了适当的随机因素,而且还引入了物理系统退火过程的自然机理。这种自然机理的引入使模拟退火算法在迭代过程中不仅接受使目标函数变“好”的试探点,而且还能以一…

Hadoop权威指南-读书笔记-02-关于MapReduce

Hadoop权威指南-读书笔记 记录一下读这本书的时候觉得有意思或者重要的点~ 还是老样子~挑重点记录哈😁有兴趣的小伙伴可以去看看原著😊 第二章 关于MapReduce MapReduce是一种可用于数据处理的编程模型。 MapReduce程序本质上是并行运行的&#xff0c…

行业模板|DataEase旅游行业大屏模板推荐

DataEase开源数据可视化分析工具于2022年6月发布模板市场(https://templates-de.fit2cloud.com),并于2024年1月新增适用于DataEase v2版本的模板分类。模板市场旨在为DataEase用户提供专业、美观、拿来即用的大屏模板,方便用户根据…

网络安全--计算机网络安全概述

文章目录 网络信息系统安全的目标网络安全的分支举例P2DR模型信息安全模型访问控制的分类多级安全模型 网络信息系统安全的目标 保密性 保证用户信息的保密性,对于非公开的信息,用户无法访问并且无法进行非授权访问,举例子就是:防…

Andriod安装termux并换源

问题汇总 Error: The repository ‘https://mirrors.tuna.tsinghua.edu.cn/termux/termux-package-24 stable Release’ does not have a Release file. 更换源(这里使用的是清华大学源) 打开文件 nano $PREFIX/etc/apt/sources.list手动修改 deb htt…

Powershell 获取电脑保存的所有wifi密码

一. 知识点 netsh wlan show profiles 用于显示计算机上已保存的无线网络配置文件 Measure-Object 用于统计数量 [PSCustomObject]{ } 用于创建Powershell对象 [math]::Round 四舍五入 Write-Progress 显示进度条 二. 代码 只能获取中文Windows操作系统的wifi密码如果想获取…

ETCD概述--使用/特性/架构/原理

ETCD概述 ETCD是一个高度一致的分布式键值存储, 它提供了一种可靠的方式来存储需要由分布式系统或机器集群访问的数据(高可用, 强一致性)​全局的配置服务中心. 本文将介绍其特性、相关操作和常见的应用场景. 如果想了解更多, 请查阅我的技术博客: https://dingyuqi.com 特性 …

红酒与文学:探索文字背后的酒香

在文学的海洋中,红酒如同一股不同的香风,轻轻拂过书页,为文字的世界增添了一抹诱人的色彩。今天,就让我们一起踏上这段奇妙的旅程,探索红酒与文学之间的奇妙联系,感受文字背后的酒香,特别是以雷…

第11章 规划过程组(二)(11.8排列活动顺序)

第11章 规划过程组(二)11.8排列活动顺序,在第三版教材第388~389页;文字图片音频方式 第一个知识点:主要工具与技术(重要知识点) 1、紧前关系绘图法(PDM)或前导图法&#…

宝塔Linux面板配置环境 + 创建站点

一、安装 (1)进入宝塔官网 https://www.bt.cn/new/index.html (2)点击“ 立即免费安装 ”,选择 Centos安装脚本 (3)进入 ssh 输入以下命令安装宝塔 yum install -y wget && wget -O …

【Docker安装】OpenEuler系统下部署Docker环境

【Docker安装】OpenEuler系统下部署Docker环境 前言一、本次实践介绍1.1 本次实践规划1.2 本次实践简介二、检查本地环境2.1 检查操作系统版本2.2 检查内核版本2.3 检查yum仓库三、卸载Docker四、部署Docker环境4.1 配置yum仓库4.2 检查可用yum仓库4.3 安装Docker4.4 检查Docke…

Golang 依赖注入设计哲学|12.6K 的依赖注入库 wire

一、前言 线上项目往往依赖非常多的具备特定能力的资源,如:DB、MQ、各种中间件,以及随着项目业务的复杂化,单一项目内,业务模块也逐渐增多,如何高效、整洁管理各种资源十分重要。 本文从“术”层面&#…

Linux高并发服务器开发(十一)UDP通信和本地socket通信

文章目录 1 TCP和UDP的区别2 UDPAPI流程服务端流程客户端流程 代码服务端客户端 3 本地socket通信服务端客户端客户端代码 1 TCP和UDP的区别 2 UDP API 流程 服务端流程 客户端流程 代码 服务端 #include<sys/socket.h> #include<stdio.h> #include<arpa/in…