自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(81)
  • 收藏
  • 关注

原创 2020李宏毅学习笔记——72 RL Advanced Version8.Imitation Learning

为什么要模仿学习 Imitation Learning(也称为 learning by demonstration, apprenticeship learning)在某些情况下:机器也可以和环境进行互动,但是不能明显的得到reward在某些任务中很难定义reward人为涉及的奖励可能会得到不受控制的行为因此需要 imitation learning: 让一个专家来示范应该如何解决问题,而机器则试着去模仿专家行为克隆这个方法可以看做是一个监督学习,在这个方法中,actor需要学习在某些特定的

2020-07-23 20:45:24 263 1

原创 2020李宏毅学习笔记——71 RL Advanced Version7.Sparse Reward

Reward Shaping当reward的分布非常分散时,对于机器而言学习如何行动会十分困难。比如说要让一个机器人倒水进水杯里,如果不对机器人做任何指导,可能它做很多次尝试,reward都一直是零。(不知道杯子在哪,不知道拿着手上的水壶干嘛,不知道水壶靠近杯子之后应该怎么做)因此,在训练或指导一个actor去做你想要它做的事情时,需要进行reward shaping好奇在原来的模型当中,actor与环境做互动,根据环境给的state,采取一定的action,并得到reward。而新的模型引入了

2020-07-23 19:52:08 287

原创 2020李宏毅学习笔记——70 RL Advanced Version 6.Actor-Critic

Asynchronous Advantage Actor-Critic (A3C)回顾 – Policy Gradient先对policy gradient进行回顾,只需要记得几个要点:给定某个state采取某个action的概率考虑到行动输出的概率和为一,为了保证reward越大的有更大的概率被sample到,需要加上baseline b考虑到当先action对过去的reward没有影响,从当前时间点开始进行reward的累加考虑到时间越久,当前action对后期reward的影响越小,添加折

2020-07-23 19:10:41 229

原创 2020李宏毅学习笔记——69 RL Advanced Version 5.Q-learning(Continuous Action)

连续行动:在某些情况下,action是一个连续向量(比如驾驶类游戏,需要决定一个连续的角度)在这种情况下,Q learning 并不是一个用来寻找最佳action的好方法解决方式一:采样一系列行动,看哪个行动会返回最大的Q值解决方式二:使用梯度上升来解决这个优化问题(具有较高的计算成本)解决方式三:设计一个网络来使得这个优化过程更简单这里 ∑ 和 μ 是高斯分布的方差和均值,因此,该矩阵 ∑一定是正定的。要让Q值较高,意味着要使得(a−μ)2的值更小,也就是说 a=μ...

2020-07-23 17:31:52 151

原创 2020李宏毅学习笔记——68 RL Advanced Version 4.Q-learning(Advanced Tips)

Double DQN由于Q值总是基于使得Q最大的action得出的,因此会趋向于被高估,于是引入double DQNdouble DQN的真实Q值往往比Q-learning高为什么 Q 经常被高估因为目标值 rt+maxQ(st+1,a) 总是倾向于选择被高估的行动actiondouble DQN 是如何工作的?使用两个Q function(因此称为double), 一个用来选择行动action,另外一个用来计算Q值,通常会选择target network来作为另外一个用于计算Q值的Q‘ fun

2020-07-23 15:30:47 193 1

原创 2020李宏毅学习笔记——67 RL Advanced Version 3.Q-learning(basic idea)

Q-Learning介绍基本思想Q-learning – value-base什么是Critic:critic并不直接决定采取什么行动,但是会用来衡量一个actor的好坏critic的输出值取决于被评估的actor状态价值函数 Vπ(s)对于actor π , 给定状态s,期望得到的累积收益,该值取决于状态s和actor π如何估计状态价值函数 Vπ(s)基于蒙特卡洛的方法Monte-Carlo (MC)critic 观察 π 进行游戏的整个过程, 直到该游戏回合结束再计算累积收益(通

2020-07-23 15:12:26 193

原创 2020李宏毅学习笔记——66 RL Advanced Version 2.Proximal Policy Optimization

Proximal Policy Optimization术语和基本思想On-policy: 学习到的agent以及和环境进行互动的agent是同一个agentOff-policy: 学习到的agent以及和环境进行互动的agent是不同的agent为什么要引入 Off-policy:如果我们使用 πθ 来收集数据,那么参数 θ被更新后,我们需要重新对训练数据进行采样,这样会造成巨大的时间消耗。目标:利用 π θ ′ 来进行采样,将采集的样本拿来训练 θ , θ’ 是固定的,采集的样本可以被重复使

2020-07-23 14:45:12 190

原创 2020李宏毅学习笔记——65 RL Advanced Version 1.Policy Gradient

Policy Gradient术语和基本思想基本组成:actor (即policy gradient要学习的对象, 是我们可以控制的部分)环境 environment (给定的,无法控制)回报函数 reward function (无法控制)Policy of actor π:如下图所示,Policy 可以理解为一个包含参数 θ \thetaθ的神经网络,该网络将观察到的变量作为模型的输入,基于概率输出对应的行动actionEpisode:游戏从开始到结束的一个完整的回合actor的目标

2020-07-23 10:02:26 204

原创 2020李宏毅学习笔记——64.Deep Reinforcement Learning

1.概念:本节内容只是强化学习的一些入门(皮毛,Scratching the surface)先是从例子讲起,然后还是以红白机上的小蜜蜂为例,讲解了当下AL比较流行的Policy-based,并进行了的机器学习三板斧分析。2.OverviewDavid Silver(大卫·希尔弗曼,阿法狗的作者,貌似b站有他专门讲强化学习的视频)给出的说法:Deep Reinforcement Learning: AI=RL+DL3.例子红字State是Agent观察到的environment的结果,一般都是p

2020-07-19 14:13:15 671 1

原创 2020李宏毅学习笔记——63.Life Long Learning

1.概念life long learning 是指这个NN在不断地学习,之前可能只能解决task1,但是经过再次学习,它还能解决task2;再学习,还能解决task3…life long learning需要解决的问题是knowledge retention(but not intransigence)什么意思呢?就是说这个NN不仅要做到保留原来的知识,还要能接受新的知识。从上图可以看出,当只学习了task1的数据时,NN在task1上的准确率是90%,在task2上的正确率是96%;当这个NN继

2020-07-19 09:56:10 394

原创 2020李宏毅学习笔记——62.Meta Learning - MAML

1.概念:什么是meta learning:学习如何去学习例子:机器学习了一堆任务后,再过去经验上,成为一个更好的学习者比如做语音辨识,图像辨识后,学习文字分类更快life-long和meta-learning的区别:life-long是一个模型一直学习meta不是一个模型,而是学会更好的学习2.meta-learning在meta-learning中,把学习算法也当作一个函数F,吃进去的是训练资料,吐出来另外一个function可以视为区分machine learning和meta

2020-07-19 09:22:34 1274

原创 2020李宏毅学习笔记——61.Transfer Learning

1.概念:Transfer learning是机器学习的一个分支,中文名曰迁移学习,它的目的是在获取一定的额外数据或者是存在一个已有的模型的前提下,将其应用在新的且有一定相关性的task。我们可以将做transfer learning的数据分成两类,一类是source data,另一类是target data。source data指的是额外的数据,与将要解决的任务并不直接相关,而target data是与任务直接相关的数据。在典型的迁移学习中,source data往往巨大,而target data往往

2020-07-16 09:50:57 372

原创 2020李宏毅学习笔记——60.Generative Adversarial Network(3_10)

Unsupervised Conditional Generation1.概念上节讲了Conditional GAN,这个GAN是监督学习,带标签的,这节看Unsupervised Conditional GAN。那么Conditional GAN如何做到Unsupervised呢?例子1:Transform an object from one domain to another without paired data将一个对象从一个域转换到另一个域,而不需要成对的数据 (e.g. style

2020-07-15 15:05:33 396

原创 2020李宏毅学习笔记——59.Generative Adversarial Network(2_10)

Conditional Generation by GAN1.简介:上节讲了GAN,GAN的主要作用是用来做生成对象,输入向量,得到对应的对象,但是生成的对象无法控制,因此本节来讨论如何考虑控制生成对象。Conditional GAN和GAN的Generator是一样的,差别就是在Discriminator。2.Text-to-Image2.1 Traditional supervised approach用传统的做法来怎么做?• Traditional supervised approach以

2020-07-14 22:46:24 239

原创 2020李宏毅学习笔记——58.Generative Adversarial Network(1_10)

这个学校的官网对GAN的定义是:我们提出了一个通过对抗过程来估计生成模型的新框架,在该框架中,我们同时训练了两个模型:捕获数据分布的生成模型G和估计样本来自训练数据的概率的区分模型D, The training procedure for G is to maximize the probability of D making a mistake.G的训练过程是使D犯错的可能性最大化。该框架对应于minimax两人游戏。在任意函数G和D的空间中,存在唯一的解决方案,其中G恢复训练数据分布,并且D各处都等于.

2020-07-14 10:53:46 499

原创 2020李宏毅学习笔记——57.Anomaly Detection(7_7)

除了使用高斯分布来找异常数据,还有:1. Outlook: Auto-encoder根据还原度来原理:Using training data to learn an auto encoder.,这个已经喜闻乐见类在测试阶段,如果数据是正常的:可以还原回来如果数据是异常的:不可以2.其他方法One-class SVMIsolated Forest...

2020-07-12 09:58:12 132

原创 2020李宏毅学习笔记——56.Anomaly Detection(6_7)

从图中可以看到,P(x)大的玩家可能是正常玩家(左上角的点),反之是异常玩家。下面要像更加精确的用数字来表达这个事情,就要用的MLE:Assuming the data points is sampled from a probability density function fθ(x)θ determines the shape of fθ(x)θ is unknown, to be found from data1.数学计算类啊要找θ∗ 使得PDF最大:我们假设分布是高斯分布这个

2020-07-12 09:49:16 145

原创 2020李宏毅学习笔记——55.Anomaly Detection(5_7)

第二种情况类。Case 2: Without Labels这一集就是介绍类这个例子。一款网络游戏,主角是由N个人同时操控,系统会选择其中一个指令进行操作。·Why is the game so difficult?答:Probably because of “Troll”(网络小白)· Players that are not familiar with the game· Just for fun .…· Malicious players…in all, the players who

2020-07-12 09:22:45 154

原创 2020李宏毅学习笔记——54.Anomaly Detection(4_7)

2020-07-12 08:26:01 169

原创 2020李宏毅学习笔记——53.Anomaly Detection(3_7)

1.Example Framework真的没讲啥新的东西类。小结一下辛普森家庭人物异常检测模型的框架:训练的时候数据是都来自辛普森家族,调参的时候都要有。Testing Set: Image x→x from Simpsons or not2.Evaluation计算好坏:上面的Dev Set部分要根据performance of f(x))来调整 λ ,下面来看怎么做:100 Simpsons,5 anomalies(红色).最右边那个美女的信心分数是0.998,但是模型对于大多数的辛普森

2020-07-11 23:41:23 151

原创 2020李宏毅学习笔记——52.Anomaly Detection(2_7)

上节说的两种情况分别讲解:1. Case 1: With ClassifierExample Application:判断卡通人物是否来自辛普森家庭现在有数据及标签:然后要训练分类器:有人做了这个分类器,准确率还不错:96%:根据这个分类器,来做异常检测。而且呢,我们还要一个东西,就是信心分数,要根据这个信心分数来做异常检测。修改这个分类器,使其在输入人物是属于辛普森家庭中的哪一个,还要输出对分类结果的信心分数c。1.1 然后根据信心分数来进行异常检测:1.2 估计信心分数

2020-07-11 19:06:51 229

原创 2020李宏毅学习笔记——51.Anomaly Detection(1_7)

Anomaly Detection:异常侦测就是要机器知道它不知道这件事情。1.Problem Formulation机器学习的角度来看,实际上是要机器去找一个function(蓝色框框)anomaly是找与训练资料不一样的东西并不是不好的东西。Anomaly Detection不一定是找不好的东西,例如novelty是找出新颖的对象。1.1 什么叫做异常?,到底机器看到什么,说异常类,取决于数据,例如:2.异常侦测的应用• Fraud Detection :盜刷Training d

2020-07-11 18:18:15 253

原创 2020李宏毅学习笔记——50.More about Auto-Encoder(4_4)

Discrete Representation离散表示如果模型可以从连续型的向量表示变成输出离散的表示,那么对于表示的解释性估计会有更好的理解。(·Easier to interpret or clustering)例如:用独热编码表示图片,做法很简单,在连续向量后面接相同维度的独热编码,看连续变量的哪个维度最大就用哪个做独热编码的1.通常情况下,Encoder输出的Embedding都是连续值的向量,这样才可以使用反向传播算法更新参数。但如果可以将其转换为离散值的向量,例如one-hot向量或是bi

2020-07-11 17:51:58 276

原创 2020李宏毅学习笔记——49.More about Auto-Encoder(3_4)

第二个话题(More interpretable embedding)接下来我们来看如何得到解释性更好的Embedding,这样的方法也可以称为Feature Disentangle(特征结构)。因为对于Encoder的输入数据来说,经过Encoder得到的Embedding其实包含了关于它的很多类型的信息。例如,如果现在输入的是一段声音讯号,那么Embedding可能包含内容信息、讲话者的信息……1.Feature DisentangleDisentangle意思是解开An object cont

2020-07-11 16:34:43 235

原创 2020李宏毅学习笔记——48.More about Auto-Encoder(2_4)

Sequential Data除了图像数据外,我们也可以在序列数据上使用Encoder-Decoder的结构模型。1.Skip thought模型在大量的文档数据上训练结束后,Encoder接收一个句子,然后给出输入句子的上一句和下一句是什么。这个模型训练过程和训练word embedding很像,因为训练word embedding的时候有这么一个原则,就是两个词的上下文很像的时候,这两个词的embedding就会很接近。换到句子的模型上,如果两个句子的上下文很像,那么这两个句子的embeddin

2020-07-11 10:52:13 224

原创 2020李宏毅学习笔记——47.More about Auto-Encoder(1_4)

还是Auto-Encoder,已经很熟悉那个模型类吧Auto-encoder是一个基本的生成模型,更重要的是它提供了一种encoder-decoder的框架思想,广泛的应用在了许多模型架构中。简单来说,Auto-encoder可以看作是如下的结构,它主要包含一个编码器(Encoder)和一个解码器(Decoder),通常它们使用的都是神经网络。Encoder接收一张图像(或是其他类型的数据,这里以图像为例)输出一个vector,它也可称为Embedding、Latent Representation或La

2020-07-11 09:28:47 363

原创 2020李宏毅学习笔记——46.Unsupervised learning Deep Generative Model(Part III)

5.GAN(Generative Adversarial Network)2014年的适者生存,不断进化The evolution of generation这里的Generator没有看过real image,所以它产生的图片是和原有的real image完全不一样的。GAN-Discriminator的训练先用Generator生成一些图片,Generator和VAE的decoder结构差不多,输入不同的向量,得到的图片也就不一样,然后和真实图片放在一起。然后输入到Discriminat

2020-07-11 08:30:29 133

原创 2020李宏毅学习笔记——45.Unsupervised learning Deep Generative Model(Part II)

这节我觉得主要是讲VAE的好处:1.从原理上来讲1.1 先看一下VAE经典框架:1.2 解释这几个参数可以看到每个encoder分了两个东西σ和m,每个东西三个值,所以相当于对code加上了噪声,相当于code有一定的范围,因此可以在这个范围内生成对应的图片。1.3 why VAE?注意看中间部分,两个图片的code加上噪声之后中间有重叠部分,也就是说这个地方既要可以生成满月,又要生成半月图片,根据输入和输出之间的误差最小的目标,这个位置的图片只能是介于满月和半月之间了。所以在VAE的模型

2020-07-10 16:49:58 366 1

原创 2020李宏毅学习笔记——45.Unsupervised learning Deep Generative Model(Part I)

Deep Generative Model-part 1:深度生成模型-part 11.Generative Models就是致力于让机器自主学习的一些方法,比较有名的有下面几种:PixelRNNVariational Autoencoder(VAE)Generative Adversarial Network(GAN)什么意思呢?现在的机器学习是能够区分猫狗的不同了,但是,机器还是不能准确地画一只猫出来,所以我们现在就generate 一个模型出来。2.Pixel RNNPixel R

2020-07-09 10:18:26 265

原创 2020李宏毅学习笔记——44.Unsupervised learning Deep Auto-encoder

1.先来介绍一下encoderAuto-encoder因为对于encoder来说,我们有输入,但是输出的code是什么样子,我们是不知道的。没关系,先learn一个decoder,上下两个东西如果单独拿出来是没有办法train的,所以没法单独,就接在一起,一起学,就可以了。这个时候的输入和输出都有了。对于encoder来说,输出的code通常维度要小于输入的维度,用于Compact representation of the input object。对于decoder而言,他的主要作用是recon

2020-07-08 09:10:01 246

原创 2020李宏毅学习笔记——43.Unsupervised learning Neighbor Embedding

1.概念:非监督学习分为两大类:Clustering & Dimension Reduction 和Generation,上节讲的是线性的降维PCA,这节主要是讲非线性降维:TSNE,先从NE讲起。2.一个统称:流形学习(Manifold Learning)我们所能观察到的数据实际上是由一个低维流行映射到高维空间的。由于数据内部特征的限制,一些高维中的数据会产生维度上的冗余,实际上这些数据只要比较低的维度就能唯一的表示。所以直观上来讲,一个流形好比是一个d维的空间,在一个m维的空间中m>

2020-07-07 18:31:05 275

原创 1.python基础-python简介

python是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年。Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。1.脚本?写好了就可以直接运行,省去了编译链接的麻烦,对于需要多动手实践的初学者而言,也就是少了出错的机会。而且python还有一种交互的方式,如果是一段简单的小程序,连编辑器都可以省了,直接敲进去就能运行。2.面向对象?它的面向对.

2020-07-06 14:51:42 346

原创 2020李宏毅学习笔记——42.Unsupervised learning Linear Methods下

1.PCA – Another Point of View另外一种解释方法就是,用多个component来线性表示原来的样本,最小化reconstruction error,最后利用svd求解方程,得到的U矩阵就是协方差矩阵的k个特征向量2.PCA和network之间的关系:由于w之间时互相正交的,CK,也就是说c可以表示成这两者的乘积,PCA由此呢,也可以看成是Autoencoder,即具有一层隐含层的神经网络(线性激活函数),即输入和输出之间的误差越小越好。如果不是传统的PCA的方法,只用n

2020-07-06 09:42:41 328

原创 2020李宏毅学习笔记——41.Unsupervised learning Linear Methods

s

2020-07-05 18:41:44 294

原创 2020李宏毅学习笔记——40.Recursive

xc

2020-07-04 23:08:05 301

原创 2020李宏毅学习笔记——39.Pointer Network

1.概念Pointer network 主要用在解决组合优化类问题(TSP, Convex Hull等等),实际上是Sequence to Sequence learning中encoder RNN和decoder RNN的扩展,主要解决的问题是输出的字典长度不固定问题(输出字典的长度等于输入序列的长度)。本质是:对Attention Mechanism的简化还不明白?传统的seq2seq模型是无法解决输出序列的词汇表会随着输入序列长度的改变而改变的问题的,如寻找凸包等。因为对于这类问题,输出往往是

2020-07-04 08:49:50 699

原创 2020李宏毅学习笔记——38.Conditional Generation RNN & Attention

三部分:GenerationAttentionTips for Generation一:Generation1. 生成句子在生成好的RNN模型里,我们输入开头,模型可以输出一系列的输出,如下图,我们根据输出得到了“床”,然后把“床”作为下一个时间点的输入,得到“前”,依次类推。这是测试时的一种做法,并不是唯一做法。在训练RNN模型的时候,并不是拿上一时刻的输出当作下一时刻的输入,而是拿句子真正的序列当作输入的。2. 生成图片:·Images are composed of pixels·

2020-07-02 15:53:06 495

原创 2020李宏毅学习笔记——37.Network Compression(6_6)

下面我们算一下标准卷积和Depthwise Separable卷积参数数量大小关系:假设输入特征图通道数为III,输出特征图通道数为OOO,卷积核大小为k×kk\times kk×k。标准卷积参数数量= KKI+I*O因为通常输出特征图的通道数 O会设置的比较大,所以可以看到Depthwise Separable卷积的参数量会明显少于标准卷积。这样的卷积设计广泛运用在各种小网络上,如SqueezeNet,MobileNet,ShuffleNet,Xception6.Dynamic Computat

2020-07-01 19:05:32 139

原创 2020李宏毅学习笔记——36.Network Compression(5_6)

5.Architecture DesignLow Rank Approximation(低秩近似)下图是低秩近似的简单示意图,左边是一个普通的全连接层,可以看到权重矩阵大小为 M*N ,而低秩近似的原理就是在两个全连接层之间再插入一层K。是不是很反直观?插入一层后,参数还能变少**?**没错,的确变少了,我们可以看看新插入一层后的参数数量为: NK+KM=K*(M+N),因为K<M,K<N,所以参数减少了。但是低秩近似之所以叫低秩,是因为原来的矩阵的秩最大可能是min(M,N),而

2020-07-01 19:02:46 337

原创 2020李宏毅学习笔记——353.Network Compression(4_6)

4.Parameter Quantization(参数量化)less bits一个很直观的方法就是使用更少bit来存储数值,例如一般默认是32位,那我们可以用16或者8位来存数据。weight clustering(权重聚类)最左边表示网络中正常权重矩阵,之后我们对这个权重参数做聚类(可以用kmean),比如最后得到了4个聚类,那么为了表示这4个聚类我们只需要2个bit,即用00,01,10,11来表示不同聚类。之后每个聚类的值就用均值来表示。这样的一个缺点就是误差可能会比较大。每个参数不用

2020-07-01 18:48:54 232

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除