深度学习

强化学习Q-Learning玩超级马里奥|实战

强化学习(Reinforcement Learning, RL) 是机器学习的一个领域,它关注智能代理应如何在环境中采取行动以最大化累积奖励的概念。强化学习是三种基本机器学习范式之一,与监督学习和无监督学习并列。 近期做了一个基于Q-Learning进行游戏的实战,以下是“环境+代码”。 环境 可以安装一个conda环境,我选用的python版本为3.8.9。 安装必备包 cmd中安装必备包,注意顺序,因为有些版本冲突,很多坑,我这儿已经趟过了。 pip install ale_py==0.7 pip install gym_super_mario_bros==7.3.0 nes_py pip install torch==1.10.1+cu113 torchvision==0.11.2+cu113 torchaudio===0.10.1+cu113 -f https://download.pytorch.org/whl/cu113/torch_stable.html pip install stable-baselines3[extra] pip uninstall protobuf pip install protob...

零样本学习Zero shot learning|学习笔记

零样本学习(Zero shot learning,ZSL) 是机器学习中的一个问题。之所以独立出来,是因为它解决问题的思路不同于传统的机器学习方法。 Zero-shot Learning,零次学习。 模型对于训练集中没有出现过的类别,能自动创造出相应的映射: X → Y。 零数据学习的想法可以追溯到十多年前,但直到最近才主要在计算机视觉中进行研究,作为一种泛化到看不见的对象类别的方法。 一个关键的见解是利用自然语言作为灵活的预测空间来实现泛化和迁移。 通俗例子 背景 我们用小明找斑马的经典例子。某个周末,爸爸带小明到动物园玩,看到了马,爸爸告诉他,这是马。之后,又看到了老虎,告诉他: 看,这种身上有条纹的家伙就是老虎。最后,又带他去看了熊猫,对他说: 你看这熊猫是黑白色的。然后,爸爸给小明安排了一个任务,让他在动物园里找一种叫斑马的动物。由于小明没有见过斑马,于是爸爸给他讲了一下斑马的大概情况: 斑马形状像马,身上有像老虎一样的条纹,而且它像熊猫一样是黑白色的。结果,根据爸爸的描述,小明在动物园里轻松地找到了斑马。 这个例子说明,虽然你没见过斑马,但如果你清楚关于它的描述,那么很可能在你第一次看到斑马的照片时就能认出它。 ...

CLIP网络: 连接文本与图像|学习笔记

CLIP (Contrastive Language–Image Pre-training 对比语言-图像预训练) 现存问题 应用于机器视觉中的深度学习方法面临如下几个问题: 1.昂贵的数据集。典型的视觉数据集是劳动密集型的,创建成本高, while teaching only a narrow set of visual concepts ImageNet 数据集是该领域最大的努力之一,需要超过 25,000 名工作人员为 22,000 个对象类别注释 1400 万张图像。 2.多任务。标准视觉模型擅长一项任务且仅一项任务,需要付出巨大努力才能适应新任务 ImageNet 模型擅长预测 1000 个 ImageNet 类别,但这就是它“开箱即用”所能做的全部。如果我们希望执行任何其他任务,ML 从业者需要构建一个新数据集,添加一个输出头,并微调模型。 3.现实世界的表现不佳。在基准测试中表现良好的模型在压力测试中的表现令人失望.换句话说,“基准性能”和“真实性能”之间存在差距。我们推测这种差距的出现是因为模型通过仅优化基准性能来“作弊”,就像一个学生通过只研究过去几年考试中的问题通过考试一样。 CLIP网络 通过互联网上...

end-to-end 端到端

端到端指的是输入是原始数据,输出是最后的结果。而原来的输入端不是直接的原始数据(raw data),而是在原始数据中提取的特征(features)。这一点在图像问题上尤为突出,因为图像像素数太多,数据维度高,会产生维度灾难,所以原来一个思路是手工提取(hand-crafted functions)图像的一些关键特征,这实际就是就一个降维的过程。 经典机器学习方式是以人类的先验知识将raw数据预处理成feature,然后对feature进行分类。分类结果十分取决于feature的好坏。所以过去的机器学习专家将大部分时间花费在设计feature上。那时的机器学习有个更合适的名字叫feature engineering(特征工程)。 那么特征如何提取?特征提取的好坏异常关键,甚至比学习算法还重要,举个例子,对一系列人的数据分类,分类结果是性别,如果你提取的特征是头发的颜色,无论分类算法如何,分类效果都不会好,如果你提取的特征是头发的长短,这个特征就会好很多,但是还是会有错误,如果你提取了一个超强特征,比如染色体的数据,那你的分类基本就不会错了。 这就意味着,特征需要足够的经验去设计,这在数据量越来越大的情况下也越来越困难。于是就...

GAN(生成对抗神经网络)能gan(干)什么?|万字总结20种应用

生成对抗神经网络(GAN)的应用非常广泛,近年来,对GAN的研究也越来越多,成为深度学习中最为活跃的领域之一。 我在本文中对GAN网络的主要应用进行详细梳理,共总结出近20种应用,给出了代表性论文。 一、生成 生成图像数据集的示例 Generate Examples for Image Datasets 示例一 Ian Goodfellow等人在原始论文中描述了生成新的可信样本的应用。在2014年的论文“ Generative Adversarial Networks ”中,使用GAN为MNIST手写数字数据集,CIFAR-10小物体照片数据集和Toronto Face数据库生成了新的合理示例。 用于生成图像数据集新示例的GAN实例(Generative Adversarial Nets, 2014) 示例二 Alec Radford等人在2015年发表的论文 “Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks”。使用DCGAN实现大规模训练稳定的GAN。他们演示了用于生成卧室新示例的模型...

过拟合问题的产生原因和解决方法(深度学习)

深度学习在训练过程中经常遇到“过拟合”问题,造成过拟合的原因主要有如下几个方面: 1.训练集的数量级太小了,然而,模型又太深太复杂; 2.训练集和测试集的特征分布不一致; 3.样本噪声太大,学习过程中学到了大量噪声; 4.迭代次数过多,过分拟合了训练数据(包括噪声部分和一些非重要特征);   解决“过拟合”问题的的方法主要有如下几种: 1.数据扩展; 2.正则化; 3.丢弃法; 4.早停法; 5.集成学习法; 6.特征工程; 7.简化模型,减小网格的宽度和深度;