current position:Home>Some thoughts on pooling in Python -2022
Some thoughts on pooling in Python -2022
2022-07-25 14:26:03【Das white】
Some thoughts about pooling -2022
introduction
Pooling in Neural Networks (pooling
): Downsampling the input data , Reduce the resolution of the input data .
except batch size, The resolution of the data itself and the number of characteristic channels affect The Internet
Important indicators of calculation and parameter quantity . Pooling will reduce the data resolution , So as to reduce the amount of calculation . Look at it from another Angle , Low resolution data can use fewer characteristic channels ( Network parameters ) To fit features , Thus, the amount of network parameters is reduced .
This paper summarizes the mainstream pooling methods , And put forward some conjectures :
The effect of pooling is often well reflected in high-resolution input , Low resolution data may not need pooling
The effectiveness of pooling may not be attributed to the pooling method , On the contrary, as long as the data resolution is reduced, it can often get good results
Pooling method – structured or Unstructured ? : Whether it depends on the structure of input data
One 、 structured ( The average pooling 、 Maximum pooling ?)
- I will call the pooling method in matrix form
structured
Pooling of .
1.1 The average pooling 、 Maximum pooling, etc
The most widely used pooling method at present : The average pooling 、 Maximum pooling – Simple It works 1.
There are many ways to pool : Random pooling 、 Combination pooling 、 Pyramid pooling and so on 2
1.2 Strip Pooling
Address of thesis 3:Strip Pooling: Rethinking Spatial Pooling for Scene Parsing
Strip pooling is a very novel 、 Bold pooling method , Most of the pooling methods mentioned before are based on a n × n n \times n n×n Matrix , Quite regular , I didn't expect to be based on a certain row or column ( 1 × n 1 \times n 1×n) Pooling of can also achieve such good results :
The comparison with the previous pooling method is shown in the following figure :
1.3 Collapse edge ( Noodles ) Pooling - Triangular grid
All of the above mentioned are pooling in the form of standard matrix , This pooling method is not suitable for three-dimensional data . Just take triangular mesh , It is a good direction to extend the traditional simplification of grid to the pooling of network .
Address of thesis 4:MeshCNN: A Network with an Edge
MeshCNN Take collapse as pooling method , Extended to triangular mesh :
Tested it , If there is no collapse pool , Only use the convolution in the paper : stay SHREC (500 Face to face ) The classification performance is similar ,COSEG The segmentation accuracy will be reduced 2 - 3%.
Address of thesis 5:Subdivision-Based Mesh Convolution Networks
It is very complicated to directly introduce the collapse surface into the grid pooling ,SubdivNet Find another way first Remesh Pool again :
Subdivision Make the triangular mesh have some regular structures similar to the image
The above needs to construct a matrix - Feature mapping matrix from before to after pooling
Two 、 Unstructured ( clustering 、Top_k?)
- I call the pooling method in the form of clustering or sorting
Unstructured
Pooling of .
2.1 Three dimensional point cloud
Take point cloud as an example , It is discrete 、 messy 、 There is no structure , At present, the mainstream method of pooling or downsampling is farthest point sampling (Farthest Point Sampling)
Address of thesis 6:PointNet++: Deep Hierarchical Feature Learning on Point Sets in a Metric Space
It mainly uses the method of sorting according to distance to sample under the point cloud , Use maximum pooling to deal with point cloud disorder In doubt : Whether just maximizing pooling ignores a lot of potential information
2.2 Graph - chart
There are many based on clustering or Top_k Pooling method of 7: Figure pool Topk
Address of thesis 8:Primal-Dual Mesh Convolutional Neural Networks
PDMesh The triangular mesh is converted into a graph , We introduce graph vertex merging as a pooling method
2.3 Transformer - Images
Regular pooling from 2D to 3D , Then return from three dimensions to two dimensions
In recent years, 2D On image Transformer Not only the position coding of image is introduced 、 Self attention , also Token Pooling of …
Address of thesis 9:PSViT: Better Vision Transformer via Token Pooling and Attention Sharing
Address of thesis 10:Token Pooling in Vision Transformers
Address of thesis 11:MetaFormer Is Actually What You Need for Vision
The most impressive thing is MetaFormer
This paper , There is no gorgeous pool , Only simple average pooling has a very good effect :
It shows the power of network architecture …
3、 ... and 、 Discuss
There are still many disputes about pooling :
CNN It really needs to be sampled ( On the sampling ) Do you ?
CNN Do you need a pool layer ?
If the calculating power is unlimited , Design convolutional neural network (CNN) Pooling is also needed in the process of (pooling) Do you ?
As far as the present situation is concerned , Pooling should be indispensable , Because no matter the latest research or the landing of many neural networks , Pooling is used
But if the input of the network is only low resolution data , I think it's OK to get rid of pooling :
Is there such a possible solution : Preprocessing ( Down sampling ) -> The Internet ( No pooling ) -> post-processing ( On the sampling or other )
copyright notice
author[Das white],Please bring the original link to reprint, thank you.
https://en.pythonmana.com/2022/206/202207251424019230.html
The sidebar is recommended
- Python Xiaobai foundation -- tuple
- Python Xiaobai foundation -- dictionary Dict
- Python solve the problem of slow download and installation of Pip
- pandas.date_ range
- what the fuck! This is the best Python technology realization scheme!
- [version 2022] super detailed python+pychar installation nanny level tutorial, python environment configuration and use guide. It's enough to read this article
- At the age of 26, switching to Python is the most successful thing in my life
- How to write simple Trojan horse program with Python
- Python realizes video information acquisition
- [SSTI module injection] ssti+flask+python (Part 1): basic knowledge
guess what you like
[SSTI module injection] ssti+flask+python (middle): vulnerability exploitation
[SSTI module injection] ssti+flask+python (bottom): bypass filtering
leetcode 34. Find First and Last Position of Element in Sorted Array(python)
Implementing greedy algorithm in Python
[Python] QT code realizes clicking the button page to jump back and forth
[Python] convolutional neural network
[Python] baiduai face detection, face search, face registration
pandas
From Chinese, python font anti crawling practical cases, and one more point
Python collection
Random recommended
- Python decorator
- Python simple test
- Python requests module
- How to write the formula y=a*exp (b*x) as a condition in python (parameter estimation program using least square fitting)
- Python modulenotfounderror: no module named '* * *' solution
- Numpy of Python learning
- Python Wu Enda deep learning assignment 17 -- deep learning and art neurostyle transfer (NST)
- Python output font color
- Pandas modify column
- leetcode 240. Search a 2D Matrix II(python)
- How does Django realize remote file download?
- How does Python count the number of lines?
- Python uses ARIMA and arimax to predict the time series data of store commodity sales demand
- Python reads all the pictures in the folder and writes the picture names line by line into TXT
- Django3 ----- views and simple templates
- Web development Python
- Django 2 ----- database and admin
- Django 1 ----- installation and start-up
- What is the reason why Python socket client reports an error connection reset by peer?
- Detailed explanation of static method usage in Python
- Python_ Simulate login to QQ email & save cookies
- Python_ Crawl_ Spider crawls the recruitment network
- Python pit entry Guide
- Vscode Python code completion repetition
- Python decorator with parameters
- Python list deep copy shallow copy
- Django+vue quickly realizes blog website
- Python data analysis and machine learning 27 examples of spelling correction
- Python data analysis and machine learning 28 news classification
- After reading so many Python tutorials, the most delicious thing is
- Several ways for Python to write xlsx files
- Summary of Python object-oriented details
- Python multi process / process pool / shared data between processes practical scenario analysis and practice pit records
- How to import sort into pandas foundation?
- What are columns in pandas foundation?
- Why not use apply in pandas foundation?
- Python decorator engineering examples and key points summary
- Triplicate in Python
- Implementation, encapsulation and call of paging function in Django (super detailed)
- Learning pandas, you can't stop at all