Sobes.tech
Junior — Senior

რა არის 1x1 კონვოლუცია და რა მიზნით გამოიყენება?

sobes.tech AI

პასუხი AI-სგან

1x1 კონვოლუცია — ეს არის ოპერაცია, რომელიც ხორციელდება 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])