<p>In deep learning <code>1x1</code> and <code>3x3</code> convolutions are used for different purposes. <code>3x3</code> corresponds to a convenient convolution, that applies some filters to the input data. Whereas <code>1x1</code> is something like a <a href="https://arxiv.org/abs/1312.4400" rel="nofollow noreferrer">Network in Network</a>. Conceptually it is close to a MLP (with no hidden layer) applied to the channel values of every pixel. It is often used to shrink or expand the number of feature map's channels (dimensionality reduction or expansion) and thus might serve an auxiliary role for the following <code>3x3</code> convolution: <a href="https://stats.stackexchange.com/questions/194142/what-does-1x1-convolution-mean-in-a-neural-network">What does 1x1 convolution mean in a neural network?</a> </p>

<p>Another well-known use of <code>1x1</code> convolutions is mixing together information from separate groups of convolutions or their extreme version, the depth-wise separable convolutions: <a href="https://arxiv.org/abs/1704.04861" rel="nofollow noreferrer">MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications</a></p>

<p>To summarize, <code>1x1</code> convolutions often have different meaning as the <code>3x3</code> ones. In the original model they are probably used for a purpose and switching to <code>3x3</code> will change to concept. Which does not necessarily mean that the accuracy will be worse, indeed it is likely to improve or remain the same.</p>

<p>And it will definitely result in a larger computational time. But if you can afford it, go ahead and try.</p>
Should I use conv 3x3 in last convolutional layer for semantic segmentation?
<p>In semantic segmentation, the convolutional <code>1x1</code> often use to replace fully connected layer to maintain spatial information. Should I use larger kernel size, for example <code>3x3</code>, instead of <code>1x1</code>. Because <code>3x3</code> kernel size will have larger view information to make the final decision. Thanks</p>