Junior — Senior
Τι είναι μια συνελίκωση 1x1 και ποια είναι η χρήση της;
sobes.tech AI
Απάντηση από AI
Η συνελίκωση 1x1 είναι μια λειτουργία συνελίκωσης με πυρήνα διαστάσεων 1 επί 1 pixel. Εφαρμόζεται σε συνελικτικά νευρωνικά δίκτυα για την αλλαγή του αριθμού των καναλιών (βάθος) του εισερχόμενου τανυστή χωρίς να αλλάζουν οι χωρικές διαστάσεις (πλάτος και ύψος).
Κύριες εφαρμογές της συνελίκωσης 1x1:
- Μείωση ή αύξηση της διαστατικότητας των καναλιών, βοηθώντας στη μείωση του αριθμού των παραμέτρων και του υπολογιστικού φόρτου.
- Εισαγωγή μη γραμμικοτήτων μεταξύ των στρωμάτων μέσω συναρτήσεων ενεργοποίησης μετά τη συνελίκωση 1x1.
- Μείξη πληροφοριών μεταξύ των καναλιών, βελτιώνοντας την αναπαράσταση χαρακτηριστικών.
Παράδειγμα σε PyTorch:
import torch
import torch.nn as nn
conv1x1 = nn.Conv2d(in_channels=64, out_channels=128, kernel_size=1)
input_tensor = torch.randn(1, 64, 32, 32) # παρτίδα=1, 64 κανάλια, 32x32
output = conv1x1(input_tensor)
print(output.shape) # torch.Size([1, 128, 32, 32])