自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 POMDP中的观测量(O)和状态量(S)

例子来源,论文Planning and acting in partially observable stochastic domains大意是,1. 假设每个时刻存在四种状态(s1,s2,s3,s4)(s_1,s_2,s_3,s_4)(s1​,s2​,s3​,s4​)。其中,状态3是目标状态。2. 同时,每个时刻观测变量OOO有两种情况,即当前未处于目标状态(但是不知道是1,2,4那种具体状态)和处于目标状态(3)。3. Agent的action有两种情况,即向左(West)和向右(Eest)。ag

2021-08-30 21:04:11 1583

原创 Transformer代码

import copyimport mathfrom abc import ABCimport torchfrom torch import nndef clones(module, N): return nn.ModuleList([copy.deepcopy(module) for _ in range(N)])class TransConfig(object): def __init__(self, **config): '''config = TransConf

2021-07-30 11:36:26 283

原创 python将多层嵌套list填充成矩阵

说明:列表所有维度的深度必须是一样的。例如:[[1,2,3],[2,3]]是合法的,但[[1,2,3],2]是不合法的。 def cal_len(seqs): # 计算嵌套列表个维度的长度。例如 cal_len([[1,2,3],[1,2]])->[3,2] if not isinstance(seqs[0], list): return len(seqs) else: return [cal_len(lst) for lst in seqs]

2021-07-29 17:18:14 842

原创 transformers BertEncoder中的初始化

def _init_weights(self, module): """ Initialize the weights """ if isinstance(module, (nn.Linear, nn.Embedding)): # Slightly different from the TF version which uses truncated_normal for initialization # cf https...

2021-04-12 20:23:23 1256

原创 Transformer Decoder输入永远跟随输出?记录一下犯的sb错误

问题: transformer输出(即decoder输出), 与encoder输入无关, 永远跟随decoder输入.代码修改前好好的, 在几次更新之后突然出现错误,不得不拿出旧版本的代码, 给两个版本初始化相同的权重, 除去所有随机因素(如dropout设置为0等). 开始一行一行调试,对比两个版本的输出.在进行这种无脑式的调试之前, 我仔细思考过原因. 由于transformer的decoder端self-attention是有sequence mask的, 也就是decoder输入第i个位置只能看

2020-09-10 10:15:58 1215 1

原创 pytorch参数注册需要注意的问题

pytorch参数注册需要注意的问题self.transition = nn.Parameter(t.rand(self.vocab_size, self.vocab_size).to(self.device))会将transition参数添加到模块parameter中, 而self.transition = nn.Parameter(t.rand(self.vocab_size, self.vocab_size)).to(self.device)则不会具体原因不明...

2020-09-09 11:01:55 327

原创 Understanding Xavier Initialization In Deep Neural Networks

Xavier Initialization

2020-08-10 09:49:23 111

原创 Policy gradient 解决Sequence generation使用GAN时梯度无法更新的问题

GANz∈RT×dz\in \mathbb{R}^{T\times d}z∈RT×doutputg=Gθ(z)∈RT×V, where V is the size of vocabulary.output_g=G_{\theta}(z)\in\mathbb{R}^{T\times V},\ \text{where V is the size of vocabulary.}outputg​=Gθ​(z)∈RT×V, where

2020-07-25 09:58:53 373

原创 Attention is all you need记录

Scaled Dot-Product AttentionQ∈Rlq×dq, K=V∈Rlk×dkQ\in \mathbb{R}^{l_q\times d_q},\ K=V\in\mathbb{R}^{l_k\times d_k}Q∈Rlq​×dq​, K=V∈Rlk​×dk​,一般来说K,V是一样的,但也可以不同。在机器翻译(Encoder-Decoder Attention)中,Q为目的语言(Target), K,V是源语言(Source)。MatMul & Scale:

2020-07-14 11:25:29 215

原创 Attention笔记

X∈Rls×dm, Y∈Rlt×dm, W∈Rdm×dhX\in \mathbb{R}^{l_s\times d_m},\ Y\in \mathbb{R}^{l_t \times d_m},\ W\in \mathbb{R}^{d_m\times d_h}X∈Rls​×dm​, Y∈Rlt​×dm​, W∈Rdm​×dh​E=tanh⁡(Wa⋅X+b1)∈Rls×dhE=\tanh(W_a\cdot X+b_1)\in\mathbb{R}^{ls\times d_.

2020-07-13 17:02:21 224

原创 神经网络求导

神经网络求导用数学公式描述为: H=WX, hj=∑iwijxi\mathbf{H}=\mathbf{WX},\ h_j=\sum\limits_iw_{ij}x_iH=WX, hj​=i∑​wij​xi​Z=softmax(H)∈Rn, zi=ehi∑jehj\mathbf{Z}=softmax(\mathbf{H})\in\mathbb{R}^n,\ z_i=\dfrac{e^{h_i}}{\sum\limits_je^{h_j}}Z=softmax(H)∈Rn,&n

2020-07-12 17:26:58 565

原创 pytorch Tensor形状问题

Pytorch Tensor形状编写神经网络的时候,经常会需要获取tensor的形状,使用tensor.shape或tensor.size()即可获取。今天调试代码的时候发现一个问题在使用pycharm调试两个程序的过程中,同样的代码返回的结果是不一样的,一个返回的是tuple类型,一个返回的是tenosr。暂时还不知道原因是什么,先占个坑记录一下。...

2020-07-12 15:52:07 1977 1

原创 Pytorch LSTMCell踩坑

Pytorch LSTMCell踩坑背景: 使用torch.nn.LSTMCell编写多层lstm网络。self.lstm_cells = [nn.LSTMCell(self.embed_dim, self.hidden_dim).cuda()]for i in range(num_layers - 1): self.lstm_cells.append(nn.LSTMCell(self.hidden_dim, self.hidden_dim).cuda())问题描述: 列表lstm_c

2020-07-12 09:57:26 1604

原创 数30游戏的一些思考

数30昨天看了向往的生活第四季小岳岳那期玩了个游戏,叫数30。游戏有两个人玩,一个人最多可以数两个数,数到30的人算输。当时觉得这个游戏应该有必胜的方法,后来想了想,确实有写规律。数30为了好推导,我将游戏用数学化公式表达。数到n能赢表示1,会输表示0。例如f(30)=0,f(29)=1。f(30)=0好理解,那么f(29)=1呢,因为当你数到29,对方一定会数30,对方就输了,所以当你数到29时是一定会赢的。那么f(28)等于多少呢?当你数28时,对面可以数29,而f(29)=1,因此对面赢了

2020-06-28 09:33:10 2694

原创 梯度下降法是对谁求导?

这里写自定义目录标题梯度下降法到底对谁求导?梯度下降法到底对谁求导?最近在用pytorch的时候,突然思考了一个问题,对于y=f(x)y=f(x)y=f(x)(例如y=Wx+by=\mathbf{W}x+\mathbf{b}y=Wx+b),是对谁求导?仔细想一下,好像我被初中函数f(x)=Wx+bf(x)=\mathbf{W}x+\mathbf{b}f(x)=Wx+b给误导了。一般我们都认为...

2020-04-14 11:06:28 1209 1

空空如也

空空如也

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

TA关注的人

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