算法面试
文章平均质量分 82
ddana_a
这个作者很懒,什么都没留下…
展开
-
一二三维卷积
二维卷积图中的输入的数据维度为 14 × 14 ,过滤器大小为 5 × 5,二者做卷积,输出的数据维度为 10 × 10( 14 − 5 + 1 = 10 )。• 上述内容没有引入channel的概念,也可以说channel的数量为1。如果将二维卷积中输入的channel的数量变为3,即输入的数据维度变为(14 × 14 × 3)。由于卷积操作中过滤器的 channel 数量必须与输入数据的channel数量相同,过滤器大小也变为 5 × 5 × 3 。在卷积的过程中,过滤器与数据在 channel转载 2021-04-13 10:01:15 · 449 阅读 · 0 评论 -
pytorch简单编程
1:用TensorFlow或PyTorch实现两个tensor的矩阵A和B的乘法,其中A为二维,B为N维(n >= 3)2D张量要和3D张量的后两个维度满足矩阵相乘条件。点乘——torch.mul(a, b)python中的广播机制(broadcasting)broadcasting可以这样理解:如果你有一个(m,n)的矩阵,让它加减乘除一个(1,n)的矩阵,它会被复制m次,成为一个(m,n)的矩阵,然后再逐元素地进行加减乘除操作。同样地对(m,1)的矩阵成立。矩阵乘矩阵相乘有torch.转载 2021-03-16 13:06:08 · 403 阅读 · 0 评论 -
Encoder-Decoder模型和Attention模型
1.Encoder-Decoder模型及RNN的实现encoder-decoder模型虽然非常经典,但是局限性也非常大。最大的局限性就在于编码和解码之间的唯一联系就是一个固定长度的语义向量C。也就是说,编码器要将整个序列的信息压缩进一个固定长度的向量中去。但是这样做有两个弊端,一是语义向量无法完全表示整个序列的信息,还有就是先输入的内容携带的信息会被后输入的信息稀释掉,或者说,被覆盖了。输入序列越长,这个现象就越严重。这就使得在解码的时候一开始就没有获得输入序列足够的信息, 那么解码的准确度自然也就要打个转载 2021-03-16 11:15:40 · 681 阅读 · 0 评论 -
如何防止过拟合和欠拟合
过拟合1.1 定义是指模型对于训练数据拟合呈现过当的情况,反映到评估指标上就是模型在训练集上的表现很好,但是在测试集上的表现较差。结果就是训练出的模型泛化能力差。1.2 如何防止过拟合防止过拟合的方法有4种:1)增加训练集数据;该方式是从数据入手,将更多的数据参与到模型的训练中,这是最有效的方法,这样可以让模型学习到更多更有效的特征,降低噪声对模型的影响。但是往往直接增加数据是困难的,因此可以通过一定的规则来扩充训练数据。列举两种方式:①如图像分类问题中可以通过对图像的平移,缩放,旋转等方式转载 2021-03-16 10:35:26 · 3714 阅读 · 0 评论 -
RNN&LSTM网络结构以及LSTM的变体和拓展
RNNCNN等传统神经网络的局限在于:将固定大小的向量作为输入(比如一张图片),然后输出一个固定大小的向量(比如不同分类的概率)。不仅如此,CNN还按照固定的计算步骤(比如模型中层的数量)来实现这样的输入输出。这样的神经网络没有持久性:假设你希望对电影中每一帧的事件类型进行分类,传统的神经网络就没有办法使用电影中先前的事件推断后续的事件。RNN 是包含循环的网络,可以把信息从上一步传递到下一步。LSTMLSTM是一种RNN。RNN都有一种重复神经网络模块的链式形式。在标准的 RNN 中,这个重复的模转载 2021-03-16 10:26:27 · 587 阅读 · 0 评论 -
梯度消失、梯度爆炸产生的原因
一、梯度消失、梯度爆炸产生的原因 对于1.1 1.2,其实就是矩阵的高次幂导致的。在多层神经网络中,影响因素主要是权值和激活函数的偏导数。1.1 前馈网络若要对于w1求梯度,根据链式求导法则,得到的解为: 通常,若使用的激活函数为sigmoid函数,其导数最大为1/4:这样可以看到,如果我们使用标准化初始w,那么各个层次的相乘都是0-1之间的小数,而激活函数f的导数也是0-1之间的数,其连乘后,结果会变的很小,导致梯度消失。若我们初始化的w是很大的数,w大到乘以激活函数的导数都大于1,那么转载 2021-03-16 09:48:37 · 7261 阅读 · 0 评论 -
pytorch中优化器和学习率衰减方法总结
torch.optimtorch.optim是一个实现了各种优化算法的库。大部分常用的方法得到支持,并且接口具备足够的通用性,使得未来能够集成更加复杂的方法。如何使用optimizer为了使用torch.optim,你需要构建一个optimizer对象。这个对象能够保持当前参数状态并基于计算得到的梯度进行参数更新。构建为了构建一个Optimizer,你需要给它一个包含了需要优化的参数(必须都是Variable对象)的iterable。然后,你可以设置optimizer的参数选项,比如学习率,权重衰转载 2021-03-16 09:07:33 · 3522 阅读 · 0 评论 -
两种优化器SGD&Adam以及损失函数交叉熵损失&MSE&SISDR
优化器Adam梯度下降法参数更新公式:θt+1=θt−η⋅∇J(θt)其中,η是学习率,θt 是第 t 轮的参数,J(θt) 是损失函数,∇J(θt)是梯度。在最简单的梯度下降法中,学习率 η是常数,是一个需要实现设定好的超参数,在每轮参数更新中都不变,在一轮更新中各个参数的学习率也都一样。为了表示简便,令 gt=∇J(θt),所以梯度下降法可以表示为:θt+1=θt−η⋅gtAdam,是梯度下降法的变种,用来更新神经网络的权重。Adam 更新公式:默认值为 η=0.001,β1=0原创 2021-03-16 08:30:17 · 6294 阅读 · 0 评论 -
conv-tasnet网络结构+mobilenet网络结构+VQ-VAE-2模型
conv-tasnet网络结构encoder:输入波形,通过一个一维卷积,提取特征,得到一个特征矩阵。 # input encoder self.encoder = nn.Conv1d(1, 512, 256, bias=False, stride=16) #输入信号通道为1,帧长256,帧移16 #1*3200->1*512*185[(3200-256)/16+1=185]separation:由卷积的一维扩张卷积块组成的时间卷积网络(TCN)估计每个spk的mask,使网络可以原创 2021-03-13 14:45:16 · 2505 阅读 · 1 评论