다빈치 SW 공모전

'언택트 시대에 유용한 앱 혹은 서비스를 주제로한 SW 공모전으로
2020-2학기 비공학 전공 재학생 2인 이상이면 참가 가능합니다.

자세히 알아보기

캡스톤 디자인 경진대회

캡스톤 디자인 교과목 수행 결과물 또는 졸업 작품 심사
2019년 2학기, 2020년 1학기 중 한 학기 이상 캡스톤 디자인 교과목을
수강한 학생만 참가 가능합니다.

자세히 알아보기

PE연구활동 발표대회

PE연구/개발 활동을 수행하면서 얻어진 다양한 형태의 결과물
(논문형태의 결과보고서, 논문, 발명품, 작품, 콘텐츠 등)을 심사

자세히 알아보기

SW·AI 창업아이디어경진대회

SW 관련 전공 학부생 여러분!
반짝이는 SW창업 아이디어로 여러분의 미래를 바꾸십시오!

자세히 알아보기

SW·AI융합우수성과 발표회

SW융합전공 / 복수 전공 학생 여러분!
SW융합전공 / 복수전공을 이수하는 과정에서 얻어진 성과를 뽐내 주세요.

자세히 알아보기

다빈치 주니어 SW 작품대회

창의적인 아이디어와 소프트웨어를 활용한
멋진 SW 작품을 만들어 보세요!

자세히 알아보기

다빈치오픈소스 SW·AI 딥러닝 해커톤

4차 산업혁명을 견인하는 심층학습을 주제로한 SW·AI 딥러닝 해커톤으로
소프트웨어대학 재학생으로 구성된 2인 이하 팀으로 참가 가능합니다.

자세히 알아보기

코딩경진대회

소프트웨어 중심 대학으로서 중앙대학교의 소프트웨어 관련
교육 프로그램 성과를 공유합니다.

자세히 알아보기

PE연구활동 발표대회

  • DDD (Da-vinci Driven Design)

    등록자
    권준혁 (소프트웨어학부 | 4학년)
좋아요 38
  • 참여 목적 및 참여 당시 활동 목표
  • 딥러닝 시스템의 화이트박스 자동화 테스트 방식에 대한 연구

    연구개요 및 목표.PNG


    -------------------------------------------------------------

    참여 목적 : 
     - 연구실 생활을 경험하고 싶었다. 또한, 지도 하에 논문을 읽는 경험을 하고 싶었다.
     - 연구실의 연구분야(소프트웨어 공학)에 대해 자세히 알고 싶었다.

    활동 목표
     - 딥러닝 소프트웨어의 화이트박스 테스트에 관해 중요한 위치에 있는 DeepXplore 논문을 읽어서, 내용을 이해하고 정리한다.
     - 이를 위해 매주 논문을 일정부분 읽고, 해당 부분에 대해 대화와 논의를 나눠서 읽은 내용에 대한 이해를 높혔다.
     - 이해한 내용을 최종적으로 결과보고서에 적음으로서 정리하였다.

  • 연구 및 학습활동 결과
  • 연구내용.PNG
    1. 서 론
    최근에 딥러닝이 다양한 분야에서 화두에 오르고있다. 이에 따라 많은 딥러닝 소프트웨어가 개발되면서, 이러한 딥러닝 소프트웨어의 품질을 측정하고 테스트하는 것의 필요성 또한 높아졌다. 딥러닝 소프트웨어는 이러한 테스트를 진행하는데에 있어, 기존 소프트웨어와는 다른 특성을 지니고 있기 때문에, 기존 소프트웨어와는 다른 방식으로 진행해야한다. 따라서 딥러닝 소프트웨어의 테스트는 블랙박스 테스트 위주로 이루어지고, 화이트박스 테스트에 대해서는 제대로 이루어지지 않았는데, 로직이 사람이 작성한 코드로 나타나는 것이 아니라, 학습된 모델에 의해 결과가 도출되는 딥러닝 소프트웨어의 특수성 때문이다.
    DeepXplore에서는 딥러닝 소프트웨어에서 화이트박스 테스팅을 진행하기 위해, 뉴런 커버리지라는 평가기준을 제안해 다양한 실험을 진행했다. 딥러닝 소프트웨어 이 논문을 자세히 읽으면서 자세히 알아보기로 했다.
     
    2. 본론
    소프트웨어를 테스트하는 방법에는 화이트박스 테스트, 블랙박스 테스트가 있다. 딥러닝 소프트웨어는 어떠한 입력값을 주면 특정 출력값을 반환하는 소프트웨어로 볼 수 있기 때문에, 기존 소프트웨어에 적용하던 블랙박스 테스트를 적용할 수 있다. 하지만 화이트박스 테스트에서는 딥러닝 시스템은 기존 소프트웨어와는 다른 특성을 가지고있기 때문에 다른 방법을 사용해야 한다. 특히, 화이트박스 테스트에서 사용하는 평가기준 중 하나인 코드 커버리지(Code Coverage)는 로직 자체를 코드로 구현하는 방식인 기존 소프트웨어에 적용함에 있어 적절한 방식인 반면, 딥러닝 소프트웨어에서는 사람이 학습의 방향을 제시하고 로직 자체는 학습된 모델에서 나오기 때문에, 사용하기 적절하지 않다. 이렇게 기존 소프트웨어에 사용하던 평가기준들이 딥러닝 소프트웨어에 적용할 수 없는 상황에서, Kexin Pei 등은 뉴런 커버리지라는 새로운 평가기준을 제안하여 딥러닝 소프트웨어를 대상으로 화이트박스 테스팅을 하는 방법을 제안한다.[1]
    DeepXplore에서는 뉴런 커버리지라는 평가기준을 이용해, 기존 딥러닝 학습에서 문제되던 데이터 부족 문제를 해소할 수 있다. Oracle Check를 통과할 수 있는 한도에서 데이터를 변경하는데, 뉴런 커버리지를 올리는 방향으로 데이터 가공을 진행하게 된다. 이러한 데이터 가공은 자동으로 이루어지기에 딥러닝 학습에 문제가 되는 데이터 부족문제를 해소한다.
    DeepXplore에서는 정확도를 올리기 위해서 최소 3개 이상의 비슷한 동작으로 하는 DL 시스템을 사용해 정확도를 올린다. 최대한 다른 DL시스템과 차이나는 동작을 찾아내기 위해서 Joint Optimization Problemgradient ascentAlgorithm으로 풀어나간다. 대다수의 DL 시스템이 옮은 판단을 내릴것이라는 가정 하에, 일부 다른 동작을 하는 DL 시스템에 대해서 올바른 동작을 하게 수정한다.
    Empirical 한 결과로써 이렇게 뉴런 커버리지를 올리는 방향으로 데이터를 가공해 테스트를 진행하면 미처 딥러닝 시스템이 정확한 판단을 내리지 못하는 Corner Case를 파악하는데 도움이 된다는 것을 깨달았다. 이렇게 만든 데이터를 통해 다시 학습을 시킴으로써 Accuracy가 상승하는 결과를 관측하였다.

    3. 결론
    지금도 딥러닝 소프트웨어를 학습시키기 위해 다양한 평가기준이 제시되고, 이를 검증하는 실험과 논문이 생겨나고 있다. DeepXplore는 딥러닝 소프트웨어의 화이트박스 테스트를 위한 첫번째 평가기준을 제시했다는 점에서 의의가 있는 논문이라고 생각한다. 하지만 뉴런 커버리지는 뉴런 하나하나를 대상으로 테스트를 진행하는 것인데, 이것이 올바른 평가기준이라고 이 논문을 가지고는 단언 할 수 없다는 한계가 있다.
    최소 비슷한 딥러닝 시스템 3개가 필요하다는 것도 DeepXplore의 한계이다. 또한 대다수의 딥러닝 시스템이 옳은 판단을 한다고 가정했기 때문에, 대다수가 틀린 판단을 했을 경우에는 테스트가 원하는대로 진행되지 않을 수 있다.
     

     

  • 참여 소감 및 향후 계획
  • 기대효과.PNG
     - 학부연구생으로써 연구실 생활을 경험할 수 있었고, 논문 리딩 실력도 기를 수 있었다.
     - 딥러닝 소프트웨어를 테스트할 때는 기존의 소프트웨어에서 쓰던 방법과는 다른 방법을 사용해야하는 이유와, 그 방법에 대해 알 수 있었다.
     - 연구 과정에서 발견한 의문과 한계, 후속 연구에 대해 조사하기 위해 2학기 PE 프로그램을 신청하고자 결심하였다.

     

  • 증빙자료

좋아요 참여 38

  • 학년 별

  • 학과 별

중앙대학교 다빈치 sw tech fair 참가신청 닫기