# C4W2L05 Network In Network | Summary and Q&A

99.0K views
November 7, 2017
by
DeepLearningAI
C4W2L05 Network In Network

## TL;DR

One by one convolution is a useful technique in neural network architectures that allows for non-linear transformations and can shrink, maintain, or increase the number of channels in input volumes.

## Key Insights

• 🎨 One by one convolution is a powerful technique for designing confident architectures in neural networks.
• 🎭 It can be used to multiply an image by a number or perform element-wise product and apply non-linearity.
• 👻 For images with multiple channels, 1x1 convolutions allow meaningful operations by taking element-wise products and applying non-linearity.
• 🧑‍🏭 Multiple filters in 1x1 convolutions act as units that process inputs from each position and build up an output volume.
• 🔢 Using 1x1 convolutions can shrink, maintain, or increase the number of channels in input volumes, offering flexibility in network design.
• 🤙 This technique, sometimes called network in network, has had a significant influence on various neural network architectures.
• 🔇 1x1 convolutions can be useful for shrinking the number of channels while maintaining spatial dimensions in volumes.

## Transcript

in terms of designing confident architectures one of the ideas that really hopes is using a one by one convolution now you might be wondering what is the one by one convolution do isn't that just multiplying by a number is that it seems like a funny thing to do turns out it's not quite like that let's take a look you see one by one filter put the n... Read More

### Q: How does a 1x1 convolution differ from traditional convolutions?

A 1x1 convolution is different from traditional convolutions as it either multiplies an image by a number or performs element-wise product and applies non-linearity. It is more useful when applied to images with multiple channels.

### Q: How does a 1x1 convolution work with multiple filters?

With multiple filters, a 1x1 convolution acts like multiple units that take inputs from each position in a slice and build up an output volume. Each unit applies a fully connected neural network to the numbers in the slice, multiplying them by weights and applying non-linearity.

### Q: What is the advantage of using a 1x1 convolution to shrink the number of channels?

Using a 1x1 convolution with multiple filters allows for shrinking the number of channels in an input volume, which can save on computation. By reducing the number of channels, the network can focus on learning more complex functions.

### Q: Can a 1x1 convolution increase the number of channels in an input volume?

Yes, a 1x1 convolution can also increase the number of channels in an input volume if desired. The technique allows for flexibility in adjusting the number of channels based on the specific requirements of the network.

## Summary & Key Takeaways

• One by one convolution involves multiplying an image by a 1x1 filter, resulting in a convolutional layer that either multiplies the image by a number or performs element-wise product and applies non-linearity.

• For images with multiple channels, a 1x1 convolution can perform more meaningful operations by taking element-wise products between the numbers in the filter and the input volume, resulting in a single real number.

• One by one convolutions can be thought of as applying a fully connected neural network to each position of the input volume, with the number of filters determining the output volume size.