Identity Mapping
딥러닝에서 Identity Mapping에 대해 알아보십시오. Skip connections가 어떻게 vanishing gradients를 방지하여 Ultralytics YOLO26와 같은 신경망을 구동하는지 확인해 보십시오.
수학 및 선형 대수학에서 항등 사상(identity map) 또는 항등 행렬은 입력값과 동일한 값을 반환하는 함수입니다. 인공지능(AI) 및 딥러닝 분야에서 Identity Mapping은 비선형 변환 없이 입력 데이터를 합성곱 신경망(CNN)의 후속 계층으로 직접 전달하기 위해 사용하는 특정 아키텍처 기법을 의미합니다. 이 개념은 2015년 잔차 네트워크(ResNet)의 도입을 통해 널리 알려졌으며, 이는 딥 컴퓨터 비전(CV) 모델이 구조화되고 학습되는 방식을 혁신적으로 바꾸어 놓았습니다.
Link to this sectionIdentity Mapping의 작동 원리#
심층 신경망은 종종 기울기 소실(vanishing gradient) 문제를 겪습니다. 역전파 과정에서 네트워크 가중치를 업데이트하는 데 사용되는 오차 신호가 계층을 거쳐 역방향으로 전달될수록 지수적으로 작아지며, 이로 인해 초기 계층이 효과적으로 학습되지 못합니다. Identity Mapping은 "스킵 연결(skip connection)" 또는 "지름길 연결(shortcut connection)"을 생성하여 이 문제를 해결합니다.
연속적인 계층이 완전히 새로운 참조 없는 매핑을 학습하도록 강제하는 대신, 잔차 함수를 학습하도록 설계됩니다. 수학적으로 블록에 대한 입력이 x일 때, 해당 계층은 변환 F(x)를 학습합니다. Identity Mapping은 원래 입력 x를 해당 변환의 출력에 직접 더하여 최종 출력인 F(x) + x를 생성합니다. 이를 통해 매우 깊은 네트워크에서도 기울기가 모델 백본(model backbone)을 통해 방해받지 않고 직접 흐를 수 있습니다. Google DeepMind 및 OpenAI와 같은 평판 높은 AI 연구 기관은 이러한 아키텍처적 지름길을 활용하여 거대 파운데이션 모델의 학습을 안정화합니다.
Link to this sectionIdentity Mapping vs. Identity Preservation#
Identity Mapping을 비슷한 이름의 Identity Preservation과 구분하는 것이 중요합니다.
Identity Mapping이 머신러닝(ML) 학습 흐름을 최적화하기 위해 설계된 신경망의 구조적 코딩 기능인 반면, Identity Preservation은 별개의 컴퓨터 비전 태스크입니다. Identity Preservation은 객체 추적 시 서로 다른 비디오 프레임 간, 또는 생성형 AI 워크플로우에서 생성된 이미지 간에 특정 인물이나 객체의 시각적 일관성을 유지하는 데 중점을 둡니다.
Link to this section실제 애플리케이션 사례#
Identity Mapping은 오늘날 프로덕션 환경에서 사용되는 많은 고성능 모델의 핵심 빌딩 블록 역할을 합니다:
- 고급 객체 탐지: 최신 Ultralytics YOLO26을 포함한 현대적인 실시간 아키텍처는 특징 추출 계층 내에 Identity Mapping을 포함하는 고급 잔차 블록을 활용합니다. 이를 통해 네트워크 깊이가 증가해도 성능 저하 없이 자율 주행과 같은 복잡한 환경에서 고속의 정밀한 탐지를 수행할 수 있습니다.
- 이미지 분류 모델: arXiv 및 IEEE Xplore 디지털 라이브러리와 같은 학술 저장소에 광범위하게 문서화된 최첨단 비전 아키텍처들은 수백 개의 계층을 가진 모델을 성공적으로 학습하기 위해 Identity Mapping에 의존합니다. TensorFlow와 같은 상위 수준 프레임워크는 이러한 지름길을 사용하여 대규모 데이터셋에서 매우 복잡하고 계층적인 특징을 추출합니다.
Link to this sectionPyTorch에서 Identity Mapping 구현하기#
사용자 정의 신경망을 구축할 때 PyTorch와 같은 딥러닝 프레임워크는 이러한 지름길을 손쉽게 구현할 수 있는 네이티브 도구를 제공합니다. PyTorch nn.Identity 모듈을 명시적으로 사용하거나, 단순히 nn.Module forward 패스 내에서 수학적 덧셈을 적용할 수 있습니다.
다음 코드 조각은 Identity Mapping을 활용하는 기본적인 잔차 블록을 보여줍니다. 데이터셋 관리 및 모델 학습을 위해 클라우드 기반 Ultralytics Platform을 사용하는 개발자는 이러한 고도로 최적화된 아키텍처 구조를 내부적으로 자동으로 활용할 수 있습니다.
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)





