2010 년 블로그 게시물 (archive.org) 에서 결정 론적 다양한 생성 적 적대적 네트워크 (GAN)에 대한 기본 아이디어를 자체 출판했습니다 . 나는 검색했지만 어디에서나 비슷한 것을 찾을 수 없었으며 그것을 구현할 시간이 없었습니다. 나는 신경망 연구자가 아니었고 아직 현장에 연결되어 있지 않습니다. 블로그 게시물을 여기에 복사하여 붙여 넣습니다.
2010-02-24
가변 상황 내에서 누락 된 데이터를 생성하도록 인공 신경 네트워크 를 훈련 시키는 방법 . 아이디어를 한 문장으로 표현하기가 어렵 기 때문에 예제를 사용하겠습니다.
이미지에 누락 된 픽셀이있을 수 있습니다 (예 : 번짐 아래). 주변 픽셀 만 알고 누락 된 픽셀을 어떻게 복원 할 수 있습니까? 한 가지 방법은 주변 픽셀을 입력으로하여 누락 된 픽셀을 생성하는 "생성기"신경망입니다.
그러나 그러한 네트워크를 훈련시키는 방법? 네트워크가 누락 된 픽셀을 정확하게 생성 할 것으로 기대할 수는 없습니다. 예를 들어, 누락 된 데이터가 풀 패치라고 상상해보십시오. 하나는 잔디밭의 많은 이미지로 네트워크를 가르 칠 수 있으며 일부는 제거되었습니다. 교사는 누락 된 데이터를 알고 있으며 생성 된 잔디 패치와 원래 데이터 사이의 RMSD (root mean square difference)에 따라 네트워크 점수를 매길 수 있습니다. 문제는 생성기가 훈련 세트의 일부가 아닌 이미지를 만나면 신경망이 모든 잎, 특히 패치의 중간에 정확한 장소에 모든 잎을 놓을 수 없다는 것입니다. 가장 낮은 RMSD 오류는 네트워크가 패치의 중간 영역을 일반적인 잔디 이미지의 픽셀 색상 평균 인 단색으로 채워서 달성 할 수 있습니다. 네트워크가 사람에게 설득력있는 잔디를 생성하려고 시도하여 그 목적을 달성하는 경우 RMSD 메트릭에 의해 불행한 패널티가 발생합니다.
내 생각은 이것입니다 (아래 그림 참조). 무작위 또는 교대로 순서대로 생성되고 원래의 데이터가 제공되는 분류기 네트워크를 생성기와 동시에 훈련하십시오. 그런 다음 분류기는 주변 이미지 컨텍스트와 관련하여 입력이 원래인지 (1) 또는 생성 된지 (0)를 추측해야합니다. 발전기 네트워크는 동시에 분류기에서 높은 점수를 얻으려고합니다. 결과적으로, 두 네트워크 모두 매우 단순하게 시작하고 점점 더 고급 기능을 생성하고 인식하여 생성 된 데이터와 원본을 식별 할 수있는 인간의 능력에 접근하고이를 무력화시키는 진전이 이루어지기를 바랍니다. 각 점수에 대해 여러 개의 훈련 샘플이 고려되는 경우 RMSD는 사용하기에 올바른 오차 측정법입니다.
인공 신경망 훈련 설정
마지막에 RMSD를 언급 할 때 픽셀 값이 아니라 "확률 추정"에 대한 오류 메트릭을 의미합니다.
원래 2000 년 (comp.dsp post) 의 신경망을 사용 하여 업 샘플링 된 (더 높은 샘플링 주파수로 리샘플링 된) 디지털 오디오에 대해 누락 된 고주파수를 생성하는 것이 정확하지 않고 설득력있는 방식으로 고려되었습니다. 2001 년에 나는 훈련을위한 오디오 라이브러리를 수집했습니다. 다음은 2006 년 1 월 20 일부터 EFNet #musicdsp IRC (Internet Relay Chat) 로그의 일부로 다른 사용자 (_Beta)와 아이디어에 대해 이야기합니다.
[22:18] <yehar> 샘플의 문제점은 이미 "위에"있는 것이 없다면 업 샘플링을하면 무엇을 할 수 있는지입니다 ...
[22:22] <yehar> 한 번 큰 이 정확한 문제를 해결하기 위해 "스마트 한"알고리즘을 개발할 수있는 소리의 라이브러리
[22:22] <yehar> 신경망을 사용했을 것입니다
[22:22] <yehar> 그러나 나는 일을 끝내지 못했습니다 :- D
[22:23] 신경망의 <_Beta> 문제는 결과의 우수성을 측정 할 수있는 방법이 있어야한다는 것입니다.
[22:24] <yehar> 베타 : 나는 "리스너"를 개발할 수 있다는 생각을 가지고 있습니다. "똑똑한 사운드 생성기"를 개발할 때
[22:26] <yehar> 베타 :이 리스너는 생성 된 또는 자연스런 스펙트럼을 듣고있을 때이를 감지하는 방법을 배웁니다. 제작자는이 탐지를 우회하려고 동시에 개발합니다.
2006 년에서 2010 년 사이에 친구가 전문가를 초대하여 내 아이디어를 살펴보고 나와 논의하도록했습니다. 그들은 흥미 롭다고 생각했지만 단일 네트워크가 작업을 수행 할 수있을 때 두 개의 네트워크를 훈련시키는 것은 비용 효율적이 아니라고 말했다. 그들이 핵심 아이디어를 얻지 못했는지 또는 단일 네트워크로 공식화하는 방법을 즉시 보았는지, 아마도 토폴로지의 어딘가에 병목 현상을 두 부분으로 나누는 방법을 보지 못했다. 나는 역 전파가 여전히 사실상의 훈련 방법이라는 것을 알지 못했을 때였습니다 ( 2015 년 Deep Dream 열풍에서 비디오 를 만드는 것을 배웠습니다 ). 몇 년 동안 나는 두 명의 데이터 과학자 및 다른 사람들과 내가 관심이 있다고 생각한 내 아이디어에 대해 이야기했지만 그 반응은 온화했습니다.
2017 년 5 월 에 YouTube [Mirror] 에서 Ian Goodfellow의 튜토리얼 프레젠테이션을 보았습니다 . 그것은 아래에 요약 된 현재의 이해와 같은 기본 아이디어로 나에게 나타 났으며, 좋은 결과를 얻기 위해 열심히 노력했습니다. 또한 그는 왜 작동해야하는지에 대한 이론을 제시하거나 이론에 근거한 모든 것을 제시했지만, 내 생각에 대한 공식적인 분석은하지 않았다. Goodfellow의 프레젠테이션은 내가 가진 질문과 그 밖의 많은 질문에 답변했습니다.
Goodfellow의 GAN 및 제안 된 확장 기능에는 발전기의 노이즈 소스가 포함됩니다. 노이즈 소스를 포함 할 생각은 없었지만 대신 훈련 데이터 컨텍스트를 사용하여 아이디어를 노이즈 벡터 입력없이 데이터의 일부에 대해 조건부 GAN (cGAN)에 더 잘 맞 춥니 다. 나의 현재 이해를 기반으로 마티유 등. 2016 년 은 입력 변동성이 충분한 경우 유용한 결과를 얻기 위해 노이즈 소스가 필요하지 않다는 것입니다. 다른 차이점은 Goodfellow의 GAN이 로그 우도를 최소화한다는 것입니다. 나중에 최소 제곱 GAN (LSGAN)이 도입되었습니다 ( Mao et al. 2017)) 내 RMSD 제안과 일치합니다. 따라서 제 아이디어는 생성기에 노이즈 벡터를 입력하지 않고 데이터의 일부를 컨디셔닝 입력으로 사용하는 조건부 최소 제곱 생성 적대적 네트워크 (cLSGAN)의 아이디어와 일치합니다. 생식 데이터 분배 근사치에서 샘플 발생기. 이제 실제 시끄러운 입력이 내 아이디어로 가능할 것이라는 것을 알고 의심하지만 결과가 유용하지 않다고 말하는 것은 아닙니다.
위에서 언급 한 차이점은 내가 Goodfellow가 내 아이디어를 알지 못하거나 믿었다 고 믿는 주된 이유입니다. 다른 하나는 내 블로그에 다른 머신 러닝 컨텐츠가 없기 때문에 머신 러닝 분야에서 노출이 매우 제한적이었을 것입니다.
검토자가 작성자에게 자신의 작업을 인용하도록 압력을 가하는 것은 이해의 상충입니다.