Douglas' Space
ANN기반의 인공지능시스템 개발 방법론 본문
딥러닝 기반의 모델을 함수의 집합이라고 생각할 수 있습니다. 따라서 독립적인 시스템으로 동작할 수 도 있고 더 큰 software system의 컴포넌트로 동작할 수도 있습니다. 어떠한 형태로 존재하던 ANN 기반의 인공지능시스템은 내부가 블랙박스와 같기 때문에 그 신뢰성을 검증하기가 어렸습니다. 이로 인해 일반 시스템보다 개발 및 시험평가에 있어서 각별한 관심이 요구되고 있습니다.
따라서 dependable software system 개발방법론에 따라 엄격히 개발하는 것이 오히려 AI시스템의 신뢰성을 높일 수 있다고 생각됩니다. 현재 AI시스템의 품질을 인증하는 별도의 인증제도를 준비하고 있을 정도로 주요 이슈가 되고 있습니다.
보통은 딥러닝 모델(DNN)을 하나의 컴포넌트로 취급할 수 있기 때문에 CSCI단위의 개발 절차를 준수하는 방향으로 진행됩니다. 기본적인 프로세스는 다음과 같습니다. 내용이 어려우신 분들이 많겠지만 향후 제안서 작성 등에 사용이 될 수도 있어 정리해 보았습니다. 기본적으로는 분석->설계->구현->시험평가의 4단계로 진행됩니다.
1. DNN 모델의 요구사항 분석
1.1 DNN 모델의 기능적 요구사항 분석
- DNN 모델의 입력과 출력에 대해 기술 함으로써 딥러닝을 통해 달성하고자
하는 문제를 정확하게 정의합니다.
- 출력데이터를 통해 달성하고자 하는 딥러닝의 모델의 성격이 부여가 됩니다.
- 입력데이터 요구사항은 입력 데이터의 성격을 규정짓는 관점에서의 feature 및
최적의 입력데이터를 구성할 수 있는 소스 등에 대해 정의 합니다.
1.2 DNN 모델의 비기능 요구사항의 분석
- DNN 모델의 개발환경과 실행환경에 대한 제약 사항을 정의합니다.
- DNN 모델의 입력 및 출력에 대한 설계 고려사항 또는 제약사항을 정의합니다.
- DNN 모델의 정확도 등 성능 또는 기타 품질요구사항 및 제약사항을 정의합니다.
특히 XAI 또는 AI시스템의 신뢰성 관점의 요구사항은 매우 중요한 요소라고 할 수
있습니다.
2. DNN 모델의 설계
2.1 DNN 모델의 개발환경을 위한 기술구조의 설계
- DNN 모델을 학습하기 위한 설계 결정사항으로 하드웨어 분산 환경,
사용할 딥러닝 프레임워크, 개발 언어 등을 결정 또는 설계합니다.
2.2 DNN 모델의 실행환경을 위한 기술구조의 설계
- DNN 모델이 실행이 되는 타켓 환경에 대한 설계 결정사항으로 하드웨어 분산 환경,
실행 딥러닝 프레임워크 및 모델 포멧 등을 결정 또는 설계합니다.
2.3 DNN 모델 학습, 확인 및 테스트 데이터의 설계
- ANN 모델을 학습하기 입출력 데이터의 구조, 학습, 확인 및 테스트를 위한 데이터
세트의 규모, batch 크기 및 epoch 등을 결정 또는 설계합니다.
2.4 DNN 모델 구조 설계
- DNN 모델의 구조를 위한 설계 결정사항 들로 DNN 계층의 구조 및 종류, 출력크기,
활성함수, learning rate, optimizer(하이퍼파라미터) 등을 결정 또는 설계합니다.
3. DNN 모델의 개발
3.1 DNN 모델의 데이터 준비
- DNN 모델 개발을 위해 설계된 학습, 확인 및 테스트를 위한 데이터를 수집, 변환 등
을 수행합니다.
3.2 DNN 모델의 구현
- DNN 모델을 실제로 개발환경에서 설계된 기술구조에 따라 구현하고, 설계된
하이퍼파라미터(모델 내의 존재하는 파라미터와 구별하여 브룸) 의 설정에 따라
학습 및 확인을 수행합니다.
3.4 DNN 모델의 저장 및 배포
- DNN 모델의 최종 확인후 실행환경에서 사용할 수 있도록 모델을 저장 또는
배포합니다.
4. DNN 모델의 시험평가
3.1 시험평가 계획 수립
- 최종 승인 또는 인증 수준까지 수행할 수 있는 시험평가 환경, 항목 및 일정 등을
수립합니다.
3.2 시험평가 절차 설계
- 기능 및 비기능 요구사항에 따라 최종 승인 또는 인증 수준까지 수행할 수 있는
테스트케이스 및 절차를 설계합니다.
3.3 시험평가 수행 및 보고
- 시험평가 계획에 있는 시험평가 환경을 구축하고, 시험평가 절차에 따라 시험평가를
수행하고 그 결과 보고서를 작성하여 최종 승인 또는 인증을 수행합니다.
'Computing Tech. Diary > Artificial Intelligence' 카테고리의 다른 글
데이타가 없으면 AI시스템을 개발할 수 없는가? (0) | 2022.04.28 |
---|---|
하이퍼 파라미터(Hyper Parameters) 란? (0) | 2022.04.28 |
인공지능이 그림을 그린다구요? (0) | 2022.04.28 |
활성화함수(activation function)에 대하여 (0) | 2022.04.28 |
Neuro AI (0) | 2022.04.28 |