#### 딥페이크란 무엇인가?
딥페이크(Deepfake)는 '딥 러닝'(Deep Learning)과 '가짜'(Fake)의 합성어로, 인공지능을 기반으로 한 혁신적인 인간 이미지 합성 기술입니다. 이 기술은 생성적 적대 신경망(GAN)과 같은 기계 학습 기술을 활용하여 존재하는 사진이나 영상을 원본에 겹쳐 새로운 이미지를 만들어냅니다.
#### 딥페이크의 기술적 기반
딥페이크는 단순히 얼굴 인식을 넘어, 변분 오토인코더(VAE)와 생성적 적대 신경망(GAN) 등 복잡한 인경신경망 기술을 사용합니다. 기존의 음성이나 그림을 모조하는 기술보다 높은 정확성과 신뢰성을 자랑하며, 현대 인공지능의 발전 상황을 잘 반영하고 있습니다.
#### 활용 분야와 논란
딥페이크 기술은 다양한 분야에서 활용되고 있지만, 그 중 일부는 상당한 논란을 불러일으키고 있습니다. 대표적인 예로 딥페이크 포르노그래피, 가짜 뉴스, 금융 사기, 집단 따돌림 등이 있습니다. 기술의 남용으로 인한 사회적 문제들이 대두되면서, 학계와 산업계에서는 이러한 문제들을 해결하기 위한 탐지 기술과 규제 방안을 연구하고 있습니다.
#### 역사와 발전 과정
딥페이크 기술의 기원은 1990년대 학술 연구로 거슬러 올라갑니다. 이후 온라인 커뮤니티와 아마추어 개발자들에 의해 발전하면서, 2017년 말 레딧 사용자들이 처음으로 딥페이크 영상을 게시하면서 대중의 주목을 받게 되었습니다. 초기에는 주로 유명인의 얼굴을 합성한 포르노그래피 콘텐츠가 주를 이루었으나, 이후 상업적 용도로도 활발히 활용되고 있습니다.
#### 상업적 활용
딥페이크 기술은 상업적 분야에서도 다양하게 활용되고 있습니다. 2018년 FakeApp을 시작으로 Faceswap, DeepFaceLab 등의 오픈 소스 소프트웨어와 DeepfakesWeb.com 같은 웹 기반 애플리케이션이 등장했습니다. 대기업들도 이 기술을 활용하여 맞춤형 기업 교육 영상(Synthesia), 모바일 앱을 통한 얼굴 합성(Zao), 그리고 처음부터 사람 전신을 만들어내는 기술(DataGrid) 등에서 사용하고 있습니다.
#### 부활과 미래 전망
딥페이크 기술은 고인을 영상으로 다시 불러오는 데에도 사용되고 있습니다. 대표적인 사례로는 2020년 킴 카다시안이 딥페이크 기술을 활용하여 제작한 로버트 카다시안의 홀로그램 영상을 들 수 있습니다. 또한 《아메리카 갓 탤런트 시즌 17》에서는 엘비스 프레슬리의 딥페이크 영상이 사용되며 큰 화제가 되었습니다.
#### 결론
딥페이크는 인공지능 기술의 발전을 대표하는 혁신적인 기술입니다. 그러나 그 활용에 따른 윤리적 문제와 사회적 부작용도 함께 고려해야 합니다. 앞으로의 딥페이크 기술이 어떻게 발전하고, 어떤 방향으로 사용될지 주목할 필요가 있습니다. 기술의 긍정적인 측면을 극대화하고, 부정적인 영향을 최소화하는 것이 우리의 과제라 할 수 있습니다.
딥페이크에 대한 보다 깊이 있는 이해와 적극적인 대응이 필요한 시기입니다. 이 혁신적인 기술이 우리 사회에 어떤 영향을 미칠지, 그리고 그 변화를 어떻게 이끌어 나갈지 함께 고민해볼 필요가 있습니다.
사이킷런으로 연산 하던 것을 텐서 2.0 GPU로 바꾸니 20 분 걸리던데 5초 걸린다.
GPU도 이런데 구글의 TPU는 더 어마어마 하겠네. 물론, 맞는 상황이면... 2017 저장된 구글링 자료는 저런 비교가 되어 있던데... 시간 날 때 좀 더 자세히 봐야겠다. 일단 가설은 텐서 짱.
2020-06-30 23:56:10.818918: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1555] Found device 0 with properties:
pciBusID: 0000:09:00.0 name: GeForce RTX 2080 SUPER computeCapability: 7.5
coreClock: 1.845GHz coreCount: 48 deviceMemorySize: 8.00GiB deviceMemoryBandwidth: 462.00GiB/s
2020-06-30 23:56:10.819336: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cudart64_101.dll
2020-06-30 23:56:10.819574: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cublas64_10.dll
2020-06-30 23:56:10.819780: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cufft64_10.dll
2020-06-30 23:56:10.819988: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library curand64_10.dll
2020-06-30 23:56:10.820184: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cusolver64_10.dll
2020-06-30 23:56:10.820390: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cusparse64_10.dll
2020-06-30 23:56:10.820562: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cudnn64_7.dll
2020-06-30 23:56:10.821190: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1697] Adding visible gpu devices: 0
2020-06-30 23:56:10.821391: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1096] Device interconnect StreamExecutor with strength 1 edge matrix:
2020-06-30 23:56:10.821600: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1102] 0
2020-06-30 23:56:10.821752: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1115] 0: N
2020-06-30 23:56:10.822327: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1241] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 2885 MB memory) -> physical GPU (device: 0, name: GeForce RTX 2080 SUPER, pci bus id: 0000:09:00.0, compute capability: 7.5)
사이킷런(Scikit-learn) vs 텐서플로우(TensorFlow)
2017. 10. 13. 18:03
본문 기타 기능
머신러닝 프레임워크는 분류, 회귀(Regression), 클러스터링, 비정상행위 탐지(Anomaly Detection), 데이터 준비(Data Preparation)를 위한 다양한 학습 방법을 다루며, 인공 신경망 메소드(Method)를 포함할 수도, 포함하지 않을 수도 있음
Ex) 사이킷런(Scikit-learn)과 스파크(Spark) MLlib는 머신러닝 프레임워크
딥러닝 또는 심층 신경망(Deep Neural Network: DNN) 프레임워크는 여러 개의 은닉 계층(Hidden Layer)을 가진 다양한 신경망 토폴로지, 이런 계층은 다단계 프로세스의 패턴 인식으로 이루어져 있다. 망에 계층이 많을수록 클러스터링과 분류를 위해 추출할 수 있는 특징이 더 다양
Ex) 카페(Caffe), 마이크로소프트 인지 툴킷(Cognitive Toolkit: CNTK 2)과 딥러닝4j(하둡과 스파크에서 사용하는 자바와 스칼라(Scalar)용 딥러닝 소프트웨어), 케라스(Keras: 테아노와 텐서플로우용 딥러닝 프론트엔드), MX넷, 텐서플로우(TensorFlow) 등은 딥러닝 프레임워크
하기 프레임워크에 대한 내용은 머신러닝 프레임워크는 사이킷런 & 딥러닝 프레임워크로는 텐서플로우를 다룬다.
사이킷런
사이킷런 파이썬 프레임워크는 탄탄한 학습 알고리즘이 장점
잘 정의된 알고리즘과 통합 그래픽, 검증된 라이브러리라는 것도 장점
설치, 학습, 사용하기 쉽고 예제와 사용 설명서가 잘 돼 있음
딥러닝이나 강화 학습을 다루지 않는 단점
그래픽 모델과 시퀀스 예측(Sequence Prediction) 기능을 지원하지 않음
파이썬 이외의 언어에서는 사용할 수 없고, 파이썬 JIT(Just-in-Time) 컴파일러인 파이파이(PyPy)나 GPU를 지원하지 않음
사이킷런은 분류와 회귀, 클러스터링, 차원 축소(Dimensionality Reduction), 모델 선택, 전처리에 대해 다양한 알고리즘을 지원, 이와 관련된 문서화와 예제도 훌륭하다. 하지만 이런 작업을 완료하기 위한 안내 워크플로우가 전혀 없음
딥러닝이나 강화 학습을 지원하지 않아 정확한 이미지 분류와 신뢰성 있는 실시간 언어 구문 분석(Language Parsing), 번역 같은 문제를 해결하는 데는 적절치 않음
여러 가지 다른 관측값(Observation)을 연결하는 예측 함수를 만드는 것부터 관측값을 분류하는 것, 라벨이 붙어있지 않은 데이터 세트의 구조를 학습하는 것까지, 수십 개의 뉴런 계층이 필요 없는 일반적인 머신러닝 용도라면 사이킷만한 것이 없음
텐서플로우
텐서플로우는 구글이 내놓은 이식성 좋은 머신러닝과 인공 신경망 라이브러리
배우기가 조금 어렵지만 성능과 확장성이 좋음
텐서플로우에는 딥러닝에서 많이 사용하는 다양한 모델과 알고리즘이 들어 있으며 GPU(훈련용)나 구글 TPU(현업에 적용할 수 있는 규모로 예측용)를 장착한 하드웨어에서 탁월한 성능
파이썬 지원이 훌륭하며 문서화가 잘되어 있고 텐서보드라고 하는 소프트웨어가 포함돼 있어 결과를 설명하는 데이터 플로우그래프(Data Flow Graph: DFG)를 표시하고 이해하기 좋음
데이터 플로우 그래프에서 노드(Node)는 수학적 연산을 나타내며, 그래프 에지(Edge)는 노드 간을 흐르는 다차원 데이터 어레이(텐서)를 나타낸다. 이런 유연한 아키텍처가 적용돼 있어 사용자가 코드를 재작성하지 않고도 데스크톱과 서버, 모바일 기기에 있는 하나 또는 이 이상의 CPU나 GPU에 배포할 수 있음
텐서플로우를 사용하기 위한 주요 언어는 파이썬
C++에 대한 지원은 일부 제한
텐서플로우와 함께 제공되는 사용 설명서를 보면, 수기 숫자 분류와 이미지 인식, 워드 임베딩( Word Embedding: 단어 표현), RNN (Recurrent Neural Network: 순환 신경망), 기계 번역(Machine Translation)을 위한 시퀀스-투-시퀀스(Sequence-to-Sequence) 모델, 자연어 처리, 그리고 PDE(Partial Differential Equation: 편 미분 방정식) 기반의 시뮬레이션에 대한 애플리케이션 등이 포함
텐서플로우를 이용하면 현재 이미지 인식과 언어 처리 분야를 바꿔놓고 있는 딥 CNN과 LSTM 재귀 모델을 포함해 온갖 종류의 신경망을 쉽게 처리가능 계층을 정의하는 코드가 다소 복잡하지만 3가지 딥러닝 인터페이스 옵션 중 한 가지로 이 불편함을 해결
비동기 네트워크 솔버(Asynchronous Network Solver)를 디버깅하기가 만만치 않지만 텐서보드 소프트웨어는 사용자가 그래프를 시각화할 수 있게 해줌
Source : 구글 텐서플로우부터 MS CNTK까지딥러닝/머신러닝 프레임워크 6종 비교 분석(IDG)
Kim Kanu
스타트업 백서 저자, 기술신용평가사 저자
'3D world > AI Integration Engineer' 카테고리의 다른 글
Tensorflow, pytorch (0) | 2020.08.10 |
---|---|
cat vs dog old ver. & (0) | 2020.07.01 |
opencv 궁합 맞는 아이들 (0) | 2020.07.01 |
NVIDIA's GANimation (0) | 2020.07.01 |
딥페이크 기술을 사용하는 오픈 소스 프로젝트 (0) | 2020.07.01 |
최근댓글