深度学习
文章平均质量分 89
洛克-李
希望往数据挖掘方向发展。学习更多,使自己越来越强大
展开
-
AI也可以玩精灵宝可梦了!
相信很多人童年都玩过《宝可梦》游戏,在这个游戏里面,我们会扮演玩家一路闯关,打赢8个道馆并挑战四大天王,最后获得冠军的梦想。游戏的主要玩法就是收服宝可梦,然后一路对战升级。小时候总使幻想着宝可梦能够根据对手,来进行自主战斗。这不,有国外玩家在宝可梦游戏中花费5年训练AI。并且AI在游戏中玩了两万多局游戏在一开始的时候,这个AI只能够乱按各种按钮,并且不懂得如何捕捉宝可梦和进行有效的对战。在经历了5年的时间,这个AI能够知道如何捕捉宝可梦,并且让他们进化,然后击败道馆馆长。原创 2023-10-30 10:27:43 · 130 阅读 · 0 评论 -
NLP范式新变化:Prompt
最近,NLP上又开发出了一种新的范式Prompt。它通过定义模板来提醒下游任务模型学习的特定目标,在更少的更新参数场景下达到了和fine-tuning方法一样的效果。简单的来说,不同于fine-tuning方法,prompt范式需要给出一个定义好的模板,这个模板可以是离散的或者是连续的,来提醒模型在预训练的时候学习的知识。这是因为预训练的任务和下游任务往往差别较大,模型可能会存在特定性遗忘。为了使用这些模型执行预测任务,使用未填充的文本字符串promptx′x'x′,将原始输入xxx。...原创 2022-08-02 10:29:22 · 690 阅读 · 0 评论 -
构建你的第一个强化学习AI智能体(微信“跳一跳”)
最近在学习一些关于强化学习的知识。当然仅仅学习理论知识还是不够的,还是需要从实际案例上进行出发,利用强化学习搭建自己的AI智能体。一般来说,强化学习第一个案例都是用“cartpole”,也即是在一个平衡木上保持木杆不下落:但是这个案例一般离我们生活比较远,因此本入门案例使用了微信“跳一跳”作为强化学习的目标。在本案例中,大体框架如下:首先简要介绍一下强化学习和DDPG算法的一些背景知识。强化学习不同于传统的有监督学习,它本身没有有标签数据进行学习,只能通过不断的试错,来提升自己。在试错的过程中,就需要不原创 2022-07-13 20:37:30 · 1760 阅读 · 0 评论 -
王者绝悟AI论文
1. 《Supervised learning achieves human-level performance in MOBA games: A case study of honor of kings》这是一篇腾讯AI lab发表的文章,其主要利用MOBA游戏王者荣耀的数据进行强化学习,训练出一个能够打败人类顶尖选手的AI。同时在文章中,提出了在游戏中的两个概念:Macro-strategy(宏观策略)、Micro management(微观控制)。1.1 论文简介我们知道,在MOBA游戏中,原创 2022-04-10 18:26:55 · 5381 阅读 · 0 评论 -
Dota2预测英雄死亡
今天要阅读的论文《Time to Die: Death Prediction in Dota 2 usingDeep Learning》。论文中能够预测10个英雄中,在下5秒窗口下死亡概率。1.背景目前MOBA类游戏风靡全球,同时这种竞技类游戏的比赛也越来越受广大观众的喜爱。但是试图预测MOBA类游戏中的比赛发生情况,目前还是很少有类似论文。然而,主播和观众一般会对游戏内微观事件有着天然的的兴趣。假设电子竞技中有一种技术能够为他们提供观察兴趣点的能力,那么他们将不会错过这种时间点。但是电子竞技游戏非原创 2022-04-03 21:55:46 · 3356 阅读 · 0 评论 -
optuna在深度学习上自动调参
文章目录1.背景2.安装3.在tensorflow上使用directionsampler4.实例4.1 定义模型、训练过程Trainertrain_stepval_steptrain4.2 objective函数定义params4.3 启动optunastorge5.图形化显示1.背景最近在烦恼怎么对深度学习进行调参,发现在optuna上可以实现。optuna可以和主流的机器学习框架进行融合,然后进行调参。同时调参后,还有查看结果对比的功能。2.安装直接使用pip进行安装:pip install原创 2022-03-03 19:19:02 · 4421 阅读 · 0 评论 -
GAN模型调参
文章目录1.软标签和noise标签2.调整交叉训练3.修改损失函数3.1 WGAN3.2 WGAN-GP4.考虑数据标签任务(分类任务)5.梯度查看GAN在提出之后,一直很火。但是其存在诸多的难点,首先难以平衡G(生成器)和D(判别器)之间的训练,同时容易造成模型坍塌。因此在训练GAN时会很难。1.软标签和noise标签这一点在训练判别器时极为重要。使用硬标签(非 1 即 0)几乎会在早期就摧毁所有的学习进程,导致判别器的损失迅速趋近于 0。可以采用一个 0-0.1 之间的随机数来代表「标签 0」(真原创 2022-02-17 10:49:35 · 4274 阅读 · 6 评论 -
强化学习在推荐系统中的环境模拟器构建
1.背景在推荐系统中,使用强化学习方法有几个不足的地方:1)要使用用户实时数据进行奖励反馈,来训练强化学习模型。其中最有效的办法是把模型直接部署到线上,然后进行A/B test来产生真实数据。但是,这个过程往往需要较长的周期,同时如果要部署模型到线上,需要耗费巨大的工程,这一步针对算法工程师来说是不太友好的。2)如果推荐模型在部署线上前没有训练好,这会导致线上实时数据效果差,从而也会导致在强化学习阶段训练不好。3)推荐系统领域中,用户数量和商品数据数目较大,因此需要大量的数据来保证模型的鲁棒性。尽管原创 2021-12-27 17:52:26 · 1468 阅读 · 0 评论 -
翻译:Unsupervised Neural Machine Translation for Low-Resource Domains via Meta-Learning
文章目录1. 背景2.引言3.翻译模型中:无监督学习方法4.模型5.实验结果参考文章1. 背景论文主要在无监督翻译任务上使用Meta-learning,在学习多个任务时,使得模型能够获取到通用的参数特征。Meta-learning在高资源的数据领域上进行学习,从而能够提升模型在低资源数据领域的表现。Meta-learning的具体算法可以参考我之前写的文章:从代码上解析Meta-learning2.引言以前的无监督翻译模型,在低资源的数据集上表现不好。因此这些模型往往会先在高资源数据集上进行学习原创 2021-10-22 15:49:28 · 262 阅读 · 0 评论 -
从代码上解析Meta-learning
文章目录1.背景2.Meta-learning理解2.1 Meta-learning到底做什么2.2 MAML算法2.3 MAML算法步骤2.4 MAML代码分析和实现3.参考文章1.背景meta-learning区别于pretraining,它主要通过多个task来学习不同任务之间的内在联系,通俗点说,也即是通过多个任务来学习共同的参数。举个例子,人类在进行分类的时候,由于见过太多东西了,且已经学过太多东西的分类了。那么我们可能只需每个物体一张照片,就可以对物体做到很多的区分了,那么人是怎么根据少量原创 2021-10-21 16:53:08 · 1504 阅读 · 3 评论 -
翻译:SmFace: Pre-training Encoder and Decoder with a Semantic Interface for Neural Machine Translation
1.背景这篇文章是北航和亚洲微软研究院共同发表的。目前主流的NLP任务,都需要先预训练模型,例如Bert和ALBert。本文章也主要集中在机器翻译(NMT)上的预训练任务。本文指出,以前的预训练任务,并没有训练encoder和decoder之间的cross-attention,这会导致在fine-tuning阶段并没有巨大的提升。针对预训练任务上,cross-attention的训练,本文提出了两个语义交互(semantic interface)方法:CL-SemFace:使用交互语言embedd原创 2021-10-13 17:53:56 · 288 阅读 · 0 评论 -
翻译模型:小数据集处理
1.背景最近在研究翻译模型中,小数据集的问题,看了几篇有代表性的文章,因此分享一下。总所周知,一个成功的翻译模型,需要大量的语料,让模型能够有效学习到两个语种之间的内在联系。但针对小数据集的翻译模型,除了数据集过少导致模型不能够提取重要特征之外,还使得模型在效果降低,不能成熟应用到工业界中。前人的这个小数据集的问题,包括了以下几种方法:迁移学习对偶学习Meta-Learning(元学习)多任务学习下文,分别介绍几种方法中的代表性论文。2....原创 2021-10-07 15:43:10 · 594 阅读 · 0 评论 -
tensorflow 2.0减少内存占用:稀疏矩阵输入
文章目录1.背景2.稀疏矩阵输入构造3.稀疏数据模型训练3.1 利用tensorflow中的tf.SparseTensor3.2 模型的测试的代码1.背景最近在做模型训练,发现在导入大量数据时,由于要进行预处理(concat和reshape操作等),导致内存会占满,使得程序出错。由于输入数据存在大量的稀疏情况,想着能不能输入数据时利用稀疏矩阵进行保存,然后输入到模型中进行训练。2.稀疏矩阵输入构造python中scipy.sparse模块,能够有效的对输入数据进行稀疏化存储。但缺点在于稀疏矩阵必定只原创 2021-06-13 11:18:17 · 6883 阅读 · 0 评论 -
transformers在ctr中的应用
文章目录1.背景2.相关论文解析2.1 《AutoInt: Automatic Feature Interaction Learning via Self-Attentive Neural Networks》2.1.1 论文贡献2.1.2 模型结构2.1.2.1 输入2.1.2.2 注意力机制层2.1.3 实验结果2.2 《Behavior Sequence Transformer for E-commerce Recommendation in Alibaba》1.背景目前Transformers及其原创 2021-01-13 14:49:07 · 1224 阅读 · 0 评论 -
分析游戏中的金钱交易:Multi-view Attention Networks
1.背景论文:MVAN: Multi-view attention networks for real money trading detection in online games 里分析了在网游中存在的真实金钱交易行为。(Real money trading)这种交易行为,用真实世界的货币交换虚拟世界中的资产,导致游戏经济的不平衡和贫富不均。...原创 2020-10-08 17:51:22 · 820 阅读 · 0 评论 -
Relation Classification in TAC40
Relation Classification in TAC40文章目录Relation Classification in TAC401.背景2.Requirement3.代码分析3.1 TPU设置3.2 分词和编码3.3 建立模型3.4 构建输入数据集3.5 开始训练模型4.Results1.背景用roberta模型,来进行关系分类,主要用到的数据集为TAC40关系分类数据集。直接使用transformers导入roberta模型。同时使用TPU分布式计算,加快模型训练速度。具体的代码地址为原创 2020-07-11 19:57:15 · 185 阅读 · 0 评论 -
stacking in tensorflow2.0:Roberta集成
文章目录1.前言2.方法2.1 stacking2.2 具体代码1.前言使用stacking方法,提升tweet sentiment的抽取效果。其stacking代码如下:https://github.com/llq20133100095/tweet_sentiment_extraction/blob/other_mission2/thinking/ensamble/roberta-adversarial-dropout_0.715_en.ipynb背景是kaggle的比赛:tweet_semtim原创 2020-07-02 22:20:07 · 417 阅读 · 0 评论 -
kaggle比赛tweet_sentiment_extraction,带你上0.71分数
1.前言在这个比赛已经折腾了1个多月了,终于分数有点上升。在LB分数榜上可以取得0.71的分数,模型主要用到Roberta模型。2.代码分析原创 2020-05-11 21:53:47 · 1276 阅读 · 2 评论 -
使用transformers和tensorflow2.0跑bert模型
1.前言前面两篇文章其实已经详细介绍了bert在kaggle比赛tweet_sentiment_extraction的作用,但是该比赛是基于tensorflow2.0版本的,因此需要把代码进行转换。前面的两篇文章如下链接:BERT in tweet_sentiment_extraction使用BERT的两层encoder实现tweet sentiment extraction2. 使用...原创 2020-04-29 14:38:13 · 8053 阅读 · 10 评论 -
使用BERT的两层encoder实现tweet sentiment extraction
文章目录使用BERT的两层encoder实现tweet sentiment extraction1.前言1.1 Required1.2 分析给定的数据2. 模型构造2.1 数据清洗2.2 模型结构使用BERT的两层encoder实现tweet sentiment extractionTweet sentiment extraction是kaggle的一个比赛,这个代码主要是想尝试利用BERT模...原创 2020-04-22 16:51:15 · 1752 阅读 · 1 评论 -
BERT in tweet_sentiment_extraction
Tweet-sentiment-extractionTweet sentiment extraction是kaggle的一个比赛,这个代码主要是想尝试利用BERT模型实现词语抽取。其比赛链接:https://www.kaggle.com/c/tweet-sentiment-extraction/我自己实现的项目实现代码在:https://github.com/llq20133100095/t...原创 2020-04-17 10:59:13 · 1045 阅读 · 0 评论 -
利用Tensorflow使用BERT模型+输出句向量和字符向量
文章目录1.前言2.BERT模型2.1 下载预训练好的模型2.2 导入BERT模型2.3 数据下载和预处理2.4 模型训练2.5 直接输出BERT模型的句向量或者是字符向量1.前言最近想着如何利用tensorflow调用BERT模型,发现其源码已经有比较详细的调用代码,具体的链接如下:https://github.com/google-research/bert/blob/master/pre...原创 2020-04-04 11:12:59 · 8483 阅读 · 0 评论 -
【论文解读】BERT和ALBERT
1.前言最近重新阅读了BERT和ALBERT文章,所以写下自己的一些感悟。这两篇文章都是Google发出来的。其中BERT是2018年,在Transformer的基础上进行扩展;而ALBERT发表在2020年ICLR上,它是基础BERT来进行改进。 BERT论文 ALBERT论文2. BERTBERT全称是Bidirectional Encoder Representations f...原创 2020-03-12 14:52:20 · 3529 阅读 · 0 评论 -
利用Transformer生成弹幕
1.前言最近研究了Transformer模型,主要参考了github里面对Transformer的实现,其代码为:https://github.com/Kyubyong/transformer而我自己实现的弹幕生成代码的github地址为:https://github.com/llq20133100095/transformer_barrages2.模型原理2.1 Transforme...原创 2020-02-23 22:22:19 · 777 阅读 · 0 评论 -
BLEU算法(例子和公式解释)
1.前言最近在利用transformer自动化生成弹幕。在transformer的实现中,用到了一个标准BLEU标准。这个标准全称为bilingual evaluation understudy。同时参考了一些文章的介绍:机器翻译评测——BLEU算法详解:http://www.cnblogs.com/by-dream/p/7679284.html最后根据自己的理解解释一下这个算法的含义。...原创 2020-02-08 16:01:15 · 15737 阅读 · 8 评论 -
简单解析transformer代码
详解transformer代码1.代码下载:在github下载了比较热门的transformer代码的实现,其gith地址为:https://github.com/Kyubyong/transformer2.prepro.py主要负责生成对应的预处理语料文件,并利用sentencepiece包来处理原始语料。2.1 首先进行语料预处理阶段 # train _prepr...原创 2020-01-02 17:02:53 · 5367 阅读 · 1 评论 -
在lasagne中自定义层,实现highway network layer
一、自定义lasagne层 比如我要定义一个Highway network层(关于highway network的知识在网上有很多)1)首先需要继承lasagne的基础层:可以看到,自定义的层是继承了lasagne.layers.Layer.2)然后定义Highway network所需要更新的参数值: def __init__(self, incomi原创 2018-02-01 10:28:44 · 837 阅读 · 3 评论 -
Lasagne教程+实现双向RNN
一、Run the MNIST example1. 多层感知机(Multi-Layer Perceptron)(1)InputLayer是一个输入基础。其中输入的input_var是一个theano.tensor(batchsize, channels, rows, columns)shape=(None,1,8,28)参数中,None代表接收任意的输入原创 2018-02-01 10:20:26 · 997 阅读 · 0 评论