吴恩达deeplearning.ai:数据增强数据合成迁移学习

以下内容有任何不理解可以翻看我之前的博客哦:吴恩达deeplearning.ai专栏
让我们看看为你的程序添加数据的技巧。在构建神经网络的时候,我们总是想要更多的数据,但是获取更多的数据往往是十分昂贵又缓慢的。相反地,添加数据的另一种方法是专注于添加有帮助的数据。
在上一篇博客之中,我们提到了垃圾邮件识别器,其中解决提高系统性能的方法之一就是添加专门的某种类型数据,从而增强神经网络的性能。如今,研究人员如果发现神经网络在某种特定的数据上表现特别差,有一种方法能够做到只添加一点点数据,就可以大幅增强神经网络的表现,这叫做数据增强

文章目录

  • 数据增强 Data Augmentation
    • 手写识别
    • 语音识别
  • 数据合成
  • 迁移原理
    • 原理


数据增强 Data Augmentation

手写识别

例如,如果你在做一个字母识别的神经网络,希望神经网络能够更好地识别字母A,那么你除了传入一张字母A作为数据,还可以将这张图片旋转一定角度,从而产生一个新的示例;或者将图片放大或者缩小一点;或者改变图片的对比度;如果不是对称图形,你也可以添加它的镜像等等。
在这里插入图片描述
另外一种常用的方法是,将图像放在网格之上,之后随机扭曲图像:
在这里插入图片描述

语音识别

数据增强也适用于语音识别之中。
你可以给原始语音添加噪音、汽车声、不同的背景音乐:
在这里插入图片描述
数据增强的一个技巧是,对数据做的更改或扭曲应该代表训练集中的噪声或扭曲。
如果你对示例的更改在测试集不常遇到,那么其实对数据的帮助是有限的。因此,考虑数据增强的一种方法是思考如何在扭曲、更改或在数据中增加更多的噪音,即让你的训练集能够和测试集更加相似。其中有一种技术叫做数据合成(data synthesis),让你可以从头开始构建新的示例。

数据合成

让我们以照片OCR为例,它的作用是自动读取图片并且能够读取出其中的文字。
在这里插入图片描述
以上是OCR中的一个真实数据,我们该怎么做呢?
任务的一个关键人物就是能从图中读出各个字母的小图像并识别出图中的字母:
在这里插入图片描述
因此你创建人工数据的方法就是利用计算机中自带的文本编辑器,然后交给神经网络去学习,从而你可以合成类似下图的字母,看起来和上图真的很类似:
在这里插入图片描述
通过合成数据生成,能够为神经网络提供大量数据,从而很快地提高应用性能。
过去几十年之中,大部分研究人员的注意力都集中在传统的以模型为中心的基础上,因此对于数据都会下载固定的数据集,从而专注于改进算法或者模型,但其实专注于数据的处理也是一条很有前景的道路。
在这里插入图片描述
对于没有那么多数据的程序,使用迁移学习从而使用其它不同任务的数据是个很好的方法。以下是迁移学习的工作原理。

迁移原理

假设你想要做一个手写字识别的项目,但是你没有那么多的标记数据。而假设你找到了个非常大的数据集,其中包含一百万张猫,狗,人,汽车的照片等一千个类别。然后,你可以在这个数据集上,让你的神经网络训练这1000个物品的任意一个,你将获得一系列的w,b参数。之后你要做的,是将这些参数直接插入你手写识别的神经网络之中,只是输出层的参数不能使用,因为你的分类从1000变成了手写识别的十个,之后,再重新训练网络。
在这里插入图片描述
之后,你就有两种选择,第一种,只重新训练输出层的参数,这适用于你的神经网络参数真的很小的情况下,第二种,是在前四层不懂的基础上再往后面训练一个神经网络,这适用于神经网络还是有一定量的数据集的情况下。这种方法就叫做迁移学习,即将神经网络的的早期层学习一些合理的参数集,然后将这些参数转移到新的神经网络之中,这样我们就可以进一步学习一点点,最后被优化为一个非常好的模型。
其中,这在其它神经网络上获得参数的过程叫做监督预训练;第二步叫做微调,即优化获得的参数从而使得其能够变为专门应用于手写数字识别的应用。
另一个好处是,你也许不需要亲自进行预训练。因为网上有很多研究者已经训练好的神经网络,你可以直接使用,然后将输出层替换为自己需要的就行了。

原理

为什么识别猫猫狗狗的深度学习网络最后可以识别手写数字呢?这与算法背后的直觉有关。
在这里插入图片描述
以上是一些原因,由于神经网络的早期层基本上都是进行一些边,角落还有基本图形的处理。因此在不同的数据集上其实是有共通性的。
但是迁移学习的一个限制是图像类型x必须于你预训练的图片类型相同,即图片尺寸相同。例如如果你要构建一个语音识别系统,那么以上数据集的参数可能就没什么帮助了。
当你预训练的数据集很大,而自己的数据集较小时,效果往往会更好
在这里插入图片描述
为了给读者你造成不必要的麻烦,博主的所有视频都没开仅粉丝可见,如果想要阅读我的其他博客,可以点个小小的关注哦。

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

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

相关文章

例行性工作(at,crontab)

目录 单一执行的例行性工作at 语法 选项 时间格式 at的工作文件存放目录 at工作的日志文件 实例 命令总结: 循环执行的例行性工作crond 语法 选项 crontab工作调度对应的系统服务 crontab工作的日志文件 用户定义计划任务的文件所在目录 动态查看 crontab文件格式 文…

ThreadLocal, InheritableThreadLocal和TransmittableThreadLocal

ThreadLocal, InheritableThreadLocal和TransmittableThreadLocal ThreadLocal(TL) 后续部分地方会使用ThraedLocal简称为TL 什么是TL? ThreadLocal是Java中的一个类, 也称为线程本地变量, 它提供了线程局部变量的功能。每个ThreadLocal对象都可以存储一个线程本地的变量副…

Service Mesh:如何为您的微服务架构带来可靠性和灵活性

在云原生架构中,Service Mesh 技术成为了微服务架构中不可或缺的一环。本文灸哥将和你一起探讨 Service Mesh 技术的原理、功能和实践,帮助架构师和开发人员更好地理解和应用这一关键技术。 1、Service Mesh 技术概述 Service Mesh 又称为服务网格&…

Vue3+ts(day01:Vue3简介、初始化Vue3工程)

学习源码可以看我的个人前端学习笔记 (github.com):qdxzw/frontlearningNotes 觉得有帮助的同学,可以点心心支持一下哈(笔记是根据b站上学习的尚硅谷的前端视频【张天禹老师】,记录一下学习笔记,用于自己复盘,有需要学…

事务失效的八种情况!!!!

一、非publi修饰的方法。 /*** 私有方法上的注解,不生效(因私有方法Spring扫描不到该方法,所以无法生成代理)*/ Transactional private boolean test() {//test code }二、类内部访问。 类内部非直接访问带注解标记的方法 B&…

乐高wedo硬件编程

文章目录: 一:wedo零件认识 1.砖块 2.薄片 3.滑片 4.梁 5.轴 6.销 7.齿轮 8.连接器 9.装饰零件 10.电子零件 11.轮胎 12.柔性零件 二:软件下载安装 1.下载安装 2.使用 三:软件里面的指令模块介绍 绿色部分 …

Leetcode3071. 在矩阵上写出字母 Y 所需的最少操作次数

Every day a Leetcode 题目来源:3071. 在矩阵上写出字母 Y 所需的最少操作次数 解法1:模拟 统计 Y 中的元素出现次数,记到一个长为 3 的数组 cnt1 中。统计不在 Y 中的元素出现次数,记到一个长为 3 的数组 cnt2 中。 计算最多…

Linux-socket套接字

前言 在当今数字化时代,网络通信作为连接世界的桥梁,成为计算机科学领域中至关重要的一部分。理解网络编程是每一位程序员必备的技能之一,而掌握套接字编程则是深入了解网络通信的关键。本博客将深入讨论套接字编程中的基本概念、常见API以及…

(五)关系数据库标准语言SQL

注:课堂讲义使用的数据库 5.1利用SQL语言建立数据库 5.1.1 create Database 5.1.2 create schema...authorization... 创建数据库和创建模式的区别: 数据库是架构的集合,架构是表的集合。但在MySQL中,他们使用的方式是相同的。 …

电脑工作电压是多少你要看看光驱电源上面标的输入电压范围

要确定电脑的工作电压,必须查看电源上标注的输入电压范围。 国内法规规定民用220V电压范围为10%-15%,也就是说通信220V电压正常范围为187--242V,供电设备一般为180V。 --250V电压范围,即正常情况下电脑电源电压不低于187V即可工作…

4.1k star,官方出品的redis桌面管理工具——redislnsight

导航 令人抓狂的大key加载RedisInsight 简介RedisInsight的亮点GitHub 地址安装和使用RedisInsight 下载安装 使用RedisInsight redis数据库可视化直观的CLI(Command-Line Interface)日志分析和命令分析 结语参考 令人抓狂的大key加载 工欲善其事必先利…

查询IP地址保障电商平台安全

随着电子商务的快速发展,网购已经成为人们日常生活中不可或缺的一部分。然而,网络交易安全一直是人们关注的焦点之一,尤其是在面对日益频发的网络诈骗和欺诈行为时。为了提高网购平台交易的安全性,一种有效的方法是通过查询IP地址…

每周一算法:A*(A Star)算法

八数码难题 题目描述 在 3 3 3\times 3 33 的棋盘上,摆有八个棋子,每个棋子上标有 1 1 1 至 8 8 8 的某一数字。棋盘中留有一个空格,空格用 0 0 0 来表示。空格周围的棋子可以移到空格中。要求解的问题是:给出一种初始布局…

算法优化 —— 注意力机制篇

文章目录 前言一、EMA 高效多尺度注意力机制(ICASSP2023)二、BiFormer: 基于动态稀疏注意力构建高效金字塔网络架构(2023CVPR)前言 提示:这里可以添加本文要记录的大概内容: 一、EMA 高效多尺度注意力机制(ICASSP2023) 原论文链接 代码如下: class EMA(nn.Module

数据结构-线段树

📑前言 本文主要是【线段树】——线段树简单使用的文章,如果有什么需要改进的地方还请大佬指出⛺️ 🎬作者简介:大家好,我是听风与他🥇 ☁️博客首页:CSDN主页听风与他 🌄每日一句&…

R实现热图与网络图组合并显示显著性

大家好,我是带我去滑雪! 热图和网络图分别展示了数据的不同方面。热图可用于显示变量之间的相关性或模式,而网络图则可用于显示节点之间的连接关系。通过将它们组合在一起,可以更全面地展示数据之间的关系和结构。下面开始代码实战…

STM32CubeIDE基础学习-STM32CubeIDE软件快捷键介绍

STM32CubeIDE基础学习-STM32CubeIDE软件快捷键介绍 文章目录 STM32CubeIDE基础学习-STM32CubeIDE软件快捷键介绍前言第1章 查看快捷键方法第2章 设置快捷键方法第3章 常用快捷键示例总结 前言 这个STM32CubeIDE软件使用的是Eclipse框架的开发环境,所以所使用的快捷…

单链表OJ题:LeetCode--141.环形链表

朋友们、伙计们,我们又见面了,本期来给大家解读一下LeetCode中的第141道单链表OJ题,如果看完之后对你有一定的启发,那么请留下你的三连,祝大家心想事成! 数据结构与算法专栏:数据结构与算法 个 …

DHCP部署与安全

在当今快速发展的网络世界中,动态主机配置协议(DHCP)扮演着至关重要的角色。这项技术不仅简化了网络管理,还提高了网络资源的利用率。本文旨在深入探讨DHCP的工作原理、优势以及如何有效部署和保护DHCP服务器。 一、DHCP作用 自…

抖音商家短视频直播流量变现运营SOP地图

【干货资料持续更新,以防走丢】 抖音商家短视频直播流量变现运营SOP地图 部分资料预览 资料部分是网络整理,仅供学习参考。 抖音运营资料合集(完整资料包含以下内容) 目录 【提升短视频运营效率的专业指南】 高效运营&#xf…