清华青年AI自强项目核心内容总结

2023-11-23 20:30

本文主要是介绍清华青年AI自强项目核心内容总结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

    • 讲座梗概
    • 第1讲:AI鸟瞰与升级指南
    • 第2讲:机器学习入门
    • 第3讲:经典神经网络
    • 第4讲:深度神经网络
    • 第5讲:卷积神经网络
    • 第6讲:视觉分类任务
    • 第7讲:视觉探测任务
    • 第8讲:实例与调参

本文主要梳理总结学习清华大学青年AI自强项目中的核心知识内容,各位读者可以根据需要按图索骥,enjoy!

讲座梗概


  • 第1讲:AI鸟瞰与升级指南
  • 第2讲:机器学习入门
  • 第3讲:经典神经网络
  • 第4讲:深度神经网络
  • 第5讲:卷积神经网络
  • 第6讲:视觉分类任务
  • 第7讲:视觉探测任务
  • 第8讲:实例与调参

第1讲:AI鸟瞰与升级指南

主要讲了项目背景及当下AI现状,新手学习路径及方法建议。

当前新手学习AI面临的问题:理工科知识不友好,数学门槛过重,解决方案是:

  1. 不讲证明
  2. 以能懂能用为目标,画出知识最小包络
  3. 说人话,减少学术词汇,实例形象易懂

此课程面向对象,适合于对AI感兴趣的任意背景同学,极大降低新手学习入门门槛。有深入了解原理需求的读者可按以下步骤进阶:

  • 学习互助小组,了解入门
  • 做项目,实操领会
  • 打比赛,实战进阶
  • 追论文,发论文,学术前沿

建议学习策略

  • 推荐学习平台:Coursera, github, arxiv, papers with code
  • 理论是用的,不是纯学的,类似英语语言学习,要多与实践结合
  • 内功:算法,外功:代码
  • 找好基友,同道中人讨论前行,连滚带爬往前走
  • 合理追求quick win,设置小目标控制点,感受成就感与前进
  • 设置deadline,人类前进的最大动力

第2讲:机器学习入门

主要讲了机器学习总体框架,以对知识地图有个宏观了解。

  • 大框架:收集数据、选取特征,进行标注,拟合数据,进行预测
  • 小框架:数据矩阵描述,可视化与归一化,决策边界,sigmoid激活函数,损失函数评价模型,梯度下降优化,过拟合与泛化,正则化

结合案例,生动形象地讲解了机器学习常用核心概念:

  • 特征、数据集:数据准备及特征提取思路
  • 归一化:数据预处理,统一量纲,加快收敛
  • 决策边界:进行分类的卡尺
  • 激活函数:进行非线性化处理,增大模型表达能力
  • 损失函数:评价输出结果好坏
  • 梯度下降:回溯更新参数
  • 过拟合、欠拟合和泛化:训练模型经常遇到的效果平衡

第3讲:经典神经网络

主要讲了前向传播和反向传播的概念理解和公式推导,神经网络的广义性(可拟合任意函数)。

此章节为深度学习的理论核心,可根据课件反复研读实验,务必理解透彻。

第4讲:深度神经网络

主要讲了随着神经网络深度的不断叠加,出现的问题与解决方案。

  • 梯度消失、梯度爆炸
    • 解决:换激活函数、更新初始化方法
  • 过拟合
    • 解决:正则化、学习率衰减
  • 数据集样本少
    • 解决:数据增强,人造各种数据或者各种渠道购买更多真实数据
  • 处理大数据的方法
    • 解决:mini batch和batch norm

第5讲:卷积神经网络

主要讲了计算机视觉中核心卷积神经网络的原理、前向传播,广泛应用于分类、探测、语义分割、实例分割、跟踪等任务。

  • 分类:识别整体图片的类别
  • 探测:识别区域图片的类别并框选出类别所处图片位置
  • 跟踪:动态跟踪视频中某一类别的位置,并实时框选出来
  • 语义分割:将整体图片分区域归类,如大地、车、天空、树
  • 实例分割:在语义分割基础上,对归类进一步细分实例化,如车A、车B、树A、树B

概要讲述了在以上任务中,基于卷积神经网络的具体模型设计应用,并练习一个典型卷积神经网络。

第6讲:视觉分类任务

主要讲了分类任务中的IMAGENET挑战赛中涌现出的优秀模型,各种模型的核心工作是做不同姿势的卷积,走两条路:

  • 提高精度
    • LeNet5,起点,CNN,tanh激活
    • AlexNet2012,深度神经网络与大数据的首次触电,用relu加深了网络,用GPU训练起了大数据
    • ZFNet2013,过渡版本,帮AlexNet调了超参,换了卷积参数
    • VGG2014,标准模块加堆叠,换7x7卷积为3x3卷积堆叠,降低了参数量(人懒机器累)
    • GoogleNet2014,inception,变得更宽,1x1卷积压缩通道数,nxn变1xn和nx1卷积核分解,超参变更多(人累机器爽)
    • ResNet2015,打破限制,超越人类。解决加深网络问题,多加一条直连的线,保证无效神经元层直通,此时卷积核参数为0
    • ResNeXt2016,ResNet Plus,融合GoogleNet和VGG更进一层
    • SENet2017,集大成者,这届后比赛停止。Squeeze和Excitation,1X1卷积提取通道的影响,单独接个全连接网络,之后再叠加到下面的卷积网络。
  • 提高效率
    • 参数压缩
      • Deep Compression
        • 效果:VGG,50倍压缩参数,便于端侧运行。
        • 方法:剪枝,聚类压缩量化编码,霍夫曼编码
    • 结构优化
      • MobileNet,ShuffleNet

第7讲:视觉探测任务

主要讲了分类、定位、探测任务的定义,通过将未知化为已知,将探测问题转化为分类问题:两段论方法,先将整体图片进行滑窗选取候选区图,送入分类网络进行判断,从而输出滑窗位置和类别。

探测任务两段论的开山鼻祖是R-CNN网络,在此基础上Fast R-CNN和Faster R-CNN等网络,主要技术手段有:

  • 滑窗:不断从整体图片按设定的参数循环切分选取图片子片段。
  • SS(Selective Search):一种传统机器学习算法,根据相似度合并筛选候选窗,显著减少候选窗个数,输出大概2000个候选窗
  • NMS(Non-Max Suppression):非最大值抑制,即除了最大的都不要,类似于max pooling,进一步减少候选窗
  • 区域映射:根据映射关系直接在FM域进行候选窗特征提取。(Fast R-CNN)
  • ROI:统一输出特征维度(Fast R-CNN)
  • loss融合:利用softmax将位置误差和子框超参等融合一起,形成多任务损失函数(Fast R-CNN)
  • RPN(Range Process Network):区域处理网络替代SS模块,减小候选窗到300个(Faster R-CNN)
  • 训练:将候选窗送入分类网络,分开训练。

探测任务的另一个分支方法是端到端方法,代表作YOLO 2016(You Only Look Once),能有效避免两段论方法存在的问题。主要技术手段:

  • 分而治之:提前划分子区域,对每个区域由目标的label建立特征提取器
  • 输出多维label:有目标的概率、bbox参数、目标属于类比x1的概率、目标属于类别x2的概率…
  • label升级:增加相应的anchor box(不同目标对应的box大小),以解决一个子框内出现多个目标的场景

第8讲:实例与调参

无公开视频资料。

这篇关于清华青年AI自强项目核心内容总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/420549

相关文章

基于 Cursor 开发 Spring Boot 项目详细攻略

《基于Cursor开发SpringBoot项目详细攻略》Cursor是集成GPT4、Claude3.5等LLM的VSCode类AI编程工具,支持SpringBoot项目开发全流程,涵盖环境配... 目录cursor是什么?基于 Cursor 开发 Spring Boot 项目完整指南1. 环境准备2. 创建

Python中logging模块用法示例总结

《Python中logging模块用法示例总结》在Python中logging模块是一个强大的日志记录工具,它允许用户将程序运行期间产生的日志信息输出到控制台或者写入到文件中,:本文主要介绍Pyt... 目录前言一. 基本使用1. 五种日志等级2.  设置报告等级3. 自定义格式4. C语言风格的格式化方法

Three.js构建一个 3D 商品展示空间完整实战项目

《Three.js构建一个3D商品展示空间完整实战项目》Three.js是一个强大的JavaScript库,专用于在Web浏览器中创建3D图形,:本文主要介绍Three.js构建一个3D商品展... 目录引言项目核心技术1. 项目架构与资源组织2. 多模型切换、交互热点绑定3. 移动端适配与帧率优化4. 可

sky-take-out项目中Redis的使用示例详解

《sky-take-out项目中Redis的使用示例详解》SpringCache是Spring的缓存抽象层,通过注解简化缓存管理,支持Redis等提供者,适用于方法结果缓存、更新和删除操作,但无法实现... 目录Spring Cache主要特性核心注解1.@Cacheable2.@CachePut3.@Ca

Spring 依赖注入与循环依赖总结

《Spring依赖注入与循环依赖总结》这篇文章给大家介绍Spring依赖注入与循环依赖总结篇,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. Spring 三级缓存解决循环依赖1. 创建UserService原始对象2. 将原始对象包装成工

Java+AI驱动实现PDF文件数据提取与解析

《Java+AI驱动实现PDF文件数据提取与解析》本文将和大家分享一套基于AI的体检报告智能评估方案,详细介绍从PDF上传、内容提取到AI分析、数据存储的全流程自动化实现方法,感兴趣的可以了解下... 目录一、核心流程:从上传到评估的完整链路二、第一步:解析 PDF,提取体检报告内容1. 引入依赖2. 封装

SpringBoot通过main方法启动web项目实践

《SpringBoot通过main方法启动web项目实践》SpringBoot通过SpringApplication.run()启动Web项目,自动推断应用类型,加载初始化器与监听器,配置Spring... 目录1. 启动入口:SpringApplication.run()2. SpringApplicat

MySQL中查询和展示LONGBLOB类型数据的技巧总结

《MySQL中查询和展示LONGBLOB类型数据的技巧总结》在MySQL中LONGBLOB是一种二进制大对象(BLOB)数据类型,用于存储大量的二进制数据,:本文主要介绍MySQL中查询和展示LO... 目录前言1. 查询 LONGBLOB 数据的大小2. 查询并展示 LONGBLOB 数据2.1 转换为十

Springboot项目构建时各种依赖详细介绍与依赖关系说明详解

《Springboot项目构建时各种依赖详细介绍与依赖关系说明详解》SpringBoot通过spring-boot-dependencies统一依赖版本管理,spring-boot-starter-w... 目录一、spring-boot-dependencies1.简介2. 内容概览3.核心内容结构4.

在ASP.NET项目中如何使用C#生成二维码

《在ASP.NET项目中如何使用C#生成二维码》二维码(QRCode)已广泛应用于网址分享,支付链接等场景,本文将以ASP.NET为示例,演示如何实现输入文本/URL,生成二维码,在线显示与下载的完整... 目录创建前端页面(Index.cshtml)后端二维码生成逻辑(Index.cshtml.cs)总结