你不得不了解的深度学习知识(二)

从0开始强化学习——强化学习的简介和分类 目录 写在前面 1. 强化学习简介 2. 强化学习分类 写在前面 最近一直在给老板打工,已经很久没有写过博文了,最近打算系统学习一遍强化学习,所以就开个新坑,和大家分享一下在学习过程中的收获,未来一段时间将不定期更新~ 本文内容 1. 强化学习简介 2. 强化学习分类 一、 强化学习简介 强化学习(Reinforcement Learning, RL),是机器学习常见的方法之一,用于描述和解决智能体(agent)在与环境的交互过程中通过学习策略以达成回报最大化或实现特定... 阅读详情

你不得不了解的深度学习知识

书接上回,你不得不了解的深度学习知识(一),了解了卷积神经网络,以及循环神经网络。这节把剩下的两种常见网络给讲述完毕!

3 生成对抗网络 – Generative Adversarial Networks | GAN

生成对抗网络 – GAN 是最近2年很热门的一种无监督算法,他能生成出非常逼真的照片,图像甚至视频。我们手机里的照片处理软件中就会使用到它。

(1)GAN的设计初衷

一句话来概括 GAN 的设计动机就是——自动化。

深度学习最特别最厉害的地方就是能够自己学习特征提取。机器的超强算力可以解决很多人工无法解决的问题。自动化后,学习能力更强,适应性也更强。

人工判断生成结果的好坏——自动判断和优化

训练集需要大量的人工标注数据,这个过程是成本很高且效率很低的。而人工判断生成结果的好坏也是如此,有成本高和效率低的问题。

而 GAN 能自动完成这个过程,且不断的优化,这是一种效率非常高,且成本很低的方式。GAN是如何实现自动化的呢?下面我们讲解一下他的原理。

(2)生成对抗网络 GAN 的基本原理

大白话版本:

假设一个城市治安混乱,很快,这个城市里就会出现无数的小偷。在这些小偷中,有的可能是盗窃高手,有的可能毫无技术可言。假如这个城市开始整饬其治安,突然开展一场打击犯罪的「运动」,警察们开始恢复城市中的巡逻,很快,一批「学艺不精」的小偷就被捉住了。之所以捉住的是那些没有技术含量的小偷,是因为警察们的技术也不行了,在捉住一批低端小偷后,城市的治安水平变得怎样倒还不好说,但很明显,城市里小偷们的平均水平已经大大提高了。

警察们开始继续训练自己的破案技术,开始抓住那些越来越狡猾的小偷。随着这些职业惯犯们的落网,警察们也练就了特别的本事,他们能很快能从一群人中发现可疑人员,于是上前盘查,并最终逮捕嫌犯;小偷们的日子也不好过了,因为警察们的水平大大提高,如果还想以前那样表现得鬼鬼祟祟,那么很快就会被警察捉住。

为了避免被捕,小偷们努力表现得不那么「可疑」,而魔高一尺、道高一丈,警察也在不断提高自己的水平,争取将小偷和无辜的普通群众区分开。随着警察和小偷之间的这种「交流」与「切磋」,小偷们都变得非常谨慎,他们有着极高的偷窃技巧,表现得跟普通群众一模一样,而警察们都练就了「火眼金睛」,一旦发现可疑人员,就能马上发现并及时控制——最终,我们同时得到了最强的小偷和最强的警察。

非大白话版本

生成对抗网络(GAN)由2个重要的部分构成:

  • 生成器(Generator):通过机器生成数据(大部分情况下是图像),目的是“骗过”判别器
  • 判别器(Discriminator):判断这张图像是真实的还是机器生成的,目的是找出生成器做的“假数据”

详细过程:

  • 第一阶段:固定「判别器D」,训练「生成器G」

我们使用一个还 OK 判别器,让一个「生成器G」不断生成“假数据”,然后给这个「判别器D」去判断。

一开始,「生成器G」还很弱,所以很容易被揪出来。

但是随着不断的训练,「生成器G」技能不断提升,最终骗过了「判别器D」。

到了这个时候,「判别器D」基本属于瞎猜的状态,判断是否为假数据的概率为50%。

  • 第二阶段:固定「生成器G」,训练「判别器D」

当通过了第一阶段,继续训练「生成器G」就没有意义了。这个时候我们固定「生成器G」,然后开始训练「判别器D」。

「判别器D」通过不断训练,提高了自己的鉴别能力,最终他可以准确的判断出所有的假图片。

到了这个时候,「生成器G」已经无法骗过「判别器D」。

  • 循环阶段一和阶段二

通过不断的循环,「生成器G」和「判别器D」的能力都越来越强。

最终我们得到了一个效果非常好的「生成器G」,我们就可以用它来生成我们想要的图片了。

(3)GAN的优缺点

3个优势:

  • 能更好建模数据分布(图像更锐利、清晰)

  • 理论上,GANs 能训练任何一种生成器网络。其他的框架需要生成器网络有一些特定的函数形式,比如输出层是高斯的。

  • 无需利用马尔科夫链反复采样,无需在学习过程中进行推断,没有复杂的变分下界,避开近似计算棘手的概率的难题。

2个缺陷:

  • 难训练,不稳定。生成器和判别器之间需要很好的同步,但是在实际训练中很容易D收敛,G发散。D/G 的训练需要精心的设计。

  • 模式缺失(Mode Collapse)问题。GANs的学习过程可能出现模式缺失,生成器开始退化,总是生成同样的样本点,无法继续学习。

(4)GAN算法

如果你对 GANs 算法感兴趣,可以在 gan动物园 里查看几乎所有的算法。

(5)GAN的实际应用

生成图像数据集

人工智能的训练是需要大量的数据集的,如果全部靠人工收集和标注,成本是很高的。GAN 可以自动的生成一些数据集,提供低成本的训练数据。

图像到图像的转换

简单说就是把一种形式的图像转换成另外一种形式的图像,就好像加滤镜一样神奇。

文字到图像的转换

在2016年标题为“ StackGAN:使用 StackGAN 的文本到逼真照片的图像合成 ”的论文中,演示了使用 GAN,特别是他们的 StackGAN,从鸟类和花卉等简单对象的文本描述中生成逼真的照片。

自动生成模特

在2017年标题为“ 姿势引导人形象生成 ”的论文中,可以自动生成人体模特,并且使用新的姿势。

照片到Emojis

GANs 可以通过人脸照片自动生成对应的表情(Emojis)。

预测不同年龄的长相

给一张人脸照片, GAN 就可以帮你预测不同年龄阶段你会长成什么样。

提高照片分辨率,让照片更清晰

给GAN一张照片,他就能生成一张分辨率更高的照片,使得这个照片更加清晰。

照片修复

假如照片中有一个区域出现了问题(例如被涂上颜色或者被抹去),GAN可以修复这个区域,还原成原始的状态。

自动生成3D模型

给出多个不同角度的2D图像,就可以生成一个3D模型。

4 强化学习-Reinforcement learning | RL

(1) 什么是强化学习

强化学习并不是某一种特定的算法,而是一类算法的统称。

强化学习算法的思路非常简单,以游戏为例,如果在游戏中采取某种策略可以取得较高的得分,那么就进一步「强化」这种策略,以期继续取得较好的结果。这种策略与日常生活中的各种「绩效奖励」非常类似。我们平时也常常用这样的策略来提高自己的游戏水平。

在 Flappy bird 这个游戏中,我们需要简单的点击操作来控制小鸟,躲过各种水管,飞的越远越好,因为飞的越远就能获得更高的积分奖励。

这就是一个典型的强化学习场景:

  • 机器有一个明确的小鸟角色——代理
  • 需要控制小鸟飞的更远——目标
  • 整个游戏过程中需要躲避各种水管——环境
  • 躲避水管的方法是让小鸟用力飞一下——行动
  • 躲避水管的方法是让小鸟用力飞一下——行动

(2) 强化学习的主流算法

免模型学习(Model-Free) vs 有模型学习(Model-Based)

强化学习算法的2大分类。这2个分类的重要差异是:智能体是否能完整了解或学习到所在环境的模型

有模型学习(Model-Based)对环境有提前的认知,可以提前考虑规划,但是缺点是如果模型跟真实世界不一致,那么在实际使用场景下会表现的不好。

免模型学习(Model-Free)放弃了模型学习,在效率上不如前者,但是这种方式更加容易实现,也容易在真实场景下调整到很好的状态。所以免模型学习方法更受欢迎,得到更加广泛的开发和测试。

免模型学习 – 策略优化(Policy Optimization)

免模型学习 – Q-Learning

有模型学习 – 纯规划

有模型学习 – Expert Iteration

强化学习(Reinforcement Learning, RL)的分类 强化学习(Reinforcement Learning, RL)的类型可以从多个维度进行分类,主要包括和等。 阅读详情

相关推荐

基于深度学习的信道估计(DL-CE)基础知识

基于深度学习的信道估计:Deep Learning - Channel Estimation(DL-CE) 目前把深度学习应用到无线通信系统中所存在的问题 (1)没有大量可靠的真实数据集,目前常用的训练数据大多都是使用仿真得到的 (2)当前深度学习的网络层数都较大(模型较大),还不能有效地运用到移动设备上 方案一、深度学习网络用在LS算法得到导频处信道特性(CFR)之后 DL-CE基本结构 基于深度学习的信道估计主要包括两个部分,即离线训练和在线估计(在线预测) 在离线训练阶段,利用先验的信道数据对学习网

逸凌Time 1万+

强化学习分类与汇总介绍

强化学习分类与汇总介绍

zephyr_wang的博客 1万+

深度学习框架DeepLearning4J(DL4J)的安装及配置

本文主要介绍了如何在IDEA中,通过使用Maven安装和配置深度学习框架DeepLearning4J,同时文中也详细介绍了Maven的安装和配置过程,希望给小伙伴一些帮助。

IT_xiao_bai的博客 1万+

【强化学习】强化学习基础教程:基本概念、强化学习的定义,要素,方法分类 以及 Rollout、episode回合、transition转移、trajectory轨迹的概念

【强化学习】强化学习基础教程:基本概念、强化学习的定义,要素,方法分类 以及 Rollout、episode回合、transition转移、trajectory轨迹的概念 1.基础概念 1.1 强化学习的定义 1.2 强化学习的基本要素 2.强化学习分类 2.1 根据agent学习方式分为基于策略的强化学习Policy based RL ,基于价值的强化学习Value based RL以及Actor-Critic方法 2.2 根据理不理解所处的环境(agent有无学习环境的模型)分为model-based与

几度热忱的博客 1万+

从TensorFlow到DL4J——主流深度学习框架对比分析

从TensorFlow到DL4J——主流深度学习框架对比分析 2022年2月22日 极链AI云 官网地址 点击注册 更多AI小知识,关注《极链AI云》公众号 文章目录从TensorFlow到DL4J——主流深度学习框架对比分析一、深度学习框架概述与深度学习技术的四大阵营二、主流开源深度学习框架的来龙去脉2.1 TensorFlow2.2 Keras2.3 Pytorch2.4 Theano2.4 Caffe2.5 Caffe22.6 Torch2.7 FastAI2.8 MXNet2.9 Gluon

m0_60673947的博客 2546

【深度学习&NLP】初识深度学习(DL)与自然语言(NLP)

利用一些深度学习、神经网络的思想以及表征学习的思想,将它们运用到语言理解、以及自然语言处理等问题上。

weixin_52185996的博客 3766

强化学习(分类类别)

通常可以用马尔可夫决策过程来定义强化学习任务,并将其表示为四元组,分别是状态集合、动作集合、状态转移函数和奖励函数,假设这四元中组中所有元素已知,且状态集合和动作集合在有限步数内是有限集,则机器学习可以对真实环境进行建模,通过学习状态转移函数来构建一个虚拟环境,以模拟真实环境的状态和交互和反映,这就是。然而在实际应用中,智能体并不是那么容易就能知晓马尔可夫决策过程中的所有元素的,通常情况下,状态转移函数和奖励函数很难估计,甚至连环境中的状态都可能是未知的,所以才有了。无模型强化学习又可以分为。

weixin_42209537的博客 954

Java 人工智能应用:使用 DL4J 实现深度学习算法

本文介绍了如何使用Java深度学习库DL4J实现深度学习算法。DL4J是为Java开发者设计的开源分布式深度学习库,可与Hadoop和Spark集成处理大规模数据。文章详细讲解了DL4J开发环境的搭建步骤,包括Maven依赖配置和Java环境准备。重点演示了如何使用DL4J构建多层感知机(MLP)模型,涵盖数据准备、模型构建、训练和评估的完整流程。通过示例代码展示了如何实现数据预处理、神经网络配置、模型训练和性能评估,为Java开发者提供了深度学习应用的实践指南。文中采用的MLP模型适用于二分类问题,可作为

shrgegrb的博客 2487

深度学习(三十六)二值网络学习笔记-未完待续

深度学习(三十六)二值网络学习笔记

hjimce的专栏 1733

新手入门深度学习 | 0-2:深度学习(DL)是什么?

文章目录一、深度学习是什么二、实现过程1. 准备数据导入数据可视化调整图片格式2. 构建神经网络模型3. 编译模型4. 训练模型5. 预测三、总结推荐一些不能错过的练手项目(附代码+讲解) ???? 我的环境: 语言环境:Python3.6.5 编译器:Jupyter Notebook 深度学习环境:TensorFlow2.4.1 ???? 往期内容: 小白入门深度学习 | 第一篇:配置深度学习环境 小白入门深度学习 | 第二篇:编译器的使用-Jupyter Notebook ???? 本文选自专

“365天深度学习训练营”报名进行中~ 5222

AIGC实战——深度学习 (Deep Learning, DL)

深度学习 (Deep Learning, DL) 是贯穿所有生成模型 (Generative Model) 的共同特征,几乎所有复杂的生成模型都以深度神经网络为核心,深度神经网络能够学习数据结构中的复杂关系,而不需要预先提取数据特征。在本节中,我们将介绍深度学习基本概念,并利用 Keras 构建深度神经网络。

盼小辉丶的博客 7万+

【深度学习】Java DL4J 2024年度技术总结

在当今数字化浪潮中,深度学习作为人工智能领域的核心驱动力,正以前所未有的速度改变着我们的生活和工作方式。从图像识别到自然语言处理,从医疗诊断到金融预测,深度学习的应用场景无处不在,展现出巨大的潜力和价值。Java作为一门广泛应用于企业级开发的编程语言,以其稳定性、可移植性和丰富的类库资源,在软件开发领域占据着重要地位。然而,传统的Java开发在面对深度学习复杂的模型构建和大规模数据处理时,往往显得力不从心。的出现,为Java开发者打开了一扇通往深度学习世界的大门。DL4J是一个专为Java和Scala。

在技术的广袤天地里,本博客如精准罗盘。剖析前沿科技,深掘代码奥秘,以精炼笔触,带您穿越复杂技术迷宫,速达知识彼岸。 1万+

Deeplearning4j深度学习示例教程:DL4J, DL4J Spark, DataVec实战

神经网络是深度学习的基础,由大量的节点(或称为“神经元”)相互连接而成。每个神经元可以将输入转换为输出,并在此过程中应用一个非线性激活函数。通过多层的网络结构,复杂的非线性变换得以实现,使得神经网络能够学习数据中的层次结构。Deeplearning4j(DL4J)是针对Java虚拟机(JVM)的开源深度学习库,专为商业环境和生产需求设计。DL4J的特点之一是它的性能优化,在分布式计算、多线程和Hadoop或Spark集成方面表现出色。

weixin_29867767的博客 3474

使用 ESP-DL 深度学习库基于 ESP32-S3 实现手势识别

用户基于乐鑫深度学习库 ESP-DL,能够在 ESP32-S3 上部署高性能的深度学习模型。

乐鑫 Espressif 1万+

知识图谱体系.xmind

知识图谱体系,知识图谱脑图,包括知识图谱设计到的知识数据

QT编程之PCM音频播放与采集

Qt5/Qt6通用方案。

深之JohnChen的专栏 1173

【深度学习-Day 1】为什么深度学习是未来?一探究竟AI、ML、DL关系与应用

欢迎踏上深度学习(Deep Learning, DL)的探索之旅!近年来,人工智能(Artificial Intelligence, AI)浪潮席卷全球,而深度学习正是驱动这股浪潮的核心技术之一。无论你是对 AI 充满好奇的初学者,还是希望在技术领域深耕的开发者,理解深度学习都至关重要。本专栏旨在系统性地引导大家从零基础入门,逐步掌握深度学习的核心概念、关键技术和实战应用。

吴师兄大模型的博客 7378

STM32H5 USB虚拟串口:用Classic驱动移植CDC实践

USB虚拟串口(CDC)是嵌入式系统最常用的主机通信方式之一,本质是借助USB协议模拟串口收发,无需额外驱动即可在PC上生成COM口。其实现依赖USB设备协议栈完成枚举、控制传输与批量传输。传统USBD Classic库不依赖RTOS,代码轻量、调用链短,非常适合裸机或轻量状态机架构;而USBX功能强大但需要ThreadX内核,资源开销较大。在电机控制器、传感器采集等场景中,日志输出与参数配置仅需简单的双向数据通道,Classic驱动往往更务实。本文基于STM32H5平台,详细梳理了使用Classic驱动移

weixin_29178069的博客 336

【DL】2023年你应该知道的 10 大深度学习算法

它们是训练有素的神经网络,可将数据从输入层复制到输出层。它们具有相同数量的输入和输出层,但可能有多个隐藏层,可用于构建语音识别、图像识别和机器翻译软件。无论您是初学者还是专业人士,这三大深度学习算法都将帮助您解决与深度学习相关的复杂问题:CNN 或卷积神经网络、LSTM 或长短期记忆网络和 RNN 或递归神经网络 (RNN)。是的,CNN 是一种深度学习算法,负责以网格模式的形式处理受动物视觉皮层启发的图像。深度学习算法几乎可以处理任何类型的数据,并且需要大量的计算能力和信息来解决复杂的问题。

sikh_0529的博客 2万+

数据中心光模块升级实录:从200G QSFP56到400G QSFP-DD的踩坑指南

本文记录了数据中心从200G QSFP56升级至400G QSFP-DD光模块的完整实战经验。文章深入剖析了升级过程中面临的兼容性、链路预算、布线、散热与功耗管理等核心挑战,并提供了具体的解决方案与排坑指南,为高速网络升级提供了宝贵的实践参考。

butter的博客 482

001-基础入门-Web演示源码&资源&工具箱等

小迪安全2023笔记

wushangyu32335的博客 4269

DL框架之DL4J/Deeplearning4j:深度学习框架DL4J/Deeplearning4j的简介、安装、使用方法之详细攻略

Deeplearning4j可以实施的技术包括受限玻尔兹曼机、深度置信网络、深度自动编码器、堆叠式降噪自动编码器、循环神经张量网络,以及word2vec、doc2vec和GloVe。硬件支持包括 CUDA GPU(10.0、10.1、10.2,OSX 除外)、x86 CPU(x86_64、avx2、avx512)、ARM CPU(arm、arm64、armhf)和 PowerPC(ppc64le)。:用于各种格式和文件(HDFS、Spark、图像、视频、音频、CSV、Excel 等)的。

头部AI社区如有邀博主AI主题演讲请私信—心比天高,仗剑走天涯,保持热爱,奔赴向梦想!低调,专注,谦虚,自律,反思,成长,还算比较正能量的博主,公益免费传播…内心特别想在AI界做出一些可以推进历史进程影响力的技术(兴趣使然,有点小情怀,也有点使命感呀 6272

Python爬虫终极实战:逆向解析+异步处理,高效爬取中关村在线万级产品数据

爬虫工程师的战场,已经从简单的HTML解析,转向了对网络协议、JavaScript执行逻辑的深度逆向工程。然后刷新页面,当浏览器发起这个请求时,执行会暂停,我们可以一步步跟蹤调用栈(Call Stack),找到发起请求前的JavaScript代码,从而发现参数的计算逻辑。它们会添加一个动态的、一次性的签名(token)或加密参数,用于验证请求的合法性。这是整个爬虫最核心、最具技术含量的部分。的请求,其响应体正是结构清晰的JSON数据,包含了当前页面的所有手机信息(产品ID、名称、价格、图片等)。

2201_76125261的博客 429
上一篇: 你不得不了解的深度学习知识(一)
下一篇: AI算法之Encoder-Decoder 和 Seq2Seq
mind_programmonkey
mind_programmonkey 领域专家: 算法与数据结构技术领域 领域专家: 算法与数据结构技术领域
博客等级 码龄9年 4435粉丝 1111原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mind_programmonkey

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值