패딩
패딩이란 다음의 여러 의미를 가질 수 있다.
1. 컴퓨터 과학에서의 패딩:
- 데이터 패딩: 데이터 구조나 메모리 공간에서 데이터의 크기를 특정 크기로 맞추기 위해 추가되는 바이트 또는 비트. 정렬 요구 사항을 충족하거나 데이터 처리 효율성을 높이기 위해 사용된다. 예를 들어, 구조체의 멤버들이 특정 바이트 경계에 정렬되도록 하기 위해 컴파일러가 자동으로 패딩 바이트를 삽입할 수 있다.
- 암호학에서의 패딩: 암호화 과정에서 평문의 길이를 블록 암호 알고리즘의 블록 크기의 배수로 만들기 위해 추가되는 데이터. PKCS#7, ANSI X.923 등의 다양한 패딩 방식이 존재하며, 안전한 암호화 시스템을 구축하는 데 중요한 역할을 한다. 부적절한 패딩 방식은 공격에 취약할 수 있다.
- 머신 러닝에서의 패딩: 이미지나 텍스트 데이터의 길이가 서로 다를 때, 이를 동일한 길이로 맞춰주기 위해 사용하는 기술. 컨볼루션 신경망(CNN)에서 이미지의 가장자리에 0 또는 다른 값으로 채워 넣는 제로 패딩(zero-padding)이 대표적인 예이다. 순환 신경망(RNN)에서는 텍스트 데이터의 길이를 맞추기 위해 특정 토큰을 추가하는 방식으로 사용될 수 있다. 패딩은 모델의 성능 향상에 기여할 수 있다.
2. 의류에서의 패딩:
- 옷이나 침구류 등에 충전재를 넣어 보온성을 높이는 것. 솜, 거위털, 오리털, 화학 섬유 등 다양한 소재가 사용된다.
3. 스포츠에서의 패딩:
- 신체 보호를 위해 착용하는 보호 장비. 헬멧, 무릎 보호대, 팔꿈치 보호대 등이 있으며, 부상 위험을 줄이는 데 도움을 준다.
4. 통계학에서의 패딩 (시계열 데이터):
- 시계열 데이터에서 누락된 값을 채우거나, 데이터의 길이를 인위적으로 늘리기 위해 사용되는 방법. 주로 보간법이나 평균값 등을 사용하여 패딩을 수행한다.