《动手学深度学习(Pytorch版)》Task01:初识深度学习——4.22打卡

news2024/9/23 23:23:41

深度学习介绍

AI地图

在这里插入图片描述

  • 自然语言处理:起源于符号学,如机器翻译,人在几秒钟能反应过来,属于感知问题
  • 计算机视觉:图片由像素组成,难以用符号学解释,在图片中进行推理,大部分用概率模型或者机器学习
  • 深度学习:机器学习的一种

深度学习任务

图片分类

输入图像识别类别

著名数据集Image-net

物体检测和分割

  • 目标检测:输入图像识别图像中每个物体的类别和框
  • 语义分割:识别每个像素的类别

在这里插入图片描述

样式迁移

将一个图像中的样式应用在另一图像之上

在这里插入图片描述

人脸合成

请添加图片描述

文字生成图片

在这里插入图片描述

文字生成

以QA形式进行文字生成,如GPT-3

在这里插入图片描述

无人驾驶

在这里插入图片描述

案例:广告点击

场景:给定用户输入如何返回相应的广告

三个阶段:

  1. 触发
  2. 点击率预估 —> 机器学习模型
  3. 排序

**预测:**特征提取 —> 模型 —> 点击率预测

**训练:**训练数据(过去广告展现和用户点击) —> 特征和用户点击 —> 模型

完整过程

在这里插入图片描述

领域专家:关心模型应用产生的影响,提需求的人,甲方

数据科学家:将原始数据转换成机器可以理解的数据,乙方

AI专家:训练模型并且关注模型的进一步提升

QA

Q:机器学习的可解释性:机器学习在图片分割领域为什么有效?

A:深度学习的可解释性(人类理解层面)现在很难定论,但是可以从一些角度解释模型为什么有效

Q:深度学习无法用数学规范表述,只能从直觉上理解对吗?

A:不一定,模型可以用数学表述,但是目前难以用数学来解释模型为什么工作/不工作

引言-相关名词整理

关键组件

数据(data)

数据集(dataset)

模型(model):任一调整参数后的程序

参数(parameter):可以调整程序行为的旋钮

学习算法(learning algorithm):使用数据集来选择参数的元程序

样本(example, sample)数据点(data point)数据实例(data instance):组成数据集的数据

独立同分布(independently and identically distributed, i.i.d.)

特征(features,或协变量(covariates)):一组特征属性组成一个样本

维数(dimensionality):特征向量的长度

深度学习(deep learning):关注功能强大的模型,这些模型由神经网络错综复杂的交织在一起,包含层层数据转换

目标函数(objective function):量化模型的有效性的函数

损失函数(loss function,或cost function):习惯上取目标函数越低越好,所以叫损失

训练数据集(training dataset,或称为训练集(training set)):用于模型训练而收集的样本,拟合模型参数

测试数据集(test dataset,或称为测试集(test set)):用于测试模型性能,模型没有见过的“新数据集”,评估拟合的模型

过拟合(overfitting):模型在训练集上表现良好,但测试集效果很差

梯度下降(gradient descent):常用的优化算法,在每个步骤中,梯度下降法都会检查每个参数,看看如果仅对该参数进行少量变动,训练集损失会朝哪个方向移动。 然后,它在可以减少损失的方向上优化参数。

监督学习

监督学习(supervised learning):在“给定输入特征”的情况下预测标签。每个“特征-标签”对都称为一个样本(example)。

回归

回归(regression):训练一个回归函数来输出一个数值

平方误差(squared error):预测值与实际值之差的平方,预测数值最常用

分类

分类(classification):练一个分类器来输出预测的类别

类别(category,正式称为(class))

二项分类(binomial classification):只有两个类别的分类

多项分类(multiclass classification):有两个以上的类别

交叉熵(cross-entropy):所有标签分布的预期损失值

层次分类(hierarchical classification):一些分类任务的变体可以用于寻找层次结构,层次结构假定在许多类之间存在某种关系

标记问题

多标签分类(multi-label classification):学习预测不相互排斥的类别的问题

推荐系统

推荐系统(recommender system):向特定用户进行“个性化”推荐

序列学习

序列学习(sequence Learning):摄取可变长度的输入序列 和/或 预测可变长度的输出序列

无监督学习

无监督学习(unsupervised learning):数据中不含有“目标”的机器学习问题

聚类(clustering):没有标签的情况下给数据分类

主成分分析(principal component analysis):用少量的参数来准确地捕捉数据的线性相关属性

因果关系(causality)和概率图模型(probabilistic graphical models):根据经验数据发现属性之间的关系

生成对抗性网络(generative adversarial networks):通过两个神经网络相互博弈的方式进行学习,生成数据

与环境互动

离线学习(offline learning):根据预先收集的数据进行模型训练,训练开始后不与环境交互

分布偏移(distribution shift):训练集和测试集之间的数据分布不同,导致模型的泛化性能很差。

强化学习

强化学习(reinforcement learning):让智能体(agent)在与环境交互的过程中,通过学习最优的行为策略,来实现最大的回报或目标。

智能体(agent)

观察(observation)

动作(action)

奖励(reward)

策略(policy):强化学习的目标是产生一个好的策略

在这里插入图片描述

学分分配(credit assignment):决定哪些行为是值得奖励的,哪些行为是需要惩罚的。

马尔可夫决策过程(markov decision process):环境可被完全观察到的强化学习问题

上下文赌博机(contextual bandit problem):状态不依赖于之前的操作的强化学习问题

多臂赌博机(multi-armed bandit problem):没有状态,只有一组最初未知回报的可用动作的强化学习问题

神经网络(neural networks):一种模仿生物神经网络(动物的中枢神经系统,特别是大脑)的结构和功能的数学模型或计算模型,用于对函数进行估计或近似。

(layers):线性和非线性处理单元的交替

链式规则(也称为反向传播(backpropagation)):一次性调整网络中的全部参数的规则

dropout :有助于减轻过拟合

表示学习(representation learning):模型自动从数据中抽取特征或表达,以方便后续任务

Datawhale环境配置讲解

视频分为Linux和windows环境配置,本人使用笔记本自带的RTX4060显卡进行配置,所以是windows环境,视频在20:30左右开始

视频内容:

下载 Miniconda

更换镜像源

下载GIT

下载课程 Repo

之前已经配置过conda和pytorch,所以跳过

安装

因为已经安装conda,所以跳过安装Miniconda

安装深度学习框架和d2l软件包

创建conda虚拟环境

conda create -n learning_pytorch python=3.9

激活虚拟环境

conda activate learning_pytorch

确定CUDA driver的版本

运行nvidia-smi, CUDA版本为12.4

在这里插入图片描述

pytorch官网选择比CUDA driver小的最新版本

在这里插入图片描述

conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia

安装d2l

pip install d2l==0.17.6

下载 D2L Notebook

创建文件夹d2l-zh并下载压缩包

mkdir d2l-zh && cd d2l-zh
curl https://zh-v2.d2l.ai/d2l-zh-2.0.0.zip -o d2l-zh.zip

问题:‘unzip’ 不是内部或外部命令,也不是可运行的程序
或批处理文件。

原因:unzip是linux系统下,windows不自带。

解决方法:下载unzip,官网地址:https://gnuwin32.sourceforge.net/packages/unzip.htm

  1. 选择Binaries;
  2. 下载ZIP;
  3. 最后将下载下来的unzip-5.51-1-bin\bin\unzip.exe文件复制到 C:\Windows\System32 即可。

在这里插入图片描述

在这里插入图片描述

解压,可以正常运行

unzip d2l-zh.zip && del d2l-zh.zip

PS:windows命令提示符(CMD)使用 del 命令来删除文件。

cd pytorch

打开Jupyter笔记本(在Window系统的命令行窗口中运行以下命令前,需先将当前路径定位到刚下载的本书代码解压后的目录)

jupyter notebook

成功打开

在这里插入图片描述

李沐:GPT时代AI怎么学?

原来的深度学习:人在5s可以决策出来的问题

现在的深度学习:一个专业人士1h的工作量

机器学习这么多年在训练上其实没有本质的变化

不同:每几年会把一类模型的做到智能顶点

transformer的智能上限仍在探索中

就算遇到上限,也会去探索新的模型架构

现状:transformer的了解不够深入,下一个架构仍未出现

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

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

相关文章

Android驱动开发之如何编译和更换内核

编译内核可以使用图形化的界面配置,也可以直接使用脚本。在X86_64模拟器环境下,不用交叉编译,而交叉编译工具很容易出现兼容问题,一般也只能使用芯片厂商提供的工具,而不是GNU提供的工具。 android内核开发流程以及架构变化了很多,详情请看 内核官网 内核版本选择 由…

若依集成mybatisplus报错找不到xml

引用:https://blog.csdn.net/qq_65080131/article/details/136677276 MybatisPlusAutoConfiguration中可以知道,系统会自动配置SqlSessionFactory,,但是,当你有自定义的SqlSessionFactory,,就会…

如何使用rdtsc和C/C++来测量运行时间(如何使用内联汇编和获取CPU的TSC时钟频率)

本文主要是一个实验和思维扩展,除非你有特殊用途,不然不要使用汇编指令来实现这个功能。扩展阅读就列出了一些不需要内联汇编实现的 写本文是因为为了《Windows上的类似clock_gettime(CLOCK_MONOTONIC)的高精度测量时间函数》这篇文章找资料的时候&…

arm架构,django4.2.7适配达梦8数据库

【Python相关包版本信息】 Django 4.2.7 django-dmPython 3.1.7 dmPython 2.5.5 【达梦数据库版本】 DM Database Server 64 V8 DB Version: 0x7000c 适配过程中发现的问题如下: 错误一:d…

Opencv | 图像卷积与形态学变换操作

这里写目录标题 一. 滤波 / 卷积操作1. 平滑均值滤波/卷积2. 平滑中值滤波/卷积3. 平滑高斯滤波/卷积3.1 关注区域3.2 分解特性 二. 形态学变换1. 常用核2. cv.erode ( ) 腐蚀操作3. cv.dilate ( ) 膨胀操作4. Open 操作5. Close 操作6. Morphological Gradient 形态梯度操作7.…

为什么单片机控制电机需要加电机驱动

通常很多地方只是单纯的单片机MCU没有对电机的驱动能力,或者是介绍关于电机驱动的作用,如: 提高电机的效率和精度。驱动器采用先进的电子技术和控制算法,能够精准控制电机的参数和运行状态,提高了电机的效率和精度。拓…

vos3000外呼系统客户端无法安装如何解决?

如果 VOS3000 外呼系统客户端无法安装,可以尝试以下解决方法: 检查系统要求: 确保你的计算机满足 VOS3000 外呼系统客户端的系统要求,包括操作系统版本、内存、处理器等。如果系统不符合要求,可能会导致安装失败或者运…

[BT]BUUCTF刷题第20天(4.22)

第20天 Web [GWCTF 2019]我有一个数据库 打开网站发现乱码信息(查看其他题解发现显示的是:我有一个数据库,但里面什么也没有~ 不信你找) 但也不是明显信息,通过dirsearch扫描得到robots.txt,然后在里面得…

echarts 双堆叠柱状图(数据整理)

1.后台返回的数据格式 {"code": "0000","message": "","messageCode": "操作成功","sign": null,"detail": null,"data": {"pieChart": [{"key": "产品…

C++之写时复制(CopyOnWrite)

设计模式专栏:http://t.csdnimg.cn/4j9Cq 目录 1.简介 2.实现原理 3.QString的实现分析 3.1.内部结构 3.2.写入时复制 4.示例分析 5.使用场景 6.总结 1.简介 CopyOnWrite (COW) 是一种编程思想,用于优化内存使用和提高性能。COW 的基本思想是&am…

编译支持播放H265的cef控件

接着在上次编译的基础上增加h265支持编译支持视频播放的cef控件(h264) 测试页面,直接使用cef_enhancement,里边带着的那个html即可,h265视频去这个网站下载elecard,我修改的这个版本参考了里边的修改方式,不过我的这个…

Reactor 模式

目录 1. 实现代码 2. Reactor 模式 3. 分析服务器的实现具体细节 3.1. Connection 结构 3.2. 服务器的成员属性 3.2. 服务器的构造 3.3. 事件轮询 3.4. 事件派发 3.5. 连接事件 3.6. 读事件 3.7. 写事件 3.8. 异常事件 4. 服务器上层的处理 5. Reactor 总结 1…

开源啦!一键部署免费使用!Kubernetes上直接运行大数据平台!

市场上首个K8s上的大数据平台,开源啦! 智领云自主研发的首个 完全基于Kubernetes的容器化大数据平台 Kubernetes Data Platform (简称KDP) 开源啦🚀🚀 开发者只要准备好命令行工具,一键部署 Hadoop,Hi…

JavaScript(二)

JavaScript的语法 1.JavaScript的大小写 在JavaScript中,大小写是敏感的,这意味着大小写不同的标识符被视为不同的变量或函数。例如,myVariable 和 myvariable 被视为两个不同的变量。因此,在编写JavaScript代码时,必…

函数声明与调用:接口原型、参数传递顺序、返回值

示例&#xff1a; /*** brief how about function-declare-call? show you here.* author wenxuanpei* email 15873152445163.com(query for any question here)*/ #define _CRT_SECURE_NO_WARNINGS//support c-library in Microsoft-Visual-Studio #include <stdio.h&…

上位机图像处理和嵌入式模块部署(树莓派4b实现多进程通信)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 和mcu固件、上位机软件不太一样的地方&#xff0c;嵌入式设备上面上面的工业软件一般都是多进程的形式。相比较多线程而言&#xff0c;整个系统就不…

springcloudgateway集成knife4j

上篇我们聊聊springboot是怎么继承knife4j的。springboot3 集成knife4j-CSDN博客 本次我们一起学习springcloudgateway集成knife4j。 环境介绍 java&#xff1a;17 SpringBoot&#xff1a;3.2.0 SpringCloud&#xff1a;2023.0.0 knife4j &#xff1a; 4.4.0 引入maven配置…

# 从浅入深 学习 SpringCloud 微服务架构(四)Ribbon

从浅入深 学习 SpringCloud 微服务架构&#xff08;四&#xff09;Ribbon 段子手168 一、ribbon 概述以及基于 ribbon 的远程调用。 1、ribbon 概述&#xff1a; Ribbon 是 Netflixfa 发布的一个负载均衡器,有助于控制 HTTP 和 TCP客户端行为。 在 SpringCloud 中 Eureka …

就业班 第三阶段(负载均衡) 2401--4.19 day3 nginx3

二、企业 keepalived 高可用项目实战 1、Keepalived VRRP 介绍 keepalived是什么keepalived是集群管理中保证集群高可用的一个服务软件&#xff0c;用来防止单点故障。 ​ keepalived工作原理keepalived是以VRRP协议为实现基础的&#xff0c;VRRP全称Virtual Router Redundan…

用python selenium实现短视频一键推送

https://github.com/coolEphemeroptera/VIVI 效果如下 demo 支持youtube视频搬运