KR20230071719A - 이미지 처리용 신경망 훈련 방법 및 전자 장치 - Google Patents

이미지 처리용 신경망 훈련 방법 및 전자 장치 Download PDF

Info

Publication number
KR20230071719A
KR20230071719A KR1020220128935A KR20220128935A KR20230071719A KR 20230071719 A KR20230071719 A KR 20230071719A KR 1020220128935 A KR1020220128935 A KR 1020220128935A KR 20220128935 A KR20220128935 A KR 20220128935A KR 20230071719 A KR20230071719 A KR 20230071719A
Authority
KR
South Korea
Prior art keywords
image
output
layer
network
generating
Prior art date
Application number
KR1020220128935A
Other languages
English (en)
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 US17/987,312 priority Critical patent/US20230154173A1/en
Publication of KR20230071719A publication Critical patent/KR20230071719A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • 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
    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/80Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level

Abstract

이미지 처리를 위한 신경망 훈련 방법 및 전자 장치가 개시된다. 방법은 제1 이미지에 기초하여 교사 네트워크의 적어도 2개 레이어의 각각의 제1 출력을 획득하는 동작, 각각의 제1 출력에 기초하여 각각의 제1 출력에 대응하는 의사 레이블을 생성하는 동작, 제1 이미지에 기초하여 출력 레이어를 포함하는 적어도 하나의 학생 네트워크의 레이어에 의해 처리된 제2 출력을 획득하는 동작, 제2 출력들 각각에 기초하여 적어도 2개 레이어의 각 레이어에 대응하는 예측 결과를 생성하는 동작, 의사 레이블과 예측 결과를 기반으로 학생 네트워크를 업데이트하는 동작을 포함한다.

Description

이미지 처리용 신경망 훈련 방법 및 전자 장치{METHOD AND APPARATUS FOR TRAIN NEURAL NETWORKS FOR IMAGE TRAINING}
아래의 개시는 이미지 처리용 신경망 훈련 기술에 관한 것이다.
근래 인간의 생물학적 신경 세포의 특성을 수학적 표현에 의해 모델링한 인공신경망(artificial neural network)에 대한 연구가 다양하게 활용되고 있다.
인공 신경망은 이미지 처리 분야에서도 널리 사용되고 있으며 입력 이미지를 기반으로 정확한 이미지 처리 결과를 얻기 위해 다양한 신경망 훈련 방법에 대한 연구가 진행되고 있다.
일 실시예에 따른 이미지 처리를 위한 신경망 훈련 방법은, 제1 이미지에 기초하여 교사 네트워크의 적어도 2개 레이어의 각각의 제1 출력을 획득하는 동작, 상기 각각의 제1 출력에 기초하여 상기 각각의 제1 출력에 대응하는 의사 레이블(pseudo label)을 생성하는 동작, 상기 제1 이미지에 기초하여 출력 레이어를 포함하는 적어도 하나의 학생 네트워크의 레이어에 의해 처리된 제2 출력을 획득하는 동작, 제2 출력들 각각에 기초하여 상기 적어도 2개 레이어의 각 레이어에 대응하는 예측 결과를 생성하는 동작, 및 상기 의사 레이블과 상기 예측 결과를 기반으로 상기 학생 네트워크를 업데이트하는 동작을 포함할 수 있다.
상기 제1 출력을 획득하는 동작은, 상기 제1 이미지에 대해 약한 향상 처리(weak enhancement processing)를 수행하여 적어도 하나의 제2 이미지를 생성하는 동작, 상기 제1 이미지에 대해 강한 향상 처리(strong enhancement processing)를 수행하여 적어도 하나의 제3 이미지를 생성하는 동작, 및 상기 적어도 하나의 제2 이미지에 기초하여, 상기 적어도 하나의 제2 이미지에 대응하는 상기 교사 네트워크의 상기 적어도 2개 레이어의 각각의 제1 출력을 획득하는 동작을 포함하고, 상기 적어도 하나의 제2 이미지의 개수와 상기 적어도 하나의 제3 이미지의 개수는 동일한 것일 수 있다.
상기 제2 출력을 획득하는 동작은, 상기 적어도 하나의 제3 이미지에 기초하여, 상기 적어도 하나의 제3 이미지에 대응하는 출력 레이어를 포함하는 학생 네트워크에서 적어도 하나의 레이어의 각 레이어의 출력을 획득하고, 상기 적어도 하나의 제3 이미지에 대응하는 각 레이어의 출력을 대응하는 제2 출력으로 합병하여 상기 제2 출력을 획득하는 동작을 포함할 수 있다.
상기 적어도 하나의 제2 이미지를 생성하는 동작은, 상기 제1 이미지에 대해 약한 향상 처리를 수행하여 복수의 약한 제1 이미지를 생성하는 동작, 부가 이미지에 대해 약한 향상 처리를 수행하여 복수의 약한 부가 이미지를 생성하는 동작, 및 상기 복수의 약한 제1 이미지와 상기 복수의 약한 부가 이미지를 융합하여 상기 적어도 하나의 제2 이미지를 생성하는 동작을 포함할 수 있다.
상기 적어도 하나의 제3 이미지를 생성하는 동작은,상기 제1 이미지에 대해 강한 향상 처리를 수행하여 복수의 강한 제1 이미지를 생성하는 동작, 부가 이미지에 대해 강한 향상 처리를 수행하여 복수의 강한 부가 이미지를 생성하는 동작, 및 상기 복수의 강한 제1 이미지와 상기 복수의 강한 부가 이미지를 융합하여 상기 적어도 하나의 제3 이미지를 생성하는 동작을 포함하고,
상기 복수의 강한 제1 이미지는, 상기 제1 이미지와 상이한 크기를 갖는 것일 수 있다.
상기 의사 레이블을 생성하는 동작은, 상기 교사 네트워크의 상기 적어도 2개 레이어의 상기 각각의 제1 출력과 상기 교사 네트워크의 상기 적어도 2개의 레이어의 대응 레이어의 이력 출력 간의 유사도를 계산하는 동작,
상기 계산된 유사도에 기초하여 상기 의사 레이블을 생성하는 동작을 포함할 수 있다.
상기 유사도를 계산하는 동작은, 상기 각각의 제1 출력과 상기 대응 레이어의 이력 출력 간의 유클리드 거리를 상기 유사도로 계산하는 단계를 포함할 수 있다.
상기 의사 레이블을 생성하는 동작은, 각각의 약한 제1 이미지의 크기를 조정하고, 상기 크기 조정 후의 각각의 약한 제1 이미지를 대응하는 미리 정해진 영역에 오버랩하여 각각의 제2 이미지에 대응하는 중간 이미지를 생성하는 동작, 상기 각각의 제2 이미지에 대응하는 중간 이미지에 대응하는 상기 교사 네트워크의 상기 적어도 2개 레이어의 각 레이어의 제3 출력을 획득하는 동작, 상기 각각의 제3 출력에 기초하여 상기 각각의 제3 출력에 대응하는 의사 레이블을 생성하는 동작, 및 상기 각각의 제1 출력에 대응하는 의사 레이블과 상기 각각의 제3 출력에 대응하는 의사 레이블을 융합하여, 상기 각각의 제1 출력에 대응하는 최종 의사 레이블을 생성하는 동작을 더 포함하고, 상기 각각의 제2 이미지와 상기 각각의 제2 이미지에 대응하는 중간 이미지는 동일한 상기 약한 제1 이미지 및 약한 부가 이미지에 기초하여 생성되는 것일 수 있다.
상기 최종 의사 레이블을 생성하는 동작은, 미리 정의된 비율, 상기 각각의 제2 이미지의 제1 출력에 대응하는 의사 레이블 및 상기 각각의 제2 이미지에 대응하는 중간 이미지의 제3 출력에 대응하는 의사 레이블에 기초하여 상기 최종 의사 레이블을 생성하는 동작을 포함할 수 있다.
상기 예측 결과를 생성하는 동작은, 상기 적어도 2개 레이어의 각 레이어에 대응하는 예측 결과로서, 상기 교사 네트워크의 상기 적어도 2개 레이어의 각 레이어의 이력 출력과 상기 각각의 제2 출력 간의 유사도를 계산하여 상기 예측 결과를 생성하는 동작을 포함하는 것일 수 있다.
상기 학생 네트워크를 업데이트 하는 동작은, 상기 의사 레이블과 상기 예측 결과에 기초하여 적어도 하나의 제3 이미지의 각 예측 결과와 임의의 하나의 제2 이미지의 각 예측 결과에 대응하는 의사 레이블 간의 차이를 포함하는 손실을 결정하는 동작, 및 상기 결정된 손실에 기초하여 상기 학생 네트워크를 업데이트 하는 동작을 포함할 수 있다.
상기 손실을 결정하는 동작은, 제1 크기의 제3 이미지에 대응하는 손실과, 제2 크기의 제3 이미지에 대응하는 손실의 합을 상기 손실로 결정하는 동작을 더 포함할 수 있다.
상기 출력 레이어를 포함하는 학생 네트워크에서 적어도 하나의 레이어는 인접한 것일 수 있다.
일 실시예에 따른 이미지 처리를 위한 신경망을 훈련하는 전자 장치에 있어서, 교사 네트워크와 학생 네트워크를 포함하는 백본 네트워크 모듈, 의사 레이블 및 예측 결과를 기반으로 상기 학생 네트워크를 업데이트하는 지식 증류 모듈을 포함하고, 상기 백본 네트워크 모듈은, 제1 이미지에 기초하여 교사 네트워크의 적어도 2개 레이어의 각각의 제1 출력을 획득하는 동작, 상기 각각의 제1 출력에 기초하여 상기 각각의 제1 출력에 대응하는 의사 레이블을 생성하는 동작, 상기 제1 이미지에 기초하여 출력 레이어를 포함하는 적어도 하나의 학생 네트워크의 레이어에 의해 처리된 제2 출력을 획득하는 동작, 제2 출력들 각각에 기초하여 상기 적어도 2개 레이어의 각 레이어에 대응하는 예측 결과를 생성하는 동작, 상기 의사 레이블과 상기 예측 결과를 기반으로 상기 학생 네트워크를 업데이트하는 동작을 수행할 수 있다.
상기 전자 장치는 이미지 처리 모듈을 더 포함하고, 상기 이미지 처리 모듈은 상기 제1 이미지에 대해 약한 향상 처리를 수행하여 적어도 하나의 제2 이미지를 생성하는 동작, 상기 제1 이미지에 대해 강한 향상 처리를 수행하여 적어도 하나의 제3 이미지를 생성하는 동작을 수행하고, 상기 백본 네트워크 모듈은, 적어도 하나의 제2 이미지에 기초하여, 상기 적어도 하나의 제2 이미지에 대응하는 상기 교사 네트워크의 상기 적어도 2개 레이어의 각각의 제1 출력을 획득하는 동작을 수행하고, 상기 적어도 하나의 제2 이미지의 개수와 상기 적어도 하나의 제3 이미지의 개수는 동일한 것일 수 있다.
상기 백본 네트워크 모듈은, 적어도 하나의 제3 이미지에 기초하여, 상기 적어도 하나의 제3 이미지에 대응하는 출력 레이어를 포함하는 학생 네트워크에서 적어도 하나의 레이어의 각 레이어의 출력을 획득하고, 상기 적어도 하나의 제3 이미지에 대응하는 각 레이어의 출력을 대응하는 제2 출력으로 합병하여 상기 제2 출력을 획득하는 동작을 수행할 수 있다.
상기 이미지 처리 모듈은 상기 제1 이미지에 대해 강한 향상 처리를 수행하여 복수의 고도 제1 이미지를 생성하는 동작, 부가 이미지에 대해 강한 향상 처리를 수행하여 복수의 고도 부가 이미지를 생성하는 동작, 및 상기 복수의 고도 제1 이미지와 상기 복수의 고도 부가 이미지를 융합하여 상기 적어도 하나의 제3 이미지를 생성하는 동작을 수행하고, 상기 복수의 고도 제1 이미지는, 상기 제1 이미지와 상이한 크기를 갖는 것일 수 있다.
상기 이미지 처리 모듈은, 각각의 약한 제1 이미지의 크기를 조정하고, 상기 크기 조정 후의 각각의 약한 제1 이미지를 대응하는 미리 정해진 영역에 오버랩하여 각각의 제2 이미지에 대응하는 중간 이미지를 생성하는 동작, 상기 각각의 제2 이미지에 대응하는 중간 이미지에 대응하는 상기 교사 네트워크의 상기 적어도 2개 레이어의 각 레이어의 제3 출력을 획득하는 동작, 상기 각각의 제3 출력에 기초하여 상기 각각의 제3 출력에 대응하는 의사 레이블을 생성하는 동작, 및 상기 각각의 제1 출력에 대응하는 의사 레이블과 상기 각각의 제3 출력에 대응하는 의사 레이블을 융합하여, 상기 각각의 제1 출력에 대응하는 최종 의사 레이블을 생성하는 동작을 더 수행하고, 상기 각각의 제2 이미지와 상기 각각의 제2 이미지에 대응하는 중간 이미지는 동일한 상기 약한 제1 이미지 및 약한 부가 이미지에 기초하여 생성되는 것일 수 있다.
상기 출력 레이어를 포함하는 학생 네트워크에서 적어도 하나의 레이어는 인접한 것일 수 있다.
도 1은 일 실시예에 따른 교사 네트워크와 학생 네트워크를 설명하기 위한 블록도이다.
도 2는 일 실시예에 따른 이미지 처리용 신경망을 훈련하는 전자 장치의 구성을 나타낸 블록도이다.
도 3은 일 실시예에 따른 이미지 처리용 신경망을 훈련하는 방법을 도시한 흐름도이다.
도 4는 일 실시예에 따른 이미지 처리용 신경망 훈련 방법에서 제2 이미지를 생성하는 방법을 설명하기 위한 흐름도이다.
도 5는 일 실시예에 따른 이미지 처리용 신경망 훈련 방법에서 제3 이미지를 생성하는 방법을 설명하기 위한 흐름도이다.
도 6은 일 실시예에 따른 이미지 처리용 신경망 훈련 방법에서 의사 레이블을 생성하는 방법을 설명하기 위한 흐름도이다.
도 7은 일 실시예에 따른 이미지 처리용 신경망 훈련 방법에서 예측 결과를 생성하는 방법을 설명하기 위한 흐름도이다.
도 8은 일 실시예에 따른 이미지 처리용 신경망 훈련 방법에서 학생 네트워크를 업데이트 하는 방법을 설명하기 위한 흐름도이다.
도 9는 일 실시예에 따른 전자 장치를 도시한 블록도이다.
실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 구현될 수 있다. 따라서, 실제 구현되는 형태는 개시된 특정 실시예로만 한정되는 것이 아니며, 본 명세서의 범위는 실시예들로 설명한 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 실시예들을 첨부된 도면들을 참조하여 상세하게 설명한다. 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고, 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 일실시예에 따른 교사 네트워크와 학생 네트워크를 설명하기 위한 도면이다.
도 1을 참고하면, 교사 네트워크(110)와 학생 네트워크(120)가 도시된다. 교사 네트워크(110)와 학생 네트워크(120)는 특정 입력에 대해 특정 출력이 출력되도록 학습된 모델로서, 예를 들어, 신경망(neural network)을 포함할 수 있다. 신경망은 연결선으로 연결된 많은 수의 인공 뉴런들을 이용하여 생물학적인 시스템의 계산 능력을 모방하는 인식 모델이다. 신경망은 생물학적인 뉴런의 기능을 단순화시킨 인공 뉴런들이 이용되고, 인공 뉴런들은 연결 가중치(connection weight)를 가지는 연결선을 통해 상호 연결될 수 있다. 신경망의 파라미터인 연결 가중치는 연결선이 갖는 특정한 값으로서 연결 강도라고도 나타낼 수 있다. 신경망은 인공 뉴런들을 통해 인간의 인지 작용이나 학습 과정을 수행할 수 있다. 인공 뉴런은 노드(node)라고도 지칭할 수 있다. 신경망은 복수의 층들을 포함할 수 있다. 예를 들어, 신경망은 입력 레이어(input layer), 히든 레이어(hidden layer), 출력 레이어(output layer)를 포함할 수 있다. 입력 레이어는 학습을 수행하기 위한 입력을 수신하여 히든 레이어에 전달할 수 있고, 출력 레이어는 히든 층의 노드들로부터 수신한 신호에 기초하여 신경망의 출력을 생성할 수 있다. 히든 레이어는 입력 레이어와 출력 레이어 사이에 위치하고, 입력 레이어를 통해 전달된 학습 데이터를 예측하기 쉬운 값으로 변화시킬 수 있다. 입력 레이어와 히든 레이어에 포함된 노드들은 연결 가중치를 가지는 연결선을 통해 서로 연결되고, 히든 레이어와 출력 레이어에 포함된 노드들에서도 연결 가중치를 가지는 연결선을 통해 서로 연결될 수 있다. 입력 레이어, 히든 레이어 및 출력 레이어는 복수의 노드들을 포함할 수 있다. 신경망은 복수의 히든 레이어들을 포함할 수 있다. 복수의 히든 레이어들을 포함하는 신경망을 깊은 신경망(deep neural network)이라고 하고, 깊은 신경망을 학습시키는 것을 깊은 학습(deep learning)이라고 한다. 히든 레이어에 포함된 노드를 히든 노드(hidden node)라고 한다. 신경망은 감독 학습(supervised learning)을 통해 학습될 수 있다. 감독 학습이란 입력 데이터와 그에 대응하는 출력 데이터를 함께 신경망에 입력하고, 입력 데이터에 대응하는 출력 데이터가 출력되도록 연결선들의 연결 가중치를 업데이트하는 방법이다. 예를 들어, 모델 학습 장치는 델타 규칙(delta rule)과 오류 역전파 학습(back propagation learning) 등을 통해 인공 뉴런들 사이의 연결 가중치를 업데이트할 수 있다. 오류 역전파 학습은, 주어진 입력 데이터에 대해 전방 계산(forward computation)으로 손실을 추정한 후, 출력 레이어에서 시작하여 히든 레이어와 입력 레이어로의 역 방향으로 추정한 손실을 전파하는 과정에서 손실을 줄이는 방향으로 연결 가중치를 업데이트하는 방법이다. 신경망의 처리는 입력 레이어, 히든 레이어, 출력 레이어의 순서로 진행되지만, 오류 역전파 학습에서 연결 가중치의 업데이트 방향은 출력 레이어, 히든 레이어, 입력 레이어의 순서로 진행될 수 있다. 이하, 신경망을 학습시킨다는 것은 신경망의 파라미터를 학습시킨다는 것으로 이해될 수 있다. 또한, 학습된 신경망은 학습된 파라미터가 적용된 신경망으로 이해될 수 있다. 일실시예에 따른 교사 네트워크(110)와 학생 네트워크(120)는 인식하고자 하는 대상이 동일한 서로 다른 사이즈의 신경망을 나타낼 수 있다. 교사 네트워크(110)는 인식하고자 하는 대상 데이터로부터 추출된 충분히 많은 특징들을 이용하여 높은 정확도로 대상 데이터를 인식하는 모델로서, 학생 네트워크(120)보다 큰 사이즈의 신경망일 수 있다. 예를 들어, 교사 네트워크(110)는 학생 네트워크(120)보다 많은 히든 레이어들, 많은 노드들, 또는 이들의 조합으로 구성될 수 있다. 학생 네트워크(120)는 교사 네트워크(110)보다 작은 사이즈의 신경망으로서, 작은 사이즈로 인해 교사 네트워크(110)보다 인식 속도가 빠를 수 있다. 학생 네트워크(120)는 입력 데이터로부터 교사 네트워크(110)의 출력 데이터가 출력되도록 교사 네트워크(110)에 기반하여 학습될 수 있다. 예를 들어, 교사 네트워크(110)의 출력 데이터는 교사 네트워크(110)에서 출력되는 로직 값(value of logit), 확률 값 또는 교사 네트워크(110)의 히든 레이어로부터 파생된 분류 레이어의 출력 값일 수 있다. 이를 통해, 교사 네트워크(110)와 동일한 값을 출력하면서도 교사 네트워크(110)보다 빠른 인식 속도를 가지는 학생 네트워크(120)를 얻을 수 있다. 이러한 과정을 모델 컴프레션(model compression)이라고 한다. 모델 컴프레션은 참 라벨(true label)인 정답 데이터 대신 교사 네트워크(110)의 출력 데이터를 이용하여 학생 네트워크(120)를 학습시키는 기법이다. 일 실시예에 따라 학생 네트워크(120)를 학습시킬 때 이용될 수 있는 교사 네트워크(110)는 복수일 수 있다. 학생 네트워크(120)는 복수의 교사 네트워크들 중에서 적어도 하나를 선택함으로써 학습될 수 있다. 복수의 교사 네트워크들 중에서 적어도 하나를 선택하여 학생 네트워크(120)를 학습시키는 과정은 학생 네트워크(120)가 미리 정해진 조건을 만족할 때까지 반복해서 수행될 수 있다. 이 때, 선택되어 학생 네트워크(120)를 학습시키는 적어도 하나의 교사 네트워크는 학습 과정이 반복될 때마다 새롭게 선택될 수 있다. 예를 들어, 하나 또는 둘 이상의 교사 네트워크가 학생 네트워크(120)를 학습시키기 위한 모델로 선택될 수 있다.
도 2는 일 실시예에 따른 이미지 처리용 신경망을 훈련하는 전자 장치의 구성을 나타낸 블록도이다.
도 2에 도시된 바와 같이, 일부 실시예에 따른 전자 장치(910)는 프로세서(210) 및 메모리(220)를 포함할 수 있다.
전자 장치(910)는 컴퓨팅 장치에 해당할 수 있다. 예를 들어, 전자 장치(910)는 비제한적인 예로서, 퍼스널 컴퓨터(PC), 서버, 모바일 장치 등이 될 수 있으며, 자율주행 차량, 로봇, 스마트폰, 태블릿 장치, 증강 현실(AR) 장치, 사물 인터넷(IoT) 장치 및 이와 유사한 장치에 해당될 수 있고, 또는 신경망을 수행하여 이미지 인식을 수행하는 자율주행 차량, 로봇, 스마트폰, 태블릿 장치, 증강 현실(AR) 장치, 사물 인터넷(IoT) 장치 및 유사한 장치에 설치된 기기일 수 있으나, 이에 한정되는 것은 아니며, 전자 장치(910)는 다양한 다른 형태의 장치에 해당할 수 있다.
메모리(220)는 전자 장치(910)용 처리 동작의 데이터 또는 정보를 저장한다. 예를 들어, 메모리(220)는 신경망을 훈련시키기 위한 훈련 데이터를 저장할 수 있다. 또한, 메모리(220)는 프로세서(210)에 의해 실행될 명령을 저장할 수 있다. 메모리(220)는 컴퓨터 판독이 가능한 비임시적 저장 매체(예, RAM, DRAM, 정적 RAM(SRAM), 자기 하드 디스크, 광 디스크, 플래시 메모리, EPROM, 또는 본 기술분야에 공지된 다른 유형의 비임시적 컴퓨터 판독 가능 저장 매체)를 포함한다.
프로세서(210)는 전자 장치(910)의 전반적인 동작을 제어하고, 전자 장치(910)의 기능 및/또는 명령을 실행한다. 프로세서(210)는 이미지 처리용 신경망을 훈련시키는 방법을 수행할 수 있다. 예를 들어, 프로세서(210)는 일반적으로 메모리(220)에 저장된 명령을 실행하여 전자 장치(910)를 제어할 수 있다. 전자 장치는 전자 장치(910)에 설정되는 중앙 처리 장치(CPU), 그래픽 처리 장치(GPU), 애플리케이션 프로세서(AP), 신경 처리 장치(NPU) 등을 비제한적인 예로 들 수 있다.
도 3은 일 실시예에 따른 이미지 처리용 신경망을 훈련하는 방법을 도시한 흐름도이다.
도 3을 참조하면, 이미지 처리용 신경망을 훈련하는 전자 장치는 동작(310)에서 제1 이미지에 기초하여 교사 네트워크의 적어도 2개 레이어의 각각의 제1 출력을 획득할 수 있다. 일 실시예에서, 예를 들어 제1 이미지는 ImageNet 데이터베이스에서 얻은 이미지일 수 있다. 다만, 예시는 이에 한정되지 않으며, 제1 이미지는 다른 임의의 데이터베이스로부터 획득한 이미지 또는 다양한 다른 방법을 이용하여 획득한 이미지일 수도 있다.
이미지 처리용 신경망을 훈련하는 전자 장치는 제1 이미지에 기초하여 획득된 각각의 제2 이미지를 교사 네트워크에 입력하여, 각각의 제2 이미지에 대응하는 교사 네트워크의 적어도 2개 레이어 중 각 레이어의 제1 출력을 획득할 수 있다. 일 실시예에서, 예를 들어 제2 이미지는 제1 이미지일 수 있다. 이 때 전자 장치는 제1 이미지를 교사 네트워크에 입력하여 교사 네트워크의 적어도 2개 레이어의 각 레이어의 제1 출력을 획득할 수 있다. 일 실시예에 따르면, 전자 장치는 제1 이미지에 대해서만 약한 향상 처리를 수행하여 적어도 하나의 제2 이미지를 생성할 수 있다. 일 실시예에 따르면, 전자 장치는 약한 향상 처리된 제1 이미지에 대해 부가 처리를 수행하여 복수의 제2 이미지를 생성할 수 있다. 이하, 도 3a를 참조하여 약한 향상 처리를 수행한 후의 제1 이미지에 대해 부가 처리를 수행하여 제2 이미지를 생성하는 예시에 대해 설명한다. 일 실시예에서, 이미지에 수행되는 향상 처리는 이미지 랜덤 크로핑(random cropping), 이미지 스케일링, 이미지 색상 변경, 이미지 랜덤 그레이 스케일 변경, 이미지 가우시안 블러(Gaussian Blur), 이미지 랜덤 플리핑(flipping) 등 중 적어도 하나를 포함할 수 있지만 이에 제한되지는 않는다.
동작(320)에서, 전자 장치는 제1 출력에 기초하여 각각의 제1 출력에 대응하는 의사 레이블을 생성할 수 있다. 일 실시예에서 전자 장치는, 각각의 제1 출력과 각각의 제1 출력에 대응하는 교사 네트워크의 레이어의 이력 출력 간의 유사도에 기초하여 각각의 제1 출력에 대응하는 의사 레이블을 생성할 수 있다. 교사 네트워크의 각 레이어의 이력 출력은 교사 네트워크를 이력에서(또는 이전에) 실행함으로써 교사 네트워크의 각 레이어에서 생성된 출력을 포함할 수 있다. 그러나 예시는 이에 한정되지 않으며, 전자 장치는 다른 방법을 통해 각각의 제1 출력에 대응하는 의사 레이블을 생성할 수도 있다. 일 실시예에 따르면, 전자 장치는 각각의 제2 이미지에 대응하는 각각의 제1 출력과 적어도 2개 레이어 중 대응 레이어의 이력 출력 간의 유사도에 기초하여, 각각의 제2 이미지의 각각의 제1 출력에 대응하는 의사 레이블을 생성할 수 있다.
동작(330)에서, 전자 장치는 제1 이미지에 기초하여 출력 레이어를 포함하는 학생 네트워크에서 적어도 하나의 레이어에 의해 처리된 제2 출력을 획득할 수 있다. 전자 장치는 제1 이미지에 기초하여 획득한 각각의 제3 이미지를 학생 네트워크에 입력하여, 각각의 제3 이미지에 대응하는 출력 레이어의 적어도 하나의 레이어를 포함하는 학생 네트워크의 각 레이어의 출력을 획득하고, 각각의 제3 이미지에 대응하는 각 레이어의 출력을 각각의 제3 이미지에 대응하는 제2 출력으로 합병(예를 들어, 각각의 제3 이미지에 대응하는 각 레이어의 출력을 각각의 제3 이미지에 대응하는 제2 출력으로 연결함)할 수 있다. 일부 실시예에 따르면, 제3 이미지는 제1 이미지일 수 있다. 이 때, 전자 장치는 제1 이미지를 학생 네트워크에 입력하여, 학생 네트워크에서 출력 레이어의 적어도 하나의 레이어를 포함하는 각 레이어의 출력을 획득할 수 있다.
일 실시예에 따르면, 전자 장치는 제1 이미지에 대해서만 강한 향상 처리를 수행하여 적어도 하나의 제3 이미지를 생성할 수 있다. 일 실시예에 따르면, 전자 장치는 강한 향상 처리를 수행한 후의 제1 이미지에 대해 부가 처리를 수행하여 복수의 제3 이미지를 생성할 수 있다. 이하, 도 3b를 참조하여 강한 향상 처리를 수행한 후의 제1 이미지에 대해 부가 처리를 수행하여 복수의 제3 이미지를 생성하는 예시에 대해 설명한다. 일 실시예에서, 제2 이미지의 개수는 제3 이미지의 개수와 동일할 수 있다.
동작(340)에서, 전자 장치는 제2 출력의 각각에 기초하여 적어도 2개 레이어의 각 레이어에 대응하는 예측 결과를 생성할 수 있다. 전자 장치는 교사 네트워크의 적어도 2개 레이어의 각 레이어에 대응하는 이력 출력과 각각의 제2 출력 간의 유사도에 기초하여, 적어도 2개 레이어의 각 레이어에 대응하는 예측 결과를 생성할 수 있다. 그러나, 예시는 이에 제한되지 않으며, 전자 장치는 종래 기술의 다른 방법을 사용하여 의사 레이블 및 예측 결과를 생성할 수 있으며, 본 출원은 이에 대해 특별히 제한하지 않는다. 일 실시예에 따르면, 전자 장치는 교사 네트워크의 적어도 2개 레이어의 각 레이어에 대응하는 이력 출력과 각각의 제3 이미지에 대응하는 제2 출력 간의 유사도에 기초하여, 각각의 제3 이미지의 적어도 2개 레이어의 각 레이어에 대응하는 예측 결과를 생성할 수 있다.
동작(350)에서, 전자 장치는 의사 레이블과 예측 결과를 기반으로 학생 네트워크를 업데이트할 수 있다. 전자 장치는 의사 레이블 및 예측 결과에 기초하여 손실을 결정할 수 있고, 결정된 손실을 사용하여 학생 네트워크의 파라미터를 업데이트함으로써, 업데이트된 학생 네트워크의 파라미터에 기초하여 결정된 손실(예를 들어, 업데이트된 학생 네트워크의 파라미터를 기반으로 동작 (330) 내지 동작(240)을 다시 수행하여 예측 결과를 재획득하고, 의사 레이블 및 재획득한 예측 결과를 기반으로 손실을 결정함)을 최소화되거나 미리 정해진 임계 값 미만으로 할 수 있다. 예를 들어, 손실은 각 의사 레이블과 동일한 각 의사 레이블에 대응하는 예측 결과 간의 차이를 포함할 수 있다. 각 의사 레이블 및 동일한 각 의사 레이블에 대응하는 예측 결과는 교사 네트워크에서 적어도 2개의 레이어 중 동일한 레이어에 대응할 수 있다.
일 실시예에서, 제2 이미지 및 제3 이미지가 제1 이미지이거나, 전자 장치가 제1 이미지에 대해서만 약한 향상 처리를 수행하여 제2 이미지를 생성하고, 제1 이미지에 대해서만 강한 향상 처리를 수행하여 제3 이미지를 생성하는 경우, 전자 장치는 각각의 제3 이미지의 각 예측 결과와 하나의 제2 이미지의 각 예측 결과에 대응하는 의사 레이블 간의 차이에 기초하여 손실을 결정할 수 있다. 훈련 정확도를 향상시키기 위해, 본 출원은 더 이상 하나의 레이블 및 하나의 예측 결과로 손실을 계산하는 방법을 사용하지 않고, 복수의 레이블 및 대응하는 복수의 예측 결과로 손실을 계산하는 방법을 도입할 수 있다. 예를 들어, 교사 네트워크에 입력된 하나의 이미지(1)를 기반으로 교사 네트워크의 3개 레이어, 레이어 T1, 레이어 T2 및 레이어 T3을 선택했다고 가정하면, 교사 네트워크의 레이어 T1, 레이어 T2 및 레이어 T3의 제1 출력을 각각 얻을 수 있고, 레이어 T1, 레이어 T2 및 레이어 T3의 제1 출력과 이 3개 레이어의 이력 출력에 따라, 이 3개 레이어에 대응하는 이미지(1)의 의사 레이블을 각각 계산할 수 있다. 학생 네트워크에 입력된 이미지(1)을 기반으로, 레이어 S1 및 출력 레이어를 선택했다고 가정하면, 레이어 S1 및 출력 레이어의 출력을 각각 얻은 후, 레이어 S1 및 출력 레이어의 출력을 합병하여 이미지(1)의 제2 출력을 획득할 수 있다. 그런 다음, 이미지(1)의 제2 출력을 이용하여 교사 네트워크의 레이어 T1, 레이어 T2 및 레이어 T3의 이력 출력을 각각 계산하여, 레이어 T1, 레이어 T2 및 레이어 T3에 대응하는 예측 결과1, 예측 결과2 및 예측 결과3을 획득할 수 있다. 전자 장치는 복수의 이미지에 대해서도 상기 동일한 처리 방법을 적용할 수 있다. 일 실시예에서, 전자 장치는 KL 다이버전스(divergence)를 사용하여 예측 결과와 의사 레이블 간의 차이를 계산할 수 있다. 그러나 예시는 이에 한정되지 않으며, 다른 방법을 사용하여 예측 결과와 의사 레이블 간의 차이를 계산할 수도 있다. 일 실시예에서, 전자 장치가 약한 향상 처리를 수행한 후의 제1 이미지에 대해 부가 처리를 수행하여 제2 이미지를 생성하고, 강한 향상 처리를 수행한 후의 제1 이미지에 대해 부가 처리를 수행하여 제3 이미지를 생성하는 경우, 전자 장치는 동작(320)에서 생성한 의사 레이블에 기초하여 최종 의사 레이블을 획득할 수 있고, 예측 결과와 최종 의사 레이블 간의 차이에 기초하여 손실을 결정할 수 있다. 이에 대해서는 이하, 도 8을 참조하여 상세히 설명한다.
도 4는 일 실시예에 따른 이미지 처리용 신경망 훈련 방법에서 제2 이미지를 생성하는 방법을 설명하기 위한 흐름도이다. 도 4를 참조하면, 일 실시예에서, 전자 장치는 또한 향상 처리가 수행된 제1 이미지와 향상 처리가 수행된 부가 이미지를 융합하여 제2 이미지를 생성할 수 있다. 일 실시예에 따른 전자 장치는 동작(410)에서 제1 이미지에 대해 약한 향상 처리를 수행하여 복수의 약한 제1 이미지를 생성할 수 있다. 동작(420)에서, 전자 장치는 부가 이미지를 획득할 수 있다. 예를 들어, 부가 이미지는 제1 이미지와 다른 이미지일 수 있다.
동작(330)에서 전자 장치는 부가 이미지에 대해 약한 향상 처리를 수행하여 복수의 약한 부가 이미지를 생성할 수 있다.
동작(340)에서, 전자 장치는 복수의 약한 제1 이미지와 복수의 약한 부가 이미지를 일대일 이미지 융합하여 복수의 제2 이미지를 생성할 수 있다. 예를 들어, 전자 장치는 각각의 약한 부가 이미지의 크기를 대응하는 융합할 약한 제1 이미지의 크기와 미리 정해진 비율의 곱으로 조정하고, 크기 조정 후의 각각의 약한 부가 이미지를 대응하는 융합할 약한 제1 이미지의 미리 정해진 영역(예를 들어, 처리된 부가 이미지로 제1 이미지의 미리 정해진 영역의 이미지를 대체함)에 오버랩하여 복수의 제2 이미지를 생성할 수 있다. 예를 들어, 미리 정해진 비율은 0.5 미만일 수 있다.
도 5는 일 실시예에 따른 이미지 처리용 신경망 훈련 방법에서 제3 이미지를 생성하는 방법을 설명하기 위한 흐름도이다.
도 5를 참조하면, 일 실시예에서 따른 전자 장치는 향상 처리가 수행된 제1 이미지와 향상 처리가 수행된 부가 이미지를 융합하여 복수의 제3 이미지를 생성할 수 있다. 동작(510)에서, 전자 장치는 제1 이미지에 대해 강한 향상 처리를 수행하여 상이한 크기의 복수의 강한 제1 이미지를 생성할 수 있다. 동작(520)에서, 전자 장치는 부가 이미지에 대해 강한 향상 처리를 수행하여 서로 다른 크기의 복수의 강한 부가 이미지를 생성할 수 있다.
동작(530)에서 전자 장치는 복수의 강한 제1 이미지 및 복수의 강한 부가 이미지에 대해 일대일 이미지 융합을 수행하여 복수의 제3 이미지를 생성할 수 있다. 예를 들어, 전자 장치는 각각의 강한 부가 이미지의 크기를 대응하는 융합할 강한 제1 이미지의 크기와 미리 정해진 비율을 곱으로 조정하고, 크기 조정 후의 각각의 강한 부가 이미지를 대응하는 융합할 강한 제1 이미지의 미리 정해진 영역(예를 들어, 크기 조정된 각각의 강한 부가 이미지로 대응하는 융합할 강한 제1 이미지의 미리 정해진 영역의 이미지를 대체함)에 오버랩하여, 복수의 제3 이미지를 생성할 수 있다. 일 실시예에서, 강한 제1 이미지, 강한 부가 이미지 및 제3 이미지 각각의 개수는 예를 들어 2 이상일 수 있다. 일 실시예에서, 원본 샘플에 대한 이미지 향상 및 향상된 이미지에 대한 이미지 융합을 통해, 충분한 훈련 샘플을 생성하여 훈련 난이도를 높이고, 이미지 처리를 위한 신경망 훈련 정확도를 개선하고, 대량의 샘플에 대한 의존성과 대규모 하드웨어 리소스의 요구 사항을 해결할 수 있다. 일 실시예에서, 교사 네트워크와 학생 네트워크에 서로 다른 향상 정도를 갖는 샘플을 입력함으로써 의사 레이블의 잡음을 감소시킨다. 이상, 일 실시예에 따른 이미지 융합 방법에 대해 설명하였으나, 본 개시는 이에 한정되지 않으며, 기존의 다른 이미지 융합 방법을 사용할 수도 있다.
도 6은 일 실시예에 따른 이미지 처리용 신경망 훈련 방법에서 의사 레이블을 생성하는 방법을 설명하기 위한 흐름도이다.
도 6을 참조하면, 일 실시예에 따른 전자 장치는 동작(610)에서 교사 네트워크의 적어도 2개 레이어의 각 레이어의 제1 출력과 교사 네트워크의 적어도 2개 레이어의 대응 레이어의 이력 출력 간의 유사도를 계산할 수 있다.
예를 들어, 전자 장치는 교사 네트워크의 적어도 2개 레이어 중 제1 미리 정해진 레이어의 제1 출력과 교사 네트워크의 제1 미리 정해진 레이어의 이력 출력 간의 제1 유사도를 계산할 수 있고, 유사하게, 전자 장치는 교사 네트워크의 적어도 2개 레이어의 나머지 레이어 각각의 제1 출력과 교사 네트워크의 적어도 2개 레이어의 나머지 레이어의 대응 레이어의 이력 출력 간의 유사도를 계산할 수 있다. 예를 들어, 교사 네트워크의 적어도 2개 레이어 중 제1 미리 정해진 레이어의 이력 출력은 교사 네트워크를 이력에서 실행함으로써 교사 네트워크의 제1 미리 정해진 레이어로부터 생성된 출력을 포함할 수 있다. 일 실시예에 따르면, 전자 장치는 교사 네트워크의 적어도 2개 레이어의 각 레이어의 제1 출력과 교사 네트워크의 적어도 2개 레이어의 대응 레이어의 이력 출력 간의 유클리드 거리를 각각 계산함으로써, 교사 네트워크의 적어도 2개 레이어의 각 레이어의 제1 출력과 교사 네트워크의 적어도 2개 레이어의 대응 레이어의 이력 출력 간의 유사도를 각각 계산할 수 있다. 예를 들어, 전자 장치는 교사 네트워크의 적어도 2개 레이어 중 제1 미리 정해진 레이어의 제1 출력과 교사 네트워크의 제1 미리 정해진 레이어의 각각의 이력 출력 간의 제1 유클리드 거리를 제1 유사도로서 계산할 수 있다.
동작(610)에서, 전자 장치는 교사 네트워크의 적어도 2개 레이어의 각 레이어의 제1 출력과 교사 네트워크의 적어도 2개 레이어의 대응 레이어의 이력 출력 간의 유사도에 대해 모멘텀 정규화를 각각 수행하여, 각각의 제1 출력에 대응하는 의사 레이블을 생성할 수 있다. 예를 들어, 전자 장치는 제1 유사도에 대해 모멘텀 정규화를 수행함으로써 교사 네트워크의 적어도 2개 레이어 중 제1 미리 정해진 레이어의 제1 출력에 대응하는 제1 의사 레이블을 생성할 수 있다. 일 실시예에 따르면, 전자 장치는 제1 유클리드 거리의 통계 값에 기초하여 결정된 제1 파라미터 및 제1 유클리드 거리의 극단 값에 기초하여 결정된 제2 파라미터 중 적어도 하나를 이용하여 제1 유클리드 거리를 정규화할 수 있다.
제1 파라미터는 다음 수학식 1에 의해 계산될 수 있다.
Figure pat00001
수학식 1에서, M1은 제1 파라미터를 나타내고, M2는 제1 유클리드 거리의 통계 값을 나타내고, M3는 교사 네트워크의 지난 번 실행 동안 교사 네트워크의 제1 미리 정해진 레이어에서 생성된 지난 출력에서 계산된 제1 유클리드 거리의 통계 값을 나타내고, M은 미리 정해진 모멘텀 값을 나타낸다.
제2 파라미터는 다음 수학식 2에 의해 계산될 수 있다.
Figure pat00002
수학식 2에서, L1은 제2 파라미터를 나타내고, L2는 제1 유클리드 거리의 극단 값을 나타내고, M3은 교사 네트워크의 지난 번 실행 동안 교사 네트워크의 제1 미리 정해진 레이어에서 생성된 지난 출력에서 계산된 제1 유클리드 거리의 극단 값을 나타낸다. 일 예시에서, 제1 유클리드 거리의 통계 값은 제1 유클리드 거리의 평균값 또는 분산(variance)일 수 있고, 제1 유클리드 거리의 극단 값은 제1 유클리드 거리의 최대값 또는 최소값일 수 있다. 예를 들어, 전자 장치는 제1 유클리드 거리에 대해 최대 최소값 정규화, 평균값 분산 정규화 또는 최소값 정규화를 수행할 수 있고, 또한 상기 방법을 사용하여 최대 최소값 정규화, 평균값 분산 정규화 또는 최소값 정규화를 수행하기 위한 파라미터를 결정할 수 있다.
예를 들어, 전자 장치가 상기 유사도 또는 유클리드 거리에 대해 최소 정규화를 수행하면, 전자 장치는 다음 수학식 3을 통해 의사 레이블을 계산할 수 있다.
Figure pat00003
Figure pat00004
Figure pat00005
Figure pat00006
Figure pat00007
수학식 3에서, Aij는 교사 네트워크에서 i번째 미리 정해진 레이어의 제1 출력과 이력에서 j번째 교사 네트워크를 실행하여 i번째 미리 정해진 레이어에서 생성된 j번째 출력 간의 i-j번째 유클리드 거리를 나타내고, Pij는 i번째 미리 정해진 레이어의 제1 출력에 대응하는 의사 레이블 중 i-j번째 유클리드 거리에 대응하는 i-j번째 확률 값을 나타내고, MeanAi는 i번째 미리 정해진 레이어의 제1 출력과 i번째 미리 정해진 레이어의 각 이력 출력에 의해 결정된 유클리드 거리의 평균값을 기반으로 결정된 제1 파라미터를 나타내고, MinAi는 i번째 미리 정해진 레이어의 제1 출력과 i번째 미리 정해진 레이어의 각 이력 출력에 의해 결정된 유클리드 거리의 최소값을 기반으로 결정된 제2 파라미터를 나타낸다.
일 실시예에서 전자 장치는, 교사 네트워크의 상이한 레이어의 출력을 기반으로 이미지의 의사 레이블을 생성함으로써, 상이한 의미 수준의 이미지의 의사 레이블을 생성할 수 있고, 이미지의 의사 레이블의 생성 품질을 개선하고, 학생 네트워크 훈련의 정확성을 향상시킬 수 있다. 일 실시예에서 전자 장치는, 모멘텀 정규화 방법을 통해 학생 네트워크 훈련의 안정성을 향상시키고, 훈련 과정에서 정확도 손실을 감소시킬 수 있다. 이상 본 발명의 일 실시예에 따른 의사 레이블 생성 방법에 대해 설명하였으나, 본 개시는 이에 한정되지 않으며, 기존의 다른 의사 레이블 생성 방법을 사용할 수도 있다.
도 7은 일 실시예에 따른 이미지 처리용 신경망 훈련 방법에서 예측 결과를 생성하는 방법을 설명하기 위한 흐름도이다.
도 7을 참조하면, 일 실시예에 따른 전자 장치는 동작(710)에서, 교사 네트워크의 적어도 2개 레이어의 각 레이어의 이력 출력과 각각의 제2 출력 간의 유사도를 계산할 수 있다. 일 실시예에서 전자 장치는, 각각의 제3 이미지를 학생 네트워크에 입력하여 출력 레이어를 포함하는 학생 네트워크에서 적어도 하나의 레이어의 출력을 획득하고, 적어도 하나의 레이어의 출력을 각각의 제3 이미지에 대응하는 제2 출력으로 합병할 수 있다. 일 실시예에 따르면, 전자 장치는 하나의 제3 이미지를 학생 네트워크에 입력하여 출력 레이어를 포함하는 학생 네트워크에서 적어도 하나의 레이어의 출력을 획득할 수 있다. 여기서, 출력 레이어를 포함하는 학생 네트워크에서 적어도 하나의 레이어는 인접해 있을 수 있다. 즉, 적어도 하나의 레이어는 연속된 적어도 하나의 레이어일 수 있다. 예를 들어, 전자 장치는 학생 네트워크에서의 출력 레이어의 출력을 획득할 수 있고, 또는 학생 네트워크에서의 출력 레이어의 출력 및 출력 레이어에 인접하거나 연결된 적어도 하나의 레이어의 출력을 획득할 수 있다.
일 실시예에 따르면, 전자 장치가 학생 네트워크에서 출력 레이어의 출력만을 획득한 경우, 전자 장치는 출력 레이어의 출력을 하나의 제3 이미지에 대응하는 제2 출력으로 취할 수 있다. 전자 장치가 출력 레이어의 출력 및 출력 레이어에 인접하거나 연결된 적어도 하나의 레이어의 출력을 획득하면, 전자 장치는 출력 레이어의 출력 및 동일한 출력 레이어에 인접하거나 연결된 적어도 하나의 레이어의 출력을 상기 하나의 제3 이미지에 대응하는 제2 출력으로 합병할 수 있다. 예를 들어, 전자 장치는 출력 레이어에 인접하거나 연결된 적어도 하나의 레이어 및 학생 네트워크의 출력 레이어의 순서에 따라, 출력 레이어에 인접하거나 연결된 적어도 하나의 레이어의 출력 및 출력 레이어의 출력을 합병할 수 있다. 예를 들어, 출력 레이어가 학생 네트워크의 n번째 레이어이고, 출력 레이어에 인접하거나 연결된 적어도 하나의 레이어가 학생 네트워크의 n-1번째 레이어인 경우, n번째 레이어의 출력은 (m1,
Figure pat00008
, mx)이고, n-1번째 레이어의 출력은 (x1,
Figure pat00009
, xs)일 때, 출력 레이어의 출력 및 동일한 출력 레이어에 인접한 적어도 하나의 레이어의 출력의 합병 결과는 (x1,
Figure pat00010
, xs, m1,
Figure pat00011
, mx)일 수 있다(s 및 x는 각각 1보다 큰 정수일 수 있음). 전자 장치는 각각의 제3 이미지에 대응하는 제2 출력에 기초하여 적어도 2개 레이어에 각각 대응하는 예측 결과를 생성할 수 있다. 일 실시예에 따르면, 전자 장치는 각각의 제3 이미지의 적어도 2개 레이어에 대응하는 예측 결과로서, 교사 네트워크에서 적어도 2개 레이어의 각 레이어의 이력 출력과 각각의 제3 이미지에 대응하는 제2 출력 간의 유사도를 계산할 수 있다. 예를 들어, 전자 장치는 제3 이미지의 적어도 2의 레이어에 대응하는 하나의 예측 결과로서, 교사 네트워크의 적어도 2개 레이어의 각 레이어의 이력 출력과 제3 이미지에 대응하는 제2 출력 간의 유사도를 계산할 수 있다. 적어도 2개 레이어 중 적어도 하나의 레이어의 각 레이어의 이력 출력의 차원이 각각의 제3 이미지에 대응하는 제2 출력의 차원과 다를 수 있기 때문에, 계산된 적어도 2개 레이어의 적어도 하나의 레이어의 각 레이어의 이력 출력과 각각의 제3 이미지에 대응하는 제2 출력 간의 유사도가 부정확할 수 있으므로 전자 장치는 적어도 2개 레이어 중 적어도 하나의 레이어의 각 레이어의 이력 출력의 차원을 변환할 수 있다. 예를 들어, 각각의 제3 이미지에 대응하는 제2 출력의 차원이 교사 네트워크의 적어도 2개 레이어 중 적어도 하나의 각 레이어의 이력 출력의 차원과 다른 경우, 전자 장치는 교사 네트워크에 있는 적어도 2개 레이어 중 적어도 하나의 각 레이어의 이력 출력을 각각의 제3 이미지에 대응하는 제2 출력의 차원과 동일한 차원으로 변환할 수 있다. 또한, 전자 장치는 변환된 교사 네트워크의 적어도 2개 레이어 중 적어도 하나의 각 레이어의 이력 출력과 각각의 제3 이미지에 대응하는 제2 출력 간의 유사도를 각각의 교사 네트워크의 적어도 2개 레이어의 적어도 하나의 레이어에 대응하는 각각의 제3 이미지의 예측 결과로서 계산할 수 있다. 예를 들어, 각각의 제3 이미지에 대응하는 제2 출력의 차원이 교사 네트워크의 적어도 2개 레이어 중 제1 미리 정해진 레이어의 이력 출력의 차원과 다른 경우, 전자 장치는 제1 미리 정해진 레이어의 이력 출력의 차원은 동일한 각각의 제3 이미지에 대응하는 제2 출력의 차원과 동일한 차원으로 변환하고, 변환 후의 제1 미리 정해진 레이어의 이력 출력과 각각의 제3 이미지에 대응하는 제2 출력 간의 유사도를 제1 미리 정해진 레이어에 대응하는 각각의 제3 이미지의 예측 결과로서 계산할 수 있다.
일 실시예에 따르면, 전자 장치는 교사 네트워크의 적어도 2개 레이어의 각 레이어의 이력 출력과 각각의 제3 이미지에 대응하는 제2 출력 간의 내적(inner product)을 계산함으로써, 교사 네트워크의 적어도 2개 레이어의 각 레이어의 이력 출력과 각각의 제3 이미지에 대응하는 제2 출력 간의 유사도를 계산할 수 있다. 다만, 예시는 이에 한정되지 않으며, 전자 장치는 교사 네트워크의 적어도 2개 레이어의 각 레이어의 이력 출력과 각각의 제3 이미지에 대응하는 제2 출력 간의 계산된 유클리드 거리 또는 다른 방법을 통해, 교사 네트워크의 적어도 2개 레이어의 각 레이어의 이력 출력과 각각의 제3 이미지에 대응하는 제2 출력 간의 유사도를 계산할 수 있다.
이상, 본 개시의 일 실시예에 따른 예측 결과 생성 방법에 대해 설명하였으나, 본 개시는 이에 한정되지 않으며, 기존의 다른 예측 결과 생성 방법을 사용할 수도 있다.
도 8은 일 실시예에 따른 이미지 처리용 신경망 훈련 방법에서 학생 네트워크를 업데이트 하는 방법을 설명하기 위한 흐름도이다.
도 8을 참조하면, 일 실시예에 따른 전자 장치는 동작(810)에서 의사 레이블과 예측 결과에 기초하여 적어도 의사 레이블과 예측 결과에 기초하여 적어도 하나의 제3 이미지의 각 예측 결과와 임의의 하나의 제2 이미지의 각 예측 결과에 대응하는 의사 레이블 간의 차이를 포함하는 손실을 결정할 수 있다.
일 실시예에 따른 전자 장치는 동작(610)에서 각각의 약한 제1 이미지의 크기를 대응하는 융합할 약한 부가 이미지의 크기와 미리 정해진 비율의 곱으로 조정하고, 크기 조정 후의 각각의 약한 제1 이미지를 대응하는 융합할 약한 부가 이미지의 미리 정해진 영역에 오버랩하여, 각각의 제2 이미지에 대응하는 중간 이미지를 생성할 수 있다. 예를 들어 각각의 제2 이미지 및 각각의 제2 이미지에 대응하는 중간 이미지는 동일한 약한 제1 이미지 및 약한 부가 이미지에 기초하여 생성될 수 있다. 전자 장치는 각각의 중간 이미지를 교사 네트워크에 입력하여, 각각의 중간 이미지에 대응하는 교사 네트워크의 적어도 2개 레이어의 각 레이어의 제3 출력을 획득할 수 있다. 전자 장치는 각각의 제3 출력에 기초하여 각각의 제3 출력에 대응하는 의사 레이블을 생성할 수 있다. 일 실시예에 따르면, 전자 장치는 각각의 제1 출력에 대응하는 의사 레이블을 생성하는 것과 유사한 방법으로 각각의 제3 출력에 대응하는 의사 레이블을 생성할 수 있다. 일 실시예에 따르면, 전자 장치 각각의 제1 출력에 대응하는 의사 레이블과 각각의 제3 출력에 대응하는 의사 레이블을 융합하여 각각의 제1 출력에 대응하는 최종 의사 레이블을 생성할 수 있다.
일 실시예에 따르면, 전자 장치는 수학식 4를 이용하여 최종 의사 레이블을 생성할 수 있다.
Figure pat00012
수학식 4에서, Yij는 복수의 제2 이미지에서 i번째 제2 이미지의 적어도 2개 레이어의 j번째 레이어에 대응하는 최종 의사 레이블을 나타내고, r은 미리 정해진 비율을 나타내고, Yaij는 i번째의 제2 이미지의 적어도 2개 레이어의 j번째의 제1 출력에 대응하는 의사 레이블을 나타내고, Ybij는 i번째 제2 이미지에 대응하는 중간 이미지의 적어도 2개 레이어의 j번째 레이어의 제3 출력에 대응하는 의사 레이블을 나타낸다.
일 실시예에 따르면, 전자 장치는 예측 결과와 최종 의사 레이블 간의 차이에 기초하여 손실을 결정할 수 있다. 예를 들어, 손실은 각각의 최종 의사 레이블과 동일한 각각의 최종 의사 레이블에 대응하는 각 예측 결과 간의 차이를 포함할 수 있다. 각각의 최종 의사 레이블 및 동일한 각각의 최종 의사 레이블에 대응하는 각 예측 결과는 모두 적어도 2개 레이어의 동일한 레이어에 대응할 수 있다. 예를 들어, 전자 장치는 KL 다이버전스를 사용하여 예측 결과와 의사 레이블 간의 차이를 계산할 수 있다. 그러나 예시는 이에 한정되지 않으며, 다른 방법을 사용하여 예측 결과와 의사 레이블 간의 차이를 계산할 수도 있다.
일 실시예에서, 예를 들어 전자 장치가 제1 이미지에 대해 강한 향상 처리를 수행하여 생성된 적어도 하나의 제3 이미지에서, 적어도 두 개의 제3 이미지의 크기는 동일하고 다른 제3 이미지의 크기는 다른 경우가 있을 수 있다. 학생 네트워크 업데이트를 위한 총 손실이 각각의 제3 이미지에 대응하는 손실에 대해 직접 합을 구하여 결정되는 경우, 학생 네트워크 훈련의 정확도가 떨어질 수 있으므로 전자 장치는 다음과 같은 방법을 통해 학생 네트워크 업데이트에 사용될 총 손실을 결정할 수 있다. 예를 들어 전자 장치는, 손실 중 i번째 크기의 제3 이미지에 대응하는 손실을 i번째 크기의 제3 이미지에 대응하는 i번째 손실로 평균값을 구할 수 있다. 예를 들어, i는 1 내지 n의 정수일 수 있고, n은 복수의 제3 이미지 크기의 종류의 수를 나타내며 1보다 큰 정수일 수 있다. 전자 장치는 제1 손실과 n번째 손실을 합을 총 손실로 구하여 학생 네트워크를 업데이트할 수 있다. 예를 들어, 복수의 제3 이미지가 제3 이미지(a), 제3 이미지(b) 및 제3 이미지(c)로 구성되고, 제3 이미지(a) 및 제3 이미지(b)의 크기가 제1 크기이고, 제3 이미지(c)가 제2 크기인 경우, 전자 장치는 제3 이미지(a) 및 제3 이미지(b)의 손실에 대해 제1 크기의 제3 이미지에 대응하는 손실로 평균값을 구할 수 있고, 제3 이미지(c)에 대응하는 손실을 제2 크기의 제3 이미지에 대응하는 손실로 결정하고, 제3 이미지(a) 및 제3 이미지(b)의 손실의 평균값과 제3 이미지(c)에 대응하는 손실의 합을 총 손실로 결정할 수 있다. 그러나 일 실시예에 따른 복수의 제3 이미지의 크기는 특정 실시예에 한정되지 않으며, 복수의 제3 이미지는 하나의 크기 또는 적어도 3개의 크기를 가질 수 있다. 본 기술분야의 통상의 지식을 가진 자는, 다양한 공지된 방법을 사용하여 총 손실을 기반으로 학생 네트워크를 업데이트할 수 있으며, 본 개시는 이에 대해 어떠한 제한도 하지 않는다는 점을 이해할 수 있다.
도 9는 일 실시예에 따른 전자 장치를 도시한 블록도이다.
도 9를 참조하면, 일 실시예에서, 전자 장치(910)는 컨트롤러(920)를 포함한다. 본 기술분야의 통상의 지식을 가진 자는, 전자 장치(910)는 다른 구성요소를 추가로 포함할 수 있고, 전자 장치(910)에 포함된 구성요소는 분리되거나 결합될 수 있음을 이해해야 한다. 일 실시예에 따르면, 컨트롤러(920)는 이미지 처리용 신경망을 처리할 수 있다(예: 도 3에 도시된 이미지 처리용 신경망을 훈련하는 방법을 사용함). 예를 들어, 컨트롤러(920)는 백본 네트워크 모듈(930) 및 지식 증류 모듈(940)을 포함할 수 있다.
백본 네트워크 모듈(930)은 교사 네트워크 및 학생 네트워크를 포함하고, 그 중, 백본 네트워크 모듈(930)은 제1 이미지에 기초하여 교사 네트워크의 적어도 2개 레이어의 각 레이어의 제1 출력을 획득하도록 구성될 수 있다.
예를 들어, 제1 이미지는 ImageNet 데이터베이스로부터 획득된 이미지일 수 있다. 다만, 예시는 이에 한정되지 않으며, 제1 이미지는 다른 임의의 데이터베이스로부터 획득한 이미지 또는 다양한 다른 방법을 이용하여 획득한 이미지일 수도 있다. 백본 네트워크 모듈(930)은 제1 이미지에 기초하여 획득한 각각의 제2 이미지를 교사 네트워크에 입력하여, 각각의 교사 네트워크의 적어도 2개 레이어의 각 레이어에 대응하는 각각의 제2 이미지의 제1 출력을 획득할 수 있다. 일 실시예에 따르면, 제2 이미지는 제1 이미지일 수 있다. 이런 경우, 백본 네트워크 모듈(930)은 교사 네트워크에 제1 이미지를 입력하여, 교사 네트워크의 적어도 2개 레이어의 각 레이어의 제1 출력을 획득할 수 있다. 일 실시예에 따르면, 전자 장치(910)(예, 전자 장치(910)의 컨트롤러(920))는 이미지 처리 모듈(미도시)을 더 포함하고, 이미지 처리 모듈을 제1 이미지에 대해서만 약한 향상 처리를 수행하여 적어도 하나의 제2 이미지를 생성할 수 있다. 일 실시예 중, 이미지 처리 모듈은 백본 네트워크 모듈(930)에 포함되거나 분리될 수 있다.
일 실시예에 따르면, 이미지 처리 모듈은 약한 향상 처리를 수행한 후의 제1 이미지에 대해 부가 처리를 수행하여 복수의 제2 이미지를 생성할 수 있다. 도 4를 참조하여 약한 향상 처리를 수행한 후의 제1 이미지에 대해 부가 처리를 수행하여 제2 이미지를 생성하는 예시를 설명하였으므로, 중복을 피하기 위해 여기서 중복되는 설명은 생략하기로 한다.
이미지에 수행되는 향상 처리는 이미지 랜덤 크로핑, 이미지 스케일링, 이미지 색상 변경, 이미지 랜덤 그레이 스케일 변경, 이미지 가우시안 블러, 이미지 랜덤 플리핑 등 중 적어도 하나를 포함할 수 있지만 이에 제한되지는 않는다.
백본 네트워크 모듈(930)은 각각의 제1 출력에 기초하여 각각의 제1 출력에 대응하는 의사 레이블을 생성할 수 있다. 일 실시예에 따르면, 백본 네트워크 모듈(930)은 각각의 제2 이미지에 대응하는 각각의 제1 출력과 적어도 2개 레이어의 대응하는 레이어의 이력 출력 간의 유사도에 기초하여, 각각의 제2 이미지의 각각의 제1 출력에 대응하는 의사 레이블을 생성할 수 있다. 백본 네트워크 모듈(930)은 제1 이미지에 기초하여 출력 레이어를 포함하는 학생 네트워크에서 적어도 하나의 레이어에서 처리된 제2 출력을 획득할 수 있다. 백본 네트워크 모듈(930)은 제1 이미지에 기초하여 획득된 각각의 제3 이미지를 학생 네트워크에 입력하여, 각각의 제3 이미지에 대응하는 출력 레이어의 적어도 하나의 레이어를 포함하는 학생 네트워크의 각 레이어의 출력을 획득하고, 각각의 제3 이미지에 대응하는 각 레이어의 출력을 각각의 제3 이미지에 대응하는 제2 출력으로 합병(예를 들어, 각각의 제3 이미지에 대응하는 각 레이어의 출력을 각각의 제3 이미지에 대응하는 제2 출력으로 연결함)할 수 있다. 일 실시예에 따르면, 제3 이미지는 제1 이미지일 수 있다. 이런 경우, 백본 네트워크 모듈(930)은 제1 이미지를 학생 네트워크에 입력하여, 출력 레이어의 적어도 하나의 레이어를 포함하는 대응하는 학생 네트워크의 각 레이어의 출력을 획득할 수 있다. 일 실시예에 따르면, 이미지 처리 모듈은 제1 이미지에 대해서만 강한 향상 처리를 수행하여 적어도 하나의 제3 이미지를 생성할 수 있다. 일 실시예에 따르면, 이미지 처리 모듈은 강한 향상 처리를 수행한 후의 제1 이미지에 대해 부가 처리를 수행하여 복수의 제3 이미지를 생성할 수 있다. 앞서 도 5를 참조하여 강한 향상 처리를 수행한 후의 제1 이미지에 대해 부가 처리를 수행하여 복수의 제3 이미지를 생성하는 예시를 설명하였으므로, 중복을 피하기 위해 여기서 중복되는 설명은 생략하기로 한다.
일 실시예에서, 제2 이미지의 개수는 제3 이미지의 개수와 동일할 수 있다.
백본 네트워크 모듈(930)은 각각의 제2 출력에 기초하여, 적어도 2개 레이어의 각 레이어에 대응하는 예측 결과를 생성할 수 있다.
백본 네트워크 모듈(930)은 교사 네트워크의 적어도 2개 레이어의 각 레이어에 대응하는 이력 출력과 각각의 제2 출력 간의 유사도에 기초하여, 적어도 2개 레이어의 각 레이어에 대응하는 예측 결과를 생성할 수 있다.
다만, 예시는 이에 한정되지 않으며, 백본 네트워크 모듈(930)은 종래 기술의 다른 방법을 사용하여 의사 레이블 및 예측 결과를 생성할 수 있고, 본 출원은 이에 대해 특별히 제한하지 않는다.
일 실시예에 따르면, 백본 네트워크 모듈(930)은 교사 네트워크의 적어도 2개 레이어의 각 레이어에 대응하는 이력 출력과 각각의 제3 이미지에 대응하는 제2 출력의 유사도레 기초하여, 각각 제3 이미지의 적어도 2개 레이어의 각 레이어에 대응하는 예측 결과를 생성할 수 있다.
지식 증류 모듈(940)은 의사 레이블 및 예측 결과에 기초하여 학생 네트워크를 업데이트할 수 있다.
지식 증류 모듈(940)은 의사 레이블 및 예측 결과에 기초하여 손실을 결정하고, 결정된 손실을 사용하여 학생 네트워크의 파라미터를 업데이트하여, 업데이트된 학생 네트워크의 파라미터를 기반으로 결정된 손실(예를 들어, 업데이트된 학생 네트워크의 파라미터를 기반으로 예측 결과를 다시 획득하고, 의사 레이블 및 다시 획득한 예측 결과를 기반으로 손실을 결정함)을 최소화하거나 미리 정해진 임계 값 미만이 되도록 할 수 있다.
예를 들어, 손실은 각 의사 레이블과 동일한 각 의사 레이블에 대응하는 예측 결과 간의 차이를 포함할 수 있다. 각 의사 레이블 및 동일한 각 의사 레이블에 대응하는 예측 결과는 모두 교사 네트워크에서 적어도 2개 레이어 중 동일한 레이어에 대응할 수 있다.
일 실시예에서, 제2 이미지 및 제3 이미지가 제1 이미지인 경우, 또는 이미지 처리 모듈이 제1 이미지에 대해서만 약한 향상 처리를 수행하여 제2 이미지를 생성하고, 제1 이미지에 대해서만 강한 향상 처리를 수행하여 제3 이미지를 생성하는 경우, 지식 증류 모듈(940)은 각각의 제3 이미지의 각 예측 결과와 하나의 제2 이미지의 각 예측 결과에 대응하는 의사 레이블 간의 차이에 기초하여 손실을 결정할 수 있다.
일 실시예에서, KL 다이버전스를 사용하여 예측 결과와 의사 레이블 간의 차이를 계산할 수 있다. 그러나 예시는 이에 한정되지 않으며, 다른 방법을 사용하여 예측 결과와 의사 레이블 간의 차이를 계산할 수도 있다.
일 실시예에서, 이미지 처리 모듈이 약한 향상 처리를 수행한 후의 제1 이미지에 대해 부가 처리를 수행하여 제2 이미지를 생성하고, 강한 향상 처리를 수행한 후의 제1 이미지에 대해 부가 처리를 수행하여 제3 이미지를 생성하는 경우, 지식 증류 모듈(940)은 상기 각각의 제1 출력에 대응하는 의사 레이블에 기초하여 최종 의사 레이블을 획득하고, 예측 결과와 최종 의사 레이블 간의 차이에 기초하여 손실을 결정할 수 있다. 이와 관련하여, 도 8을 참조하여 위에서 상세히 설명하였으므로, 중복을 피하기 위해 여기서 더는 반복되는 설명을 생략한다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 저장할 수 있으며 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
위에서 설명한 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 또는 복수의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 이를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (20)

  1. 이미지 처리를 위한 신경망 훈련 방법에 있어서,
    제1 이미지에 기초하여 교사 네트워크의 적어도 2개 레이어의 각각의 제1 출력을 획득하는 동작;
    상기 각각의 제1 출력에 기초하여 상기 각각의 제1 출력에 대응하는 의사 레이블(pseudo label)을 생성하는 동작;
    상기 제1 이미지에 기초하여 출력 레이어를 포함하는 적어도 하나의 학생 네트워크의 레이어에 의해 처리된 제2 출력을 획득하는 동작;
    제2 출력들 각각에 기초하여 상기 적어도 2개 레이어의 각 레이어에 대응하는 예측 결과를 생성하는 동작;
    상기 의사 레이블과 상기 예측 결과를 기반으로 상기 학생 네트워크를 업데이트하는 동작을 포함하는,
    신경망 훈련 방법
  2. 제1항에 있어서,
    상기 제1 출력을 획득하는 동작은,
    상기 제1 이미지에 대해 약한 향상 처리(weak enhancement processing)를 수행하여 적어도 하나의 제2 이미지를 생성하는 동작;
    상기 제1 이미지에 대해 강한 향상 처리(strong enhancement processing)를 수행하여 적어도 하나의 제3 이미지를 생성하는 동작; 및
    상기 적어도 하나의 제2 이미지에 기초하여, 상기 적어도 하나의 제2 이미지에 대응하는 상기 교사 네트워크의 상기 적어도 2개 레이어의 각각의 제1 출력을 획득하는 동작을 포함하고,
    상기 적어도 하나의 제2 이미지의 개수와 상기 적어도 하나의 제3 이미지의 개수는 동일한 것인,
    신경망 훈련 방법.
  3. 제2항에 있어서,
    상기 제2 출력을 획득하는 동작은,
    상기 적어도 하나의 제3 이미지에 기초하여, 상기 적어도 하나의 제3 이미지에 대응하는 출력 레이어를 포함하는 학생 네트워크에서 적어도 하나의 레이어의 각 레이어의 출력을 획득하고, 상기 적어도 하나의 제3 이미지에 대응하는 각 레이어의 출력을 대응하는 제2 출력으로 합병하여 상기 제2 출력을 획득하는 동작을 포함하는
    신경망 훈련 방법.
  4. 제2항에 있어서,
    상기 적어도 하나의 제2 이미지를 생성하는 동작은,
    상기 제1 이미지에 대해 약한 향상 처리를 수행하여 복수의 약한 제1 이미지를 생성하는 동작;
    부가 이미지에 대해 약한 향상 처리를 수행하여 복수의 약한 부가 이미지를 생성하는 동작; 및
    상기 복수의 약한 제1 이미지와 상기 복수의 약한 부가 이미지를 융합하여 상기 적어도 하나의 제2 이미지를 생성하는 동작을 포함하는,
    신경망 훈련 방법.
  5. 제2항에 있어서,
    상기 적어도 하나의 제3 이미지를 생성하는 동작은,
    상기 제1 이미지에 대해 강한 향상 처리를 수행하여 복수의 강한 제1 이미지를 생성하는 동작;
    부가 이미지에 대해 강한 향상 처리를 수행하여 복수의 강한 부가 이미지를 생성하는 동작; 및
    상기 복수의 강한 제1 이미지와 상기 복수의 강한 부가 이미지를 융합하여 상기 적어도 하나의 제3 이미지를 생성하는 동작을 포함하고,
    상기 복수의 강한 제1 이미지는,
    상기 제1 이미지와 상이한 크기를 갖는 것인,
    신경망 훈련 방법.
  6. 제1항에 있어서,
    상기 의사 레이블을 생성하는 동작은,
    상기 교사 네트워크의 상기 적어도 2개 레이어의 상기 각각의 제1 출력과 상기 교사 네트워크의 상기 적어도 2개의 레이어의 대응 레이어의 이력 출력 간의 유사도를 계산하는 동작;
    상기 계산된 유사도에 기초하여 상기 의사 레이블을 생성하는 동작을 포함하는,
    신경망 훈련 방법.
  7. 제6항에 있어서,
    상기 유사도를 계산하는 동작은,
    상기 각각의 제1 출력과 상기 대응 레이어의 이력 출력 간의 유클리드 거리를 상기 유사도로 계산하는 단계를 포함하는,
    신경망 훈련 방법.
  8. 제7항에 있어서,
    상기 의사 레이블을 생성하는 동작은,
    각각의 약한 제1 이미지의 크기를 조정하고, 상기 크기 조정 후의 각각의 약한 제1 이미지를 대응하는 미리 정해진 영역에 오버랩하여 각각의 제2 이미지에 대응하는 중간 이미지를 생성하는 동작;
    상기 각각의 제2 이미지에 대응하는 중간 이미지에 대응하는 상기 교사 네트워크의 상기 적어도 2개 레이어의 각 레이어의 제3 출력을 획득하는 동작;
    상기 각각의 제3 출력에 기초하여 상기 각각의 제3 출력에 대응하는 의사 레이블을 생성하는 동작; 및
    상기 각각의 제1 출력에 대응하는 의사 레이블과 상기 각각의 제3 출력에 대응하는 의사 레이블을 융합하여, 상기 각각의 제1 출력에 대응하는 최종 의사 레이블을 생성하는 동작을 더 포함하고,
    상기 각각의 제2 이미지와 상기 각각의 제2 이미지에 대응하는 중간 이미지는 동일한 상기 약한 제1 이미지 및 약한 부가 이미지에 기초하여 생성되는 것인,
    신경망 훈련 방법.
  9. 제8항에 있어서,
    상기 최종 의사 레이블을 생성하는 동작은,
    미리 정의된 비율, 상기 각각의 제2 이미지의 제1 출력에 대응하는 의사 레이블 및 상기 각각의 제2 이미지에 대응하는 중간 이미지의 제3 출력에 대응하는 의사 레이블에 기초하여 상기 최종 의사 레이블을 생성하는 동작을 포함하는,
    신경망 훈련 방법.
  10. 제1항에 있어서,
    상기 예측 결과를 생성하는 동작은,
    상기 적어도 2개 레이어의 각 레이어에 대응하는 예측 결과로서, 상기 교사 네트워크의 상기 적어도 2개 레이어의 각 레이어의 이력 출력과 상기 각각의 제2 출력 간의 유사도를 계산하여 상기 예측 결과를 생성하는 동작을 포함하는 것인,
    신경망 훈련 방법.
  11. 제1항에 있어서,
    상기 학생 네트워크를 업데이트 하는 동작은,
    상기 의사 레이블과 상기 예측 결과에 기초하여 적어도 하나의 제3 이미지의 각 예측 결과와 임의의 하나의 제2 이미지의 각 예측 결과에 대응하는 의사 레이블 간의 차이를 포함하는 손실을 결정하는 동작; 및
    상기 결정된 손실에 기초하여 상기 학생 네트워크를 업데이트 하는 동작을 포함하는,
    신경망 훈련 방법.
  12. 제11항에 있어서,
    상기 손실을 결정하는 동작은,
    제1 크기의 제3 이미지에 대응하는 손실과, 제2 크기의 제3 이미지에 대응하는 손실의 합을 상기 손실로 결정하는 동작을 더 포함하는
    신경망 훈련 방법.
  13. 제1항에 있어서,
    상기 출력 레이어를 포함하는 학생 네트워크에서 적어도 하나의 레이어는 인접한 것인,
    신경망 훈련 방법.
  14. 이미지 처리를 위한 신경망을 훈련하는 전자 장치에 있어서,
    교사 네트워크와 학생 네트워크를 포함하는 백본 네트워크 모듈;
    의사 레이블 및 예측 결과를 기반으로 상기 학생 네트워크를 업데이트하는 지식 증류 모듈;
    을 포함하고,
    상기 백본 네트워크 모듈은,
    제1 이미지에 기초하여 교사 네트워크의 적어도 2개 레이어의 각각의 제1 출력을 획득하는 동작,
    상기 각각의 제1 출력에 기초하여 상기 각각의 제1 출력에 대응하는 의사 레이블을 생성하는 동작,
    상기 제1 이미지에 기초하여 출력 레이어를 포함하는 적어도 하나의 학생 네트워크의 레이어에 의해 처리된 제2 출력을 획득하는 동작,
    제2 출력들 각각에 기초하여 상기 적어도 2개 레이어의 각 레이어에 대응하는 예측 결과를 생성하는 동작,
    상기 의사 레이블과 상기 예측 결과를 기반으로 상기 학생 네트워크를 업데이트하는 동작을 수행하는,
    전자 장치.
  15. 제14항에 있어서,
    이미지 처리 모듈을 더 포함하고,
    상기 이미지 처리 모듈은
    상기 제1 이미지에 대해 약한 향상 처리를 수행하여 적어도 하나의 제2 이미지를 생성하는 동작,
    상기 제1 이미지에 대해 강한 향상 처리를 수행하여 적어도 하나의 제3 이미지를 생성하는 동작을 수행하고,
    상기 백본 네트워크 모듈은,
    적어도 하나의 제2 이미지에 기초하여, 상기 적어도 하나의 제2 이미지에 대응하는 상기 교사 네트워크의 상기 적어도 2개 레이어의 각각의 제1 출력을 획득하는 동작을 수행하고,
    상기 적어도 하나의 제2 이미지의 개수와 상기 적어도 하나의 제3 이미지의 개수는 동일한 것인,
    전자 장치.
  16. 제14항에 있어서,
    상기 백본 네트워크 모듈은,
    적어도 하나의 제3 이미지에 기초하여, 상기 적어도 하나의 제3 이미지에 대응하는 출력 레이어를 포함하는 학생 네트워크에서 적어도 하나의 레이어의 각 레이어의 출력을 획득하고, 상기 적어도 하나의 제3 이미지에 대응하는 각 레이어의 출력을 대응하는 제2 출력으로 합병하여 상기 제2 출력을 획득하는 동작을 수행하는
    전자 장치.
  17. 제15항에 있어서,
    상기 이미지 처리 모듈은
    상기 제1 이미지에 대해 강한 향상 처리를 수행하여 복수의 고도 제1 이미지를 생성하는 동작,
    부가 이미지에 대해 강한 향상 처리를 수행하여 복수의 고도 부가 이미지를 생성하는 동작,및
    상기 복수의 고도 제1 이미지와 상기 복수의 고도 부가 이미지를 융합하여 상기 적어도 하나의 제3 이미지를 생성하는 동작을 수행하고,
    상기 복수의 고도 제1 이미지는,
    상기 제1 이미지와 상이한 크기를 갖는 것인,
    전자 장치.
  18. 제15항에 있어서,
    상기 이미지 처리 모듈은,
    각각의 약한 제1 이미지의 크기를 조정하고, 상기 크기 조정 후의 각각의 약한 제1 이미지를 대응하는 미리 정해진 영역에 오버랩하여 각각의 제2 이미지에 대응하는 중간 이미지를 생성하는 동작,
    상기 각각의 제2 이미지에 대응하는 중간 이미지에 대응하는 상기 교사 네트워크의 상기 적어도 2개 레이어의 각 레이어의 제3 출력을 획득하는 동작,
    상기 각각의 제3 출력에 기초하여 상기 각각의 제3 출력에 대응하는 의사 레이블을 생성하는 동작, 및
    상기 각각의 제1 출력에 대응하는 의사 레이블과 상기 각각의 제3 출력에 대응하는 의사 레이블을 융합하여, 상기 각각의 제1 출력에 대응하는 최종 의사 레이블을 생성하는 동작을 더 수행하고,
    상기 각각의 제2 이미지와 상기 각각의 제2 이미지에 대응하는 중간 이미지는 동일한 상기 약한 제1 이미지 및 약한 부가 이미지에 기초하여 생성되는 것인,
    전자 장치.
  19. 제14항에 있어서,
    상기 출력 레이어를 포함하는 학생 네트워크에서 적어도 하나의 레이어는 인접한 것인,
    전자 장치.
  20. 제1항 내지 제13항 중 어느 한 항의 방법을 수행하기 위한 명령어를 포함하는 하나 이상의 컴퓨터 프로그램을 저장한 컴퓨터 판독 가능 기록 매체.
KR1020220128935A 2021-11-16 2022-10-07 이미지 처리용 신경망 훈련 방법 및 전자 장치 KR20230071719A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/987,312 US20230154173A1 (en) 2021-11-16 2022-11-15 Method and device with neural network training and image processing

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202111357582.5 2021-11-16
CN202111357582.5A CN114299311A (zh) 2021-11-16 2021-11-16 训练用于图像处理的神经网络的方法和电子装置

Publications (1)

Publication Number Publication Date
KR20230071719A true KR20230071719A (ko) 2023-05-23

Family

ID=80963860

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220128935A KR20230071719A (ko) 2021-11-16 2022-10-07 이미지 처리용 신경망 훈련 방법 및 전자 장치

Country Status (2)

Country Link
KR (1) KR20230071719A (ko)
CN (1) CN114299311A (ko)

Also Published As

Publication number Publication date
CN114299311A (zh) 2022-04-08

Similar Documents

Publication Publication Date Title
US11610115B2 (en) Learning to generate synthetic datasets for training neural networks
US11048978B2 (en) Meta-learning for multi-task learning for neural networks
KR102589303B1 (ko) 고정 소수점 타입의 뉴럴 네트워크를 생성하는 방법 및 장치
KR102492318B1 (ko) 모델 학습 방법 및 장치, 및 데이터 인식 방법
JP7037143B2 (ja) ニューラルネットワークのための方法及び電子装置
US10803591B2 (en) 3D segmentation with exponential logarithmic loss for highly unbalanced object sizes
KR102410820B1 (ko) 뉴럴 네트워크를 이용한 인식 방법 및 장치 및 상기 뉴럴 네트워크를 트레이닝하는 방법 및 장치
EP3459021B1 (en) Training neural networks using synthetic gradients
US11574164B2 (en) Neural network cooperation
KR20200045128A (ko) 모델 학습 방법 및 장치, 및 데이터 인식 방법
US20180053085A1 (en) Inference device and inference method
KR20200128938A (ko) 모델 학습 방법 및 장치
KR20180027887A (ko) 뉴럴 네트워크에 기초한 인식 장치 및 뉴럴 네트워크의 트레이닝 방법
US10580432B2 (en) Speech recognition using connectionist temporal classification
KR20200129639A (ko) 모델 학습 방법 및 장치
US20190164057A1 (en) Mapping and quantification of influence of neural network features for explainable artificial intelligence
WO2017176356A2 (en) Partitioned machine learning architecture
KR20180007657A (ko) 뉴럴 네트워크를 위한 방법 및 그 방법을 수행하는 장치
JP7196218B2 (ja) 画像質問応答方法、装置、コンピュータ装置、媒体及びプログラム
KR102011788B1 (ko) 계층적 시각 특징을 이용한 시각 질의 응답 장치 및 방법
US20230095606A1 (en) Method for training classifier, and data processing method, system, and device
US11375176B2 (en) Few-shot viewpoint estimation
KR20190109121A (ko) 시계열 데이터의 분석 및 예측을 위한 통합적인 딥러닝 시스템
JP6521440B2 (ja) ニューラルネットワーク及びそのためのコンピュータプログラム
CN109447096B (zh) 一种基于机器学习的扫视路径预测方法和装置