我想了解的进步在tf.nn.avg_pool,tf.nn.max_pool,tf.nn.conv2d说法.
该文件反复说
strides:长度> = 4的整数列表.输入张量的每个维度的滑动窗口的步幅.
我的问题是:
tf.reshape(_X,shape=[-1, 28, 28, 1])
.为什么-1?遗憾的是,使用-1重新整形的文档中的示例并不能很好地转换为这种情况.
python convolution neural-network conv-neural-network tensorflow
任何人都可以通过实例清楚地解释CNN(深度学习)中的1D,2D和3D卷积之间的区别吗?
signal-processing machine-learning convolution deep-learning conv-neural-network
在计算简单移动平均线时,numpy.convolve
似乎可以完成这项工作.
问题:使用时如何完成计算np.convolve(values, weights, 'valid')
?
当文档提到时convolution product is only given for points where the signals overlap completely
,2个信号指的是什么?
如果任何解释可以包括示例和插图,那将非常有用.
window = 10
weights = np.repeat(1.0, window)/window
smas = np.convolve(values, weights, 'valid')
Run Code Online (Sandbox Code Playgroud) 我目前正在看theano的API,
theano.tensor.nnet.conv2d(input, filters, input_shape=None, filter_shape=None, border_mode='valid', subsample=(1, 1), filter_flip=True, image_shape=None, **kwargs)
Run Code Online (Sandbox Code Playgroud)
在哪里filter_shape
是一个元组(num_filter, num_channel, height, width)
,我对此感到困惑,因为在图像上滑动滤镜窗口时,不是由步幅决定的滤镜数量?我怎样才能像这样指定过滤器编号?如果它是由参数stride(如果有的话)计算的,那对我来说是合理的.
此外,我也对术语特征映射感到困惑,它是每层的神经元吗?批量大小怎么样?它们如何相关?
过去三天我一直在寻找内置的硬件加速方式,用android来模拟位图.我偶然发现了某些解决方法,比如缩小位图并再次缩放,但这种方法产生的质量低,不适合我的图像识别要求.我还读到使用着色器或JNI实现卷积是一个很好的方法,但我不能相信Android框架中没有内置的解决方案用于这个非常常见的目的.目前我最终在Java中使用自编写的卷积实现,但它的速度非常慢.我的问题是:
我知道在1-d情况下,两个矢量之间的卷积a
可以被计算为
b
,也可作为在之间的乘积conv(a, b)
和T_a
,其中b
是用于相应的托普利兹矩阵T_a
.
是否有可能将这个想法扩展到2-D?
给定a
和a = [5 1 3; 1 1 2; 2 1 3]
是否有可能b=[4 3; 1 2]
在Toeplitz矩阵中进行转换a
并T_a
在1-D情况下计算矩阵矩阵乘积?
convolution matrix-multiplication neural-network deep-learning conv-neural-network
我一直在关注DeepLearning.net上的教程,以学习如何实现从图像中提取特征的卷积神经网络.本教程有很好的解释,易于理解和遵循.
我想扩展相同的CNN,同时从视频(图像+音频)中提取多模态功能.
我知道视频输入只不过是与音频相关的一段时间(例如30 FPS)中显示的一系列图像(像素强度).但是,我真的不明白音频是什么,它是如何工作的,或者它是如何被分解为馈入网络的.
我已经阅读了几篇关于这个主题的论文(多模态特征提取/表示),但没有人解释过如何将音频输入到网络中.
此外,我从我的研究中了解到,多模态表征是我们的大脑真正运作的方式,因为我们没有刻意过滤我们的感官来实现理解.这一切都是在我们不知道的情况下同时发生的(联合代表).一个简单的例子是,如果我们听到狮子吼声,我们立即构成狮子的心理形象,感受到危险,反之亦然.在我们的大脑中发射了多种神经模式,以全面了解狮子的样子,听起来像,感觉,闻起来像是等等.
上面提到的是我的最终目标,但暂时我为了简单起见而打破了我的问题.
如果有人能够阐明音频如何被解剖,然后在卷积神经网络中表现出来,我将非常感激.我还要感谢您对多模态同步,联合表示以及使用多模态数据训练CNN的正确方法的看法.
编辑: 我发现音频可以表示为频谱图.它作为音频的通用格式,表示为具有两个几何尺寸的图形,其中水平线表示时间,垂直表示频率.
是否可以对这些光谱图上的图像使用相同的技术?换句话说,我可以简单地使用这些频谱图作为卷积神经网络的输入图像吗?
convolution feature-extraction neural-network supervised-learning deep-learning
我对keras的conv1d层中的这两个参数感到非常困惑:https://keras.io/layers/convolutional/#conv1d
文件说:
filters: Integer, the dimensionality of the output space (i.e. the number output of filters in the convolution).
kernel_size: An integer or tuple/list of a single integer, specifying the length of the 1D convolution window.
Run Code Online (Sandbox Code Playgroud)
但是,这似乎并没有涉及到的标准术语我在很多教程看到诸如https://adeshpande3.github.io/adeshpande3.github.io/A-Beginner的-引导到理解,卷积Neural- Networks /和https://machinelearningmastery.com/sequence-classification-lstm-recurrent-neural-networks-python-keras/
使用第二个使用Keras的教程链接,我想实际上'kernel_size'与传统的'filter'概念相关,后者定义了输入特征空间上的滑动窗口.但是conv1d中的'filter'参数怎么样?它有什么作用?
例如,在以下代码段中:
model.add(embedding_layer)
model.add(Dropout(0.2))
model.add(Conv1D(filters=100, kernel_size=4, padding='same', activation='relu'))
Run Code Online (Sandbox Code Playgroud)
假设嵌入层输出一个维度为50的矩阵(行,每行是一个句子中的一个单词)x 300(列,单词向量维度),conv1d层如何转换该矩阵?
非常感谢
据我了解,所有CNN都非常相似.它们都有一个卷积层,然后是池和relu层.有些人有像FlowNet和Segnet这样的专门层.我怀疑的是我们应该如何决定使用多少层以及如何为网络中的每个层设置内核大小.我已经找到了这个问题的答案,但我找不到具体的答案.网络是使用反复试验设计的,还是我不了解的一些特定规则?如果你能澄清一下,我将非常感谢你.
convolution neural-network deep-learning caffe conv-neural-network
我注意到在很多地方人们使用这样的东西,通常是在完全卷积网络,自动编码器和类似的东西:
model.add(UpSampling2D(size=(2,2)))
model.add(Conv2DTranspose(kernel_size=k, padding='same', strides=(1,1))
Run Code Online (Sandbox Code Playgroud)
我想知道它之间的区别是什么?
model.add(Conv2DTranspose(kernel_size=k, padding='same', strides=(2,2))
Run Code Online (Sandbox Code Playgroud)
我们欢迎任何解释这种差异的论文链接.
convolution deep-learning conv-neural-network keras deconvolution
convolution ×10
keras ×2
python ×2
android ×1
blur ×1
caffe ×1
numpy ×1
python-2.7 ×1
tensorflow ×1
theano ×1