Identity Mapping
Derin öğrenmede identity mapping konusunu keşfet. Skip connections yapısının, Ultralytics YOLO26 gibi sinir ağlarını güçlendirmek için vanishing gradients sorununu nasıl önlediğini öğren.
Matematik ve lineer cebirde, bir birim dönüşüm (identity map) veya birim matris, girdi olarak kullanılan değerin aynısını döndüren bir fonksiyondur. Yapay zeka (AI) ve derin öğrenme bağlamında identity mapping, girdi verilerini herhangi bir doğrusal olmayan dönüşüm olmaksızın bir evrişimli sinir ağının (CNN) sonraki katmanlarına doğrudan aktarmak için kullanılan özel bir mimari tekniktir. Bu kavram, 2015 yılında Residual Networks (ResNet) modelinin tanıtılmasıyla büyük ölçüde popülerleşmiş ve derin bilgisayarlı görü (CV) modellerinin yapılandırılma ve eğitilme biçiminde devrim yaratmıştır.
Link to this sectionIdentity Mapping Nasıl Çalışır#
Derin sinir ağları sıklıkla kaybolan gradyan probleminden muzdariptir. Geri yayılım (backpropagation) sırasında, ağ ağırlıklarını güncellemek için kullanılan hata sinyalleri, katmanlar arasında geriye doğru ilerledikçe üssel olarak küçülür ve bu da önceki katmanların etkili bir şekilde öğrenmesini engeller. Identity mapping, "atlama bağlantıları" (skip connections) veya "kısa yol bağlantıları" (shortcut connections) oluşturarak bu sorunu çözer.
Ardışık katmanları tamamen yeni ve referanssız bir eşleme öğrenmeye zorlamak yerine, bu katmanlar bir kalıntı fonksiyonu (residual function) öğrenecek şekilde tasarlanırlar. Matematiksel olarak, bir bloğa giren girdi x ise, katman F(x) dönüşümünü öğrenir. Identity mapping, orijinal x girdisini bu dönüşümün çıktısına doğrudan ekleyerek F(x) + x şeklinde nihai çıktıyı oluşturur. Bu, son derece derin ağlarda bile gradyanların model omurgası boyunca engelsiz bir şekilde akmasını sağlar. Google DeepMind ve OpenAI gibi saygın yapay zeka araştırma kuruluşları, devasa temel modellerin eğitimini stabilize etmek için bu mimari kısayollardan sıklıkla yararlanır.
Link to this sectionIdentity Mapping ve Kimlik Koruma (Identity Preservation)#
Identity mapping ile benzer şekilde adlandırılan kimlik koruma kavramını birbirinden ayırmak çok önemlidir.
Identity mapping, makine öğrenmesi (ML) eğitim akışını optimize etmek için tasarlanmış sinir ağının yapısal bir kodlama özelliği iken, kimlik koruma farklı bir bilgisayarlı görü görevidir. Kimlik koruma, nesne takibinde farklı video karelerinde veya üretken yapay zeka iş akışlarında oluşturulan görsellerde belirli bir kişinin veya nesnenin görsel tutarlılığını korumaya odaklanır.
Link to this sectionGerçek Dünya Uygulamaları#
Identity mapping, günümüzde üretimde kullanılan birçok yüksek doğruluklu modelin temel yapı taşı olarak hizmet eder:
- Gelişmiş Nesne Algılama: En son Ultralytics YOLO26 dahil olmak üzere modern gerçek zamanlı mimariler, özellik çıkarma katmanlarında identity mapping içeren gelişmiş kalıntı blokları kullanır. Bu, ağ derinliği arttıkça performanstan ödün vermeden otonom sürüş gibi karmaşık ortamlarda yüksek hızlı ve hassas algılama yapmalarını sağlar.
- Görüntü Sınıflandırma Modelleri: arXiv ve IEEE Xplore Digital Library gibi akademik depolarda kapsamlı bir şekilde belgelenen son teknoloji görü mimarileri, yüzlerce katmanlı modelleri başarıyla eğitmek için identity mapping yöntemine güvenir. TensorFlow gibi üst düzey çerçeveler, devasa veri setlerinden son derece karmaşık hiyerarşik özellikleri çıkarmak için bu kısayolları kullanır.
Link to this sectionPyTorch İçinde Identity Mapping Uygulaması#
Özel sinir ağları oluştururken, PyTorch gibi derin öğrenme çerçeveleri bu kısayolları zahmetsizce uygulamanı sağlayan yerel araçlar sunar. PyTorch nn.Identity modülünü açıkça kullanabilir veya nn.Module ileri geçişinde (forward pass) basitçe matematiksel toplama işlemini uygulayabilirsin.
Aşağıdaki kod parçacığı, bir identity map kullanan temel bir kalıntı bloğunu göstermektedir. Veri seti yönetimi ve model eğitimi için bulut tabanlı Ultralytics Platform kullanan geliştiricilerin, bu yüksek düzeyde optimize edilmiş mimari yapılardan arka planda otomatik olarak yararlandığını unutma.
import torch.nn as nn
class ResidualBlock(nn.Module):
def __init__(self, channels):
super().__init__()
# A simple convolutional layer for feature extraction
self.conv = nn.Conv2d(channels, channels, kernel_size=3, padding=1)
# Explicit identity mapping module
self.identity = nn.Identity()
def forward(self, x):
# The block output is the sum of the learned features and the identity map
return self.conv(x) + self.identity(x)





