Notice
Recent Posts
Recent Comments
Link
관리 메뉴

Douglas' Space

ANN기반의 인공지능시스템 개발 방법론 본문

Computing Tech. Diary/Artificial Intelligence

ANN기반의 인공지능시스템 개발 방법론

똘키아빠 2022. 4. 28. 16:07

딥러닝 기반의 모델을 함수의 집합이라고 생각할 수 있습니다. 따라서 독립적인 시스템으로 동작할 수 도 있고 더 큰 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 시험평가 수행 및 보고

          - 시험평가 계획에 있는 시험평가 환경을 구축하고, 시험평가 절차에 따라 시험평가를
            수행하고 그 결과 보고서를 작성하여 최종  승인 또는 인증을 수행합니다.

 

Comments