AI 기술은 산업에 혁명을 일으키고 우리의 일과 삶의 방식을 변화시키고 있습니다. AI 시스템이 항공우주, 자동차, 의료와 같은 안전 필수 산업에 통합되면서(그림 1), 이 시스템들은 인간의 안전과 복지에 직접적인 영향을 미치는 의사결정을 내리고 있습니다. 이는 모델의 거동을 설명하고 검증하며 확인하기 위한 엄격한 검증 및 확인 프로세스에 대한 필요성이 점점 더 커지고 있습니다.
AI 인증의 맥락에서, V&V(검증 및 확인) 기법을 통해 AI 모델 및 AI 주도 시스템이 산업 표준과 규정을 준수함을 입증하여 위험을 식별하고 완화할 수 있습니다.
V-사이클과 같은 전통적인 V&V 워크플로는 AI 모델의 정확성과 신뢰성을 보장하기에 충분하지 않을 수 있습니다. W 형태 개발 프로세스(그림 2)과 같이 이러한 워크플로를 AI 응용 분야에 더 맞게 적용하는 방법이 등장했습니다.
아래 섹션에서는 W 형태 개발 프로세스의 V&V 단계를 살펴볼 것입니다. 이 프로세스에 대한 자세한 내용은 아래 참고 자료를 참조하십시오.
더 알아보기
- AI 인증으로 가는 길: AI에서 검증 및 확인의 중요성 - 블로그
- 항공 딥러닝 시스템 검증 - 예제
- EASA 인공 지능 로드맵 2.0 발표 - 보도자료
이 프로세스의 실제 사례를 보여주기 위해 이 백서에서는 흉부 엑스레이 영상을 분석해 환자가 폐렴을 앓고 있는지 여부를 식별하도록 설계된 의료 AI 시스템의 개발 과정을 단계별로 살펴봅니다. 다음 사례 연구에서는 안전 필수 응용 사례에서 AI의 강점과 해결 과제를 집중 조명하며, 유해한 오진 방지를 위해 영상 분류 모델이 정확성과 강인성을 모두 갖춰야 하는 이유를 보여줄 것입니다.
W 형태 개발 프로세스의 전반부를 통해 AI 모델이 요구되는 표준을 충족하고 실제 응용 사례에서 안정적으로 동작하도록 할 수 있습니다.
ML 컴포넌트 관리에 할당된 요구사항
W-사이클의 첫 단계는 머신러닝 컴포넌트에 특화된 요구사항을 수집하는 것입니다. 주요 고려 사항으로는 모델의 구현, 테스트, 설명 가능성 등이 있습니다. Requirements Toolbox™를 사용하면 요구사항 작성, 연결 및 확인을 촉진할 수 있습니다. (그림 3)
그림 3. Requirements Editor 앱은 머신러닝 컴포넌트의 요구사항을 수집합니다.
데이터 관리
W-사이클의 다음 단계는 데이터 관리로, 이 단계는 레이블 지정된 데이터가 요구되는 지도 학습에 필수적입니다. MATLAB®은 대화형 방식의 자동화된 레이블 지정을 위해 영상 레이블 지정기 및 신호 레이블 지정기와 같은 레이블 지정 앱을 제공합니다. 확장성을 위해 영상 파일을 구조화하는 imageDatastore를 사용하면 폐렴 탐지 훈련을 위한 영상 데이터와 같은 대규모 영상 데이터셋을 관리할 수 있습니다.
trainingDataFolder = "pneumoniamnist\Train"; imdsTrain = imageDatastore(trainingDataFolder,IncludeSubfolders=true,LabelSource="foldernames"); countEachLabel(imdsTrain)
학습 프로세스 관리
훈련에 앞서 알고리즘, 손실 함수, 하이퍼파라미터를 비롯한 신경망 아키텍처와 훈련 옵션을 최종 확정하는 것이 필수입니다. 심층 신경망 디자이너 앱을 사용하면 신경망의 대화형 방식 설계 및 시각화가 가능합니다. 다음 코드는 영상 분류를 위한 CNN(컨벌루션 신경망)의 아키텍처를 정의합니다.
numClasses = numel(classNames);
layers = [
imageInputLayer(imageSize,Normalization="none")
convolution2dLayer(7,64,Padding=0)
batchNormalizationLayer()
reluLayer()
dropoutLayer(0.5)
averagePooling2dLayer(2,Stride=2)
convolution2dLayer(7,128,Padding=0)
batchNormalizationLayer()
reluLayer()
dropoutLayer(0.5)
averagePooling2dLayer(2,Stride=2)
fullyConnectedLayer(numClasses)
softmaxLayer];
최적의 하이퍼파라미터를 찾는 과정은 복잡할 수 있지만, 실험 관리자 앱을 사용하면 스위핑 또는 베이즈 최적화를 통해 다양한 값을 탐색하여 이 작업을 용이하게 수행할 수 있습니다. (그림 4) 여러 훈련 구성을 병렬로 테스트하고, 사용 가능한 하드웨어를 활용해 프로세스를 간소화할 수 있습니다.
모델 훈련 및 초기 확인
훈련 단계는 실험 관리자 앱에서 실험을 실행하는 것으로 시작되며, 이를 통해 준수한 정확도(검증 세트에 대해 약 96%)를 갖춘 초기 모델이 생성됩니다. 그러나 강인성과 같은 미리 정의된 요구사항을 완전히 충족하지는 못합니다. W-사이클은 반복적이므로 추가적인 개선이 필요합니다.
더 알아보기
모델 성능 테스트 및 이해
이 모델은 적대적 표본에 대한 강인성을 개선하기 위해 FGSM(빠른 기울기 부호 방법) 적대적 훈련을 사용하여 훈련되었습니다. 정확도는 90% 이상으로, 사전 정의된 요구사항과 벤치마크를 초과 달성했습니다. 성능을 더 잘 이해하기 위해 혼동행렬을 사용하여 오차 패턴을 분석했으며, Grad-CAM(그림 6)과 같은 설명 가능성 기법은 모델의 결정에 대한 해석 가능성과 신뢰를 개선하는 시각적 인사이트를 제공했습니다.
적대적 표본
적대적 표본은 신경망의 오분류를 유발할 수 있는 입력에 대한 미세하고 감지하기 어려운 변화로, 의료 영상과 같은 안전 필수 작업에서 강인성에 대한 우려를 제기할 수 있습니다. (그림 7)
L-Infinity 노름
L-Infinity 노름을 사용해 적대적 섭동을 이해하고 정량화할 수 있습니다. (그림 8) 이 노름은 픽셀 값이 변경될 수 있는 범위를 정의합니다. 결과적으로 테스트해야 할 가능한 조합이 무수히 많아지므로 모든 시나리오를 평가하기가 어렵게 됩니다.
강인성의 정형 검증
정형 검증 방법은 수학적인 접근법을 통해 다양한 잠재 적대적 표본에 대한 신경망의 강인성을 평가하고 보장하기 위한 체계적인 방법을 제공합니다. Deep Learning Toolbox™ Verification Library는 추상 해석과 같은 정형 검증 방법을 제공합니다. 테스트 세트의 영상이 주어지면 특정 영상에 대해 대량의 섭동된 영상 모음을 정의하는 섭동을 선택할 수 있습니다. (그림 9)
각 영상에는 다음 세 가지 가능한 결과가 있습니다.
- 검증—출력 레이블이 일관적입니다.
- 위반—출력 레이블이 변경됩니다.
- 미검증—추가 검증 또는 모델 개선이 필요합니다.
학습 외 분포 탐지
신뢰할 수 있는 AI 시스템은 알려진 맥락에서 정확한 예측을 생성해야 합니다. 또한 모델에 알려지지 않은 표본을 식별하고 이를 거부하거나, 안전한 처리를 위해 인간 전문가에게 판단을 넘길 수도 있어야 합니다. Deep Learning Toolbox Verification Library를 사용하면 OOD(학습 외 분포) 데이터 판별기를 만들어 각 관측값에 대해 분포 신뢰도 점수를 계산함으로써 신경망 예측에 대한 신뢰도를 부여할 수 있습니다. (그림 10) 또한 이 판별기는 학습 내 분포 데이터와 OOD 데이터를 구분하기 위한 임계값을 제공합니다.
더 알아보기
학습 프로세스가 검증되면 AI 모델을 실제 응용 사례에 맞게 조정하는 것으로 초점이 전환됩니다. W 형태의 개발 프로세스의 마지막 단계에서는 모델 배포를 준비하고 모델이 운영 요구사항을 충족하는 작업이 이루어집니다.
모델 구현 및 코드 생성
W 형태의 개발 워크플로의 학습 프로세스 검증에서 모델 구현으로의 전환은 AI 모델이 정교화 단계에서 실제 응용 사례로 이동하는 시점에 수행됩니다. MATLAB 및 Simulink®를 사용한 코드 생성은 훈련된 모델에서 배포 가능한 코드(예: C/C++ 또는 CUDA®, 그림 11 참조)로의 변환을 자동화하여 수작업 코딩을 줄이고 오류를 최소화합니다.
MATLAB의 analyzeNetworkForCodegen 함수를 사용하여 딥러닝 모델이 코드 생성을 위한 준비가 되었는지 여부를 검증할 수 있습니다. 이를 통해 타겟 라이브러리와의 호환성이 보장되고, 안전 필수 응용 사례에서 타사 종속성이 없는 코드를 생성할 수 있습니다. 자동 코드 생성은 인증을 간소화하고 이식성을 개선하며 다양한 플랫폼에 걸쳐 안정적인 배포를 가능하게 해줍니다.
analyzeNetworkForCodegen(net) Supported _________ none "Yes" arm-compute "Yes" mkldnn "Yes" cudnn "Yes" tensorrt "Yes"
배포에서 메모리 최적화, 고정소수점 연산 또는 계산 효율성이 필요한 경우 Deep Learning Toolbox Model Quantization Library가 매우 효과적입니다. 양자화 및 가지치기 같은 기법으로 모델 크기와 계산 부하를 대폭 줄일 수 있습니다. 예를 들어, 심층 신경망 양자화기 앱을 사용하여 부동소수점에서 int8로 변환할 때 정확도는 단 0.7% 감소하지만 모델 압축률은 4배 증가합니다. (그림 12)
MATLAB Coder™ 및 GPU Coder™를 사용하면 C++ 및 CUDA 코드를 생성하여 속도와 저지연이 중요한 실시간 시스템에 AI 모델을 배포할 수 있습니다. 여기에는 GPU 가속을 위한 cuDNN 사용과 같이 타겟 언어와 딥러닝 설정을 구성하는 작업이 포함됩니다.
cfg = coder.gpuConfig("mex"); cfg.TargetLang = "C++"; cfg.GpuConfig.ComputeCapability = "6.1"; cfg.DeepLearningConfig = coder.DeepLearningConfig("cudnn"); cfg.DeepLearningConfig.AutoTuning = true; cfg.DeepLearningConfig.CalibrationResultFile = "quantObj.mat"; cfg.DeepLearningConfig.DataType = "int8"; input = ones(inputSize,"int8"); codegen -config cfg -args input predictCodegen -report
추론 모델의 검증 및 통합
추론 모델의 검증 및 통합 단계에서는 폐렴 탐지에 사용된 것과 같은 AI 모델이 이전에는 본 적 없는 새로운 데이터에 대해서도 안정적으로 동작하고 더 큰 의료 시스템에 원활하게 통합되는지 확인합니다.
모델을 C++ 및 CUDA로 변환한 후, 이 단계에서는 모델의 정확성을 검증하고, 런타임 모니터링, 데이터 수집 및 시각화에 대한 컴포넌트와 함께 모델을 전체 시스템 내에 내장합니다. Simulink에서 시스템을 시뮬레이션함으로써 모델이 실시간으로 효과적으로 동작하는지, 그리고 더 큰 시스템 내에서 성능을 유지하는지를 검증할 수 있습니다. (그림 13)
런타임 모니터는 익숙한 입력과 낯선 입력을 구분하는 데 도움이 될 수 있습니다. (그림 14) 데이터가 훈련 분포와 일치할 때 신뢰도 높은 예측을 녹색으로 표시하고, OOD 사례의 경우 빨간색으로 잠재적 이상을 표시합니다. 이 기능은 AI 시스템이 정확한 예측을 수행하고 익숙하지 않은 데이터를 식별하고 적절히 처리하도록 보장함으로써 AI 시스템의 안전성과 신뢰성을 강화합니다.
이 단계에서는 포괄적인 테스트 전략을 구현하는 것이 필수적입니다. MATLAB Test™ 또는 Simulink Test™를 사용하면 자동화된 테스트를 생성하여 AI 모델의 정확도, 성능, 전체 시스템 내에서의 통합을 철저하게 검증할 수 있습니다.
독립적인 데이터 및 학습 검증
독립적인 데이터 및 학습 검증 단계에서는 훈련, 확인, 테스트 데이터셋이 적절히 관리되고 완전하며 응용 사례의 입력 공간을 대표하는지 확인합니다. 타겟 플랫폼에서 추론 모델이 검증된 후 독립적인 검토가 수행됩니다. 또한 커버리지 분석을 포함한 학습 검증이 만족스럽게 완료되었는지도 이 단계에서 확인합니다.
요구사항 검증
요구사항 검증 단계에서는 모든 요구사항이 완전히 구현되고 테스트되었는지 확인함으로써 W 형태의 개발 프로세스를 종결합니다. Requirements Toolbox™를 사용해 함수와 테스트를 이에 대응하는 요구사항에 연결하여 개발 루프를 완성할 수 있습니다. 이러한 테스트를 Requirements Editor에서 실행하여 모든 요구사항이 성공적으로 충족되었는지 검증할 수 있습니다. (그림 15)
더 알아보기
요구사항 검증이 끝나면 W 형태의 개발 프로세스가 종결됩니다. 이 의료기기 예제에서는 이 프로세스의 철저하고 세심한 단계를 통해 폐렴 탐지를 위한 AI 모델이 정확하고 강인하며 배포 준비가 되었음을 확인했습니다. 요구사항을 특정 기능과 테스트에 연결함으로써 명확한 추적성을 확보하고 각 요구사항을 체계적으로 검증하여 모델이 의료 응용 사례의 엄격한 기준을 충족함을 확인할 수 있습니다. 이제 신뢰성 있는 툴을 배포하여 더 개선된 환자 진료를 지원할 수 있습니다.
웹사이트 선택
번역된 콘텐츠를 보고 지역별 이벤트와 혜택을 살펴보려면 웹사이트를 선택하십시오. 현재 계신 지역에 따라 다음 웹사이트를 권장합니다:
또한 다음 목록에서 웹사이트를 선택하실 수도 있습니다.
사이트 성능 최적화 방법
최고의 사이트 성능을 위해 중국 사이트(중국어 또는 영어)를 선택하십시오. 현재 계신 지역에서는 다른 국가의 MathWorks 사이트 방문이 최적화되지 않았습니다.
미주
- América Latina (Español)
- Canada (English)
- United States (English)
유럽
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)