KR20190090141A - 공동 학습을 이용한 기계학습 시스템 및 그 방법 - Google Patents

공동 학습을 이용한 기계학습 시스템 및 그 방법 Download PDF

Info

Publication number
KR20190090141A
KR20190090141A KR1020180008604A KR20180008604A KR20190090141A KR 20190090141 A KR20190090141 A KR 20190090141A KR 1020180008604 A KR1020180008604 A KR 1020180008604A KR 20180008604 A KR20180008604 A KR 20180008604A KR 20190090141 A KR20190090141 A KR 20190090141A
Authority
KR
South Korea
Prior art keywords
learning
learning module
teacher
student
module
Prior art date
Application number
KR1020180008604A
Other languages
English (en)
Other versions
KR102100973B1 (ko
Inventor
노용만
김성태
이홍주
위삼 자랄 알하즈 바다르
김학구
이영복
이재욱
유대훈
박주경
Original Assignee
주식회사 제네시스랩
한국과학기술원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 제네시스랩, 한국과학기술원 filed Critical 주식회사 제네시스랩
Priority to KR1020180008604A priority Critical patent/KR102100973B1/ko
Publication of KR20190090141A publication Critical patent/KR20190090141A/ko
Application granted granted Critical
Publication of KR102100973B1 publication Critical patent/KR102100973B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computational Linguistics (AREA)
  • Image Analysis (AREA)

Abstract

본 발명은 교사 학습 모듈 및 학생 학습 모듈을 공동으로 학습시키는 기술에 관한 것으로, 손실 함수를 이용하여, 입력 데이터의 특징을 추출하는 공유 엔진에서 분기(branch)된 교사 학습 모듈 및 학생 학습 모듈 사이의 오류 및 특성 차이를 최소화하는 단계 및 상기 손실 함수에 의해 상기 교사 학습 모듈 및 상기 학생 학습 모듈을 공동으로 학습시키는 단계를 포함한다.

Description

공동 학습을 이용한 기계학습 시스템 및 그 방법{MACHINE LEARNING SYSTEM USING JOINT LEARNING AND THE METHOD THEREOF}
본 발명은 공동 학습을 이용한 기계학습 시스템 및 그 방법에 관한 것으로, 보다 상세하게는 교사 학습 모듈 및 학생 학습 모듈을 공동으로 학습시키는 기술에 관한 것이다.
얼굴 표식 검출(Facial Landmark Detection; FLD)은 눈, 코, 콧대, 입, 눈썹 및 안면 윤곽과 같은 얼굴 부분 주위의 얼굴 핵심 포인트를 지역화하는(위치를 알아내는) 방법이다. FLD는 다양한 얼굴 관련 어플리케이션에서 중요한 역할을 수행하므로, 얼굴 분석에서 많은 주목을 받고 있다. 예를 들면, 얼굴 표식은 얼굴 인식과 머리­자세 평가에서 얼굴 검증 및 자세 조성에 사용된다. 또한, 최근 연구된 GAN(Generative Adversarial Network) 모델은 얼굴 표식을 통해 얼굴 이미지를 생성한다.
이전 연구의 대부분은 손으로 제작된 FLD를 기반으로 하였다. 예를 들어, Liang(Liang, L., Xiao, R., Wen, F., Sun, J.: Face alignment via component­based discriminative search. Computer Vision­ECCV 2008 72­85 (2008))의 연구 논문에서, 얼굴 표식 포인트는 반복 최적화를 통해 개선되었다. 또한, Burgos­Artizzu(Burgos­Artizzu, X.P., Perona, P., Dollㅱr, P.: Robust face landmark estimation under occlusion. In: Proceedings of the IEEE International Conference on Computer Vision, pp. 1513­1520. (2013))의 논문은 회귀 기반 접근법(RCPR이라 칭함)을 제안하였다.
이 외에 최근 FLD 연구는 컨볼루션 신경 네트워크(convolutional neural networks, CNN)에 초점을 맞추고 있다. 예를 들어, Sun(Sun, Y., Wang, X., Tang, X.: Deep convolutional network cascade for facial point detection. In: Proceedings of the IEEE conference on computer vision and pattern recognition, pp. 3476­3483. (2013))은 논문을 통해 FLD를 위한 3단계 CNN를 제안하였고, Zhang (Zhang, Z., Luo, P., Loy, C.C., Tang, X.: Learning deep representation for face alignment with auxiliary attributes. IEEE transactions on pattern analysis and machine intelligence 38,918­930 (2016))은 논문을 통해 다중 작업 학습 방법(TCDCN이라 칭함)을 제안하였다. 다만, 대부분의 CNN 기반의 FLD 방법들은 많은 수의 네트워크 파라미터 및 관련 연산 비용을 필요로 한다. 따라서, 이러한 방법들은 모바일 어플리케이션에 적합하지 않다. 이에, 제한된 환경에서 적은 파라미터를 가지는 컴팩트한 신경 네트워크가 요구된다.
최근 연구에서는 CNN 메모리 및 연산 비용 문제를 다루는데 중점을 두고 있다. 예를 들어, Howard(Howard, A.G., Zhu, M., Chen, B., Kalenichenko, D., Wang, W., Weyand, T., Andreetto, M., Adam, H.: Mobilenets: Efficient convolutional neural networks for mobile vision applications. arXiv preprint arXiv:1704.04861 (2017))는 논문을 통해 뎁스­와이즈(depth­wise) 분리가 가능한 컨볼루션을 사용하는 모바일넷(MobileNets)을 제안하였다. 상기 논문은 뎁스­와이즈 분리 가능한 컨볼루션과 1×1 포인트­와이즈 컨볼루션을 사용하여 컨볼루션 필터 파라미터의 수와 연산 복잡성을 감소시키는 내용을 제시하였다.
또한, Lee(Lee, T.K., Baddar, W.J., Kim, S.T., Ro, Y.M.: Convolution with Logarithmic Filter Groups for Efficient Shallow CNN. arXiv preprint arXiv:1707.09855 (2017))은 논문을 통해 대수(logarithmic) 그룹 필터를 갖는 컴팩트한 컨볼루션 레이어를 제안하였다. 또한, Lin(Lin, M., Chen, Q., Yan, S.: Network in network. arXiv preprint arXiv:1312.4400 (2013))은 완전 연결 레이어를 대체하기 위해 전역 평균 풀링(pooling)을 제안하여 파라미터를 감소시켰다.
또한, 전술한 바와 같이 완전 연결 레이어를 전역 평균 풀링으로 대체하는 컨볼루션 기술뿐만 아니라, 지식 증류(distillation) 방법 또한 네트워크 파라미터 감소에 유용하다.
상기 지식 증류 방법에서는 원래의 '교사' 네트워크에 대해 습득한 지식을 활용하여 '학생' 네트워크를 트레이닝한다. 이 때, 학생 네트워크는 사전에 트레이닝된 교사 네트워크를 모방하도록 트레이닝되었다. 이에 따라서, 사전에 트레이닝된 교사 네트워크가 필요하기 때문에 이 방법은 한계를 가지고 있다. 나아가, 사전에 트레이닝된 교사 네트워크가 없다면, 교사 네트워크 및 학생 네트워크를 트레이닝하는 경우, 너무 많은 시간이 소모된다는 문제점이 존재하였다.
본 발명의 목적은 기계학습 모델의 크기를 경량화하기 위해 교사 학습 모듈 및 학생 학습 모듈을 공동으로 학습시키는 시스템 및 방법을 제공하고자 한다.
또한, 본 발명의 목적은 모바일 어플리케이션을 목표로 하는 새로운 컴팩트한 기계학습 모델을 제안하며, 컴팩트한 기계학습 모델에 적용될 수 있는 새로운 교사 및 학생 공동 학습 방법을 제공하고자 한다.
본 발명의 실시예에 따른 공동 학습을 이용한 기계학습 방법은 손실 함수를 이용하여, 입력 데이터의 특징을 추출하는 공유 엔진에서 분기(branch)된 교사 학습 모듈 및 학생 학습 모듈 사이의 오류 및 특성 차이를 최소화하는 단계 및 상기 손실 함수에 의해 상기 교사 학습 모듈 및 상기 학생 학습 모듈을 공동으로 학습시키는 단계를 포함한다.
또한, 본 발명의 실시예에 따른 공동 학습을 이용한 기계학습 방법은 상기 학습된 학생 학습 모듈 및 상기 공유 엔진 각각의 네트워크 파라미터를 이용하여 상기 입력 데이터에 대한 분류(classification) 및 회귀(regression) 값을 추론하는 단계를 더 포함할 수 있다.
상기 분기된 교사 학습 모듈 및 학생 학습 모듈 사이의 오류 및 특성 차이를 최소화하는 단계는 세 가지 손실 함수 중 제1 손실 함수 및 제2 손실 함수를 이용하여 상기 교사 학습 모듈 및 상기 학생 학습 모듈의 표식 오류를 최소화하고, 제3 손실 함수를 이용하여 상기 교사 학습 모듈 및 상기 학생 학습 모듈 사이의 특성 차이를 최소화할 수 있다.
상기 손실 함수에 의해 상기 교사 학습 모듈 및 상기 학생 학습 모듈을 공동으로 학습시키는 단계는 상기 세 가지 손실 함수 중 최종 손실 함수에 의해, 상기 교사 학습 모듈을 모방하는 상기 학생 학습 모듈을 학습시킬 수 있다.
상기 손실 함수에 의해 상기 교사 학습 모듈 및 상기 학생 학습 모듈을 공동으로 학습시키는 단계는 컴팩트한 아키텍처(compact architectures)인 상기 학생 학습 모듈과, 완전 연결 레이어(fully­connected layer)를 포함하는 상기 교사 학습 모듈을 공동으로 학습되어 서로 모방하도록 할 수 있다.
상기 입력 데이터에 대한 분류 및 회귀 값을 추론하는 단계는 상기 공유 엔진 및 상기 학생 학습 모듈로부터 수신되는 상기 네트워크 파라미터에 따른 컴팩트한 기계 학습 모델을 통해 상기 입력 데이터에 대한 분류 및 회귀 값을 추론할 수 있다.
상기 기계학습 모델은 상기 교사 학습 모듈을 제거하고, 상기 학생 학습 모듈로부터 구성된 컴팩트 학습 모듈 및 상기 공유 엔진을 포함할 수 있다.
본 발명의 실시예에 따른 공동 학습을 이용한 기계학습 시스템은 손실 함수를 이용하여, 입력 데이터의 특징을 추출하는 공유 엔진에서 분기(branch)된 교사 학습 모듈 및 학생 학습 모듈 사이의 오류 및 특성 차이를 최소화하는 처리부 및 상기 손실 함수에 의해 상기 교사 학습 모듈 및 상기 학생 학습 모듈을 공동으로 학습시키는 공동 학습부를 포함한다.
또한, 본 발명의 실시예에 따른 공동 학습을 이용한 기계학습 시스템은 상기 학습된 학생 학습 모듈 및 상기 공유 엔진 각각의 네트워크 파라미터를 이용하여 상기 입력 데이터에 대한 분류(classification) 및 회귀(regression) 값을 추론하는 추론부를 더 포함할 수 있다.
상기 처리부는 세 가지 손실 함수 중 제1 손실 함수 및 제2 손실 함수를 이용하여 상기 교사 학습 모듈 및 상기 학생 학습 모듈의 표식 오류를 최소화하고, 제3 손실 함수를 이용하여 상기 교사 학습 모듈 및 상기 학생 학습 모듈 사이의 특성 차이를 최소화할 수 있다.
상기 공동 학습부는 상기 세 가지 손실 함수 중 최종 손실 함수에 의해, 상기 교사 학습 모듈을 모방하는 상기 학생 학습 모듈을 학습시킬 수 있다.
상기 공동 학습부는 컴팩트한 아키텍처(compact architectures)인 상기 학생 학습 모듈과, 완전 연결 레이어(fully­connected layer)를 포함하는 상기 교사 학습 모듈을 공동으로 학습되어 서로 모방하도록 할 수 있다.
상기 추론부는 상기 공유 엔진 및 상기 학생 학습 모듈로부터 수신되는 상기 네트워크 파라미터에 따른 컴팩트한 기계학습 모델을 통해 상기 입력 데이터에 대한 분류 및 회귀 값을 추론할 수 있다.
본 발명의 다른 실시예에 따른 공동 학습을 이용한 기계학습 시스템은 입력 데이터의 특징을 추출하는 공유 엔진에서 분기(branch)된 교사 학습 모듈 및 학생 학습 모듈을 공동으로 학습시켜, 상기 교사 학습 모듈을 모방하는 상기 학생 학습 모듈을 트레이닝하는 트레이닝부 및 상기 공유 엔진과 컴팩트 학습 모듈을 포함하는 컴팩트한 기계학습 모델을 구축하여 상기 입력 데이터에 대한 분류(classification) 및 회귀(regression) 값을 추론하는 테스트부를 포함한다.
상기 트레이닝부는 상기 공유 엔진 내 공유 계층(Shared layer)에 의해 인코딩된 특징을 상기 교사 학습 모듈 및 상기 학생 학습 모듈에 동일하게 공급하며, 상기 교사 학습 모듈 및 상기 학생 학습 모듈을 통해 상기 인코딩된 특징을 분류 및 회귀 값으로 변환할 수 있다.
상기 트레이닝부는 세 가지 손실 함수를 이용하여 상기 교사 학습 모듈 및 상기 학생 학습 모듈을 공동으로 학습시키는 트레이닝하는 것을 특징으로 하며, 세 가지 손실 함수 중 제1 손실 함수 및 제2 손실 함수를 이용하여 상기 교사 학습 모듈 및 상기 학생 학습 모듈의 표식 오류를 최소화하고, 제3 손실 함수를 이용하여 상기 교사 학습 모듈 및 상기 학생 학습 모듈 사이의 특성 차이를 최소화할 수 있다.
상기 테스트부는 상기 교사 학습 모듈을 제거하고, 상기 학생 학습 모듈로부터 상기 컴팩트 학습 모듈을 구성하여 구축된 상기 컴팩트한 기계학습 모델을 통해 상기 입력 데이터에 대한 분류 및 회귀 값을 추론할 수 있다.
본 발명의 실시예에 따르면, 학생 학습 모듈의 컴팩트한 아키텍처는 교사 학습 모듈의 완전 연결 레이어와 공동으로 학습되어 서로를 모방함으로써, 컴팩트한 기계학습 모델에 적용될 수 있다.
도 1은 본 발명의 실시예에 따른 공동 학습을 이용한 기계학습 시스템의 세부 구성에 대한 블록도를 도시한 것이다.
도 2는 본 발명의 다른 실시예에 따른 컴팩트한 기계학습 모델에 대해 제안된 교사 및 학생 공동 학습 방법의 적용 예를 도시한 것이다.
도 3은 본 발명의 실시예에 따른 교사 학습 모듈 및 학생 학습 모듈 간의 공동 학습 방식에 대한 세부 사항을 도시한 것이다.
도 4a 및 도 4b는 본 발명의 실시예에 따른 공동 학습을 이용한 기계학습 시스템의 성능을 검증한 실험 결과를 도시한 것이다.
도 5는 본 발명의 실시예에 따른 공동 학습을 이용한 기계학습 방법의 흐름도를 도시한 것이다.
이하, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 또한, 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
또한, 본 명세서에서 사용되는 용어(terminology)들은 본 발명의 바람직한 실시예를 적절히 표현하기 위해 사용된 용어들로서, 이는 시청자, 운용자의 의도 또는 본 발명이 속하는 분야의 관례 등에 따라 달라질 수 있다. 따라서, 본 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
최근 널리 보급된 모바일 어플리케이션에서는 메모리와 연산이 제한된 컴팩트한 신경 네트워크가 요구되고 있다. 이에, 본 발명의 실시예에 따른 공동 학습을 이용한 기계학습 시스템 및 그 방법을 이용한 하나의 예로 얼굴 표식 검출을 위한 컴팩트한 신경 네트워크인 얼굴 표식 검출 네트워크(compact Facial Landmark Detection; compact FLD)를 구축함으로써, 종래 기술의 문제점 및 한계점을 해결하고, 제한된 환경에서 적은 파라미터를 가지는 신경 네트워크를 제공하며, 기계학습 모델의 크기를 경량화하는 것을 그 요지로 한다.
얼굴 표식 검출은 얼굴 분석 어플리케이션에 필수적으로 필요한 정면(frontal) 모듈이다. 본 발명은 컴팩트한 얼굴 표식 검출 네트워크에 적용될 수 있는 새로운 교사 및 학생 공동 학습 방법을 제안한다.
다만, 이하에서는 '얼굴 표식 검출'의 랜드마크(Landmark) 검출에 초점을 맞춰 설명하였으나, 본 발명에서 제안하는 교사 및 학생 공동 학습 방법은 랜드마크 검출뿐만이 아닌 모든 추론 모델 예를 들면, 객체인식, 위치추론, 감성인식 등의 딥 네트워크 기술에 적용 가능하므로, 얼굴 표식 검출에 한정하지 않는다.
이하에서는, 도 1 내지 도 5를 참조하여 본 발명의 실시예에 따른 공동 학습을 이용한 기계학습 시스템 및 그 방법에 대해 보다 상세히 설명하고자 한다.
도 1은 본 발명의 실시예에 따른 공동 학습을 이용한 기계학습 시스템의 세부 구성에 대한 블록도를 도시한 것이고, 도 5는 본 발명의 실시예에 따른 공동 학습을 이용한 기계학습 방법의 흐름도를 도시한 것이다.
본 발명의 실시예에 따른 공동 학습을 이용한 기계학습 시스템(100)은 교사 학습 모듈 및 학생 학습 모듈을 공동으로 학습시킨다.
이를 위해, 본 발명의 실시예에 따른 공동 학습을 이용한 기계학습 시스템(100)은 처리부(110) 및 공동 학습부(120)를 포함한다. 이 때, 처리부(110) 및 공동 학습부(120)는 도 5의 단계들(510~520)을 수행하기 위해 구성될 수 있다.
단계 510에서, 처리부(110)는 손실 함수를 이용하여, 입력 데이터의 특징을 추출하는 공유 엔진(또는 공유 컨볼루션 네트워크, Shared convolution network)에서 분기(branch)된 교사 학습 모듈(또는 교사 회귀 네트워크, Teacher regression network) 및 학생 학습 모듈(또는 학생 회귀 네트워크, Student regression network) 사이의 오류 및 특성 차이를 최소화한다. 이 때, 상기 입력 데이터는 이미지 데이터, 오디오 데이터, 콘텐츠 데이터 등의 다양한 데이터일 수 있으므로, 한정하지 않는다.
처리부(110)는 세 가지 손실 함수를 이용하여 교사 학습 모듈 및 학생 학습 모듈 사이의 오류 및 특성 차이를 최소화할 수 있다. 예를 들어, 세 가지 종류의 손실 함수 중 제1 손실 함수 및 제2 손실 함수를 이용하여 교사 학습 모듈 및 학생 학습 모듈의 표식 오류를 최소화하고, 제3 손실 함수를 이용하여 교사 학습 모듈 및 학생 학습 모듈 사이의 특성 차이를 최소화할 수 있다. 이 때, 학생 학습 모듈은 세 가지 손실 함수 중 최종 손실 함수에 의해, 교사 학습 모듈을 모방할 수 있다.
예를 들면, 세 가지 손실 함수 중 두 개의 손실 함수는 교사 학습 모듈 및 학생 학습 모듈의 표식 오류를 최소화하고, 또 다른 손실 함수는 교사 학습 모듈 및 학생 학습 모듈 사이의 특성 차이를 최소화할 수 있다.
단계 520에서, 공동 학습부(120)는 손실 함수에 의해 교사 학습 모듈 및 학생 학습 모듈을 공동으로 학습시킨다.
예를 들면, 공동 학습부(120)는 세 가지 손실 함수 중 최종 손실 함수에 의해, 교사 학습 모듈을 모방하는 학생 학습 모듈을 학습시킬 수 있다.
본 발명의 실시예에 따른 공동 학습을 이용한 기계학습 시스템(100)에서 교사 학습 모듈 및 학생 학습 모듈은 공유 엔진을 통해 서로 연결되고, 이후에 분기(branch)된다. 이 때, 학생 학습 모듈은 컴팩트한 아키텍처(compact architectures)인 반면, 교사 학습 모듈은 큰 사이즈의 파라미터를 포함하는 완전 연결 레이어(fully­connected layer)를 포함하며, 교사 학습 모듈의 완전 연결 레이어와 학생 학습 모듈의 컴팩트한 아키텍처는 공동으로 학습되어 서로 모방할 수 있다. 즉, 본 발명의 실시예에 따른 공동 학습을 이용한 기계학습 시스템(100)에서 교사 학습 모듈 및 학생 학습 모듈은 공유 엔진과 동시에 학습된다. 이는 사전에 트레이닝된 교사 네트워크와 별도로 학습되는 학생 네트워크를 포함하는 기존의 교사 및 학생 학습과는 차별화된다.
또한, 공유 엔진은 입력 데이터에 대한 특징을 추출하며, 교사 학습 모듈 및 학생 학습 모듈 각각은 공유 엔진에 의해 인코딩된 특징을 사용하여 포인트(points)를 추정할 수 있다. 이에, 공유 엔진 내 공유 계층(Shared layer)에 의한 인코딩된 특징은 교사 학습 모듈 및 학생 학습 모듈에 동일하게 공급됨으로써, 교사 학습 모듈 및 학생 학습 모듈은 인코딩된 특징을 분류 및 회귀 값으로 변환할 수 있다.
도 1 및 도 5를 참조하면, 본 발명의 실시예에 따른 공동 학습을 이용한 기계학습 시스템(100)은 추론부(130)를 더 포함할 수 있으며, 추론부(130)는 도 5의 단계 530을 수행하기 위해 구성될 수 있다.
추론부(130)는 학습된 학생 학습 모듈 및 공유 엔진 각각의 네트워크 파라미터를 이용하여 입력 데이터에 대한 분류(classification) 및 회귀(regression) 값을 추론할 수 있다.
예를 들면, 추론부(130)는 공유 엔진과 컴팩트 학습 모듈(Compact regression network)를 포함하는 컴팩트한 기계학습 모델을 통해 입력 데이터에 대한 분류 및 회귀 값을 추론할 수 있다. 실시예에 따라서, 상기 기계학습 모델은 얼굴 표식 검출 네트워크(compact Facial Landmark Detection; compact FLD)일 수 있다.
상기 기계학습 모델은 공유 엔진 및 컴팩트 학습 모듈로 구성되며, 교사 학습 모듈은 제거되고, 학생 학습 모듈은 컴팩트 학습 모듈로 네트워크 파라미터를 전송할 수 있다. 이 때, 공유 엔진 및 학생 학습 모듈 각각은 컴팩트한 기계학습 모델로 네트워크 파라미터를 각각 전송할 수 있다. 이에, 추론부(130)는 컴팩트한 기계학습 모델을 통해 입력 데이터에 대한 분류 및 회귀 값을 추론할 수 있다.
즉, 본 발명의 실시예에 따른 공동 학습을 이용한 기계학습 시스템(100) 내 모든 프레임 워크는 학습이 가능하므로, 사전에 트레이닝된 기존의 교사 네트워크가 필요하지 않으며, 본 발명의 학생 학습 모듈은 교사 학습 모듈과 비슷한 성능을 달성할 수 있다.
도 2는 본 발명의 다른 실시예에 따른 컴팩트한 기계학습 모델에 대해 제안된 교사 및 학생 공동 학습 방법의 적용 예를 도시한 것이다.
도 2를 참조하면, 본 발명의 다른 실시예에 따른 공동 학습을 이용한 기계학습 시스템은 트레이닝부(또는 트레이닝 단계, 210) 및 테스트부(또는 테스트 단계, 220)를 포함한다.
트레이닝부(210)에서, 네트워크는 3개의 서브 모듈(211, 212, 213)로 구성된다.
첫 번째 네트워크는 입력 데이터의 특징을 추출하는 공유 엔진(또는 공유 컨볼루션 네트워크, Shared convolution network, 211)이다. 두 번째는 교사 학습 모듈(또는 교사 회귀 네트워크, Teacher regression network, 212)이고, 세 번째는 학생 학습 모듈(또는 학생 회귀 네트워크, Student regression network, 213)이다. 이에, 공유 엔진(211)은 입력 데이터에 대한 특징 맵을 추출하고, 트레이닝부(210)는 공유 엔진(211)에서 분기된 교사 학습 모듈(212) 및 학생 학습 모듈(213)을 공동으로 학습시켜, 교사 학습 모듈(212)을 모방하는 학생 학습 모듈(213)을 트레이닝한다.
도 2를 참조하여 예를 들면, 공유 엔진(211)은 입력 데이터(또는 인풋 이미지(Input image)) 내 얼굴 구성 요소의 특징 맵을 추출할 수 있고, 공유 엔진(211)의 특징 맵을 사용하여 교사 학습 모듈(212) 및 학생 학습 모듈(213)은 얼굴 표식 좌표(facial landmarks coordinates)를 추정할 수 있다. 이러한 교사 학습 모듈(212) 및 학생 학습 모듈(213)에서 얼굴 표식 포인트(facial landmark points, 도 2에서 이미지(image) 상의 초록색 점)는 공유 엔진(211)에 의해 인코딩된 특징을 통해 추정될 수 있다. 다만, 상기 입력 데이터는 이미지 데이터, 오디오 데이터, 콘텐츠 데이터 등의 다양한 데이터일 수 있으므로, 이미지에 한정하지 않는다.
트레이닝부(210)에서, 교사 학습 모듈(212) 및 학생 학습 모듈(213)은 공유 엔진(211)와 동시에 학습된다. 이 때, 교사 학습 모듈(212) 및 학생 학습 모듈(213)은 3가지 손실 함수로 공동 학습될 수 있다. 예를 들면, 3가지 손실 함수 중 두 가지 손실 함수를 이용하여 교사 학습 모듈(212) 및 학생 학습 모듈(213) 간의 추정된 표식 오차를 최소화하고, 또 다른 손실 함수를 이용하여 교사 학습 모듈(212) 및 학생 학습 모듈(213) 사이의 특징의 차이를 최소화할 수 있다. 나아가, 최종 손실 함수에 의해, 학생 학습 모듈(213)는 교사 학습 모듈(212)을 모방할 수 있게 된다.
즉, 트레이닝부(210)에서, 교사 학습 모듈(212) 및 학생 학습 모듈(213)은 공유 엔진(211)의 동일한 특징을 사용함으로써, 학생 학습 모듈(213)는 교사 학습 모듈(212)을 쉽게 모방할 수 있게 된다. 이러한 학습 과정을 통해 컴팩트 학습 모듈(221)은 파라미터 수가 적지만 우수한 성능을 유지할 수 있으며, 학생 학습 모듈(213)은 교사 학습 모듈(212)를 모방하므로 미리 트레이닝된 교사 네트워크(또는 교사 학습 모듈)를 필요로 하지 않게 된다.
다시 도 2를 참조하면, 테스트부(220)에서, 컴팩트한 기계학습 모델은 2개의 서브 모듈(211, 221)로 구성된다. 이 때, 상기 기계학습 모델은 얼굴 표식 검출 네트워크(compact Facial Landmark Detection; compact FLD)일 수 있다.
첫 번째 네트워크는 공유 엔진(211)이고, 두 번째 네트워크는 컴팩트 학습 모듈(또는 컴팩트 회귀 네트워크, Compact regression network, 221)이다. 이 때, 공유 엔진(211)은 트레이닝부(210)에서의 공유 엔진(211)로부터 네트워크 파라미터(Parameters)를 수신하고, 컴팩트 학습 모듈(221)은 트레이닝부(210)에서의 학생 학습 모듈(213)로부터 수신된 네트워크 파라미터를 사용한다.
이하에서는 하기의 [표 1]을 통해 기존 얼굴 표식 검출 네트워크(FLD)에서의 파라미터의 점유(Occupation)를 살펴보고자 한다.
[표 1]
Figure pat00001
[표 1]은 최근 보고된 얼굴 표식 검출 네트워크(FLD)의 파라미터 수를 나타낸다. 하나는 TCDCN이고, 다른 하나는 DCNN­I/C이다. 이 때, TCDCN은 Zhang, Z., Luo, P., Loy, C.C., Tang, X.: Learning deep representation for face alignment with auxiliary attributes. IEEE transactions on pattern analysis and machine intelligence 38,918­930 (2016)를 통해 보고되었으며, DCNN­I/C은 Baddar, W.J., Son, J., Kim, D.H., Kim, S.T., Ro, Y.M.: A deep facial landmarks detection with facial contour and facial components constraint. In: Image Processing (ICIP), 2016 IEEE International Conference on, pp. 3209­3213. IEEE, (2016)를 통해 보고되었다.
TCDCN은 하나의 완전 연결 레이어 및 하나의 출력 레이어를 포함하는 4개의 컨볼루션 레이어를 포함한 간단한 구조이다. DCNN­I/C는 두 개의 서브 네트워크로 구성된 FLD 네트워크이다. 이 때, DCNN­I/C에서 하나의 서브 네트워크(예를 들면, DCNN­C)는 얼굴 윤곽 표식을 검출하는데 사용되고, 다른 하나(예를 들면, DCNN­I)는 얼굴 구성을 검출하는데 사용될 수 있다. 이 때, 상기 DCNN­C는 하나의 완전 연결 레이어 및 하나의 출력 레이어를 포함하는 4개의 컨볼루션 레이어를 포함하고, DCNN­I는 3개의 공통 컨볼루션 레이어 및 5개의 내부 얼굴 구성 컨볼루션 레이어를 포함하며, 각 내부 얼굴 구성 컨볼루션 레이어는 자체적으로 완전히 연결된 레이어 및 출력 레이어를 포함한다.
즉, [표 1]을 참조하면, 모든 파라미터의 절반 이상이 완전 연결 레이어에 포함된다. 이러한 점에서, 본 발명의 실시예에 따른 공동 학습을 이용한 기계학습 시스템은 컴팩트한 얼굴 표식 검출 네트워크를 구축하여 완전 연결 레이어에서 파라미터의 수를 최소화할 수 있다.
다시 도 2를 참조하면, 본 발명의 실시예에 따른 공동 학습을 이용한 기계학습 시스템의 테스트부(220)에서, 학생 학습 모듈(213)은 평평한 레이어 및 완전 연결 레이어 대신에 1×1의 컨볼루션 및 전역 평균 풀링(pooling)을 사용하기 때문에 네트워크 파라미터가 크게 감소할 수 있다. 또한, 학생 학습 모듈(213)은 교사 학습 모듈(212)을 모방할 수 있도록 트레이닝 되었기 때문에, 교사 학습 모듈(212)에 필적하는 성능을 제공할 수 있다. 이에 따라서, 공유 엔진(211) 및 컴팩트 학습 모듈(221)로 구축된 컴팩트한 얼굴 표식 검출 네트워크(compact FLD)는 네트워크 파라미터의 수를 현저하게 감소시킬 수 있다.
도 3은 본 발명의 실시예에 따른 교사 학습 모듈 및 학생 학습 모듈 간의 공동 학습 방식에 대한 세부 사항을 도시한 것이다.
도 3을 참조하면, 공유 엔진 내 공유 계층(또는 공유 컨볼루션 레이어(Shared convolutional layers), 310)의 마지막 부분에서 교사 학습 모듈(320) 및 학생 학습 모듈(330)로 두 개의 네트워크가 분기(branch)된다. 이 때, 교사 학습 모듈(320)의 완전 연결 레이어는 T­FC(322)로 지칭하고, 학생 학습 모듈(330)의 해당 레이어는 STD­FC(332)로 지칭하며, STD­FC 레이어(332)는 1×1 컨볼루션(1×1 convolution)과 전역 평균 폴링(Global Average Pooling; GAP, 333)으로 구성된다. STD­FC(332) 및 T­FC(322)의 차원은 동일하다.
공유 계층(310)에 의해 인코딩된 특징은 교사 학습 모듈(320)과 학생 학습 모듈(330)에 동시에 공급된다. 상기 인코딩된 특징은 교사 학습 모듈(320) 및 학생 학습 모듈(330)를 통해 분류 및 회귀 값으로 변환된다. 이 때, 교사 학습 모듈(320) 및 학생 학습 모듈(330)의 입력은 공유 계층(310)에 의해 인코딩된 것과 동일한 것을 특징으로 한다.
상기 완전 연결 레이어는 CNN(Convolutional Neural Networks, 컨볼루션 신경 네트워크) 특징 맵을 표식 좌표로 변환하므로, 본 발명의 실시예에 따른 컴팩트한 기계학습 모델(예를 들면, 컴팩트한 얼굴 표식 검출 네트워크(compact Facial Landmark Detection; compact FLD))을 이용하는 기계학습 시스템에서 필수적인 역할을 수행한다.
이에 따라서, STD­FC 레이어(332)가 T­FC 레이어(322)를 모방하도록 공동 학습을 위해 지정된 손실 함수(loss function)가 필요하다. 이를 위해, 본 발명의 실시예에 따른 공동 학습을 이용한 기계학습 시스템에서 세 가지 손실 함수가 고안되었다.
세 가지 손실 함수 중 제1 손실 함수 L1는 교사 학습 모듈 출력(Teacher regression output, 321)의 추정된 오차 즉, 교사 학습 모듈(320)에 의한 얼굴 표식 검출을 최소화하는 역할을 수행한다. 제2 손실 함수 L2는 학생 학습 모듈 출력(Student regression output, 331)의 추정된 오차 즉, 학생 학습 모듈(330)에 의한 얼굴 표식 검출을 최소화하는 역할을 수행한다. 제3 손실 함수 L3는 T­FC 레이어(322)와 STD­FC 레이어(332)의 출력 벡터 간의 차이를 나타낸다. 세 가지 손실 조건 L1, L2, L3은 하기의 [수식 1]과 같이 수식화될 수 있다.
[수식 1]
Figure pat00002
[수식 1]에서, N은 트레이닝 이미지의 수를 나타내고, i는 입력 이미지의 인덱스를 나타내며,
Figure pat00003
는 실측 자료(ground truth) 얼굴 표식 좌표를 나타내고,
Figure pat00004
는 입력 이미지를 나타낸다.
또한, h(.)는 WCNN에 의해 파라미터화된 공유 엔진의 함수를 의미하며, f(.)는 WT에 의해 파라미터화된 교사 학습 모듈(320)의 함수를 의미하고, g(.)는 WSTD에 의해 파라미터화된 학생 학습 모듈(330)의 함수를 의미한다. 또한,
Figure pat00005
는 T­FC(322)의 출력 벡터이며,
Figure pat00006
는 STD­FC(332)의 출력 벡터이다.
분기된 포인트로부터의 총 손실은
Figure pat00007
와 같이 정의된다. 이 때,
Figure pat00008
은 각 손실의 중요도(정도)를 나타낸다. 모든 손실은 모든 네트워크와 공동으로 영향을 미치기 때문에, 파라미터를 적절하게 설정한다.
예를 들면, 트레이닝 단계에서, 교사 학습 모듈(320)은 최고의 성능을 달성해야 하기 때문에 지속적으로 트레이닝 되어야 한다. 교사 학습 모듈(320)이 최상의 성능을 달성하지 못하면 학생 학습 모듈(330) 또한 최상의 성능을 달성할 수 없게 된다. 이러한 최상의 성능을 달성하기 위해 처음부터 끝까지
Figure pat00009
로 고정하였다. 그런 다음 교사 학습 모듈(320), 학생 학습 모듈(330) 및 공유 엔진(또는 공유 컨볼루션 네트워크, Shared convolution network)에 공동으로 영향을 미치는
Figure pat00010
를 0부터 1까지 점진적으로 증가시킨다(즉, t번째 반복에서
Figure pat00011
). 실시예에 따라서, 초기에
Figure pat00012
로 설정하는 경우, 교사 학습 모듈(320)의 성능은 최상의 성능을 얻기 전에 포화 상태에 도달한다. 따라서, 트레이닝이 시작될 때에는 공유 엔진과 교사 학습 모듈(320)이 중점적으로 트레이닝되고, 이후 학생 학습 모듈(330)이 점차적으로 트레이닝된다.
하기의 [알고리즘 1]은 전술한 바와 같이 제안된 교사 및 학생 공동 학습 방법에 대해 설명한다.
[알고리즘 1]
Figure pat00013
도 4a 및 도 4b는 본 발명의 실시예에 따른 공동 학습을 이용한 기계학습 시스템의 성능을 검증한 실험 결과를 도시한 것이다.
도 4a 및 도 4b의 실험 결과에 대한 설명에 앞서, 실험에 사용된 기계학습 모델의 얼굴 표식 검출 네트워크(FLD) 및 실험 설정에 대해 설명하고자 한다.
본 발명에서 제안하는 컴팩트한 얼굴 표식 검출 네트워크(compact FLD)를 통한 공동 학습을 이용한 기계학습 시스템의 효과를 검증하기 위해 기존의 FLD 네트워크에 적용하였다. 이 때, TCDCN 및 수정된 DCNN­I/C(M­DCNN­I/C)인 두 개의 FLD 네트워크를 사용하였다.
TCDCN에서 네 개의 컨볼루션 레이어를 공유 엔진으로 간주하고, 마지막 컨볼루션 레이어의 특징은 교사 학습 모듈 및 학생 학습 모듈 각각에 제공된다. 제안된 교사 학습 모듈은 평평한 레이어(Flatten layer), 완전 연결 레이어 및 교사 회귀 출력 레이어로 구성되고, 학생 학습 모듈은 1×1 컨볼루션 레이어, 전력 평균 풀링 레이어 및 학생 회귀 출력 레이어로 구성된다.
M­DCNN­I/C는 얼굴 안쪽 부분과 얼굴 윤곽 부분을 통합한다. 이 때, DCNN­I/C 아키텍처에서 눈과 눈썹의 컨볼루션 레이어를 좌측 눈/우측 눈 및 좌측 눈썹/우측 눈썹 컨볼루션 레이어로 분리한다. M­DCNN­I/C는 세 개의 컨볼루션 레이어와 여덟 개의 얼굴 구성 요소 컨볼루션 레이어(좌측 눈썹, 우측 눈썹, 좌측 눈, 우측 눈, 콧대, 코, 입 및 얼굴 윤곽선)로 구성된다. 이 때, M­DCNN­I/C에서 공유 엔진은 3개의 컨볼루션 레이어 및 얼굴 구성 컨볼루션 레이어이다. 각 얼굴 구성 요소에 대한 컨볼루션 레이어는 자체 교사 학습 모듈과 학생 학습 모듈로 구분된다.
도 4a 및 도 4b의 실험에서는 최근 연구에서 널리 사용되는 벤치 마크 데이터 세트인 300­W에 대한 실험을 수행하였다. 상기 데이터 세트는 68개의 얼굴 표식 포인트와 얼굴 경계 박스를 제공한다. 본 발명의 트레이닝을 위한 데이터 세트는 AFW, HELEN, LFPW 및 IBUG의 하위 집합에서 수집되었다. 특히, 337개의 트레이닝 이미지는 AFW, 2000개의 트레이닝 영상은 HELEN, 811개의 트레이닝 영상은 LFPW 각각에서 수집된 것이다. 따라서, 총 트레이닝 이미지 수는 3,148이고, 테스트 이미지의 총 수는 689개이다.
이 때, 테스트 데이터 세트는 두 가지 유형의 테스트 세트로 구성된다. 하나는 LFPW(224개 테스트 이미지)와 HELEN(330개 테스트 이미지)의 공통 테스트 세트이고, 또 다른 테스트 데이터 세트는 IBUG(135개 테스트 이미지)로부터의 과제 세트이다. 상기 과제 세트에는 교합(occlusions), 일루미네이션 변형, 머리 자세 및 표현과 같은 과제 조건이 포함된다. 본 발명은 초과 적용(overfitting)을 방지하고, 트레이닝 데이터 변형을 증가시키기 위해 데이터 증가를 수행하였으며, 이미지 번역, 회전 및 확대/축소를 실행하여 트레이닝 이미지의 수를 증가시켰다.
전술한 바와 같은 설정을 기반으로 실험을 진행하였으며, 본 발명의 컴팩트한 얼굴 표식 검출 네트워크(compact Facial Landmark Detection; compact FLD)에 대한 성능을 검증하기 위해 네트워크 성능을 평가하였다. 이 때, 평균 오차(Mean error)는 하기의 [수식 2]를 통해 추정된 표식과 실측 자료(ground truth) 사이의 거리 척도로서 산출된다.
[수식 2]
Figure pat00014
[수식 2]에서, N는 이미지의 수를 나타내고, M은 표식(landmarks)의 수를 나타내며, j는 표식 포인트(landmark points)의 지수를 나타내다. 또한, o는 출력(output)을 나타내며, g는 실측 자료(ground truth)를 나타내고, l 및 r은 각각 좌측 눈과 우측 눈의 좌표를 나타낸다.
본 발명에서 제안하는 컴팩트한 얼굴 표식 검출 네트워크(compact FLD)에 대한 성능을 평가하기 위해, 본 발명의 실시예에 따른 compact FLD를 통한 교사 및 학생 공동 학습 방법을 수작업 기반의 방법 및 딥러닝 기반의 방법을 포함한 다양한 기존 FLD 방법들과 비교하였다.
하기의 [표 2]는 기존 FLD 방법과, 68개의 얼굴 표식 포인트가 있는 300­W 데이터 세트의 본 발명의 실시예에 따른 컴팩트한 얼굴 표식 검출 네트워크 사이의 평균 오차 비교를 나타낸다.
[표 2]
Figure pat00015
[표 2]에서 볼 수 있듯이, 수작업 방법(Hand craft methods)의 경우 평균 오차는 6.3% 이상이고, 딥러닝 기반 방법(Deep learning based methods)은 300­W 데이터 세트의 수작업 방법보다 낮은 평균 오차를 달성하였다.
[표 2]에서 TCDCN­C는 본 발명의 실시예에 따른 compact FLD를 통한 교사 및 학생 공동 학습 방법에 의해 트레이닝된 TCDCN 네트워크의 컴팩트한 버전이고, M­DCNN­I/C­C는 본 발명의 실시예에 따른 compact FLD를 통한 교사 및 학생 공동 학습 방법으로 트레이닝된 M­DCNN­I/C의 컴팩트한 버전이다. 이 때, TCDCN­C 성능(5.40%)은 TCDCN(5.54%)과 비슷한 성능을 나타낸다. 또한, M­DCNN­I/C­C(4.95%)는 M­DCNN­I/C(4.92%)에 필적하는 성능을 달성하는 반면, 파라미터의 수는 크게 감소하였다(하기의 [표 3] 참고).
[표 3]
Figure pat00016
따라서, 전술한 바에 따라, 본 발명의 실시예에 따른 compact FLD를 통한 교사 및 학생 공동 학습 방법이 다양한 네트워크에 잘 적용될 수 있음을 보여준다.
[표 3]을 참조하여 네트워크 파라미터 수의 총 수를 평가하면, TCDCN은 네트워크 파라미터의 총 수가 312,244개에서 148,404개로 감소하였다(파라미터가 약 52% 감소됨). 특히, M­DCNN­I/C는 많은 수의 네트워크 파라미터(4,331,444개)를 갖는 반면, 본 발명의 실시예에 따른 compact FLD를 통한 교사 및 학생 공동 학습 방법을 M­DCNN­I/C에 적용한 후의 네트워크 파라미터의 총 수는 4,331,444개에서 399,284개로 현저하게 감소된 것을 알 수 있다(파라미터 약 90% 감소됨). 나아가, M­DCNN­I/CC는 DCNN­I/C의 파라미터 수([표 1]에서의 3,298,152개)보다 더 적은 파라미터를 가질 뿐만 아니라, DCNN­I/C([표 2]에서의 6.12%)의 오차율보다 더 적은 오차율을 나타낸다.
이하에서는 전술한 바와 같은 실험 설정 및 성능 비교를 기반으로, 본 발명의 실시예에 따른 compact FLD를 통한 교사 및 학생 공동 학습 방법에 대한 평가를 설명하고자 한다.
본 발명의 실시예에 따른 공동 학습을 이용한 기계학습 시스템은 학생 학습 모듈이 교사 네트워크의 사전 트레이닝 모델 없이도 교사 및 학생의 공동 학습에 의해 교사 학습 모듈을 모방하고자 하는 것이다. 이를 확인하기 위해 트레이닝 단계에서 각 주기(epoch)마다 테스트 이미지의 모든 평균 오차를 측정하였다. 트레이닝 단계에서 손실 균형 가중치는
Figure pat00017
로 설정되었다. 이 때,
Figure pat00018
Figure pat00019
는 0에서 1로 기하 급수적으로 증가하였다.
또한, 트레이닝 단계의 시작에서, 교사 학습 모듈 손실(L1)이 다시 우세하게 전파되었으며, 임의의 주기(epoch) 이후에 학생 학습 모듈은 L2와 L3로 점진적으로 트레이닝되었다. 트레이닝 단계의 후반부에서는 모든 손실 함수는 전체 네트워크를 트레이닝하기 위해 수행되었다.
도 4a 및 도 4b는 TCDCN과 M­DCNN­I/C인 두 네트워크 구조의 평균 오차에 대한 실험 결과를 도시한 것이다. 도 4a는 TCDCN의 실험 결과이고, 도 4b는 M­DCNN­I/C의 실험 결과이다.
도 4a 및 도 4b를 참조하면, 4개의 FLD 네트워크가 비교되는 것을 알 수 있다. '기존의 교사 학생 학습을 이용한 컴팩트한 FLD(compact FLD with the conventional teacher student learning)'는 기존의 교사 및 학생 학습 방법으로 트레이닝된 컴팩트한 네트워크(학생 모델)이다. 교사 모델(TCDCN, M­DCNN­I/C)과 학생 모델(공유 엔진 및 학생 학습 모듈로 구성)은 공동이 아닌 별도로 즉, 사전 트레이닝된 교사 모델을 모방한 학생 모델로 학습되었다.
반면, '교사 학습 모듈을 이용한 FLD(FLD with teacher regression network)'는 공유 엔진과 교사 학습 모듈로 구성된 FLD 네트워크이며, 학생 학습 모듈과 공동으로 트레이닝 된다.
도 4a 및 도 4b를 참조하면, 학생 학습 모듈은 TCDCN과 M­DCNN­I/C 모두에서 컴팩트한 얼굴 표식 검출 네트워크(compact Facial Landmark Detection; compact FLD)를 만들기 위해 잘 작동한 것을 알 수 있다. '교사 학습 모듈을 이용한 FLD(FLD with teacher regression network)'는 TCDCN 및 M­DCNN­I/C의 경우 모두 우수한 성능을 제공하였다. TCDCN­C의 성능은 '교사 학습 모듈을 이용한 FLD(FLD with teacher regression network)'의 성능을 잘 따르는 것을 알 수 있으며, M­DCNN­I/C의 경우, M­DCNN­I/C­C의 성능은 '교사 학습 모듈을 이용한 FLD(FLD with teacher regression network)' 및 M­DCNN­I/C의 성능과 거의 동일한 것을 알 수 있다.
즉, 도 4a 및 도 4b에 따른 실험 결과를 살펴보면, 본 발명의 실시예에 따른 공동 학습을 이용한 기계학습 시스템은 컴팩트한 얼굴 표식 검출 네트워크(compact Facial Landmark Detection; compact FLD)를 구축하는데 효과적이었음을 확인할 수 있다. 나아가, 실험 결과는 본 발명에서 제안된 컴팩트한 FLD(compact FLD)가 네트워크 파라미터의 수를 현저하게 감소시켰음을 나타내며, 기존의 교사 및 학생 네트워크보다 훨씬 낮은 오차율을 달성하였음을 나타내었다. 이러한 결과는 본 발명의 제안된 컴팩트한 FLD(compact FLD)가 모바일 어플리케이션에서 적은 수의 네트워크 파라미터로 높은 얼굴 표식 검출 네트워크(FLD) 성능을 제공할 수 있음을 나타낸다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD­ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기­광 매체(magneto­optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
100: 공동 학습을 이용한 기계학습 시스템
210: 트레이닝부(또는 트레이닝 단계)
220: 테스트부(또는 테스트 단계)
211: 공유 엔진
212, 320: 교사 학습 모듈
213, 330: 학생 학습 모듈
221: 컴팩트 학습 모듈
310: 공유 계층(또는 공유 컨볼루션 레이어)
321: 교사 학습 모듈 출력
322: T­FC 레이어
323: 평평한 레이어(Flatten layer)
331: 학생 학습 모듈 출력
332: STD­FC 레이어
333: 전역 평균 폴링

Claims (18)

  1. 손실 함수를 이용하여, 입력 데이터의 특징을 추출하는 공유 엔진에서 분기(branch)된 교사 학습 모듈 및 학생 학습 모듈 사이의 오류 및 특성 차이를 최소화하는 단계; 및
    상기 손실 함수에 의해 상기 교사 학습 모듈 및 상기 학생 학습 모듈을 공동으로 학습시키는 단계
    를 포함하는 공동 학습을 이용한 기계학습 방법.
  2. 제1항에 있어서,
    상기 학습된 학생 학습 모듈 및 상기 공유 엔진 각각의 네트워크 파라미터를 이용하여 상기 입력 데이터에 대한 분류(classification) 및 회귀(regression) 값을 추론하는 단계
    를 더 포함하는 공동 학습을 이용한 기계학습 방법.
  3. 제1항에 있어서,
    상기 분기된 교사 학습 모듈 및 학생 학습 모듈 사이의 오류 및 특성 차이를 최소화하는 단계는
    세 가지 손실 함수 중 제1 손실 함수 및 제2 손실 함수를 이용하여 상기 교사 학습 모듈 및 상기 학생 학습 모듈의 표식 오류를 최소화하고, 제3 손실 함수를 이용하여 상기 교사 학습 모듈 및 상기 학생 학습 모듈 사이의 특성 차이를 최소화하는 공동학습을 이용한 기계학습 방법.
  4. 제3항에 있어서,
    상기 손실 함수에 의해 상기 교사 학습 모듈 및 상기 학생 학습 모듈을 공동으로 학습시키는 단계는
    상기 세 가지 손실 함수 중 최종 손실 함수에 의해, 상기 교사 학습 모듈을 모방하는 상기 학생 학습 모듈을 학습시키는 것을 특징으로 하는 공동 학습을 이용한 기계학습 방법.
  5. 제1항에 있어서,
    상기 손실 함수에 의해 상기 교사 학습 모듈 및 상기 학생 학습 모듈을 공동으로 학습시키는 단계는
    컴팩트한 아키텍처(compact architectures)인 상기 학생 학습 모듈과, 완전 연결 레이어(fully­connected layer)를 포함하는 상기 교사 학습 모듈이 공동으로 학습되어 서로 모방하도록 하는 공동 학습을 이용한 기계학습 방법.
  6. 제2항에 있어서,
    상기 입력 데이터에 대한 분류 및 회귀 값을 추론하는 단계는
    상기 공유 엔진 및 상기 학생 학습 모듈로부터 수신되는 상기 네트워크 파라미터에 따른 컴팩트한 기계학습 모델을 통해 상기 입력 데이터에 대한 분류 및 회귀 값을 추론하는 공동 학습을 이용한 기계학습 방법.
  7. 제6항에 있어서,
    상기 기계학습 모델은
    상기 교사 학습 모듈을 제거하고, 상기 학생 학습 모듈로부터 구성된 컴팩트 학습 모듈 및 상기 공유 엔진을 포함하는 공동 학습을 이용한 기계학습 방법.
  8. 제1항 내지 제7항 중 어느 한 항의 방법을 수행하기 위하여 컴퓨터로 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램.
  9. 손실 함수를 이용하여, 입력 데이터의 특징을 추출하는 공유 엔진에서 분기(branch)된 교사 학습 모듈 및 학생 학습 모듈 사이의 오류 및 특성 차이를 최소화하는 처리부; 및
    상기 손실 함수에 의해 상기 교사 학습 모듈 및 상기 학생 학습 모듈을 공동으로 학습시키는 공동 학습부
    를 포함하는 공동 학습을 이용한 기계학습 시스템.
  10. 제9항에 있어서,
    상기 학습된 학생 학습 모듈 및 상기 공유 엔진 각각의 네트워크 파라미터를 이용하여 상기 입력 데이터에 대한 분류(classification) 및 회귀(regression) 값을 추론하는 추론부
    를 더 포함하는 공동 학습을 이용한 기계학습 시스템.
  11. 제9항에 있어서,
    상기 처리부는
    세 가지 손실 함수 중 제1 손실 함수 및 제2 손실 함수를 이용하여 상기 교사 학습 모듈 및 상기 학생 학습 모듈의 표식 오류를 최소화하고, 제3 손실 함수를 이용하여 상기 교사 학습 모듈 및 상기 학생 학습 모듈 사이의 특성 차이를 최소화하는 공동학습을 이용한 기계학습 시스템.
  12. 제11항에 있어서,
    상기 공동 학습부는
    상기 세 가지 손실 함수 중 최종 손실 함수에 의해, 상기 교사 학습 모듈을 모방하는 상기 학생 학습 모듈을 학습시키는 것을 특징으로 하는 공동 학습을 이용한 기계학습 시스템.
  13. 제9항에 있어서,
    상기 공동 학습부는
    컴팩트한 아키텍처(compact architectures)인 상기 학생 학습 모듈과, 완전 연결 레이어(fully­connected layer)를 포함하는 상기 교사 학습 모듈이 공동으로 학습되어 서로 모방하도록 하는 공동 학습을 이용한 기계학습 시스템.
  14. 제10항에 있어서,
    상기 추론부는
    상기 공유 엔진 및 상기 학생 학습 모듈로부터 수신되는 상기 네트워크 파라미터에 따른 컴팩트한 기계학습 모델을 통해 상기 입력 데이터에 대한 분류 및 회귀 값을 추론하는 공동 학습을 이용한 기계학습 시스템.
  15. 입력 데이터의 특징을 추출하는 공유 엔진에서 분기(branch)된 교사 학습 모듈 및 학생 학습 모듈을 공동으로 학습시켜, 상기 교사 학습 모듈을 모방하는 상기 학생 학습 모듈을 트레이닝하는 트레이닝부; 및
    상기 공유 엔진과 컴팩트 학습 모듈을 포함하는 컴팩트한 기계학습 모델을 구축하여 상기 입력 데이터에 대한 분류(classification) 및 회귀(regression) 값을 추론하는 테스트부
    를 포함하는 공동 학습을 이용한 기계학습 시스템.
  16. 제15항에 있어서,
    상기 트레이닝부는
    상기 공유 엔진 내 공유 계층(Shared layer)에 의해 인코딩된 특징을 상기 교사 학습 모듈 및 상기 학생 학습 모듈에 동일하게 공급하며, 상기 교사 학습 모듈 및 상기 학생 학습 모듈을 통해 상기 인코딩된 특징을 분류 및 회귀 값으로 변환하는 공동 학습을 이용한 기계학습 시스템.
  17. 제15항에 있어서,
    상기 트레이닝부는
    세 가지 손실 함수를 이용하여 상기 교사 학습 모듈 및 상기 학생 학습 모듈을 공동으로 학습시키는 트레이닝하는 것을 특징으로 하며,
    세 가지 손실 함수 중 제1 손실 함수 및 제2 손실 함수를 이용하여 상기 교사 학습 모듈 및 상기 학생 학습 모듈의 표식 오류를 최소화하고, 제3 손실 함수를 이용하여 상기 교사 학습 모듈 및 상기 학생 학습 모듈 사이의 특성 차이를 최소화하는 공동학습을 이용한 기계학습 시스템.
  18. 제15항에 있어서,
    상기 테스트부는
    상기 교사 학습 모듈을 제거하고, 상기 학생 학습 모듈로부터 상기 컴팩트 학습 모듈을 구성하여 구축된 상기 컴팩트한 기계학습 모델을 통해 상기 입력 데이터에 대한 분류 및 회귀 값을 추론하는 공동학습을 이용한 기계학습 시스템.
KR1020180008604A 2018-01-24 2018-01-24 공동 학습을 이용한 기계학습 시스템 및 그 방법 KR102100973B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180008604A KR102100973B1 (ko) 2018-01-24 2018-01-24 공동 학습을 이용한 기계학습 시스템 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180008604A KR102100973B1 (ko) 2018-01-24 2018-01-24 공동 학습을 이용한 기계학습 시스템 및 그 방법

Publications (2)

Publication Number Publication Date
KR20190090141A true KR20190090141A (ko) 2019-08-01
KR102100973B1 KR102100973B1 (ko) 2020-04-14

Family

ID=67615761

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180008604A KR102100973B1 (ko) 2018-01-24 2018-01-24 공동 학습을 이용한 기계학습 시스템 및 그 방법

Country Status (1)

Country Link
KR (1) KR102100973B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11677919B2 (en) 2020-12-02 2023-06-13 Samsung Electronics Co., Ltd. Image processing method and apparatus

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102232138B1 (ko) 2020-11-17 2021-03-25 (주)에이아이매틱스 지식 증류 기반 신경망 아키텍처 탐색 방법

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Chong Wang 외 2명. Model Distillation with Knowledge Transfer from Face Classification to Alignment and Verification. 2017.10.23. *
Hong Joo Lee 외 4명. Teacher and Student Joint Learning for Compact Facial Landmark Detection Network. 2018.01.13. *
Shan You. Learning from Multiple Teacher Networks. 2017년8월 *
Ya Li 외 3명. Classification and Representation Joint Learning via Deep Networks. 2017.08.25. *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11677919B2 (en) 2020-12-02 2023-06-13 Samsung Electronics Co., Ltd. Image processing method and apparatus

Also Published As

Publication number Publication date
KR102100973B1 (ko) 2020-04-14

Similar Documents

Publication Publication Date Title
Lemley et al. Deep learning for consumer devices and services: pushing the limits for machine learning, artificial intelligence, and computer vision
CN106920243B (zh) 改进的全卷积神经网络的陶瓷材质件序列图像分割方法
Wang et al. Joint object and part segmentation using deep learned potentials
Wang et al. Unsupervised learning of visual representations using videos
CN109740413A (zh) 行人重识别方法、装置、计算机设备及计算机存储介质
CN110210551A (zh) 一种基于自适应主体敏感的视觉目标跟踪方法
JP2020091922A (ja) 畳み込みニューラルネットワークにおける構造学習
KR20180057096A (ko) 표정 인식과 트레이닝을 수행하는 방법 및 장치
TW201706918A (zh) 作爲供神經網路的訓練準則的濾波器特異性
Yu et al. An object-based visual attention model for robotic applications
KR102306658B1 (ko) 이종 도메인 데이터 간의 변환을 수행하는 gan의 학습 방법 및 장치
Wang et al. Learning deep conditional neural network for image segmentation
KR20170038622A (ko) 영상으로부터 객체를 분할하는 방법 및 장치
Basharat et al. Time series prediction by chaotic modeling of nonlinear dynamical systems
US10872297B2 (en) Learning method and learning device for generating training data from virtual data on virtual world by using generative adversarial network, to thereby reduce annotation cost required in training processes of neural network for autonomous driving, and a testing method and a testing device using the same
KR102320999B1 (ko) 폴트 톨러런스 및 플럭츄에이션 로버스트를 위한 복수의 뉴럴 네트워크를 사용하여 흔들리는 카메라로 인해 생성된 비디오에서 지터링을 제거하기 위한 학습 방법 및 학습 장치, 그리고 이를 이용한 테스트 방법 및 테스트 장치
CN111881731A (zh) 基于人体骨架的行为识别方法、系统、装置及介质
US20220197312A1 (en) Event Camera Based Navigation Control
CN111428664A (zh) 一种基于人工智能深度学习技术的计算机视觉的实时多人姿态估计方法
CN114283246B (zh) 基于单目图像生成三维对象模型的方法
Vemprala et al. Representation learning for event-based visuomotor policies
KR20190090141A (ko) 공동 학습을 이용한 기계학습 시스템 및 그 방법
JP2020126622A (ja) 非最大値抑制を学習する併合ネットワークを利用した異種センサ融合のための学習方法及び学習装置{learning method and learning device for heterogeneous sensor fusion by using merging network which learns non−maximum suppression}
CN114492634A (zh) 一种细粒度装备图片分类识别方法及系统
CN117115911A (zh) 一种基于注意力机制的超图学习动作识别系统

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant