ネット上でアダルト画像はどう検閲されるか

マイケル・アランダ氏:Googleで2017年3月以前にエンジニアの仕事をしていた方なら、少し変わった契約書にサインさせられたはずです。業務においてポルノ画像を含むアダルトコンテンツに触れることがあり、それに同意するというものです。

この方針は今では変更されましたが、これはインターネットが自動でポルノ画像を検閲しきれないことを意味しています。望まない人たちに裸体が表示されないようにするソフトウェアの開発が必要です。

ヌードの自動検閲をするためには、デザイン、トレーニング、アルゴリズムのテストなどの仕組みづくりに、長い時間を割く必要があります。さらにそれをまた別の条件で実行するとなると、なかなかうまくはいかないでしょう。アルゴリズムを構築するのも簡単なことではありません。

我々は人間であってもポルノの定義は簡単ではないのです。米最高裁判事のポッター・スチュワート氏が、ポルノ定義の訴訟で「見ればわかるだろ」と発言したのは有名ですよね。

我々にとっては裸の人間を見つけるのはむずかしくないですが、コンピューターにとっては複雑な作業になります。

この写真の中に人がいて、デスクがあって、椅子があります。しかし、コンピューターが見るのはこれです。

拡大されてぼやけた画像では、どこまでが体で、どこからが椅子なのかもよくわかりません。これではどうやってヌードかどうか見分けられるでしょうか。

同じものを撮影した写真でさえ、違うものに見えることがあります。例えば、同じ人物の4パターンの手足が、別物に見えることがあるのです。明るさや角度、周囲の風景によって、それがミシェル・オバマの腕だとは判別できなくなります。

大量の情報の認識をどうするか

逆に、異なるものが不思議なほど同じく見える場合もあります。例えば、犬を見分けるのは簡単だと思うでしょうが、モップやマフィン、マシュマロが出てくると判別はむずかしくなります。

我々人間の脳は、こうった大量の情報の認識を無意識で行えるよう進化してきました。実に大脳皮質のおよそ30%が視覚のために使われているのです。

これに対して、エンジニアたちはゼロから始めないといけません。手ざわりや形などの人間が認識に使う情報はなく、色のついたドットの集まりのみから認識しないといけないのです。

コンピューター初期の80年代、90年代には、画像のどの要素が、画像を映し出すのに重要か考えられ、それらの要素を抽出するアルゴリズムが設計されました。ここで対象とされたのは、縁や連続した線などの主要なポイントです。これによって画像がリサイズされても画素が大きく変わらないようになりました。

例えば、猫の画像の輪郭や主要ポイントの設定は、他の猫と類似したものになります。この特性を活かして、猫の検索をサポートするアルゴリズムを設定できるのです。

96年に肌の色の判別に成功

ポルノサイトがネット上に現れて数年後の1996年に、ある論文でこれらの画像分析が使われました。「ファインディング・ネイキッドピープル」と題するこの論文において、研究者たちはまず肌の見分けに着手しました。ピクセルの色が黄色、茶色、あるいは赤みがかった色なのか判別するわけです。

通常、画像の肌から手ざわりは認識できませんが、論文によると、極端に毛深い被写体はレアで、ピクセルが写し出している肌の周囲に大きな差異はないとのことでした。

画像の30%が人の肌だと識別された場合、アルゴリズムがピクセルを体の一部へと繋ぎ合せます。肌の色の小さな断片を集めて、長い断片にし、これらの断片がくっついて体の各パーツを形成していきます。

最後に、システムが幾何学的に人間の肢体かどうか判断するのです。これによって、人の足がブラブラしてるだけの画像は、裸体の対象から除外されます。

これは悪くない方法ですが、マイナス面もあります。まず、この手作りのやり方は非常に不確かです。例えば、ポルノの場合、胴を太ももで挟むような通常ではないポーズを取ったりしますが、こうなるとシステムが裸体と認識できなくなります。

他にも改善すべき点は多くあります。例えば、なぜ画像の肌の認識が30%からなのか? 15%や35%ではだめなのか? また、エンジニアのカスタム設計をインタラクティブなものにしなくてはいけません。現状はあまりにエンジニアの感覚に頼りすぎていて、不確実すぎるのです。

乳房や生殖器をどう認識するか

ヌードの基準はとても曖昧で、ときに滑稽な結果にもなります。いくら肌の色のデータから幾何学的に識別しても、そもそも、もっと重要なものが忘れられてますよね。つまり……乳房や生殖器です。

現在は新たな画像認識システムが開発されています。「畳み込みニューラルネットワーク」と呼ばれるものです。これはマニュアル的にヌード要素の高いものを見つけるのではなく、システム自体にヌードを認識させるものです。

システムに閲覧注意の画像か否かを何度も見せて、トレーニングさせるのです。斑点や色の対比などの構成要素を学ばせ、それらがいかに結合して線や縁を形作るか記憶させます。次に肌の質感や、肌にかかった毛などを区別し、最終的に乳首やへそを認識して、それがヌードかどうか判断するのです。

このテクノロジーは基本的に、近年のAIの技術「DNN(deep neural network)」と同じです。DNNは人間の脳細胞ネットワークを模倣したもので、ゲームの「SimCity」のように、現実世界に沿ったシミュレーションをします。

シミュレーションの脳細胞が各層に配置され、個々の脳細胞がピクセルの色や前の層の情報など多量のデータを取得できます。各層の脳細胞が計算したものを次の層の脳細胞へと伝達していき、最後の層の情報が最良の推測となります。

この脳細胞ネットワークは、各所での伝達を見ていて、誤りがあった場合には、脳細胞の設定をいじってしまいます。そうやって次にまた同じエラーが起きないようにするのです。

どう「畳み込み」していくか

多くの種類のDNNがありますが、よく画像処理に使われるのが、畳み込みニューラルネットワークです。最初の層で、各脳細胞が小さな画像の情報を調べて、次にピンクのシミや、明暗の斑点など、どの画像のテンプレートに合致するか、アウトプットされます。そして、このテンプレートは、脳細胞がアップデートした情報を引き継いていくのです。

これらのネットワークでは個々が同じ情報を共有し、ともに設定をアップデートしていくので、各テンプレートに対応可能になります。これが「畳み込み」という名前の由来です。同じ性能の発見器を実装していくのです。

最初の層では、数十のグリッドがあり、それぞれが異なるテンプレートとの合致を行います。最初の層では、画像に対して、どのテンプレートが最も合致するかをアウトプットします。

第2の層も似ていますが、ここではピクセルの色そのものを見るのではなく、斑点や色の対比などを見ます。最初の層から引き継いだ情報をもとに、さらなる分析を進めるのです。さらに次の層から層へと分析が続き、最終の層がむきだしの性器を見つけ出します。

畳み込みニューラルネットワークは、従来の方法に比べて多くの利点を持っています。エンジニアがペニスのアップ写真がないかと、カスタム設定をいじる必要がないですし、こちらが決まったルールを設定せずとも、脳細胞自身が考え、柔軟にデータの集積を重ねてくれます。

畳み込みニューラルネットワークはさらに、システム改良のパラダイムも変えてしまいました。水着の女性の画像に誤認識が起きたとして、ネットワーク自体が、いかにより正確にヌードを識別すべきか学習するのです。実際にポルノコンテンツの除外システムに使用した場合にも、このネットワークは学習を続けます。

画像の社会的な文脈は認識できず

とはいえ、畳み込みニューラルネットワークも完全無欠というわけではありません。まだまだエンジニアがネットワーク構造をサポートすべき要素があります。例えば、SF風のアダルトアニメだと、キャラクターの識別はいつものようにはいかないでしょう。

また、畳み込みニューラルネットワークは、画像の社会的な文脈は認識できません。画像のピクセルのみではなく、画像の持つ背景まで読み解くべきですが、これは容易ではないです。

それでも多くのケースにおいて優秀なシステムなのは確かです。画像検索から自動運転車の機能にまで使われる革命的なテクノロジーなのです。

アダルトコンテンツの検閲作業は、我々がふだん気づかないところで行われています。今度、パンティーストッキングの画像を検索して、そこにヌードが含まれていなかったら、エンジニアとアルゴリズムに感謝してくださいね(笑)。