<p>It is not "ignoring" a 90% of the input, the problem is simply that if you perform a 1-dimensional convolution with a kernel of size <em>K</em> over an input of size <em>X</em> the result of the convolution will have size <em>X</em> - <em>K</em> + 1. If you want the output to have the same size as the input, then you need to extend or "pad" your data. There are several strategies for that, such as add zeros, replicate the value at the ends or wrap around. Keras' <a href="https://keras.io/layers/convolutional/#conv1d" rel="noreferrer"><code>Convolution1D</code></a> has a <code>padding</code> parameter that you can set to <code>"valid"</code> (the default, no padding), <code>"same"</code> (add zeros at both sides of the input to obtain the same output size as the input) and <code>"causal"</code> (padding with zeros at one end only, idea taken from <a href="https://arxiv.org/abs/1609.03499" rel="noreferrer">WaveNet</a>).</p>

<p><em>Update</em></p>

<p>About the questions in your comments. So you say your input is <code>(600, 10)</code>. That, I assume, is the size of one example, and you have a batch of examples with size <code>(N, 600, 10)</code>. From the point of view of the convolution operation, this means you have <code>N</code> examples, each of with a length of at most <code>600</code> (this "length" may be time or whatever else, it's just the dimension across which the convolution works) and, at each of these <code>600</code> points, you have vectors of size <code>10</code>. Each of these vectors is considered an atomic sample with <code>10</code> features (e.g. price, heigh, size, whatever), or, as is sometimes called in the context of convolution, "channels" (from the RGB channels used in 2D image convolution).</p>

<p>The point is, the convolution has a kernel size and a number of output channels, which is the <code>filters</code> parameter in Keras. In your example, what the convolution does is take every possible slice of 25 contiguous 10-vectors and produce a single 40-vector for each (that, for every example in the batch, of course). So you pass from having 10 features or channels in your input to having 40 after the convolution. It's not that it's using only one of the 10 elements in the last dimension, it's using all of them to produce the output.</p>

<p>If the meaning of the dimensions in your input is not what the convolution is interpreting, or if the operation it is performing is not what you were expecting, you may need to either reshape your input or use a different kind of layer.</p>
Input shape and Conv1d in Keras
<p>The first layer of my neural network is like this:</p>

<pre><code>model.add(Conv1D(filters=40,
                 kernel_size=25,
                 input_shape=x_train.shape[1:],
                 activation='relu',
                 kernel_regularizer=regularizers.l2(5e-6),
                 strides=1))
</code></pre>

<p>if my input shape is <code>(600,10)</code></p>

<p>i get <code>(None, 576, 40)</code>   as output shape</p>

<p>if my input shape is <code>(6000,1)</code></p>

<p>i get <code>(None, 5976, 40)</code> as output shape</p>

<p>so my question is what exactly is happening here? is the first example simply ignoring 90% of the input?</p>