안녕하세요,
펭귄쌤
입니다.
2024년에 전국의 많은 학교와 교사, 학생, 학부모들을 뒤집어지게 만들었던 사건인… 딥페이크 문제에 대해서 제가 윤리 자료를 뿌린 적이 있어요.
딥페이크 인공지능 윤리 교육 자료와 관련해서는 하단에 링크를 걸어놓을테니, 혹시 수업 시간에 시간이 남거나, 수업 준비가 안 된 날 요긴하게 쓰시기 바랍니다.
(수업용으로 쓰면 좋을 짧은 영상도 넣어놨어요!)
오늘의 주제는 딥 페이크입니다.
정보 선생님들 모두 중학교, 고등학교 정보 교과는 그 동안의 경험을 살려 잘 가르치시지만,
아무래도 인공지능 분야는 상대적으로 덜 접해서 부담되시는 분들 많으시죠?
그래서 딥페이크란 무엇이고, 딥페이크는 어떻게 생성되는지 원리를 분석해드릴게요.
딥페이크란 무엇인가?
딥페이크(Deepfake)는 딥 러닝(Deep Learning)과 가짜(Fake)의 합성어로, 인공지능을 활용해 실제처럼 보이는 가짜 콘텐츠를 만드는 기술입니다. 사진, 영상 등에 모두 활용됩니다.
딥페이크에 사용되는 기술은?
딥페이크의 정의와 활용 사례는 대부분 아시겠지만, 실제로 어떤 원리로 구성되는지 궁금하실 텐데요. 크게 두 가지 기술을 알려드리겠습니다.
먼저 토끼 간은 아니고 GAN(Generative Adversarial Network), 생성적 적대 신경망이 있습니다.
신경망 이야기가 나오니 벌써부터 지끈지끈하신가요? 최대한 쉽게 풀어보자고요.
GAN에는 크게 두 가지 신경망이 있어요.
첫째, 생성자(Generator)로 가짜 이미지를 생성하고요.
둘째, 판별자(Discriminator)로 이미지가 진짜인지 가짜인지 구분합니다.
이 둘은 범죄자(생성자)와 경찰(판별자)의 관계라고 보시면 좀 더 이해하기 쉬우실 거에요.
범죄자는 경찰을 피하기 위해 실제와 비슷한 위조 지폐를 만들고
경찰은 실제 지폐와 위조 지폐를 구분하려 하죠.
두 신경망이 서로 경쟁하는 과정에서, 생성자는 실제와 같은 정교한 이미지를 만들어내게 됩니다.
다음은 좀 더 생소하실 오토인코더(Autoencoder)입니다.
오토인코더는 비지도학습(unsupervised learning) 방식의 인공 신경망이에요.
지도학습(supervised learning): 정답이 있는 데이터를 학습하게 하는 방식(회귀, 분류)
비지도학습(unsupervised learning): 정답이 없는 데이터를 학습하게 하는 방식(군집화, 차원 축소)
한 줄로 요약해 설명하자면, 데이터를 압축했다가 다시 복원하는 신경망 구조에요.
오토인코더는 크게 세 부분으로 구성됩니다.
인코더(Encoder): 입력된 이미지를 낮은 차원의 잠재 표현(latent representation)으로 압축,
잠재 공간(Latent Space): 압축 과정에서 생성되는 낮은 차원 공간
디코더(Decoder): 아까 압축한 잠재 표현을 원래 차원의 데이터로 복원
오토 인코더를 활용하면 얼굴 데이터를 효과적으로 압축하고 표현할 수 있고, 데이터에서 중요한 부분을 자동으로 학습해요. 다만 압축 과정에서 필요한 정보가 손실될 수도 있어요.
두 기술은 같이 사용될 수도 있어요. 고급 모델 중 VAEGAN이라는 친구가 오토인코더와 GAN을 같이 사용한답니다.
딥페이크의 작동 원리는?
1. 데이터 수집 및 전처리
우리가 흔히 알고 있는 딥페이크 영상을 만들기 위해서는 두 개의 영상이 필요해요.
하나는 표정과 동작을 제공할 영상(소스 영상), 다른 하나는 얼굴이 바뀔 대상의 영상(원본 영상)입니다. 여기서 영상을 개별 프레임(이미지)으로 분리해요. 앗, 근데 프레임이란?
우리가 보는 영상은 사실 수많은 정지 이미지들이 빠르게 재생되며 움직이는 것처럼 보이게 만든 것입니다. 스마트폰으로 영상을 촬영해본 적 있으신가요? 스마트폰으로 영상을 찍을 때 24FPS, 30FPS 등 설정을 바꿀 수 있는데요. 1초에 24장이 들어가면 24FPS, 30장이 들어가면 30FPS 이런 식입니다.
FPS(Frame Per Second)는 초당 프레임 수를 의미합니다!
분리한 이미지에서 얼굴을 찾아내고, 눈, 코, 입 등 중요한 위치를 파악한 뒤 얼굴 이미지를 조정하기도 해요.
데이터 전처리는 모델이 학습을 더 잘 하도록 데이터를 손질하는 과정입니다.
2. 모델 학습
인공지능이 두 개의 영상을 학습하는데요. 위에서 말씀드린 오토인코더 신경망 모델을 예시로 설명할게요.
모델 학습 단계에서는 먼저 영상에 나온 두 사람을 위한 별도의 모델을 만들어요. 각 모델은 얼굴 이미지를 압축(인코더)하고 다시 복원(디코더)하면서 얼굴을 잘 복원할 수 있을 때까지 반복 학습한답니다.
3. 얼굴 교체 및 합성
이제 영상의 사람 얼굴을 다른 사람으로 교체해야겠죠?
원본 영상의 각 프레임에서 얼굴을 찾고, 찾은 얼굴을 학습된 모델에 입력해 소스 영상의 얼굴로 변환해요. 이 과정에서 얼굴 경계가 자연스러워 보이도록 블렌딩 처리 등을 수행하기도 합니다.
4. 품질 향상
이렇게 합성한 영상의 품질을 높이기 위해 후처리 작업을 수행해요. 예를 들어 픽셀 깨짐이나 흐릿함 등을 수정하고, 피부 톤이나 조명 등을 조정하여 더 자연스럽게 만드는 작업 등이죠.
마치 우리가 사진을 찍고 좀 더 멋진 사진을 얻기 위해 보정하는 과정을 수행한다고 보면 돼요.
5. 프레임 재결합 및 인코딩
마지막으로 편집한 모든 프레임을 하나의 완성된 영상으로 만듭니다.
최근에는 실시간 영상에 적용되는 딥페이크 기술도 발전해 적용되고 있다고 해요.
기술의 양면성
인공지능 기술에 대해 학생들의 이해도를 높이는 것도 중요하지만, 기술의 양면성에 대해서도 꼭 말해줘야 한다고 생각해요.
딥페이크 기술을 활용해 영상 제작, 교육 등 긍정적인 용도로 사용할 수도 있지만, 반대로 오남용될 경우 가짜 뉴스(fake news), 사기, 성착취물 등 다양한 문제를 일으킬 수 있음을 안내하며, 딥페이크 단어 자체에 적대감을 갖기보다는 기술을 사용할 때 윤리 의식을 갖추도록 이끌 필요가 있어요.
딥페이크 윤리 교육 자료 공유
아시다시피 작년(2024년)에 딥페이크로 인해 학교에 크게 문제가 생긴 적이 있어요.
그래서 긴급히 교육하라고 공문도 내려오고 했는데, 내려오는 교육 자료들이 크게 마음에 들지도 않고, 느리다고 판단해 직접 만들어서 배포한 자료에요.
학교 수업할 때 시간이 잠깐 남거나, 인공지능 윤리 교육이 필요하시면 가져다 쓰시면 됩니다. ^^
지금까지 펭귄쌤이었어요. 긴 글 읽느라 모두 고생 많으셨어요! 유용한 정보가 되었기를 바랍니다.