中華IT最新事情

中国を中心にしたアジアのテック最新事情

TikTokの特殊効果に使われるディープラーニング技術「サイクルGAN」の実力

バイトダンスの開発チームは、サイクルGANの計算量を大幅に圧縮する技術を開発した。スマートフォンでも計算ができるようにし、ショートムービー「抖音」やTikTokの特殊効果として使うためだと機器之心が報じた。

 

応用範囲の広いディープラーニング「サイクルGAN」

CycleGAN(Cycle Generative Adversarial Networks、サイクル敵対的生成ネットワーク)と呼ばれるディープラーニング手法の応用範囲が広がっている。CycleGANの応用例としてよく登場するのは、手書きの靴の線画をリアルな靴の写真に変換をする、馬の写真をシマウマに変換するなどの例だ。デザイナーが線画でスケッチを描くとそれをリアルな写真に変換してくれたり、1つキャラクターを作成すれば、次々とバリエーションが作れるなど、産業への応用も見えやすいため注目されるアルゴリズムのひとつになっている。

f:id:tamakino:20211101091713j:plain

f:id:tamakino:20211101091654j:plain

▲サイクルGANの一般的な応用例は、線画を描くと、それをリアルな画像に変換をしてくれるというもの。

 

サイクルGANの高性能圧縮に成功したバイトダンス

TIkTokや「抖音」(ドウイン)を運営するバイトダンスは、このサイクルGANの高性能圧縮する手法を開発した。最大で計算量が従来の1/46となるもので、その詳細は「Online Multi-Granularity Distillation for GAN Compression」(https://arxiv.org/abs/2108.06908)という論文にまとめられている。

サイクルGANは、2つのディープラーニングモデルを敵対させることによって、精度を高めていく手法だ。例えば、馬の映像をしまうまに変換をする場合、「うま→しまうま」変換をするモデルと、逆の「しまうま→うま」変換をするモデルの2つを用意する。

うまの映像をしまうまに変換し、これを本物のしまうまと比較をする。そして、変換したしまうま画像、本物のしまうま画像、本物のうま画像の3つをを「しまうま→うま」変換をし、比較をするということを繰り返していく。これにより、高速で2つの変換モデルの学習が進み、うまとしまうまの画像をうまく変換できるようになるというものだ。

f:id:tamakino:20211101091716p:plain

▲馬の写真をしまうまに変換する例では、バイトダンスの開発した圧縮手法を使うと、計算量が1/40になる(右端)。

f:id:tamakino:20211101091710p:plain

▲風景写真の季節を変化させる例では、計算量が1/40になる。

f:id:tamakino:20211101091706p:plain

▲模式図からリアルな映像に変換させる例では、計算量が1/46.6に圧縮される。

 

計算量圧縮は、スマホで実行するため

この圧縮手法を使っても、できることが増えるわけではない。しかし、計算量が大きく減るため、高性能のコンピューターを使わずに、スマートフォンでもサイクルGANが可能になる。

バイトダンスがこのようなディープラーニングを使うのはTikTokの特殊効果だ。例えば、動画を投稿するときに特殊効果を指定しておくと、自分の顔にサングラスをかけてくれる。顔が動いても、サングラスの画像は追従をしてくれ、目を隠してくれる。このような特殊効果が面白く、ショートムービーの投稿が盛んになっている面もある。このような特殊効果のひとつとして、サイクルGANを利用するため、計算量を減らし、スマホでも計算を可能にする必要があった。

 

教師モデルを蒸留して生徒モデルを生成する

このような圧縮モデルの生成にはさまざまな手法があるが、バイトダンスが今回採用したのは蒸留と言われる手法だ。これは、あらかじめ大規模なディープラーニングモデルで計算をしておき(教師モデル)、その結果を小さなモデル(生徒モデル)に転移をすることで、計算量を減らそうというアイディアだ。

つまり、あらかじめ計算しておいた結果の特徴的な部分だけを掬い取って、蒸留をし、小さなモデルで計算させるというイメージだ。

 

最高で計算量が46.6倍に圧縮される

論文には数々の実例が紹介されている。馬の映像をしまうまに変換するケースでは、従来手法の圧縮では21.3倍の圧縮率(計算量1/21.3倍)だが、バイトダンスの開発したモデルでは40.0倍になる。

また、街の模式図からリアルな写真を生成するケースでは、46.6倍の圧縮率を出すことに成功した。

 

写真の顔を動かす「動態写真」

このようなサイクルGANをスマホで計算できるようにして、具体的に何に使っているのか。ひとつは「動態写真」と呼ばれる特殊効果だ。写真を読み込ませると、そこから動く顔の表情を作り出すというものだ。

すでに抖音ではこの効果を使ったショートムービーが多数使われており、近代の歴史的人物の写真を読み込ませ、顔を動かすというムービーが多数投稿されている。表情の動きは大きいものではないが、それだけで、歴史上の遠い人から、近所にいそうな親近感を感じられるようになる。また、自分の祖父母の若い頃の写真に対してこの効果を使うことも流行をしている。祖父母の若い頃の写真は現実感がないが、顔の表情が動くことで、身近な存在に感じることができるからだ。

f:id:tamakino:20211101091640g:plain

▲「動態写真」の特殊効果。静止画である写真を処理すると、微笑むなど動きのある表情をつけてくれるというもの。

 

自分の年齢を変える「三屏人生」

また、「三屏人生」(三枚の人生)という特殊効果も人気だ。自分の顔を撮影し、特殊効果をかけると、幼い頃の自分と年老いた頃の自分の顔を自動生成してくれるというものだ。

f:id:tamakino:20211101091627g:plain

▲「三屏人生」の特殊効果。自分の動画を幼い年齢、老いた年齢の顔に変換をしてくれる。

 

最先端技術を惜しげもなくTikTokに注ぎ込むバイトダンス

最先端のAI技術をこのようなエンターテイメントに使うのは技術の無駄遣いのように感じる人もいるかもしれない。しかし、バイトダンスは最先端技術を惜しげもなく抖音に注ぎ込むことで、他のショートムービー共有サービスにはできない差別化を行なっており、抖音の圧倒的な人気を支えている。それが、投げ銭、ライブコマース、ECといった実利に結びつき、バイトダンスに大きな収益をもたらせている。エンターテイメント領域は、現在は最も成功しているAIの応用領域になっている。