Skip to main content

이미지 복원을 위한 저정밀 신경망 개요

이 글은 이미지 재구성을 위한 저정밀도 신경망인 QW-Net이라는 새로운 신경망 아키텍처를 탐구합니다. 이 글은 AI 번역본입니다. 오역 가능성이 있다면 댓글에서 알려 주세요.
Created on September 15|Last edited on September 15
모바일과 엣지 디바이스에 효율적인 신경망을 배포하는 일은 점점 더 중요해지고 있습니다. 이를 달성하기 위해 신경망은 사용을 위해 “양자화”되어 저정밀도 연산은 저장 공간과 계산 비용을 줄이고 지연 시간도 개선해 준다는 점에서 유리합니다. 정확도 측면의 트레이드오프가 뒤따를 수 있지만, 최근에는 이미지 분류와 자연어 처리 모델에서 성공적인 사례가 보고되고 있습니다.

프로젝트 웹사이트 \rightarrow

그러나 이미지 재구성을 위한 양자화된 모델은 눈에 띄는 화질 저하를 초래합니다. 이 글에서는 이를 살펴보겠습니다. QW-Net, ~을(를) 위한 아키텍처 이미지 재구성 여기에서 계산의 약 95%가 수행될 수 있으며 오직 4비트 정수로만 구현됨.

목차



앨리어싱과 앤티앨리어싱

앨리어싱

PC 게이머라면 픽셀처럼 들쭉날쭉한 가장자리를 한 번쯤 봤을 겁니다. 이를 흔히 “재기(jaggies)”라고 부르죠. 몰입을 깨는 요소잖아요? 이 현상은 앨리어싱 때문에 발생합니다. 앨리어싱은 신호 처리의 기본 개념으로, 신호를 연속값보다 낮은 속도로 이산 샘플링할 때 언제든지 나타납니다. 나이퀴스트 율 해당 신호에 대해.
그림 1오른쪽은 톱니 모양의 선, 가운데는 정사각형 픽셀로 화면에 그려지는 빨간 다각형, 왼쪽은 화면에 렌더링된 모습입니다. (출처)

컴퓨터 그래픽스에서는 앨리어싱이 다양한 방식으로 나타납니다. 그중 하나가 래스터라이제이션 앨리어싱이며, 그림 1에서 보이듯 삼각형의 톱니 모양 가장자리로 널리 알려져 있습니다. 이는 이미지를 2D 픽셀 격자에 래스터라이즈할 때 발생합니다. 각 픽셀은 하나의 색만 가질 수 있기 때문에, GPU는 도형을 그릴 때 픽셀 정중앙의 색을 선택합니다. 컴퓨터가 이 기하를 렌더링할 때 각 픽셀의 중심이 내부에 있느냐 없느냐로만 결정되기 때문에 톱니 형태의 패턴이 생깁니다. 자세한 내용은 다음을 참고하세요 훌륭한 블로그 글 앨리어싱에 대해 더 알아보려면 읽어보세요.

앤티에일리어싱

그렇다면 이를 어떻게 해결할 수 있을까요? 앤티에일리어싱은 PC 게임의 오브젝트에 나타나는 톱니 현상을 제거하는 방법입니다. 앤티에일리어싱에는 여러 가지 방식이 있으며 각각 장단점이 있지만, 공통적으로 톱니를 줄여 더 선명한 이미지를 만드는 것을 목표로 합니다. 넓은 의미에서 앤티에일리어싱은 언더샘플링으로 인한 아티팩트를 피하거나 제거하기 위해 사용하는 프리필터링, 샘플링, 재구성 기법 전반을 포괄합니다.
슈퍼샘플링은 문제를 해결하는 데 직관적인 방법이지만, 렌더링 비용이 크게 증가합니다. 멀티샘플링 앤티에일리어싱(MSAA)은 더 저렴한 대안이지만, 최신 게임에서는 덜 사용됩니다. 템포럴 앤티에일리어싱(TAA)은 프레임 간 일관성을 활용해 시간에 걸쳐 슈퍼샘플링 비용을 분산하는 비교적 최신 기법들의 계열입니다. 그러나 고스팅 아티팩트, 디테일 손실, 템포럴 불안정성 등 여러 문제에 취약합니다.
우리는 ‘톱니 현상’을 노이즈처럼 볼 수 있습니다. 우리는 이를 학습할 수 있습니다 합성곱 신경망이미지 노이즈 제거를 위한 -기반 모델입니다. UNET 기반 아키텍처는 다중 스케일에서 특징을 처리할 수 있어 이러한 과제에 적합합니다. 또한 게임 프레임은 순차적이므로, UNET 내부에 순환 연결을 도입해 시간적으로 안정적인 결과를 얻을 수 있다는 점에 주목하세요. 이 분야의 최신 연구들은 입력 렌더보다 더 높은 해상도로 이미지를 복원할 수 있습니다. 그러나 이러한 방법들은 보급형 GPU에서 실시간으로 동작하지 않거나, 오픈 소스 코드가 공개되어 있지 않습니다.
이미지 복원을 위한 저정밀도 네트워크의 저자들은 두 개의 U자형 네트워크를 결합한 새로운 아키텍처를 제안했습니다. 특징 추출기 네트워크, 그리고 필터링 네트워크, 공격적인 양자화를 적용하면서도 고품질이고 시간적으로 안정적인 결과를 달성하기 위해.

신경망의 양자화란 무엇인가?

최신 기계학습 모델은 대개 덩치가 커서, 자원이 제한된 환경에 배포하기에 비효율적입니다. 이들은 풀 프리시전 신경망이라고도 불리며, 사용합니다. float32 연산을 위한 관례로서의 데이터 타입. 놀랍게도 DNN은 8비트 정수처럼 정밀도가 더 낮은 더 작은 데이터 타입으로도 작동할 수 있습니다.
양자화된 모델은 텐서에 대한 연산의 일부 또는 전부를 부동소수점 값이 아닌 정수로 수행합니다. 풀 프리시전 네트워크는 학습 이후에 양자화하거나, 모의 양자화를 적용해 네트워크를 학습함으로써 양자화할 수 있습니다. 학습 후 양자화는 정확도가 크게 저하되는 경향을 보입니다. 동시에, 양자화 인지 학습은 정확도를 크게 개선할 수 있다는 가능성을 보여 왔지만, 더 긴 학습 시간이 필요하다는 대가가 따릅니다. Sayak Paul은 두 기법에 대한 훌륭한 비교를 다음에서 다룹니다. TF Lite에서 모델 양자화 이야기.

여기서 왜 중요할까요?

양자화에는 다음과 같은 이점이 있습니다:
  • 저정밀 산술은 부동소수점 산술에 비해 빠릅니다. 최신 하드웨어가 정수와 같은 속도로 부동소수점 연산을 수행할 수 있더라도, 8비트 연산은 항상 32비트 연산보다 빠릅니다. 이는 게임 렌더링 시스템의 지연 시간을 줄여 실시간 이미지 재구성을 가능하게 합니다.
  • 양자화된 모델은 메모리 사용량이 현저히 적습니다.

제안된 아키텍처 개요: QW-Net

GPU 가속과 모델 양자화를 통해 실시간 게임 이미지 재구성이 가능합니다. 그러나 양자화 오차는 이미지 품질에 심각한 영향을 미치며, 특히 고다이내믹레인지 콘텐츠에서 그 영향이 더욱 큽니다. The 저자들은 이미지 재구성을 위해 강력하게 양자화된 네트워크의 실현 가능성을 입증하고자 한다.
그림 2제안된 QW-Net 아키텍처 개요
제안된 QW-Net 아키텍처는 두 개의 U자형 네트워크를 사용하여 이 문제를 해결합니다 a 특징 추출 네트워크, 그리고 a 필터링 네트워크. 시간적으로 안정적인 결과를 얻기 위해, the 프레임 순환형 이전 프레임을 재구성한 결과를 워핑하여 입력 프레임과 연결하는 방식을 사용하며, 이렇게 결합된 텐서가 네트워크의 현재 입력을 이룹니다. 특징 추출기를 다음과 같이 두겠습니다 UeU_e 및 필터링 네트워크를 UfU_f, 재구성된 출력 IokI_o^k 프레임 k에서 다음과 같이 주어진다,
Iok=Uf(Ue(Iak,Iwk),Iak,Iwk)I_o^k = U_f(U_e(I_a^k, I_w^k), I_a^k, I_w^k)
Iwk=W(Iok1,Ivk)I_w^k = W(I_o^{k-1}, I_v^k)
여기에서, IakI_a^k 는 앨리어싱이 있는 입력이며, IwkI_w^k 워핑된 이전 출력이다, IvkI_v^k 은 2D 모션 벡터 그리드이며, WW 는 양선형 워프 함수이다.

특징 추출기

그림 3특징 추출기 네트워크의 구성 요소
  • 이는 U-Net 아키텍처를 기반으로 하며, 인코더 블록으로 이미지를 다운샘플링하고 디코더 블록으로 이 과정을 역으로 수행합니다. 스킵 연결을 사용합니다. 그림 2에 나타나 있습니다.
  • 입력 처리 유닛은 다음을 입력으로 받는다 IakI_a^k 그리고 IwkI_w^k각 입력을 그레이스케일로 변환하고 그래디언트 크기를 계산합니다. 그런 다음 이를 다음과 결합합니다. IakI_a^k 그리고 IwkI_w^k. 이것이 첫 번째 합성곱 층의 입력이다.
  • 각 인코더 블록은 3×3 공간 범위를 갖는 합성곱 층 두 개로 구성되며, 각 층 뒤에는 배치 정규화와 ELU(Exponential Linear Unit) 활성화가 이어집니다. 인코더 블록의 마지막 단계는 2 × 2 최대 풀링을 이용한 다운샘플링입니다. 병목 구간의 특성 깊이는 160입니다.
  • 디코더 블록은 2 × 2 최근접 이웃 업샘플링으로 시작합니다. 업샘플된 활성화는 스킵 연결과 결합된 뒤, 1 × 1 합성곱 층을 사용해 인코더 출력과 동일한 크기로 투영됩니다. 그 다음에 3 × 3 합성곱 층 하나가 이어집니다.
  • 특징 추출기는 정량화 오차에 더 강인하므로 4비트 정수로 정량화할 수 있습니다.

필터 네트워크

그림 4: 필터 네트워크의 구성 요소
  • 그림 2에서 보이듯이, 이는 특징 추출 네트워크와 유사한 토폴로지를 갖습니다. 각 스케일의 다운샘플링 및 업샘플링 필터 쌍은 특징 추출 네트워크에서 해당 디코더 블록의 출력과 연결되어 있습니다.
  • 입력 필터는 디코더 블록의 활성화를 사용하여 입력 이미지에 적용할 3 × 3 커널을 예측합니다. 소프트맥스 활성화가 포함된 1 × 1 합성곱 층을 사용해 커널을 예측하며, 그 결과 정규화된 가중치를 얻습니다. 입력 필터는 9개 가중치를 갖는 두 개의 3 × 3 필터에 해당하는 정규화된 필터 가중치 18개를 예측합니다. 이 필터들은 각각 𝑰𝒂와 𝑰𝒘에 적용되고, 결과를 합산하여 단일 이미지를 생성합니다. 이후의 다운샘플링 필터들은 단일 이미지에 3 × 3 커널을 적용합니다. 각 다운샘플링 필터의 마지막 단계는 2 × 2 평균 풀링 연산입니다. 병목 필터는 이 풀링 연산을 제외합니다.
  • 각 업샘플링 필터의 첫 번째 단계는 양선형 업샘플링이며, 이후 이미지에 필터를 적용하고 스킵 연결과 결합합니다. 업샘플링 필터는 총 10개의 필터 가중치를 사용하며, 3 × 3 필터 커널에 9개, 스킵 연결의 스케일링에 1개를 사용합니다. 필터링 네트워크에서는 평균 풀링과 양선형 업샘플링을 사용했는데, 이는 더 나은 이미지 품질을 제공하기 때문입니다. 반면, 특징 추출 네트워크에서는 계산 비용이 더 낮고 특징 추출에 큰 영향을 주지 않기 때문에 최대 풀링과 최근접 이웃 업샘플링을 사용합니다.
  • 이 네트워크는 더 높은 정밀도가 필요하지만, 특징 추출기보다 연산량이 적습니다.

학습과 정량화

네트워크는 블록 단위로 학습되었으며 NyN_y x NxN_x × NyN_y 다음을 포함한 이미지 NxN_x 그리고 NyN_y 공간 차원이 256이며 NtN_t 프레임의 개수이다. 블록당 8개의 프레임을 사용한다.

데이터셋

저자들은 공개된 UE4용 네 가지 시네마틱 씬에서 데이터셋을 준비했다. 해당 씬은 Zengarden, Infiltrator, Kite, Showdown이며, 학습을 위해 13,712개의 블록을 확보했다.

손실 함수

저자들은 두 가지 손실 함수를 사용했다 - _spatial loss LsL_s 그리고 시간 손실 LtL_t
  • 공간 손실: 일반적인 것이다 L1L_1 손실을 계산하도록 수정됨 NxNyN_xN_y 픽셀과 NtN_t 시간 단계.
  • 시간 손실: 시간 손실은 시간 기울기에 대한 평균 절대 오차이며, 시간적 안정성을 달성하는 것을 목표로 한다.
저자들은 다음과 같이 주어진 두 손실의 가중합을 사용하였다.
L=0.3Ls+0.7LtL = 0.3L_s + 0.7L_t

학습

각 학습 반복마다 64개 블록으로 구성된 미니배치를 사용하여 각 시간 단계의 재구성 결과를 얻고, 계산된 손실을 모든 시간 단계에 걸쳐 역전파하였다. Ranger 기본 하이퍼파라미터와 학습률 0.0005를 사용하는 Rectified Adam과 Lookahead를 결합한 옵티마이저.

양자화

  • 이 양자화 접근법은 8비트와 4비트 정수를 사용한 가속 텐서 연산을 지원하는 GPU 아키텍처를 목표로 한다.
  • 첫 번째 합성곱 층을 제외한 특징 추출 네트워크의 모든 층은 가중치와 활성화를 4비트로 양자화했으며, 첫 번째 합성곱 층은 8비트 가중치와 4비트 활성화를 사용한다.
  • 네트워크는 먼저 완정밀도로 학습한 뒤, 시뮬레이션된 양자화를 사용해 미세 조정하면서 가중치와 활성화를 양자화한다. 이는 모델 성능을 향상시킨다.
  • 필터 커널을 예측하는 1×1 합성곱 층만 8비트 정밀도로 역시 양자화한다.

결론

이 글의 목표는 논문을 요약해 독자들이 더 쉽게 이해할 수 있도록 하는 것이다. 일부 내용은 정보를 가장 분명하게 전달하기 위해 논문에서 직접 인용한 문장을 사용했다. 소스 코드가 공개되지 않았고 영상 렌더링 사용 사례에 대한 나의 이해가 부족해, 이 논문은 특히 난해하게 느껴졌다. 그럼에도 흥미로웠던 점은 저자들이 이미지 재구성에 양자화를 적용했고, 그것도 4비트 정밀도만으로 구현했다는 사실이다. 상당히 과감하다!
또 한 가지 중요한 점은 공식 논문에 아주 세밀한 내용이 가득해 꼼꼼히 읽어볼 가치가 있다는 것이다. 이 작업에 대한 여러분의 생각을 댓글로 자유롭게 공유해 주시길 바란다.

이 글은 AI가 번역한 기사입니다. 오역이 있을 수 있으니 댓글로 알려 주세요. 원문 보고서는 아래 링크에서 확인할 수 있습니다: 원문 보고서 보기