KR20180096469A - 딥 신경망을 이용한 정보 이전 방법 및 그 장치 - Google Patents

딥 신경망을 이용한 정보 이전 방법 및 그 장치 Download PDF

Info

Publication number
KR20180096469A
KR20180096469A KR1020170102269A KR20170102269A KR20180096469A KR 20180096469 A KR20180096469 A KR 20180096469A KR 1020170102269 A KR1020170102269 A KR 1020170102269A KR 20170102269 A KR20170102269 A KR 20170102269A KR 20180096469 A KR20180096469 A KR 20180096469A
Authority
KR
South Korea
Prior art keywords
neural network
deep neural
information flow
learned
information
Prior art date
Application number
KR1020170102269A
Other languages
English (en)
Other versions
KR102061935B1 (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 한국과학기술원
Publication of KR20180096469A publication Critical patent/KR20180096469A/ko
Application granted granted Critical
Publication of KR102061935B1 publication Critical patent/KR102061935B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0454

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Image Analysis (AREA)

Abstract

딥 신경망을 이용한 정보 이전 방법 및 그 장치가 개시된다. 본 발명의 일 실시예에 따른 정보 이전 방법은 이미 학습된 제1 딥 신경망의 레이어들 간 정보 흐름을 정의하는 단계; 및 상기 정의된 정보 흐름을 이용하여 학습시키고자 하는 제2 딥 신경망을 학습시키는 단계를 포함하고, 상기 정의하는 단계는 두 레이어 사이의 특성들 간의 흐름을 상기 정보 흐름으로 정의하며, 상기 흐름은 두 벡터 간의 방향성을 나타내는 내적을 사용한 매트릭스로 정의될 수 있다.

Description

딥 신경망을 이용한 정보 이전 방법 및 그 장치 {Knowledge Transfer Method Using Deep Neural Network and Apparatus Therefor}
본 발명은 정보 이전(knowledge transfer) 기술에 관한 것으로서, 보다 구체적으로 딥 신경망을 구성하는 레이어 간의 상관관계에 대응하는 정보 흐름을 이용하여 새로운 딥 신경망에 정보를 전달할 수 있는 정보 이전 방법 및 그 장치에 관한 것이다.
DNN(Deep Neural Network)은 매우 다양한 분야에서 높은 성능을 자랑하고 있다. 특정 태스크에 맞게 DNN를 설계하고 이를 학습하게 되는데, 대부분의 학습된 DNN은 단순히 추론을 하는 데에만 사용한다. 하지만 이는 이미 학습된 DNN의 능력을 모두 사용했다고 할 수 없다.
이미 학습된 네트워크의 능력을 보다 충분히 사용하는 방법 중 하나는 네트워크의 유용한 정보를 추출하고 이를 새로운 네트워크에 전달하는 것이다. 이를 정보 이전(Knowledge transfer) 기술이라 하고, 기존의 많은 연구자들은 이러한 기술에 대해 연구를 진행하였다.
종래의 정보 이전 기술에 대한 일 예는, 다크 정보(Dark knowledge)라는 기술을 이용하여 이미 학습된 네트워크의 출력 특성(output feature)을 소프트하게(softened) 하여 이를 그대로 새로운 네트워크도 만들게끔 학습을 하였다.
종래의 정보 이전 기술에 대한 다른 일 예는, 가장 마지막에 있는 출력 특성 뿐만이 아니라 중간에 있는 특성도 동일하게 만들게 하는 로스(loss)를 줌으로써 새로운 네트워크가 티쳐(teacher) 네트워크의 특성을 흉내 낼 수 있게 하였다.
하지만, 이러한 기존 기법인 학생(student) DNN으로 하여금 티쳐(teacher) DNN이 생성해내는 특성을 정확히 같이 만들라고 하는 것은 매우 힘든 일이 될 수 있고, 이는 단순히 티쳐 DNN을 흉내 내는 일이라고 할 수 있다.
따라서, 새로운 방식의 정보 이전 기술의 필요성이 대두된다.
본 발명의 실시예들은, 딥 신경망을 구성하는 레이어 간의 상관관계에 대응하는 정보 흐름을 이용하여 새로운 딥 신경망에 정보를 이전(또는 전달)할 수 있는 정보 이전 방법 및 그 장치를 제공한다.
본 발명의 일 실시예에 따른 정보 이전 방법은 이미 학습된 제1 딥 신경망의 레이어들 간 정보 흐름을 정의하는 단계; 및 상기 정의된 정보 흐름을 이용하여 학습시키고자 하는 제2 딥 신경망을 학습시키는 단계를 포함한다.
상기 정의하는 단계는 두 레이어 사이의 특성들 간의 흐름을 상기 정보 흐름으로 정의하며, 상기 흐름은 두 벡터 간의 방향성을 나타내는 내적을 사용한 매트릭스로 정의될 수 있다.
상기 학습시키는 단계는 상기 제2 딥 신경망의 정보 흐름이 상기 제1 딥 신경망의 정보 흐름과 똑같아지도록 상기 제2 딥 신경망의 정보 흐름을 학습시킬 수 있다.
상기 학습시키는 단계는 상기 제2 딥 신경망의 정보 흐름이 상기 제1 딥 신경망의 정보 흐름과 똑같아지도록 유클리드 로스(Euclidean loss)를 이용하여 상기 제2 딥 신경망의 정보 흐름을 학습시킬 수 있다.
상기 학습시키는 단계는 상기 정보 흐름이 학습된 제2 딥 신경망의 웨이트(weight)를 초기 웨이트로 하는 분류 로스(classification loss)를 사용한 분류 태스크를 수행함으로써, 상기 제2 딥 신경망을 학습시킬 수 있다.
본 발명의 일 실시예에 따른 정보 이전 장치는 이미 학습된 제1 딥 신경망의 레이어들 간 정보 흐름을 정의하는 정의부; 및 상기 정의된 정보 흐름을 이용하여 학습시키고자 하는 제2 딥 신경망을 학습시키는 학습부를 포함한다.
상기 정의부는 두 레이어 사이의 특성들 간의 흐름을 상기 정보 흐름으로 정의하며, 상기 흐름은 두 벡터 간의 방향성을 나타내는 내적을 사용한 매트릭스로 정의될 수 있다.
상기 학습부는 상기 제2 딥 신경망의 정보 흐름이 상기 제1 딥 신경망의 정보 흐름과 똑같아지도록 상기 제2 딥 신경망의 정보 흐름을 학습시킬 수 있다.
상기 학습부는 상기 제2 딥 신경망의 정보 흐름이 상기 제1 딥 신경망의 정보 흐름과 똑같아지도록 유클리드 로스(Euclidean loss)를 이용하여 상기 제2 딥 신경망의 정보 흐름을 학습시킬 수 있다.
상기 학습부는 상기 정보 흐름이 학습된 제2 딥 신경망의 웨이트(weight)를 초기 웨이트로 하는 분류 로스(classification loss)를 사용한 분류 태스크를 수행함으로써, 상기 제2 딥 신경망을 학습시킬 수 있다.
본 발명의 실시예들에 따르면, 딥 신경망을 구성하는 레이어 간의 상관관계에 대응하는 정보 흐름을 이용하여 새로운 딥 신경망에 정보를 이전(또는 전달)할 수 있다.
본 발명의 실시예들에 따르면, 기존의 방법들에 비해 덜 제한적이며 자유롭고, 압축 시 성능 면에서 기존 방법에 비해 뛰어난 효과가 있다.
본 발명의 실시예들에 따르면, 딥 신경망을 이용한 영상 인식, 물체 인식, 판별 및 오류 검출 등 다양한 분야에서 학습 속도를 향상시킬 수 있으며, 컴퓨터에 비해서 메모리와 연산 능력이 제한적인 스마트 디바이스 예를 들어, 스마트폰, 스마트 와치 등에서 기존의 방법들보다 높은 성능을 기대할 수 있다.
도 1은 본 발명의 일 실시예에 따른 정보 이전 방법에 대한 동작 흐름도를 나타낸 것이다.
도 2는 정보 흐름을 정의하는 과정을 설명하기 위한 일 예시도를 나타낸 것이다.
도 3은 정보 흐름을 이용하여 DNN을 학습하는 과정을 설명하기 위한 일 예시도를 나타낸 것이다.
도 4는 본 발명의 방법에 대한 결과의 일 예시도를 나타낸 것이다.
도 5는 본 발명의 일 실시예에 따른 방법을 설명하기 위한 일 예시도를 나타낸 것이다.
도 6은 본 발명의 일 실시예에 따른 정보 이전 장치에 대한 구성을 나타낸 것이다.
이하, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 또한, 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
본 발명의 실시예들은, 딥 신경망을 구성하는 레이어 간의 상관관계를 정보 흐름으로 정의하고, 이렇게 정의된 정보 흐름을 이용하여 새로운 딥 신경망 예를 들어, 학생 DNN에 정보를 이전(또는 전달)하는 것을 그 요지로 한다.
여기서, 본 발명은 미리 학습된 제1 DNN 예를 들어, 티쳐 DNN을 구성하는 레이어들 간의 상관관계 즉, 정보의 흐름을 학습시키고자 하는 제2 DNN을 구성하는 레이어들 간의 정보 흐름과 같도록 제2 DNN을 학습시킬 수 있다.
도 1은 본 발명의 일 실시예에 따른 정보 이전 방법에 대한 동작 흐름도를 나타낸 것이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 정보 이전 방법은 이미 학습된 제1 딥 신경망(DNN) 예를 들어, 티쳐 DNN을 구성하는 레이어들 간 정보 흐름을 정의한다(S110).
여기서, 단계 S110은 이미 학습된 티쳐 DNN을 구성하는 레이어들에서 두 레이어들 사이의 특성들 간의 흐름을 정의할 수 있으며, 흐름은 두 레이어의 특성들 간의 내적을 계산함으로써, 정의될 수 있다. 또한, 흐름은 두 레이어의 특성들에 대한 두 벡터 간의 방향성을 나타내는 내적을 사용한 매트릭스로 정의될 수도 있다.
예를 들어, 단계 S110은 도 2에 도시된 바와 같이, 티쳐 DNN을 구성하는 레이어의 입력과 출력 간의 특성들(feature map)을 이용하여 티쳐 DNN의 정보 흐름을 나타내는 매트릭스 예를 들어, Gram Matrix 또는 FSP(Flow of Solving a Problem) Matrix로 정보 흐름을 정의할 수 있다. 이렇게 정의된 정보 흐름 또는 매트릭스는 학습시키고자 하는 새로운 DNN 예를 들어, 학생 DNN을 학습시키는데 사용될 수 있다(transfer the distilled knowledge).
예컨대, 두 레이어 간의 흐름을 나타내는 매트릭스가 G라고 가정하면, G는
Figure pat00001
로 나타낼 수 있으며,
Figure pat00002
는 한 레이어의 i번째 채널 특성을 의미하고,
Figure pat00003
는 또 다른 레이어의 j번째 채널 특성을 의미할 수 있다.
본 발명에서는 티쳐 DNN의 입력 공간(input space)에서 출력 공간(output space)로 만드는 정보의 흐름이 학생 DNN을 빠르게 학습시킬 수 있는 중요한 특성이 되며, 이러한 정보 흐름은 티쳐 DNN을 구성하는 레이어들 간의 상관 관계로 정의할 수도 있다.
단계 S110에 의해 티쳐 DNN의 정보 흐름의 정의되면, 이렇게 정의된 정보 흐름을 이용하여 학습시키고자 하는 제2 DNN 예를 들어, 학생 DNN을 학습시킨다(S120).
여기서, 단계 S120은 제2 DNN의 정보 흐름이 제1 DNN의 정보 흐름과 똑같아지도록 제1 DNN의 정보 흐름을 이용하여 제2 DNN의 정보 흐름을 학습시킬 수 있다.
본 발명에서 단계 S120은 두 단계의 로스를 이용하여 제2 DNN을 학습시킬 수 있으며, 유클리드 로스(Euclidean loss)와 분류 로스(classification loss)의 두 로스를 이용하여 제2 DNN을 학습시킬 수 있다.
즉, 도 3에 도시된 바와 같이, 단계 S120은 학생 DNN의 정보 흐름 예를 들어, 매트릭스(GS)가 티쳐 DNN에서 정의된 정보 흐름 예를 들어, 매트릭스(GT)와 똑같아지도록 유클리드 로스(Euclidean loss)를 이용하여 티쳐 DNN의 정보 흐름을 학습시킬 수 있다. 예컨대, 미리 학습된 티쳐 DNN의 매트릭스를 G1이라 가정하고, 학생 DNN의 매트릭스를 G2라 가정하면, 두 매트릭스를 똑같이 맞추도록 유클리드 로스(Euclidean loss)
Figure pat00004
를 사용할 수 있다.
그리고, 분류 로스를 이용하여 유클리드 로스에 의해 학습된 학생 DNN을 학습시킬 수 있다. 즉, 단계 S120은 유클리드 로스에 의해 학습된 학생 DNN의 웨이트를 초기 웨이트로 하여 분류 로스를 사용한 분류 태스크를 수행함으로써, 학생 DNN의 최종 학습시키고, 이를 통해 티쳐 DNN에서 학생 DNN으로 정보 전이를 빠르게 수행할 수 있다.
이러한 본 발명은 빠른 최적화(fast optimization) 기법과 함께 정보 이전 기술을 이용하여 DNN의 성능을 향상시킬 수 있다.
도 4는 본 발명의 방법에 대한 결과의 일 예시도를 나타낸 것으로, CIFAR-10의 데이터 셋을 사용한 경우의 결과를 나타낸 것이다.
여기서, 데이터 셋은 10개의 클래스로 구성되어있으며, 총 5만장의 트레이닝 셋(training set)과 만장의 테스트 셋(test set)을 가지고 있으며, 티쳐 네트워크는 잔여 네트워크(Residual network) 중 26층짜리의 네트워크를 사용하고, 학생 네트워크는 티쳐 네트워크와 같은 구조를 사용할 수 있다.
도 4에서의 매트릭스는 특성의 공간 사이즈(spatial size)가 줄어드는 총 3 부분에서 추출되었으며, 도 4에 도시된 바와 같이, 본 발명의 정보 전이 방법을 사용하였을 경우, 기존 기법보다 빠르게 학습되는 것을 볼 수 있으며, 약 3배 이상 빠르게 수렴하는 것을 알 수 있다.
아래 표 1은 위의 열에서부터 각각 26층짜리 residual network를 64000 iteration으로 돌린 것, 21000 iteration으로 돌린 것, 본 발명을 이용하여(iteration 21000) 학습을 한 후, 21000 iteration을 돌린 것에 대한 성능 및 앙상블 성능을 보인 것이다.
Accuracy1 Accuracy2 Accuracy3 Ensemble
Original 91.61 91.56 92.09 93.48
Original with 1/3 iter 90.47 90.83 90.62 92.6
Proposed method 92.28 92.24 92.07 93.26
표 1에서 보는 바와 같이 기존방식(original)의 경우, 64000 iteration에서 21000 iteration으로 1/3배가량 iteration수가 줄어들었을 때 약 1.5%가량 성능 하락을 보이는 것을 알 수 있는 반면, 본 발명은 1/3배의 iteration만 돌렸음에도 불구하고 기존의 성능을 그대로 보이는 것을 알고 있다. 이는 본 발명에서 정보 흐름의 매트릭스를 활용한 초기 웨이트가 좋은 초기 포인트가 되었음을 알 수 있다.
아래 표 2는 본 발명의 네트워크에서 추출된 정보를 얕은 네트워크로 전달했을 경우의 성능 향상을 기존 방식과 비교하여 나타낸 것으로, 티쳐 네트워크는 26개의 층을 사용한 잔여 네트워크이고, 학생 네트워크는 8개의 레이어를 사용한 결과를 나타낸 것이다. 여기서, 매트릭스는 특성의 공간 사이즈(spatial size)가 줄어드는 총 3 부분에서 추출될 수 있다.
Accuracy
Original 87.9
Romero 88.34
Proposed 88.62
표 2를 통해 알 수 있듯이, 본 발명에 따른 방법(proposed)은 일반적인 기법(original)을 사용하여 학습 하였을 때보다 약 0.7%가량 성능이 증가된 것을 알 수 있다.
이와 같이, 본 발명에 따른 방법은 기존 방식에 비해서 성능이 향상되고, 네트워크가 빠르게 학습될 수 있으며, 여러 네트워크의 앙상블이 필요한 태스크의 경우와 작은 네트워크를 필요로 하는 태스크의 경우 모두에 유용하게 사용될 수 있다.
이러한 본 발명에 대해 조금 더 구체적으로 설명하면 다음과 같다.
본 발명에 따른 정보 이전 방법은 제1 딥 신경망 예를 들어, 티쳐 DNN의 중요 정보를 정의하고 다른 DNN 예를 들어, 학생 DNN에 디스틸드 정보(distilled knowledge)를 전달 하는 것이다.
본 발명에서의 디스틸드 정보
DNN은 레이어간 특성들을 생성한다. 상위 레이어 특성들은 주요 태스크를 수행할 수 있는 유용한 특성들에 가깝다. DNN의 입력을 질문으로 하고 출력을 대답으로 한다면, 중간 결과로서 DNN의 중간에서 생성되는 특성들을 생각할 수 있으며, 이러한 관점에서 정보 이전 기술은 학생 DNN이 티쳐 DNN의 중간 결과를 단순히 모방하는 것으로 볼 수 있다. 그러나, DNN의 경우 입력으로부터 출력을 생성하는 문제를 해결할 수 있는 다양한 방법이 있으며, 이런 의미에서 티쳐 DNN의 생성된 특성들을 모방하는 것은 학생 DNN에 대한 제약이 될 수 있다.
사람의 경우, 선생은 문제를 푸는 과정을 설명하고, 학생은 문제를 푸는 과정을 학습한다. 학생 DNN은 특정 질문이 입력되는 경우 중간 출력을 학습할 필요는 없지만 특정 형태의 질문을 마주하였을 때 그 문제를 해결할 수 있는 방법을 학습할 수 있다. 이와 같은 방법으로 본 발명은 중간 결과를 티칭하는 것보다 더 나은 방법을 제공할 수 있다.
디스틸드 정보의 수학적인 표현
본 발명은 두 중간 결과 간의 관계를 정의할 수 있다. DNN의 경우 관계는 두 레이어들의 특성들 간 방향에 의해 수학적으로 고려될 수 있다. 본 발명에서는 솔루션 프로세서의 플로우(또는 흐름)를 FSP 매트릭스로 나타낼 수 있다. FSP 매트릭스
Figure pat00005
는 두 레이어들의 특성들에 의해 생성된다. 선택된 레이어들 중 하나가 특성 맵
Figure pat00006
을 생성한다고 하면 다른 선택된 레이어는 특성 맵
Figure pat00007
를 생성한다. 여기서, h, w, m은 각각 채널의 높이, 폭과 수를 의미할 수 있다.
그러면, FSP 매트릭스
Figure pat00008
는 아래 <수학식 1>과 같이 계산될 수 있다.
[수학식 1]
Figure pat00009
여기서, x와 W는 각각 DNN의 입력 이미지와 웨이트들을 의미할 수 있다. 본 발명에서는 CIFAR-10 데이터셋에 의해 트레이닝된 8, 26, 36 레이어들을 가지는 잔여 네트워크를 이용하여 설명할 수 있다. 공간적인 사이즈가 변화하는 CIFAR-10 데이터셋에 대해 잔여 네트워크는 세가지 포인트들을 가지고 있을 수 있으며, 본 발명은 도 5에 도시된 바와 같이 FSP 매트릭스을 생성하는 여러 포인트들을 선택할 수 있다.
FSP 매트릭스의 로스
학생 네트워크를 돕기 위하여, 본 발명은 티쳐 네트워크의 디스틸트 정보를 학생 네트워크로 이전 또는 전달하는 것으로, 상술한 바와 같이, 디스틸트 정보는 솔루션 과정의 플로우에 대한 정보를 포함하는 FSP 매트릭스 형태로 나타낼 수 있다. 티쳐 네트워크에 의해 생성되는 n FSP 행렬을
Figure pat00010
, 학생 네트워크에 의해 생성되는 n FSP 행렬을
Figure pat00011
라 가정하면, 본 발명은 같은 공간 사이즈를 가지는 티쳐 네트워크와 학생 네트워크 간 FSP 행렬의 쌍
Figure pat00012
을 고려한다. 각 쌍에 대한 비용 함수로 제곱된 L2 표준을 이용하며, 디스틸드 정보 이전에 대한 비용 함수는 아래 수학식 2와 같이 정의될 수 있다.
[수학식 2]
Figure pat00013
여기서.
Figure pat00014
는 각 로스 텀에 대한 웨이트를 의미하고, N은 데이터 포인트들의 수를 의미할 수 있다.
본 발명은 전체 로스 텀이 똑같이 중요하다 가정한다. 즉, 똑같은
Figure pat00015
를 사용한다.
학습 프로시져
본 발명에 따른 정보 이전 방법은 티쳐 네트워크에 의해 생성된 디스틸드 정보를 사용한다. 본 발명에서 티쳐 네트워크가 무엇인지 명확하게 설명하기 위하여 다음과 같은 두 조건을 정의한다.
첫 째, 티쳐 네트워크는 미리 설정된 데이터셋에 의해 미리 트레이닝되어 있어야 한다. 이 때, 티쳐 네트워크를 트레이닝하는 데이터셋은 학생 네트워크가 학습한 데이터셋과 같거나 다를 수 있다. 티쳐 네트워크는 전이 학습 태스크의 경우 학생 네트워크의 데이터셋과 다른 데이터셋을 사용할 수 잇다.
둘 째, 티쳐 네트워크는 학생 네트워크보다 더 깊거나 더 ?을 수 있는데, 본 발명의 상세한 설명에서는 티쳐 네트워크가 학생 네트워크에 비해 그 깊이가 같거나 더 깊은 경우로 설명한 것이다.
학습 프로시져는 트레이닝의 두 단계를 포함한다. 첫 째, 본 발명은 학생 네트워크의 FSP 매트릭스를 티쳐 네트워크의 FSP 매트릭스와 같게 만들기 위하여 로스 함수 LFSP를 최소화한다. 첫 번째 단계를 거친 학생 네트워크는 두 번째 단계에서 주요 태스크 로스에 의해 트레이닝 된다. 본 발명에서는 주요 태스크 로스로, 소프트맥스 크로스 엔트로피 로스 Lori를 사용할 수 있다.
즉, 본 발명의 학습 프로시져는 아래 <수학식 3>을 이용하여 첫 번째 단계인 FSP 매트릭스를 학습하고, 첫 번째 단계에서 FSP 매트릭스가 학습된 학생 네트워크에 대하여, 아래 <수학식 4>를 이용하여 두 번째 단계인 오리지널 태스크를 트레이닝한다.
<수학식 3>
Figure pat00016
여기서, Ws와 Wt는 학생 네트워크의 웨이트들과 티쳐 네트워크의 웨이트들을 의미할 수 있다.
<수학식 4>
Figure pat00017
딥 잔여 네트워크(deep residual network)는 바로가기 연결(shortcut connection)을 통해 앙상블 구조를 만들 수 있으며, 바로가기 연결은 더 깊은 네트워크의 트레이닝을 수행할 수 있다.
도 5는 본 발명의 일 실시예에 따른 방법을 설명하기 위한 일 예시도를 나타낸 것으로, 32 레이어들의 티쳐 네트워크와 14 레이어들의 학생 네트워크를 예로 설명하였지만, 티쳐 네트워크의 레이어 수와 학생 네트워크의 레이어 수는 변화될 수 있다.
도 5에 도시된 바와 같이, FSP 행렬은 같은 공간 사이즈를 유지하는 세 개의 섹션들에서 추출될 수 있으며, 첫 번째 단계에서 학생 네트워크와 티쳐 네트워크이 FSP 행렬 간 거리가 최소가되도록 학생 네트워크를 트레이닝하고, 학생 DNN의 미리 트레이닝된 웨이트들은 두 번째 단계에서 초기 웨이트로 사용된다. 두 번째 단계는 노말 트레이닝 프로시져를 나타낸다.
즉, 딥 잔여 네트워크는 세 개의 섹션을 포함하고, FSP 매트릭스를 만들기 위하여 두 개의 레이어들을 선택하는데, 두 개의 레이어들을 선택하는 방법에는 제한이 없다. 예를 들어, 첫 번째 레이어와 마지막 레이어를 FSP 매트릭스를 만들기 위하여 선택할 수도 있다. FSP 매트릭스는 같은 공간 사이즈를 가지는 두 레이어 특성들에 의해 생성되기 때문에 두 레이어 특성들의 사이즈가 다를 경우 동일 공간 사이즈를 만들기 위하여 맥스 풀링 레이어를 사용할 수 있다.
티쳐 DNN의 사이즈는 학생 DNN의 사이즈보다 더 크며, 학생 DNN은 티쳐 DNN에서 잔여 모듈들의 수를 간단하게 줄임으로써, 구성될 수 있다. 따라서, 학생 DNN은 티쳐 DNN보다 더 작은 파라미터들을 사용할 수 있다.
도 5는 본 발명의 일 실시예에 따른 정보 이전 장치에 대한 구성을 나타낸 것으로, 상술한 도 1 내지 도 4의 방법을 수행하는 장치에 대한 구성을 나타낸 것이다.
도 5를 참조하면, 본 발명의 일 실시예에 따른 정보 이전 장치(500)는 정의부(510)와 학습부(520)를 포함한다.
정의부(510)는 이미 학습된 제1 딥 신경망 예를 들어, 티쳐 DNN의 레이어들 간 정보 흐름을 정의한다.
여기서, 정의부(510)는 두 레이어 사이의 특성들 간의 흐름을 정보 흐름으로 정의하며, 흐름은 두 벡터 간의 방향성을 나타내는 내적을 사용한 매트릭스로 정의될 수 있다.
학습부(520)는 정의부(510)에 의해 정의된 티쳐 DNN의 정보 흐름을 이용하여 학습시키고자 하는 제2 딥 신경망 예를 들어, 학생 DNN을 학습시킨다.
여기서, 학습부(520)는 제2 딥 신경망의 정보 흐름이 제1 딥 신경망의 정보 흐름과 똑같아지도록 제2 딥 신경망의 정보 흐름을 학습시킬 수 있다.
예컨대, 학습부(520)는 제2 딥 신경망의 정보 흐름이 제1 딥 신경망의 정보 흐름과 똑같아지도록 유클리드 로스(Euclidean loss)를 이용하여 제2 딥 신경망의 정보 흐름을 학습시킬 수 있으며, 추가적으로, 정보 흐름이 학습된 제2 딥 신경망의 웨이트(weight)를 초기 웨이트로 하는 분류 로스(classification loss)를 사용한 분류 태스크를 수행함으로써, 제2 딥 신경망을 학습시킬 수 있다.
비록, 도 5의 장치에서 그 설명이 생략되었더라도 도 5의 장치는 도 1 내지 도 4에서 설명한 내용을 모두 포함할 수 있으며, 정보 이전과 관련된 모든 기능 또는 내용을 포함할 수 있다는 것은 이 기술 분야에 종사하는 당업자에게 있어서 자명하다.
이상에서 설명된 시스템 또는 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 시스템, 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, 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), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (10)

  1. 이미 학습된 제1 딥 신경망의 레이어들 간 정보 흐름을 정의하는 단계; 및
    상기 정의된 정보 흐름을 이용하여 학습시키고자 하는 제2 딥 신경망을 학습시키는 단계
    를 포함하는 정보 이전 방법.
  2. 제1항에 있어서,
    상기 정의하는 단계는
    두 레이어 사이의 특성들 간의 흐름을 상기 정보 흐름으로 정의하며,
    상기 흐름은
    두 벡터 간의 방향성을 나타내는 내적을 사용한 매트릭스로 정의되는 것을 특징으로 하는 정보 이전 방법.
  3. 제1항에 있어서,
    상기 학습시키는 단계는
    상기 제2 딥 신경망의 정보 흐름이 상기 제1 딥 신경망의 정보 흐름과 똑같아지도록 상기 제2 딥 신경망의 정보 흐름을 학습시키는 것을 특징으로 하는 정보 이전 방법.
  4. 제3항에 있어서,
    상기 학습시키는 단계는
    상기 제2 딥 신경망의 정보 흐름이 상기 제1 딥 신경망의 정보 흐름과 똑같아지도록 유클리드 로스(Euclidean loss)를 이용하여 상기 제2 딥 신경망의 정보 흐름을 학습시키는 것을 특징으로 하는 정보 이전 방법.
  5. 제4항에 있어서,
    상기 학습시키는 단계는
    상기 정보 흐름이 학습된 제2 딥 신경망의 웨이트(weight)를 초기 웨이트로 하는 분류 로스(classification loss)를 사용한 분류 태스크를 수행함으로써, 상기 제2 딥 신경망을 학습시키는 것을 특징으로 하는 정보 이전 방법.
  6. 이미 학습된 제1 딥 신경망의 레이어들 간 정보 흐름을 정의하는 정의부; 및
    상기 정의된 정보 흐름을 이용하여 학습시키고자 하는 제2 딥 신경망을 학습시키는 학습부
    를 포함하는 정보 이전 장치.
  7. 제5항에 있어서,
    상기 정의부는
    두 레이어 사이의 특성들 간의 흐름을 상기 정보 흐름으로 정의하며,
    상기 흐름은
    두 벡터 간의 방향성을 나타내는 내적을 사용한 매트릭스로 정의되는 것을 특징으로 하는 정보 이전 장치.
  8. 제6항에 있어서,
    상기 학습부는
    상기 제2 딥 신경망의 정보 흐름이 상기 제1 딥 신경망의 정보 흐름과 똑같아지도록 상기 제2 딥 신경망의 정보 흐름을 학습시키는 것을 특징으로 하는 정보 이전 장치.
  9. 제8항에 있어서,
    상기 학습부는
    상기 제2 딥 신경망의 정보 흐름이 상기 제1 딥 신경망의 정보 흐름과 똑같아지도록 유클리드 로스(Euclidean loss)를 이용하여 상기 제2 딥 신경망의 정보 흐름을 학습시키는 것을 특징으로 하는 정보 이전 장치.
  10. 제9항에 있어서,
    상기 학습부는
    상기 정보 흐름이 학습된 제2 딥 신경망의 웨이트(weight)를 초기 웨이트로 하는 분류 로스(classification loss)를 사용한 분류 태스크를 수행함으로써, 상기 제2 딥 신경망을 학습시키는 것을 특징으로 하는 정보 이전 장치.
KR1020170102269A 2017-02-21 2017-08-11 딥 신경망을 이용한 정보 이전 방법 및 그 장치 KR102061935B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020170023057 2017-02-21
KR20170023057 2017-02-21

Publications (2)

Publication Number Publication Date
KR20180096469A true KR20180096469A (ko) 2018-08-29
KR102061935B1 KR102061935B1 (ko) 2020-01-02

Family

ID=63434757

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020170102269A KR102061935B1 (ko) 2017-02-21 2017-08-11 딥 신경망을 이용한 정보 이전 방법 및 그 장치
KR1020170117000A KR102063376B1 (ko) 2017-02-21 2017-09-13 정보의 질을 높이기 위한 정보 공유 기반 정보 이전 방법 및 그 장치
KR1020170117001A KR102063377B1 (ko) 2017-02-21 2017-09-13 중대형 네트워크의 학습을 위한 점진적인 학습 기반 정보 이전 방법 및 그 장치

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020170117000A KR102063376B1 (ko) 2017-02-21 2017-09-13 정보의 질을 높이기 위한 정보 공유 기반 정보 이전 방법 및 그 장치
KR1020170117001A KR102063377B1 (ko) 2017-02-21 2017-09-13 중대형 네트워크의 학습을 위한 점진적인 학습 기반 정보 이전 방법 및 그 장치

Country Status (1)

Country Link
KR (3) KR102061935B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200077162A (ko) * 2018-12-20 2020-06-30 주식회사 마인즈랩 제1 신경망을 이용한 제2 신경망 학습 방법 및 컴퓨터 프로그램

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200044173A (ko) 2018-10-05 2020-04-29 삼성전자주식회사 전자 장치 및 그의 제어 방법
US11640522B2 (en) * 2018-12-13 2023-05-02 Tybalt, Llc Computational efficiency improvements for artificial neural networks
KR102191351B1 (ko) * 2020-04-28 2020-12-15 아주대학교산학협력단 지식 증류법 기반 의미론적 영상 분할 방법
KR102225579B1 (ko) * 2020-05-14 2021-03-10 아주대학교산학협력단 학습성능이 향상된 지식 증류법 기반 의미론적 영상 분할 방법
KR102354145B1 (ko) * 2020-10-23 2022-01-24 광주과학기술원 증가 학습을 위한 Logit 조정 및 메모리 관리 기법
KR102543690B1 (ko) 2020-10-27 2023-06-13 연세대학교 산학협력단 사전 정보 학습 기반 영상 업스케일링 장치 및 방법
KR20240023905A (ko) * 2022-08-16 2024-02-23 주식회사 맨드언맨드 편집된 인공 신경망을 이용한 데이터 처리 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200077162A (ko) * 2018-12-20 2020-06-30 주식회사 마인즈랩 제1 신경망을 이용한 제2 신경망 학습 방법 및 컴퓨터 프로그램

Also Published As

Publication number Publication date
KR20180096473A (ko) 2018-08-29
KR20180096474A (ko) 2018-08-29
KR102061935B1 (ko) 2020-01-02
KR102063376B1 (ko) 2020-01-07
KR102063377B1 (ko) 2020-01-07

Similar Documents

Publication Publication Date Title
KR20180096469A (ko) 딥 신경망을 이용한 정보 이전 방법 및 그 장치
JP6771645B2 (ja) ドメイン分離ニューラルネットワーク
US10740433B2 (en) Universal transformers
US10366166B2 (en) Deep compositional frameworks for human-like language acquisition in virtual environments
Han et al. An improved evolutionary extreme learning machine based on particle swarm optimization
BR112019000541B1 (pt) Método de reconhecimento de imagem implementado por computador para realizar de modo mais eficiente uma computação de uma camada de rede neural convolucional, sistema de reconhecimento de imagem e meio de armazenamento em computador
US11651214B2 (en) Multimodal data learning method and device
EP3750111A1 (en) Multitask learning as question answering
KR102203065B1 (ko) 트리플 검증 장치 및 방법
KR101934372B1 (ko) 시각적 질의응답을 위해 원소단위곱과 다중모달 잔차 학습을 이용한 데이터 처리 방법 및 시스템
CN117829216A (zh) 渐进式神经网络
KR20170034258A (ko) 모델 학습 방법 및 장치, 및 데이터 인식 방법
US10726206B2 (en) Visual reference resolution using attention memory for visual dialog
CN111325318B (zh) 神经网络的训练方法、神经网络的训练装置和电子设备
US20180129930A1 (en) Learning method based on deep learning model having non-consecutive stochastic neuron and knowledge transfer, and system thereof
US20140156569A1 (en) Method and apparatus for improving resilience in customized program learning network computational environments
CN113095129A (zh) 姿态估计模型训练方法、姿态估计方法、装置和电子设备
US20230196067A1 (en) Optimal knowledge distillation scheme
CN114925320B (zh) 一种数据处理方法及相关装置
CN112132281B (zh) 一种基于人工智能的模型训练方法、装置、服务器及介质
KR20210064817A (ko) 상이한 딥러닝 모델 간의 전이 학습방법
KR20190059033A (ko) 심층 신경망 기반 음성 인식 시스템에서의 특이값 분해를 이용한 입력 벡터 생성 장치 및 방법
Fry The engineering of cybernetic systems
JP6705506B2 (ja) 学習プログラム、情報処理装置および学習方法
EP1837807A1 (en) Pattern recognition method

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