KR20190062283A - 선택적 손실 함수를 이용한 생성적 적대 네트워크의 학습을 위한 방법 및 장치 - Google Patents

선택적 손실 함수를 이용한 생성적 적대 네트워크의 학습을 위한 방법 및 장치 Download PDF

Info

Publication number
KR20190062283A
KR20190062283A KR1020180148642A KR20180148642A KR20190062283A KR 20190062283 A KR20190062283 A KR 20190062283A KR 1020180148642 A KR1020180148642 A KR 1020180148642A KR 20180148642 A KR20180148642 A KR 20180148642A KR 20190062283 A KR20190062283 A KR 20190062283A
Authority
KR
South Korea
Prior art keywords
learning
image
constructor
loss function
loss
Prior art date
Application number
KR1020180148642A
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 한국전자통신연구원
Publication of KR20190062283A publication Critical patent/KR20190062283A/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

Abstract

선택적 손실 함수를 이용한 생성적 적대 네트워크의 학습을 위한 방법 및 장치가 개시된다. 생성적 적대 네트워크의 학습기는 생성자 및 판별자를 포함한다. 열화된 영상을 원래의 영상과 유사하게 만들도록 학습기의 학습이 수행되고, 학습된 학습기의 정보는 장치 내에 저장되거나 다른 장치로 전송된다. 학습기를 사용하여 열화된 영상에 대한 복원을 수행함으로써 재구축된 영상이 생성된다. 학습기에 대한 복수의 손실들 중 하나의 손실을 감소시키기 위해 발생한 네트워크 파라미터들의 변화가 다른 손실도 감소시킬 경우에 네트워크 파라미터들의 변화가 학습기에 적용된다.

Description

선택적 손실 함수를 이용한 생성적 적대 네트워크의 학습을 위한 방법 및 장치{METHOD AND APPARATUS FOR TRANING OF GENERATIVE ADVERSARIAL NETWORK USING SELECTIVE LOSS FUNCTION}
아래의 실시예들은 신경망의 학습에 대한 방법 및 장치에 관한 것으로 보다 상세히는 선택적 손실 함수를 이용한 생성적 적대 네트워크의 학습을 위한 방법 및 장치가 개시된다.
생성적 적대 네트워크(Generative Adversarial Network; GAN)는 생성자(generator)가 생성된 신호인지 원본의 신호인지가 판별자(discriminator)에 의해 분별되지 못하는 신호를 생성하게 하는 목적으로 설계된 네트워크 구조이다.
GAN이 잡음 제거(denoising), 디블록킹(deblocking) 및 슈퍼-레졸루션(super-resolution) 등과 같은 영상 처리의 응용에 적용된 기술에 사용될 경우, 생성자는 열화된 영상(degraded image)을 입력으로서 수신하고, 원본의 열화-없는 영상(original artifact-free image)과 유사한 영상을 생성하고, 판별자가 생성자에 의해 생성된 영상이 원본의 영상인지 아니면 생성자에 의해 생성된 영상과 같은 가짜 영상인지를 구별하지 못하게 하도록 학습을 수행한다.
생성자는 원본의 영상과 유사하면서, 판별자에 의해 분별되지 못하는 영상을 생성해야 하므로, 서로 다른 목적들을 갖는 복수의 손실 함수들을 결합하고, 결합된 손실 함수의 값을 최소화하는 방향으로 네트워크 파라미터를 학습한다.
각 손실 함수는 서로 다른 범위(range)의 함수 값을 가진다. 이러한 복수의 함수들은 복수의 함수들의 값들이 동시에 같이 감소되는 방향으로 학습되기 어려운 특징을 갖는다.
이러한 특징에 의해, 생성자에 의해 생성된 영상은, 얼핏 보았을 때는 실제의 영상 같아 보일 수 있지만, 열화된 영상에 비해서도 더 낮은 최대 신호 대 잡음 비(Peak Signal to Noise Ratio; PSNR) 값을 갖는 영상이거나, 열화된 영상에 비해 더 높은 PSNR 값을 갖지만 전반적으로 블러(blur)된 영상이라는 한계가 존재한다.
일 실시예는 선택적 손실 함수를 이용하여 생성적 적대 네트워크의 학습을 수행하는 장치 및 방법을 제공할 수 있다.
일 실시예는 선택적 손실 함수를 이용하여 학습된 학습기를 사용하여 재구축된 영상을 생성하는 장치 및 방법을 제공할 수 있다.
일 측면에 있어서, 학습기의 학습을 수행하는 단계; 및 상기 학습된 학습기를 사용하여 열화된 영상에 대한 복원을 수행함으로써 재구축된 영상을 생성하는 단계를 포함하고, 상기 학습기에 대한 복수의 손실들 중 하나의 손실을 감소시키기 위해 발생한 네트워크 파라미터들의 변화가 상기 복수의 손실들 중 상기 하나의 손실이 아닌 다른 손실도 감소시킬 경우에 상기 네트워크 파라미터들의 변화가 상기 학습기에 적용되는, 영상 처리 방법이 제공된다.
이 외에도, 본 발명을 구현하기 위한 다른 방법, 장치, 시스템 및 상기 방법을 실행하기 위한 컴퓨터 프로그램을 기록하기 위한 컴퓨터 판독 가능한 기록 매체가 더 제공된다.
선택적 손실 함수를 이용하여 생성적 적대 네트워크의 학습을 수행하는 장치 및 방법이 제공된다.
선택적 손실 함수를 이용하여 학습된 학습기를 사용하여 재구축된 영상을 생성하는 장치 및 방법이 제공된다.
도 1은 일 예에 따른 생성자의 개념을 도시한다.
도 2는 일 예에 따른 판별자의 개념을 도시한다.
도 3은 일 예에 따른 생성자에 의한 재구축된 이미지의 생성을 나타낸다.
도 4는 일 예에 따른 판별자에 의한 실제 영상 및 재구축된 영상의 판별을 나타낸다.
도 5는 일 예에 따른 GAN의 학습의 코드를 개략적으로 나타낸다.
도 6은 일 실시예에 따른 전자 장치의 구조를 나타낸다.
도 7은 일 실시예에 따른 영상 처리를 위한 학습 및 영상 처리 방법의 흐름도이다.
도 8은 일 실시예에 따른 학습기의 학습 방법의 흐름도이다.
도 9는 일 예에 따른 제1 손실 함수를 기준으로 사용하는 생성자의 갱신 방법을 도시한다.
도 10은 일 예에 따른 제2 손실 함수를 기준으로 사용하는 생성자의 갱신 방법을 도시한다.
도 11은 일 예에 따른 복수의 손실 함수들을 사용하여 갱신의 수용 여부를 결정하는 생성자의 갱신 방법을 도시한다.
도 12는 일 예에 따른 생성자 및 판별자의 학습 방법을 나타낸다.
도 13은 일 예에 따른 압축된 영상 및 재구축된 영상을 도시한다.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 실시예들은 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다.
실시예들에서 사용되는 용어는, 단순한 용어의 명칭이 아닌 용어가 가지는 실질적인 의미와 본 명세서의 전반에 걸친 내용을 토대로 해석될 수 있다.
실시예들에서, 특정 부분과 다른 부분에 대한 연결관계는, 양자의 직접적인 연결관계 이외에, 그 사이에 또 다른 부분을 거쳐 연결되는 간접적인 연결관계를 포함할 수 있다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낼 수 있다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다.
도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다. 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
이하에서는, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
후술하는 예시적 실시예들에 대한 상세한 설명은, 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 실시예를 실시할 수 있기에 충분하도록 상세히 설명된다. 다양한 실시예들은 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 실시예의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 예시적 실시예들의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다.
도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다. 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
실시예에서 사용된 용어는 실시예를 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 실시예에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않으며, 추가적인 구성이 예시적 실시예들의 실시 또는 예시적 실시예들의 기술적 사상의 범위에 포함될 수 있음을 의미한다. 어떤 구성요소(component)가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기의 2개의 구성요소들이 서로 간에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있으나, 상기의 2개의 구성요소들의 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
제1 및 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기의 구성요소들은 상기의 용어들에 의해 한정되어서는 안 된다. 상기의 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하여 지칭하기 위해서 사용된다. 예를 들어, 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
또한, 실시예들에 나타나는 구성요소들은 서로 다른 특징적인 기능들을 나타내기 위해 독립적으로 도시되는 것으로, 각 구성요소가 분리된 하드웨어나 하나의 소프트웨어 구성 단위로만 이루어짐을 의미하지 않는다. 즉, 각 구성요소는 설명의 편의상 각각의 구성요소로 나열된 것이다. 예를 들면, 구성요소들 중 적어도 두 개의 구성요소들이 하나의 구성요소로 합쳐질 수 있다. 또한, 하나의 구성요소가 복수의 구성요소들로 나뉠 수 있다. 이러한 각 구성요소의 통합된 실시예 및 분리된 실시예 또한 본질에서 벗어나지 않는 한 권리범위에 포함된다.
또한, 일부의 구성요소는 본질적인 기능을 수행하는 필수적인 구성요소는 아니고 단지 성능을 향상시키기 위한 선택적 구성요소일 수 있다. 실시예들은 실시예의 본질을 구현하는데 필수적인 구성부만을 포함하여 구현될 수 있고, 예를 들면, 단지 성능 향상을 위해 사용되는 구성요소와 같은, 선택적 구성요소가 제외된 구조 또한 권리 범위에 포함된다.
이하에서는, 기술분야에서 통상의 지식을 가진 자가 실시예들을 용이하게 실시할 수 있도록 하기 위하여, 첨부된 도면을 참조하여 실시예들을 상세히 설명하기로 한다. 실시예들을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 명세서의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
전술된 것과 같은 GAN의 학습 방법의 문제를 해결하기 위하여, 실시예에서는 여러 개의 손실 함수가 결합되는 방식이 아닌, 손실 함수들의 각각이 기정의된 규칙 또는 역할에 따라 독립적으로 또는 단계적으로 학습에 사용되는 방식이 설명된다.
아래에서는 실시예들에서 사용되는 용어들에 대해 설명된다.
생성자(generator): 생성자는 생성자로 입력되는 입력 영상으로부터 요구되는 영상을 생성하기 위하여 구성된 네크워크 구조일 수 있다. 예를 들면, 생성자는 입력되는 열화된 영상에 대한 재구축된 영상을 생성할 수 있다.
원래의 GAN에서는 랜덤 신호가 입력으로 이용되나, 영상 처리의 응용에서는 열화된 영상이 GAN의 입력으로 이용될 수 있다.
판별자(discriminator): 판별자는 판별자로 입력되는 입력 영상이 생성자에 의해 생성된 영상(예를 들면, 가짜 영상) 및 원본의 영상(예를 들면, 실제 영상) 중 어느 것인가를 구별하기 위해 생성된 네트워크 구조일 수 있다.
생성적 적대 네트워크(Generative Adversarial Network; GAN): GAN은 생성자 및 판별자를 포함할 수 있다. GAN에서, 생성자는 판별자가 가짜 영상 및 실제 영상을 구별하지 못하도록 학습을 수행할 수 있고, 판별자는 가짜 영상 및 실제 영상을 잘 구별하도록 학습할 수 있다. 말하자면, GAN은 생성자 및 판별자가 서로 경쟁적으로 학습하도록 설계된 네트워크 구조일 수 있다.
손실(loss) 함수: 손실 함수는 생성자 또는 판별자의 성능을 평가하는 목적 함수일 수 있다. 영상 처리의 응용에서, 생성자가 원본의 영상과 얼마나 유사한 영상을 생성하는지를 나타내도록 손실 함수가 정의될 수 있고(예를 들면, L2 손실), 또는 판별자를 얼마나 잘 속이는지를 나타내도록 손실 함수가 정의될 수 있다(예를 들면, 적대(adversarial) 손실).
도 1은 일 예에 따른 생성자의 개념을 도시한다.
생성자의 네트워크는 입력 레이어, 하나 이상의 은닉 레이어들 및 출력 레이어로 구성될 수 있다.
생성자의 입력은 랜덤 신호 z ( i )일 수 있고, 생성자의 출력은 가짜 영상(fake image) F ( i )일 수 있다.
생성자에 대해서 타겟(target) o k가 설정될 수 있고, 설정된 목적에 따라서 생성자의 학습이 이루어질 수 있다. 타겟은 목적 함수를 나타낼 수 있다.
도 1에서는, 생성자에 의해 랜덤 신호로부터 숫자를 나타내는 영상이 생성되는 과정이 개략적으로 도시되었다.
도 2는 일 예에 따른 판별자의 개념을 도시한다.
판별자의 네트워크는 입력 레이어, 하나 이상의 은닉 레이어들 및 출력 노드를 포함할 수 있다. 출력 레이어에서는 1(참) 또는 0(거짓)의 결과 값이 출력될 수 있다.
판별자의 입력은 가짜 영상 F ( i ) 또는 실제 영상(real image) x ( i )일 수 있다.
판별자의 출력은 1(참) 또는 0(거짓)일 수 있다. 1은 입력된 영상이 실제 영상으로 판별되었음을 나타낼 수 있다. 0은 입력된 영상이 가짜 영상으로 판별되었음을 나타낼 수 있다. 말하자면, 판별자는 입력된 영상을 실제 영상 및 가짜 영상 중 하나로 판별하도록 학습될 수 있다.
판별자에 대해서 타겟 o k가 설정될 수 있고, 설정된 목적에 따라서 판별자의 학습이 이루어질 수 있다.
도 2에서는, 판별자에 가짜 영상 또는 실제 영상이 입력되었을 때 입력된 영상이 가짜 영상 및 실제 영상 중 어느 것인지가 판별되는 과정이 개략적으로 도시되었다.
도 3은 일 예에 따른 생성자에 의한 재구축된 이미지의 생성을 나타낸다.
도 3에서는 판별자에 의해 실제 영상 z ( i )로부터 재구축된 영상 F ( i )가 생성되는 과정이 개략적으로 도시되었다. 재구축된 영상은 원본의 영상에 비해 더 고품질의 영상일 수 있다.
도 4는 일 예에 따른 판별자에 의한 실제 영상 및 재구축된 영상의 판별을 나타낸다.
도 4에서는, 재구축된 영상 F ( i ) 또는 실제 영상 x ( i )가 판별자로 입력되었을 때, 판별자에 의해 입력된 영상이 재구축된 영상(즉, 가짜 영상) 또는 실제 영상 중 어느 것인지가 판별되는 과정이 개략적으로 도시되었다.
도 5는 일 예에 따른 GAN의 학습의 코드를 개략적으로 나타낸다.
판별자의 경우, 실제 영상 x ( i )에 대해서 1에 가까운 값이 출력되도록 학습될 수 있다. 말하자면, 판별자는 D(x ( i ))의 값이 1이 되도록 학습될 수 있다.
또한, 판별자의 경우, 가짜 영상 F ( i )에 대해서 0에 가까운 값이 출력되도록 학습될 수 있다. 말하자면, 판별자는 D(F ( i ))의 값이 0이 되도록 학습될 수 있다.
생성자의 경우, 판별자가 생성자에 의해 생성된 가짜 영상 G(z ( i ))을 실제 영상으로 잘못 판단하도록 학습될 수 있다. 말하자면, 생성자는 D(G(z ( i )))의 값이 1이 되도록 학습될 수 있다.
생성자의 학습 함수는 아래의 수학식 1과 같이 표현될 수 있다.
Figure pat00001
L natural 은 생성자에 의해 생성된 재구축된 영상
Figure pat00002
에 대해 판별자가 1을 출력하게 하는 손실 함수의 요소를 나타낼 수 있다. 말하자면, L natural 는 생성자가 판별자를 잘 속이도록 재구축된 영상
Figure pat00003
를 생성하는 것에 대한 손실 함수의 요소를 나타낼 수 있다.
L percept 는 생성자가 입력된 영상 X과 유사하도록 재구축된 영상
Figure pat00004
을 생성하게 하는 손실 함수의 요소를 나타낼 수 있다.
L jpeg 은, 생성자가 제이팩(JPEG) 영상에 적용될 때, 재구축된 영상
Figure pat00005
가 JPEG의 양자화 간격(quantization interval) Y를 벗어나지 않도록 하는 손실 함수의 요소를 나타낼 수 있다.
λ1 및 λ2의 각각은 가중치일 수 있다.
수학식 1에서 설명된 것과 같이, 손실 L은 생성자로 입력된 영상 X, 생성자에 의해 생성 또는 출력된 재구축된 영상
Figure pat00006
및 JPEG의 양자화 간격 Y에 의해 정의될 수 있다.
수학식 1에서 나타난 것과 같이, 생성자는 1) 판별자를 잘 속일 수 있도록 학습하면서, 2) 입력된 원래의 영상과 비슷한 영상을 생성하도록 학습하면서, 3) JPEG의 양자화 간격을 벗어나지 않는 영상을 생성하도록 학습할 수 있다.
도 6은 일 실시예에 따른 전자 장치의 구조를 나타낸다.
전자 장치(600)는 처리부(610), 통신부(620) 및 저장부(630)의 적어도 일부를 구성요소들로서 포함할 수 있다. 구성요소들은 하나 이상의 통신 버스 또는 신호 선을 통해 서로 간에 통신할 수 있다.
전자 장치(600)는 1) GAN의 학습을 수행하는 학습 장치일 수 있고, 2) 학습의 결과를 저장 또는 전송하는 통신 장치일 수 있고, 3) 학습된 GAN을 사용하여 열화된 영상에 대한 재구축된 영상을 생성하는 영상 처리 장치일 수 있다.
도 6에서 전자 장치(600)에 대하여 도시된 구성요소들은 단지 일 예일 수 있다. 도시된 구성요소들의 모두가 전자 장치(600)에 대하여 필수적인 것은 아닐 수 있다. 전자 장치(600)는 도 6에서 도시된 것에 비해 더 많거나 더 적은 구성요소들을 가질 수 있다. 또한, 도 6에서 도시된 2 개 이상의 구성요소들은 결합될 수 있다. 또한, 구성요소들은 도 6에서 도시된 것에 비해 다르게 구성(configure)되거나 배치될 수 있다. 각 구성요소는 하나 이상의 신호 프로세싱 및/또는 주문형 반도체(Application Specific Integrated Circuit; ASIC) 등을 비롯한 하드웨어로 구현되거나, 소프트웨어로 구현되거나, 하드웨어 및 소프트웨어의 조합으로 구현될 수 있다.
처리부(610)는 전자 장치(600)의 동작을 위해 요구되는 작업을 처리할 수 있다. 처리부(610)는 실시예들에서 설명되는 처리부(610)의 동작 또는 단계의 코드를 실행(execute)할 수 있다.
처리부(610)는 전자 장치(600)로 입력되거나, 전자 장치(600)에서 출력되거나, 전자 장치(600)에서 발생한 신호, 데이터 또는 정보의 생성 및 처리를 수행할 수 있고, 신호, 데이터 또는 정보에 관련된 검사, 비교 및 판단 등을 수행할 수 있다. 말하자면, 실시예에서 데이터 또는 정보의 생성 및 처리와 데이터 또는 정보에 관련된 검사, 비교 및 판단은 처리부(610)에 의해 수행될 수 있다.
예를 들면, 처리부(610)는 적어도 하나의 프로세서(processor)일 수 있다.
프로세서는 하드웨어 프로세서일 수 있고, 중앙 처리 장치(Central Processing Unit; CPU)일 수 있다. 프로세서는 복수일 수 있다. 또는, 프로세서는 복수의 코어(core)들을 포함할 수 있으며, 복수의 프로세스들 및/또는 복수의 쓰레드들을 동시에 실행하는 멀티-테스킹(multi-tasking)을 제공할 수 있다. 복수의 프로세서들, 복수의 코어들, 복수의 프로세스들 및/또는 복수의 쓰레드들을 통해 실시예들의 단계들 중 적어도 일부는 복수의 대상들에 대해 병렬로 수행될 수 있다.
예를 들면, 처리부(610)는 실시예들에서 설명되는 전자 장치(600)의 동작 또는 단계의 코드를 실행할 수 있다.
예를 들면, 처리부(610)는 프로그램(program)을 구동(run)할 수 있다. 처리부(610)는 프로그램을 구성하는 코드(code)를 실행할 수 있다. 프로그램은 전자 장치(600)의 운영 체제(Operating System; OS), 시스템 프로그램(system program), 어플리케이션(application) 및 앱(app)을 포함할 수 있다.
또한, 처리부(610)는 앞서 설명된 처리부(610)의 기능을 위해 전자 장치(600)의 다른 구성요소들을 제어할 수 있다.
통신부(620)는 전자 장치(600)의 동작을 위해 사용되는 데이터 또는 정보를 수신할 수 있으며, 전자 장치(600)의 동작을 위해 사용되는 데이터 또는 정보를 전송할 수 있다.
통신부(620)는 전자 장치(600)가 연결된 네트워크 내의 다른 장치로 데이터 또는 정보를 전송할 수 있고, 다른 장치로부터 데이터 또는 정보를 수신할 수 있다. 말하자면, 실시예에서 데이터 또는 정보의 전송 또는 수신은 통신부(620)에 의해 수행될 수 있다.
예를 들면, 통신부(620)는 네트워킹 칩(chip), 네트워킹 인터페이스(interface) 또는 통신 포트(port)일 수 있다.
저장부(630)는 전자 장치(600)의 동작을 위해 사용되는 데이터 또는 정보를 저장할 수 있다. 실시예에서, 전자 장치(600)가 갖는 데이터 또는 정보는 저장부(630) 내에 저장될 수 있다.
예를 들면, 저장부(630)는 메모리(memory)일 수 있다. 저장부(630)는 램(RAM) 및 플레시(flash) 메모리 등과 같은 내장형의 저장 매체를 포함할 수 있고, 메모리 카드 등과 같은 탈착가능한 저장 매체를 포함할 수 있다.
저장부(630)는 적어도 하나의 프로그램을 저장할 수 있다. 처리부(610)는 적어도 하나의 프로그램을 실행할 수 있다. 처리부(610)는 저장부(630)로부터 적어도 하나의 프로그램의 코드를 독출(read)할 수 있고, 독출된 코드를 실행할 수 있다.
전자 장치(600)의 처리부(610), 통신부(620) 및 저장부(630)의 동작, 기능 및 특징에 대해서 실시예들을 참조하여 아래에서 상세하게 설명된다.
도 7은 일 실시예에 따른 영상 처리를 위한 학습 및 영상 처리 방법의 흐름도이다.
실시예에서는 영상 처리를 위한 학습 및 영상 처리가 수행된다. 학습 및 영상 처리를 위해 충분한 개수의 원래의 영상들 및 열화된 영상들의 데이터베이스(database)가 존재할 수 있다. 저장부(630)는 원래의 영상들 및 열화된 영상들을 포함할 수 있다.
단계(710)에서, 처리부(610)는 열화된 영상을 원래의 영상과 유사하게 만들도록 학습기의 학습을 수행할 수 있다.
학습기는 생성자 및 판별자를 포함하는 GAN일 수 있다. 또는, 학습기는 GAN을 포함할 수 있다.
단계(710)에 대해 아래에서 도 8을 참조하여 상세하게 설명된다.
단계(720)에서, 처리부(610)는 사용자 및/또는 시스템의 요청에 따라 학습이 수행된 학습기의 정보를 저장부(630)에 저장하거나 통신부(620)를 통해 다른 정치로 전송할 수 있다.
학습기의 정보는 학습기의 네트워크 파라미터들의 값들을 포함할 수 있다. 말하자면, 학습된 학습기의 정보는 다른 학습기를 학습된 학습기와 동일하게 동작하도록 설정하기 위해 요구되는 값들을 포함할 수 있다.
단계(730)에서, 처리부(610)는 학습기를 사용하여 열화된 영상에 대한 복원을 수행함으로써 재구축된 영상을 생성할 수 있다.
도 8은 일 실시예에 따른 학습기의 학습 방법의 흐름도이다.
도 7을 참조하여 전술된 단계(710)는 단계들(810, 820 및 830)을 포함할 수 있다.
단계(810)에서, 처리부(610)는 학습기의 학습을 위한 복수의 손실 함수들을 구성할 수 있다.
복수의 손실 함수들은 재구축된 영상에 요구되는 성질들을 각각 반영하도록 구성될 수 있다.
처리부(610)는 재구축된 영상에 요구되는 성질들의 각각을 손실 함수의 형태로서 정의할 수 있다.
실시예에서는, 복수의 손실 함수들을 결합하여 복수의 손실 함수들의 결과 값들을 이용하는 대신, 복수의 함수들의 결과 값들의 각각이 기정의된 규칙에 따라 학습의 단계들에서 독립적으로 각각 사용되는 방식이 설명된다.
다양한 종류의 손실들 중에서, 원래의 영상(즉, 학습기에 입력되는 영상) 및 재구축된 영상(즉, 학습기로부터 출력되는 영상)이 서로 유사한 픽셀 값들을 갖게 하는 손실이 레벨(Level; L)2 손실로 정의될 수 있다.
또한, 다양한 종류의 손실들 중에서, 학습기가 판별자에 의해 분별되지 못하는 영상을 생성하게 하는 손실이 적대 손실로 정의될 수 있다.
말하자면, 학습기에 대한 복수의 손실들은 제1 손실 및 제2 손실을 포함할 수 있다. 제1 손실은 원래의 영상 및 재구축된 영상이 서로 유사한 픽셀 값들을 갖게 하는 손실일 수 있다. 제2 손실은 학습기가 판별자에 의해 분별되지 못하는 영상을 생성하게 하는 손실일 수 잇다. 예를 들면, 제1 손실은 L2 손실일 수 있고, 제2 손실은 적대 손실일 수 있다.
실시예에서는, L2 손실을 감소시키는 과정에서 발생하는 적대 손실의 증가 및/또는 적대 손실을 감소시키는 과정에서 발생하는 L2 손실의 증가를 방지하도록 네트워크 파라미터들의 학습이 수행될 수 있다.
이러한 학습을 위해서, 학습기에 대한 복수의 손실들 중 하나의 손실을 감소시키기 위해 발생한 네트워크 파라미터들의 변화가 복수의 손실들 중 상기 하나의 손실이 아닌 다른 손실도 감소시킬 경우에 네트워크 파라미터들의 변화가 학습기에서 유지되거나 학습기에 적용될 수 있다.
예를 들면, L2 손실을 감소시키기 위해 발생한 네트워크 파라미터들의 변화가 적대 손실도 감소시킬 경우에만, 네트워크 파라미터들의 변화가 유지 또는 적용될 수 있다. L2 손실을 감소시키기 위해 발생한 네트워크 파라미터들의 변화가 적대 손실은 증가시키는 경우에는, 네트워크 파라미터들의 변화가 유지 및 적용되지 않을 수 있다.
예를 들면, L2 손실을 감소시키기 위해 발생한 네트워크 파라미터들의 변화가 적대 손실도 감소시킬 경우에만, 네트워크 파라미터들의 변화가 유지 또는 적용될 수 있다. L2 손실을 감소시키기 위해 발생한 네트워크 파라미터들의 변화가 적대 손실은 증가시키는 경우에는, 네트워크 파라미터들의 변화가 유지 및 적용되지 않을 수 있다.
전술된 적대 손실 및 L2 손실은 복수의 손실들에 대한 일 예에 해당하며 서로 다른 목적을 갖는 다양한 손실들 및 이러한 다양한 손실들에 대한 손실 함수들을 사용하여 실시예의 학습 방법이 적용될 수 있다.
제1 손실 함수는 제1 손실에 대한 함수일 수 있고, 제2 손실 함수는 제2 손실에 대한 함수일 수 있다.
복수의 손실 함수들 중 제1 손실 함수는 학습기에 입력되는 입력 영상 및 상기의 입력 영상에 대하여 학습기로부터 출력되는 출력 영상 간의 오차를 측정하는 함수일 수 있다. 말하자면, 제1 손실 함수는 영상들의 픽셀들 간의 차이를 계산하는 함수일 수 있다. 예를 들면, 제1 손실 함수는 L2 함수인 평균 제곱 오차(Mean Square Error; MSE)의 손실 함수일 수 있다.
복수의 함수들 중 제2 손실 함수는 판별자를 속이기 위한 함수일 수 있다. 예를 들면, 제2 손실 함수는 적대(adversarial) 함수일 수 있다.
단계(810)는 단계들(811 및 812)를 포함할 수 있다.
단계(811)에서, 처리부(610)는 복수의 손실 함수들 중 기준 함수를 설정할 수 있다.
단계(812)에서, 처리부(610)는 복수의 손실 함수들의 중요도들을 설정할 수 있다.
단계(820)에서, 처리부(610)는 기준 손실 함수의 결과 값을 감소시키는 방향으로 생성자의 사전-학습(pre-training)을 수행할 수 있다.
처리부(610)는 사전-학습에 따라 기준 손실 함수를 기준으로 생성자의 네트워크 파라미터들에 대한 갱신된 값들을 도출할 수 있다.
단계(830)에서, 처리부(610)는 복수의 손실 함수들 중 기준 손실 함수 외의 하나 이상의 다른 손실 함수들에 기반하여 네트워크 파라미터들에 대한 갱신된 값들을 생성자에 적용할지 여부를 결정할 수 있다.
예를 들면, 처리부(610)는 네트워크 파라미터들에 대한 갱신된 값들이 사용될 때 하나 이상의 다른 손실 함수들의 값들도 감소하면 네트워크 파라미터들에 대한 갱신된 값들을 수용할 수 있다.
예를 들면, 처리부(610)는 네트워크 파라미터들에 대한 갱신된 값들이 사용될 때 복수의 손실 함수들의 값들의 감소 여부가 서로 상충되면 복수의 손실 함수들의 중요도들에 기반하여 네트워크 파라미터들에 대한 갱신된 값들을 생성자에 적용할지 여부를 결정할 수 있다.
네트워크 파라미터들에 대한 갱신된 값들을 생성자에 적용하기로 결정된 경우 단계(840)가 수행될 수 있다.
네트워크 파라미터들에 대한 갱신된 값들을 생성자에 적용하지 않기로 결정된 경우 절차가 종료할 수 있다.
단계(840)에서, 처리부(610)는 네트워크 파라미터들에 대한 갱신된 값들을 생성자에 적용하여 생성자를 갱신할 수 있다.
단계(850)에서, 처리부(610)는 학습을 계속할 것인지 여부를 결정할 수 있다.
예를 들면, 처리부(610)는 생성자의 갱신의 정도가 기준치 이하일 경우 생성자에서 수렴(converge)가 이루어진 것으로 간주하여 학습을 계속하지 않기로 결정할 수 있다.
학습을 계속하기로 결정된 경우, 단계(820)가 반복될 수 있다.
학습을 계속하지 않기로 결정된 경우, 절차가 종료할 수 있다.
도 9는 일 예에 따른 제1 손실 함수를 기준으로 사용하는 생성자의 갱신 방법을 도시한다.
GAN에서는 생성자 및 판별자가 순차적이며 반복적으로 학습을 수행할 수 있다.
실시예에서, G0은 이전 단계에서의(즉, 이번의 학습의 이루어지기 전의) 생성자 또는 이전 단계에서의 생성자의 상태일 수 있다.
G1은 현재의 단계에서의 생성자 또는 현재의 단계에서의 생성자의 상태일 수 있다.
Gout는 이번의 학습의 결과로서 출력될 생성자 또는 이번의 학습의 결과로서 의해 출력될 생성자의 상태일 수 있다. Gout는 이번의 학습에 의해 갱신된 생성자가 될 수 있으며, 이번의 학습을 반영하지 않은 이전 단계에서의 생성자와 동일한 생성자일 수도 있다.
생성자의 상태는 생성자의 네트워크 파라미터들의 값들을 포함할 수 있다.
단계(910)에서, 생성자에 대한 설정이 수행할 수 있다.
Gout 및 G1은 G0으로 설정될 수 있다. 말하자면, 학습의 수행의 이전에 Gout 및 G1은 G0으로 초기화될 수 있다.
단계(920)에서, G1은 복수의 손실 함수들 중 제1 손실 함수에 의한 학습을 수행하여 갱신될 수 있다.
G1은 제1 손실 함수의 결과 값을 감소시키는 방향으로 학습을 수행할 수 있고, 제1 손실 함수의 결과 값을 감소시키는 방향으로 웨이트(weight)를 포함하는 네트워크 파라미터들을 갱신할 수 있다.
말하자면, 학습의 결과인 Train(G1)가 G1로 할당(assign)될 수 있다. 또는, G1은 학습의 결과로서 제1 손실 함수의 결과 값을 감소시키는 방향으로 갱신된 네트워크 파라미터들을 갖는 신경망일 수 있다.
웨이트를 포함하는 네트워크 파라미터들은 에러 백 프로퍼게이션(error back propagation) 등의 방식을 통해 갱신될 수 있다.
단계(930)에서, 수행된 학습에 의해 복수의 손실 함수들 중 제2 손실 함수의 결과 값이 감소되는지 여부가 판단될 수 있다.
제2 손실 함수의 결과 값이 감소되면, 단계(940)가 수행될 수 있다.
제2 손실 함수의 결과 값이 감소되지 않으면, 단계(960)가 수행될 수 있다.
단계(940)에서, 생성자의 갱신이 수용될 수 있다.
제2 손실 함수의 결과 값이 감소하면, 학습의 결과를 반영하여 출력될 생성자인 Gout가 갱신될 수 있다. 학습의 결과인 G1가 Gout로 할당될 수 있다.
단계(950)에서, 학습을 계속할지 여부가 결정될 수 있다.
예를 들면, 생성자에서 수렴이 이루어진 경우 학습을 계속하지 않기로 결정될 수 있다.
웨이트 등을 포함하는 네트워크 파라미터들의 갱신의 정도가 기정의된 정도 이하로 미미한 경우, 생성자에서 수렴이 이루어진 것으로 판단될 수 있고, 학습을 계속하지 않기로 결정될 수 있다.
학습을 계속하기로 결정된 경우 단계(920)가 수행될 수 있다.
학습을 계속하지 않기로 결정된 경우 단계(960)가 수행될 수 있다.
단계(960)에서, 갱신된 생성자 Gout가 결정될 수 있다. Gout는 학습의 결과에 따라 갱신된 생성자 또는 학습의 결과에 따라 갱신된 생성자의 상태일 수 있다.
전술된 단계들(920 및 930)에서, 제2 손실 함수의 결과 값이 감소하는 결과가 한 번도 발생하지 않았다면, Gout는 초기에 설정된 G0을 그대로 유지할 수 있고, 따라서 생성자는 변화하지 않고, 갱신되지 않을 수 있다.
전술된 단계들(920 및 930)에서, 제2 손실 함수의 결과 값이 감소하는 결과가 적어도 한 번 발생하였다면, 갱신된 G1이 Gout으로 할당될 수 있고, 따라서 생성자는 학습의 결과를 반영하여 갱신될 수 있다.
말하자면, 복수의 손실 함수들 중 제1 손실 함수를 기준으로 네트워크 파라미터들이 (임시적으로) 갱신될 수 있고, 이러한 갱신의 수용 여부는 복수의 손실 함수들 중 제2 손실 함수의 결과 값 또한 감소하는지 여부에 따라서 결정될 수 있다.
실시예의 단계들(910 내지 960)은 도 8을 참조하여 전술된 단계들(820 내지 860)에 대응할 수 있다. 또는, 도 9를 참조하여 전술된 실시예는 도 8을 참조하여 전술된 실시예의 구체적인 예일 수 있다. 또한, 도 9를 참조하여 전술된 실시예는 도 8를 참조하여 전술된 실시예의 일 반복(iteration)의 예일 수 있다.
단계(910)는 단계(810) 및 단계(820)의 사이에서 수행될 수 있다.
단계(920)는 단계(820)에 포함되거나, 단계(820)에 대응할 수 있다.
단계(930)은 단계(830)에 포함되거나, 단계(830)에 대응할 수 있다.
단계(940)는 단계(840)에 포함되거나, 단계(840)에 대응할 수 있다.
단계(950)는 단계(850)에 포함되거나, 단계(850)에 대응할 수 있다.
단계(960)는 도 8을 참조하여 전술된 실시예가 종료하기 전에 수행되는 것으로 간주될 수 있다.
도 10은 일 예에 따른 제2 손실 함수를 기준으로 사용하는 생성자의 갱신 방법을 도시한다.
도 10을 참조하여 설명되는 실시예는 도 9를 참조하여 설명된 실시예와 유사할 수 있다. 도 10을 참조하여 설명되는 실시예에서는 도 9를 참조하여 설명된 실시예에 비해 손실 함수들의 역할들이 서로 바뀔 수 있다.
GAN에서는 생성자 및 판별자가 순차적이며 반복적으로 학습을 수행할 수 있다.
실시예에서, G0은 이전 단계에서의(즉, 이번의 학습의 이루어지기 전의) 생성자 또는 이전 단계에서의 생성자의 상태일 수 있다.
G1은 현재의 단계에서의 생성자 또는 현재의 단계에서의 생성자의 상태일 수 있다.
Gout는 이번의 학습의 결과로서 출력될 생성자 또는 이번의 학습의 결과로서 의해 출력될 생성자의 상태일 수 있다. Gout는 이번의 학습에 의해 갱신된 생성자가 될 수 있으며, 이번의 학습을 반영하지 않은 이전 단계에서의 생성자와 동일한 생성자일 수도 있다.
생성자의 상태는 생성자의 네트워크 파라미터들의 값들을 포함할 수 있다.
단계(1010)에서, 생성자에 대한 설정이 수행될 수 있다.
Gout 및 G1은 G0으로 설정될 수 있다. 말하자면, 학습의 수행의 이전에 Gout 및 G1은 G0으로 초기화될 수 있다.
단계(1020)에서, G1은 복수의 손실 함수들 중 제2 손실 함수에 의한 학습을 수행하여 갱신될 수 있다.
G1은 제2 손실 함수의 결과 값을 감소시키는 방향으로 학습을 수행할 수 있고, 제2 손실 함수의 결과 값을 감소시키는 방향으로 웨이트(weight)를 포함하는 네트워크 파라미터들을 갱신할 수 있다.
말하자면, 학습의 결과인 Train(G1)가 G1로 할당(assign)될 수 있다. 또는, G1은 학습의 결과로서 제2 손실 함수의 결과 값을 감소시키는 방향으로 갱신된 네트워크 파라미터들을 갖는 신경망일 수 있다.
웨이트를 포함하는 네트워크 파라미터들은 에러 백 프로퍼게이션(error back propagation) 등의 방식을 통해 갱신될 수 있다.
단계(1030)에서, 수행된 학습에 의해 복수의 손실 함수들 중 제1 손실 함수의 결과 값이 감소되는지 여부가 판단될 수 있다.
제1 손실 함수의 결과 값이 감소되면, 단계(1040)가 수행될 수 있다.
제1 손실 함수의 결과 값이 감소되지 않으면, 단계(1060)가 수행될 수 있다.
단계(1040)에서, 생성자의 갱신이 수용될 수 있다.
제1 손실 함수의 결과 값이 감소하면, 학습의 결과를 반영하여 출력될 생성자인 Gout가 갱신될 수 있다. 학습의 결과인 G1가 Gout로 할당될 수 있다.
단계(1050)에서, 학습을 계속할지 여부가 결정될 수 있다.
예를 들면, 생성자에서 수렴이 이루어진 경우 학습을 계속하지 않기로 결정될 수 있다.
웨이트 등을 포함하는 네트워크 파라미터들의 갱신의 정도가 기정의된 정도 이하로 미미한 경우, 생성자에서 수렴이 이루어진 것으로 판단될 수 있고, 학습을 계속하지 않기로 결정될 수 있다.
학습을 계속하기로 결정된 경우 단계(1020)가 수행될 수 있다.
학습을 계속하지 않기로 결정된 경우 단계(1060)가 수행될 수 있다.
단계(1060)에서, 갱신된 생성자 Gout가 결정될 수 있다. Gout는 학습의 결과에 따라 갱신된 생성자 또는 학습의 결과에 따라 갱신된 생성자의 상태일 수 있다.
전술된 단계들(1020 및 1030)에서, 제1 손실 함수의 결과 값이 감소하는 결과가 한 번도 발생하지 않았다면, Gout는 초기에 설정된 G0을 그대로 유지할 수 있고, 따라서 생성자는 갱신되지 않을 수 있다.
전술된 단계들(1020 및 1030)에서, 제1 손실 함수의 결과 값이 감소하는 결과가 적어도 한 번 발생하였다면, 갱신된 G1이 Gout으로 할당될 수 있고, 따라서 생성자는 학습의 결과를 반영하여 갱신될 수 있다.
말하자면, 복수의 손실 함수들 중 제2 손실 함수를 기준으로 네트워크 파라미터들이 (임시적으로) 갱신될 수 있고, 이러한 갱신의 수용 여부는 복수의 손실 함수들 중 제1 손실 함수의 결과 값 또한 감소하는지 여부에 따라서 결정될 수 있다.
실시예의 단계들(1010 내지 1060)은 도 8을 참조하여 전술된 단계들(820 내지 860)에 대응할 수 있다. 또는, 도 10를 참조하여 전술된 실시예는 도 8을 참조하여 전술된 실시예의 구체적인 예일 수 있다. 또한, 도 10를 참조하여 전술된 실시예는 도 8를 참조하여 전술된 실시예의 일 반복(iteration)의 예일 수 있다.
단계(1010)는 단계(810) 및 단계(820)의 사이에서 수행될 수 있다.
단계(1020)는 단계(820)에 포함되거나, 단계(820)에 대응할 수 있다.
단계(1030)은 단계(830)에 포함되거나, 단계(830)에 대응할 수 있다.
단계(1040)는 단계(840)에 포함되거나, 단계(840)에 대응할 수 있다.
단계(1050)는 단계(850)에 포함되거나, 단계(850)에 대응할 수 있다.
단계(1060)는 도 8을 참조하여 전술된 실시예가 종료하기 전에 수행되는 것으로 간주될 수 있다.
도 9를 참조하여 전술된 실시예 및 도 10을 참조하여 설명된 실시예에서 설명된 학습들의 방식은 전반적으로 동일할 수 있다. 도 10을 참조하여 설명된 실시예에서는 제2 손실 함수를 기준으로 네트워크 파라미터들이 갱신되고, 제1 손실 함수를 기준으로 갱신의 수용의 여부가 결정될 수 있다. 반면, 도 9를 참조하여 전술된 실시예에서는 제1 손실 함수를 기준으로 네트워크 파라미터들이 갱신되고, 제2 손실 함수를 기준으로 갱신의 수용의 여부가 결정될 수 있다.
도 9를 참조하여 전술된 실시예 및 도 10을 참조하여 설명된 실시예는 서로 교대로 반복해서 수행될 수 있다.
말하자면, 도 8을 참조하여 전술된 단계들(810 내지 850)의 학습이 수행된 후, 다시 학습이 반복될 수 있다. 학습이 반복될 때, 이전의 학습에서 기준 손실 함수로서 선택된 손실 함수가 아닌 다른 손실 함수가 이번의 학습에서의 기준 손실 함수로서 선택될 수 있다. 말하자면, 도 8을 참조하여 전술된 학습은 반복해서 수행될 수 있고, 학습이 반복될 때마다 복수의 손실 함수들 중에서 기준 손실 함수로서 선택되는 손실 함수가 변경될 수 있다.
예를 들면, 이전의 학습에서의 기준 손실 함수가 제1 손실 함수인 경우, 이 번의 기준 손실 함수는 제2 손실 함수로 변경될 수 있다. 또한, 이전의 학습에서의 기준 손실 함수가 제2 손실 함수인 경우, 이 번의 기준 손실 함수는 제1 손실 함수로 변경될 수 있다.
예를 들면, 기준 손실 함수는 이전의 학습에서 기준 손실 함수로서 선택된 손실 함수의 다음의 손실 함수로 변경될 수 있고, 라운드 로빈(round-robin) 방식으로 변경될 수 있다.
전술된 제1 손실 함수 및 제2 손실 함수의 각각은 복수의 손실 함수들 중 임의의 손실 함수일 수 있다.
네트워크 파라미터들의 갱신의 기준이 되는 손실 함수가 n이고, 상기의 갱신의 수용 여부를 판단하기 위해 사용되는 손실 함수가 m일 경우, 이러한 학습은 Ln-Lm 학습으로 표현될 수 있다.
예를 들면, 도 9를 참조하여 전술된 실시예의 학습은 L1-L2 학습일 수 있고, 도 10을 참조하여 전술된 실시예의 학습은 L2-L1 학습일 수 있다.
학습기의 학습을 위해 3 개 이상의 손실 함수들을 사용하는 학습이 요구되는 경우, 3 개 이상의 손실 함수들 중 2 개의 손실 함수들의 순열(permutation)들을 사용하는 학습이 순차적으로 수행될 수 있다.
예를 들면, 학습기의 학습을 위해 3 개 이상의 손실 함수들이 요구될 경우, L1-L2 학습, L1-L3 학습, L2-L3 학습, L2-L1 학습, L3-L1 학습 및 L3-L2 학습의 총 6 가지의 종류들의 학습들이 사용될 수 있다.
4 개 이상의 손실 함수들이 요구될 경우에도 전술된 것과 같이 학습들이 사용될 수 있으며, mP2 가지의 종류들의 학습들이 사용될 수 있다. m은 요구되는 손실 함수들의 개수일 수 있다.
도 11은 일 예에 따른 복수의 손실 함수들을 사용하여 갱신의 수용 여부를 결정하는 생성자의 갱신 방법을 도시한다.
도 11을 참조하여 설명되는 실시예는 도 9를 참조하여 설명된 실시예와 유사할 수 있다. 도 11을 참조하여 설명되는 실시예에서는 도 9를 참조하여 설명된 실시예에 비해 갱신의 수용 여부를 결정하기 위해 사용되는 손실 함수들이 복수일 수 있다.
GAN에서는 생성자 및 판별자가 순차적이며 반복적으로 학습을 수행할 수 있다.
실시예에서, G0은 이전 단계에서의(즉, 이번의 학습의 이루어지기 전의) 생성자 또는 이전 단계에서의 생성자의 상태일 수 있다.
G1은 현재의 단계에서의 생성자 또는 현재의 단계에서의 생성자의 상태일 수 있다.
Gout는 이번의 학습의 결과로서 출력될 생성자 또는 이번의 학습의 결과로서 의해 출력될 생성자의 상태일 수 있다. Gout는 이번의 학습에 의해 갱신된 생성자가 될 수 있으며, 이번의 학습을 반영하지 않은 이전 단계에서의 생성자와 동일한 생성자일 수도 있다.
생성자의 상태는 생성자의 네트워크 파라미터들의 값들을 포함할 수 있다.
단계(1110)에서, 생성자에 대한 설정이 수행할 수 있다.
Gout 및 G1은 G0으로 설정될 수 있다. 말하자면, 학습의 수행의 이전에 Gout 및 G1은 G0으로 초기화될 수 있다.
단계(1120)에서, G1은 복수의 손실 함수들 중 제1 손실 함수에 의한 학습을 수행하여 갱신될 수 있다.
G1은 제1 손실 함수의 결과 값을 감소시키는 방향으로 학습을 수행할 수 있고, 제1 손실 함수의 결과 값을 감소시키는 방향으로 웨이트(weight)를 포함하는 네트워크 파라미터들을 갱신할 수 있다.
말하자면, 학습의 결과인 Train(G1)가 G1로 할당(assign)될 수 있다. 또는, G1은 학습의 결과로서 제1 손실 함수의 결과 값을 감소시키는 방향으로 갱신된 네트워크 파라미터들을 갖는 신경망일 수 있다.
웨이트를 포함하는 네트워크 파라미터들은 에러 백 프로퍼게이션(error back propagation) 등의 방식을 통해 갱신될 수 있다.
단계(1130)에서, 복수의 손실 함수들 중 제1 손실 함수 외의 복수의 다른 손실 함수들에 기반하여 생성자의 갱신을 수용할지 여부가 결정될 수 있다.
생성자의 갱신을 수용하기로 결정된 경우, 단계(1140)가 수행될 수 있다.
생성자의 갱신을 수용하지 않기로 결정된 경우, 단계(1160)가 수행될 수 있다.
예를 들면, 복수의 다른 손실 함수들은 제2 손실 함수 및 제3 손실 함수를 포함할 수 있다.
수행된 학습에 의해 복수의 다른 손실 함수들의 결과 값들이 모두 감소할 경우 생성자의 갱신을 수용하기로 결정될 수 있다.
예를 들면, 수행된 학습에 의해 복수의 다른 손실 함수들의 결과 값들 중 증가하는 것이 있는 경우 생성자의 갱신을 수용하지 않기로 결정될 수 있다.
예를 들면, 수행된 학습에 의해 복수의 다른 손실 함수들의 결과 값들의 일부 만이 감소할 경우, 복수의 다른 손실 함수들에 대한 가중치들에 기반하여 생성자의 갱신을 수용할지 여부가 결정될 수 있다.
예를 들면, 제2 손실 함수의 가중치가 제3 손실 함수의 가중치보다 더 큰 경우, 수행된 학습에 의해 제2 손실 함수의 결과 값이 감소하면, 제3 손실 함수의 결과 값은 증가하더라도 생성자의 갱신을 수용하기로 결정될 수 있다. 말하자면, 제2 손실 함수가 제3 손실 함수보다 더 중요하다고 설정된 경우, 수행된 학습에 의해 제2 손실 함수의 결과 값만이 감소하더라도 생성자의 갱신을 수용하도록 결정될 수 있다.
예를 들면, 생성자의 갱신을 수용할지 여부는 복수의 다른 손실 함수들의 결과 값들의 가중치가 부여된 합(weighted-sum)에 기반하여 결정될 수 있다.
단계(1140)에서, 생성자의 갱신이 수용될 수 있다.
제2 손실 함수의 결과 값이 감소하면, 학습의 결과를 반영하여 출력될 생성자인 Gout가 갱신될 수 있다. 학습의 결과인 G1가 Gout로 할당될 수 있다.
단계(1150)에서, 학습을 계속할지 여부가 결정될 수 있다.
예를 들면, 생성자에서 수렴이 이루어진 경우 학습을 계속하지 않기로 결정될 수 있다.
웨이트 등을 포함하는 네트워크 파라미터들의 갱신의 정도가 기정의된 정도 이하로 미미한 경우, 생성자에서 수렴이 이루어진 것으로 판단될 수 있고, 학습을 계속하지 않기로 결정될 수 있다.
학습을 계속하기로 결정된 경우 단계(1120)가 수행될 수 있다.
학습을 계속하지 않기로 결정된 경우 단계(1160)가 수행될 수 있다.
단계(1160)에서, 갱신된 생성자 Gout가 결정될 수 있다. Gout는 학습의 결과에 따라 갱신된 생성자 또는 학습의 결과에 따라 갱신된 생성자의 상태일 수 있다.
전술된 단계들(1120 및 1130)에서, 제2 손실 함수의 결과 값이 감소하는 결과가 한 번도 발생하지 않았다면, Gout는 초기에 설정된 G0을 그대로 유지할 수 있고, 따라서 생성자는 갱신되지 않을 수 있다.
전술된 단계들(1120 및 1130)에서, 제2 손실 함수의 결과 값이 감소하는 결과가 적어도 한 번 발생하였다면, 갱신된 G1이 Gout으로 할당될 수 있고, 따라서 생성자는 학습의 결과를 반영하여 갱신될 수 있다.
말하자면, 복수의 손실 함수들 중 제1 손실 함수를 기준으로 네트워크 파라미터들이 (임시적으로) 갱신될 수 있고, 이러한 갱신의 수용 여부는 복수의 손실 함수들 중 제2 손실 함수의 결과 값 또한 감소하는지 여부에 따라서 결정될 수 있다.
실시예의 단계들(1110 내지 1160)은 도 8을 참조하여 전술된 단계들(820 내지 860)에 대응할 수 있다. 또는, 도 11를 참조하여 전술된 실시예는 도 8을 참조하여 전술된 실시예의 구체적인 예일 수 있다. 또한, 도 11를 참조하여 전술된 실시예는 도 8를 참조하여 전술된 실시예의 일 반복(iteration)의 예일 수 있다.
단계(1110)는 단계(810) 및 단계(820)의 사이에서 수행될 수 있다.
단계(1120)는 단계(820)에 포함되거나, 단계(820)에 대응할 수 있다.
단계(1130)은 단계(830)에 포함되거나, 단계(830)에 대응할 수 있다.
단계(1140)는 단계(840)에 포함되거나, 단계(840)에 대응할 수 있다.
단계(1150)는 단계(850)에 포함되거나, 단계(850)에 대응할 수 있다.
단계(1160)는 도 8을 참조하여 전술된 실시예가 종료하기 전에 수행되는 것으로 간주될 수 있다.
네트워크 파라미터들의 갱신의 기준이 되는 손실 함수가 n이고, 상기의 갱신의 수용 여부를 판단하기 위해 사용되는 손실 함수가 p 및 q 일 경우, 이러한 학습은 Ln-LpLq 학습으로 표현될 수 있다.
예를 들면, 도 11을 참조하여 전술된 실시예의 학습은 L1-L2L3 학습일 수 있다.
예를 들면, 학습기의 학습을 위해 3 개 이상의 손실 함수들이 요구될 경우, L1-L2L3 학습 외에도 L2-L1L3 학습 및 L3-L1L2 학습 등이 정의될 수 있다.
4 개 이상의 손실 함수들이 요구될 경우에도 전술된 것과 같이 학습이 확장되어 사용될 수 있다,
도 12는 일 예에 따른 생성자 및 판별자의 학습 방법을 나타낸다.
단계(1210)에서, 생성자의 학습이 수행될 수 있다.
예를 들면, 생성자의 학습은 L1-L1 학습일 수 있다.
단계(1210)의 학습은 도 9, 도 10 또는 도 11를 참조하여 전술된 실시예의 학습에 대응할 수 있다. 단계(1210)는 도 9, 도 10 또는 도 11를 참조하여 전술된 실시예의 단계를 포함할 수 있다.
단계(1210)에서는, 네트워크 파라미터들의 갱신의 기준이 되는 손실 함수 및 갱신의 수용 여부를 판단하기 위해 사용되는 손실 함수가 동일하기 때문에, 생성자에서 수렴이 이루어질 때까지 갱신이 계속적으로 수용될 수 있다.
열화된 영상을 복원하는 영상 처리 분야에서의 목적 중의 하나는 원래의 영상과 유사한 영상을 만드는 것일 수 있다.
복수의 손실 함수들 중 제1 손실 함수(말하자면, L1)는 생성자에 의해 생성된 영상이 원래의 영상(즉, 생성자에 입력된 영상)과 얼마나 유사한가를 측정하는 손실 함수일 수 있다.
예를 들면, 제1 손실 함수는 평균 제곱 오차(Mean Square Error; MSE)의 손실 함수일 수 있다.
단계(1210)에서의 학습은 제1 손실 함수를 기준으로 네트워크 파라미터들을 갱신하고, 갱신의 수용 여부가 제1 손실 함수의 결과 값을 기준으로 판단되는 학습에 해당할 수 있다.
단계(1220)에서, 생성자에서 수렴이 이루어졌는지 여부가 판단될 수 있다.
생성자에서 수렴이 이루어지지 않은 경우 단계(1210)가 반복될 수 있다.
생성자에서 수렴이 이루어진 경우 단계(1230)가 수행될 수 있다.
단계(1210)에서의 L1-L1 학습과 단계(1220)에서의 판단의 결과로, 제1 손실 함수의 결과 값을 최소로 만드는 생성자가 생성될 수 있다. 그러나, 이러한 생성자에 의해 생성된 영상은 원래의 영상에 비해 낮은 선명도(sharpness)를 갖는 특성을 가질 수 있다.
이러한 특성의 문제는, GAN에 의해 해결될 수 있다. 적대(adversarial) 함수를 이용하여 판별자를 속이는 방식으로 네트워크 파라미터들이 갱신되도록 생성자가 훈련되면, 원래의 영상이 가지고 있는 패턴(pattern) 또는 텍스처(texture)를 담고 있는 원래의 영상(즉, 진짜 영상)과 같은 영상이 생성자에 의해 생성될 수 있다.
제2 손실 함수는 적대 함수일 수 있다. 아래의 단계들(1230, 1240 및 1250)에서, 제2 손실 함수(즉, 적대 함수)의 결과 값인 적대 손실을 줄이는 방향으로 네트워크 파라미터들이 갱신되면, 이러한 갱신이 제1 손실 함수(즉, MSE)의 결과 값도 감소될 경우에 네트워크 파라미터들의 갱신이 수용되는 방식으로 동작이 이루어질 수 있다. 따라서, 적대 손실이 감소되면서 동시에 MSE도 감소되는 학습이 이루어질 수 있다.
단계(1230)에서, 판별자의 학습이 수행될 수 있다.
단계(1240)에서, 생성자의 학습이 수행될 수 있다.
예를 들면, 생성자의 학습은 L2-L1 학습일 수 있다.
단계(1240)의 학습은 도 9, 도 10 또는 도 11를 참조하여 전술된 실시예의 학습에 대응할 수 있다. 단계(1240)는 도 9, 도 10 또는 도 11를 참조하여 전술된 실시예의 단계들을 포함할 수 있다.
단계(1250)에서, 생성자에서 수렴이 이루어졌는지 여부가 판단될 수 있다.
생성자에서 수렴이 이루어지지 않은 경우 단계(1230)가 반복될 수 있다.
생성자에서 수렴이 이루어진 경우 단계(1260)가 수행될 수 있다.
단계(1260)에서, 갱신된 판별자가 제공될 수 있다.
도 13은 일 예에 따른 압축된 영상 및 재구축된 영상을 도시한다.
전술된 열화된 영상은 압축된 영상일 수 있다. 원래의 영상을 JPEG와 같은 압축 알고리즘으로 압축함에 따라 압축된 영상이 생성될 수 있으며, 압축된 영상은 원래의 영상에 비해 열화된 영상일 수 있다.
JPEG을 통해 영상을 압축함에 있어서, JPEG 품질 팩터(quality factor)가 적용될 수 있다. JPEG 품질 팩터(quality factor)는 5, 10 및 15 등과 같은 값을 가질 수 있다.
전술된 실시예에서의 GAN의 학습은, 각 JPEG 품질 팩터 별로 별개의 학습기에서 이루어질 수 있다. 말하자면, 하나의 학습기는 동일한 JPEG 품질 팩터로 압축된 영상들을 사용하여 학습을 수행할 수 있고, 서로 다른 JPEG 품질 팩터들로 압축된 영상들에 대해서는 다수의 학습기들이 각각 사용될 수 있다.
또는, 전술된 실시예에서의 GAN의 학습은, 서로 다른 JPEG 품질 팩터들로 압축된 압축된 영상들에 대하여 하나의 학습기에서 이루어질 수 있다. 말하자면, 하나의 학습기는 가용한 복수의 JPEG 품질 팩터들로 압축된 영상들을 사용하여 학습을 수행할 수 있다.
도 13에서 재구축된 영상은 전술된 복수의 손실 함수들을 이용하는 기법에 의해 학습된 생성자에 의해 생성된 것일 수 있다.
재구축된 영상이 영상들의 픽셀들 간의 차이를 계산하는 손실 함수 만을 사용하여 학습된 신경망을 통해 생성되는 경우, 영상의 압축에서 발생하는 열화는 제거될 수 있으나, 전반적으로 블러(blur)된 영상이 생성될 수 있다.
재구축된 영상이 복수의 손실 함수들의 결과 값들의 합을 감소시키는 방식으로 학습된 신경망을 통해 생성된 경우, 영상의 압축에서 발생하는 열화가 감소되며, 손실된 텍스처 또한 잘 복원된 것으로 보일 수 있으나, 잘못된 텍스처의 생성으로 인해 원래의 영상 및 재구축된 영상 간의 오차가 더 심해지는 결과가 발생할 수 있다.
재구축된 영상이 도 6 내지 도 12를 참조하여 전술된 학습 방식을 통해 학습된 신경망을 통해 생성된 경우, 영상의 압축에서 발생하는 열화가 감소되면서도 재구축된 영상 내에서 원래의 영상에서와 같은 텍스처가 생성될 수 있다.
실시예들을 통하여 GAN의 생성자에게 적용되는 다수의 손실 함수들의 목적들을 모두 충족시키는 방식으로 네트워크 파라미터들이 학습될 수 있다.
잡음 제거 및 디블록킹 등과 같은 영상 처리의 응용에서는, 실시예들을 통하여 노이즈가 존재하지 않는 원본의 영상과 유사하면서(말하자면, PSNR 등의 측면에서 높은 객관적 화질을 가지면서), 실제의 노이즈가 존재하지 않는 영상 내의 패턴 및 텍스처 등을 가지는(말하자면, 높은 주관적 화질을 가지는) 고품질의 재구축된 영상이 생성될 수 있다. 처리의 결과인 재구축된 영상의 객관적 화질 및 주관적 화질이 모두 우수하기 때문에 실시예들은 단순한 후-처리(post-processing) 뿐만 아니라 영상 압축 과정에서의 인-루프 필터링(in-loop filtering)에 적용될 수 있다.
슈퍼-레졸루션(super-resolution)과 같은 해상도를 개선하는 영상 처리의 응용에서는, 고해상도의 원본의 영상과 유사하면서(말하자면, PSNR 등의 측면에서 높은 객관적 화질을 가지면서), 실제의 고해상도 영상 내의 패턴 및 텍스처 등을 가지는(말하자면, 높은 주관적 화질을 가지는) 고품질 고화질의 재구축된 영상이 생성될 수 있다. 처리의 결과인 재구축된 영상의 객관적 화질 및 주관적 화질이 모두 우수하기 때문에 실시예들은 단순한 후-처리(post-processing) 뿐만 아니라 영상 압축 과정에서의 업-샘플링(up-sampling)에 적용될 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, 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)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다.
컴퓨터 판독 가능한 기록 매체는 본 발명에 따른 실시예들에서 사용되는 정보를 포함할 수 있다. 예를 들면, 컴퓨터 판독 가능한 기록 매체는 비트스트림을 포함할 수 있고, 비트스트림은 본 발명에 따른 실시예들에서 설명된 정보를 포함할 수 있다.
컴퓨터 판독 가능한 기록 매체는 비-일시적 컴퓨터 판독 가능한 매체(non-transitory computer-readable medium)를 포함할 수 있다.
상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
600: 전자 장치
610: 처리부
620: 통신부
630: 저장부

Claims (1)

  1. 학습기의 학습을 수행하는 단계; 및
    상기 학습된 학습기를 사용하여 열화된 영상에 대한 복원을 수행함으로써 재구축된 영상을 생성하는 단계
    를 포함하고,
    상기 학습기에 대한 복수의 손실들 중 하나의 손실을 감소시키기 위해 발생한 네트워크 파라미터들의 변화가 상기 복수의 손실들 중 상기 하나의 손실이 아닌 다른 손실도 감소시킬 경우에 상기 네트워크 파라미터들의 변화가 상기 학습기에 적용되는, 영상 처리 방법.
KR1020180148642A 2017-11-28 2018-11-27 선택적 손실 함수를 이용한 생성적 적대 네트워크의 학습을 위한 방법 및 장치 KR20190062283A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020170160081 2017-11-28
KR20170160081 2017-11-28

Publications (1)

Publication Number Publication Date
KR20190062283A true KR20190062283A (ko) 2019-06-05

Family

ID=66844941

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180148642A KR20190062283A (ko) 2017-11-28 2018-11-27 선택적 손실 함수를 이용한 생성적 적대 네트워크의 학습을 위한 방법 및 장치

Country Status (1)

Country Link
KR (1) KR20190062283A (ko)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200143815A (ko) * 2019-06-17 2020-12-28 주식회사 피앤오 인공지능 카메라 시스템, 인공지능 카메라 시스템에서의 영상 변환 방법, 및 컴퓨터 판독 가능 매체
KR20210026767A (ko) * 2019-09-02 2021-03-10 한국과학기술원 뉴럴 네트워크를 이용한 플래시 메모리의 읽기 기준 전압 추정 방법 및 그 장치
WO2021060899A1 (ko) * 2019-09-26 2021-04-01 주식회사 루닛 인공지능 모델을 사용 기관에 특화시키는 학습 방법, 이를 수행하는 장치
CN112597887A (zh) * 2020-12-22 2021-04-02 深圳集智数字科技有限公司 一种目标识别方法及装置
KR20210036840A (ko) * 2019-09-26 2021-04-05 주식회사 루닛 인공지능 모델을 사용 기관에 특화시키는 학습 방법, 이를 수행하는 장치
KR20210048100A (ko) * 2019-10-23 2021-05-03 서울대학교산학협력단 생성적 적대 신경망을 이용한 상태 감시 데이터 생성 방법 및 장치
KR20210074166A (ko) * 2019-12-11 2021-06-21 한국전자기술연구원 영상 기반 사람의 3차원 자세 및 형상 모델 복원 장치 및 방법
KR20210109244A (ko) * 2020-02-27 2021-09-06 에스케이텔레콤 주식회사 이미지 변환 장치 및 방법
WO2021210761A1 (ko) * 2020-04-14 2021-10-21 삼성전자 주식회사 Ai 다운스케일 장치 및 그 동작방법, 및 ai 업스케일 장치 및 그 동작방법
KR102513580B1 (ko) * 2022-05-06 2023-03-24 주식회사 스캐터엑스 웨이퍼분류모델 학습을 위한 웨이퍼 이미지를 생성하는 방법 및 그 장치와, 이를 이용하여 웨이퍼분류모델을 생성하는 방법 및 그 장치

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200143815A (ko) * 2019-06-17 2020-12-28 주식회사 피앤오 인공지능 카메라 시스템, 인공지능 카메라 시스템에서의 영상 변환 방법, 및 컴퓨터 판독 가능 매체
KR20210026767A (ko) * 2019-09-02 2021-03-10 한국과학기술원 뉴럴 네트워크를 이용한 플래시 메모리의 읽기 기준 전압 추정 방법 및 그 장치
WO2021060899A1 (ko) * 2019-09-26 2021-04-01 주식회사 루닛 인공지능 모델을 사용 기관에 특화시키는 학습 방법, 이를 수행하는 장치
KR20210036840A (ko) * 2019-09-26 2021-04-05 주식회사 루닛 인공지능 모델을 사용 기관에 특화시키는 학습 방법, 이를 수행하는 장치
KR20210048100A (ko) * 2019-10-23 2021-05-03 서울대학교산학협력단 생성적 적대 신경망을 이용한 상태 감시 데이터 생성 방법 및 장치
KR20210074166A (ko) * 2019-12-11 2021-06-21 한국전자기술연구원 영상 기반 사람의 3차원 자세 및 형상 모델 복원 장치 및 방법
WO2021261687A1 (ko) * 2019-12-11 2021-12-30 한국전자기술연구원 영상 기반 사람의 3차원 자세 및 형상 모델 복원 장치 및 방법
KR20210109244A (ko) * 2020-02-27 2021-09-06 에스케이텔레콤 주식회사 이미지 변환 장치 및 방법
WO2021210761A1 (ko) * 2020-04-14 2021-10-21 삼성전자 주식회사 Ai 다운스케일 장치 및 그 동작방법, 및 ai 업스케일 장치 및 그 동작방법
CN112597887A (zh) * 2020-12-22 2021-04-02 深圳集智数字科技有限公司 一种目标识别方法及装置
KR102513580B1 (ko) * 2022-05-06 2023-03-24 주식회사 스캐터엑스 웨이퍼분류모델 학습을 위한 웨이퍼 이미지를 생성하는 방법 및 그 장치와, 이를 이용하여 웨이퍼분류모델을 생성하는 방법 및 그 장치

Similar Documents

Publication Publication Date Title
KR20190062283A (ko) 선택적 손실 함수를 이용한 생성적 적대 네트워크의 학습을 위한 방법 및 장치
CN111047516B (zh) 图像处理方法、装置、计算机设备和存储介质
CN108701249B (zh) 使用神经网络生成图像
CN111179177A (zh) 图像重建模型训练方法、图像重建方法、设备及介质
CN111598778B (zh) 一种绝缘子图像超分辨率重建方法
CN112396645B (zh) 一种基于卷积残差学习的单目图像深度估计方法和系统
CN110084155B (zh) 一种密集人数计数的方法、装置、设备以及存储介质
CN110517195B (zh) 无监督sar图像去噪方法
CN111179196B (zh) 一种基于分而治之的多分辨率深度网络图像去高光方法
CN112862689A (zh) 一种图像超分辨率重建方法及系统
CN111598796A (zh) 图像处理方法及装置、电子设备、存储介质
CN113673675A (zh) 模型训练方法、装置、计算机设备和存储介质
CN112907448A (zh) 一种任意比率图像超分辨率方法、系统、设备及存储介质
CN112950739A (zh) 纹理生成方法、装置、设备及存储介质
KR102092205B1 (ko) 초해상화, 역톤매핑 및 동시 초해상화-역톤매핑 처리된 다중 출력 이미지를 생성하는 이미지 처리 방법 및 장치
CN115131196A (zh) 一种图像处理方法、系统及存储介质和终端设备
Liu et al. Facial image inpainting using multi-level generative network
CN110135428A (zh) 图像分割处理方法和装置
WO2020248706A1 (zh) 图像处理的方法、装置、计算机存储介质及终端
CN116977169A (zh) 数据处理方法、装置、设备、可读存储介质及程序产品
CN113554047A (zh) 图像处理模型的训练方法、图像处理方法及对应的装置
CN110866888B (zh) 基于潜在信息表征gan的多模态mri合成方法
CN115735224A (zh) 非抽取的图像处理方法及装置
KR20210046465A (ko) 수차 보정 방법 및 장치
KR20190062203A (ko) 쌍둥이 심층 신경망을 이용한 영상의 기저 레이어 추출 방법 및 장치