XML(확장 가능한 마크업 언어)은 사람이 읽을 수 있고 기계가 읽을 수 있는 방식으로 문서를 인코딩하기 위해 W3C(월드와이드웹 컨소시엄) 에서 만든 다용도 마크업 언어입니다. 데이터를 표시하는 방법에 중점을 두는 HTML과 달리 XML의 주요 역할은 데이터를 설명하고, 저장하고, 전송하는 것으로, 데이터가 무엇인지에 중점을 둡니다. 구조적이고 자기 설명적인 형식이기 때문에 인공 지능(AI) 과 머신 러닝(ML)에 사용되는 것을 포함해 서로 다른 시스템과 애플리케이션 간에 정보를 교환하는 데 매우 적합합니다. XML을 이해하는 것은 다양한 데이터 세트로 작업하거나 ML 파이프라인 내에서 다양한 도구를 통합하는 모든 사람에게 유용합니다.
XML 구조 이해
XML은 꺾쇠 괄호로 묶인 태그(< >
). 이러한 태그는 데이터 구조를 나타내는 기본 구성 요소인 요소를 정의합니다. 요소에는 텍스트 데이터, 다른 중첩된 요소 또는 이들의 조합이 포함될 수 있으며, 계층적 트리와 같은 구조를 형성합니다. 태그에는 요소에 대한 추가 메타데이터를 제공하는 속성이 있을 수도 있습니다. 예를 들어, 도서 데이터를 설명하는 XML 파일은 다음과 같습니다. <book category="fiction"><title>Example Novel</title><author>Jane Doe</author></book>
. 이 명시적인 구조는 때때로 다른 형식보다 더 장황하지만 XSD와 같은 스키마에 대한 엄격한 유효성 검사를 허용합니다(XML 스키마 정의), 복잡한 환경에서 매우 중요한 데이터 일관성을 보장합니다. 데이터 전처리 단계.
AI와 ML의 관련성
간결성 때문에 특정 작업에서 JSON 및 YAML과 같은 최신 형식이 점점 더 인기를 얻고 있지만, XML은 AI 및 ML의 여러 주요 영역에서 여전히 관련성이 높습니다:
- 데이터 어노테이션: XML은 컴퓨터 비전(CV) 작업에서 주석을 저장하는 일반적인 형식입니다. 객체 감지의 경우, XML 파일은 이미지의 각 객체에 대한 클래스 레이블과 경계 상자 좌표를 자세히 설명하는 경우가 많습니다. 마찬가지로 이미지 세분화에서 다각형을 정의하는 데에도 사용할 수 있습니다. 많은 벤치마크 데이터 세트는 기준 데이터로 XML을 사용합니다. 적절한 데이터 수집과 주석은 정확한 모델을 학습시키는 데 있어 필수적인 단계입니다.
- 모델 구성: Ultralytics 구성 파일로 YAML을 선호하는 경우가 많지만, 다른 프레임워크나 구형 시스템에서는 모델 아키텍처, 학습 파라미터 또는 실험 설정을 정의하기 위해 XML을 사용하는 경우도 있습니다. 구조화된 특성으로 인해 복잡한 구성이 가능합니다.
- 모델 상호 운용성: 예측 모델 마크업 언어(PMML) 는 학습된 통계 및 데이터 마이닝 모델을 표현하도록 설계된 XML 기반 표준입니다. PMML을 사용하면 코드를 다시 작성하지 않고도 한 시스템에서 학습된 모델(예: Scikit-learn 사용)을 다른 시스템(예: 프로덕션 스코어링 엔진)에 배포할 수 있으므로 모델 배포가 더 쉬워집니다. 이는 머신 러닝 운영(MLOps)의 핵심 과제를 해결합니다.
- 데이터 교환: XML은 AI 시스템의 여러 구성 요소 간 또는 조직 간에 구조화된 데이터를 교환하기 위한 강력한 포맷으로 사용됩니다. 플랫폼 독립적인 특성 덕분에 다양한 소프트웨어 환경에서 데이터를 안정적으로 구문 분석할 수 있으며, 이는 확장 가능한 AI 솔루션 구축에 매우 중요합니다.
XML과 관련 포맷 비교
XML을 다른 일반적인 데이터 직렬화 형식과 구별하는 것이 도움이 됩니다:
- JSON(JavaScript 객체 표기법): XML의 태그 기반 구문과 비교했을 때 JSON은 JavaScript 객체에서 파생된 더 가벼운 키-값 쌍 구조를 사용합니다. 일반적으로 장황함이 적고 웹 애플리케이션과 API가 구문 분석하기 쉬운 경우가 많습니다. 자세한 내용은 공식 JSON 표준을 참조하세요. XML에는 네임스페이스와 스키마에 대한 기본 지원 기능이 있는 반면, JSON은 일반적으로 유효성 검사를 위해 외부 규칙에 의존합니다.
- YAML(YAML은 마크업 언어가 아님): YAML은 태그나 괄호 대신 들여쓰기를 사용하여 구조를 나타내는 등 사람의 가독성을 우선시합니다. ML 프로젝트의 구성 파일에 자주 사용됩니다. Ultralytics YOLO 모델 포함) 및 Kubernetes와 같은 코드형 인프라 도구의 구성 파일에 자주 사용됩니다. 자세한 내용은 YAML 사양을 살펴보세요.
AI/ML에서 XML의 실제 적용 사례
- PASCAL 시각적 객체 클래스(VOC) 데이터 세트: 다음과 같은 모델을 벤치마킹하는 데 널리 사용되는 영향력 있는 객체 감지 데이터 세트입니다. YOLOv8 및 YOLO11와 같은 벤치마킹 모델에 사용되는 이 데이터 세트는 주석에 XML 파일을 활용합니다. 각 XML 파일은 이미지에 해당하며 이미지 소스, 크기, 클래스 레이블(예: '자동차', '사람') 및 경계 상자 좌표(xmin, ymin, x최대, y최대) 등 각 주석이 달린 객체에 대한 세부 정보가 포함되어 있습니다. 자세한 내용은 공식 PASCAL VOC 웹사이트에서 확인할 수 있으며, VOC 데이터 세트 설명서에서 Ultralytics 모델과 함께 사용하는 방법을 배울 수 있습니다. 사용자 지정 모델 학습을 위해 이러한 데이터 세트를 관리하는 데는 Ultralytics HUB와 같은 플랫폼이 도움이 될 수 있습니다.
- 의료 영상 메타데이터(DICOM): 의료 영상 저장 및 전송을 위해 의료 업계에서 보편적으로 사용되는 DICOM(디지털 이미징 및 의료 통신) 표준입니다. DICOM 자체는 이진 형식이지만, 환자 정보, 촬영 매개변수, 진단 결과 등 이러한 이미지와 관련된 광범위한 메타데이터를 표현하기 위해 일반적으로 XML이 사용됩니다. 이러한 구조화된 메타데이터는 의료 이미지 분석 작업에 필수적이며, 연구자와 임상의가 데이터 세트를 필터링하고 진단 AI 모델(영상의학 분야의 AI)을 훈련하며 AI 의료 애플리케이션에서 추적성을 보장할 수 있게 해줍니다.
요약하자면, XML은 항상 가장 간결한 형식은 아니지만 구조화된 특성, 확장성, 강력한 유효성 검사 기능 덕분에 AI와 ML의 특정 영역, 특히 데이터 주석 표준, PMML과 같은 모델 교환 형식, 엔터프라이즈 데이터 통합에서 지속적인 역할을 보장합니다. XML에 익숙하면 현장에서 다양한 데이터 소스와 도구를 탐색하는 데 유용합니다.