本文へスキップ

DiscordでのAI NSFW検出の仕組み

画像モデルが各画像を判定し、設定に応じて次の対応が決まります。モデルが何を見ているか、どこで誤るか、何が保存されるかを紹介します。

執筆:SfwBot Team読了目安7分

AI NSFW検出とは、サーバーに投稿された画像を画像モデルが1枚ずつ見て、どの程度ヌードが写っているかを報告する仕組みです。Botはその結果を設定したレベルと比較し、メッセージを削除するか、そのままにします。この記事では、SfwBotを例に、1枚の画像がどう処理されるかを順に説明します。

モデルは画像に何をするのか

画像が点をつないだネットワークに入り、目盛りの1段が点灯する

モデルは、ラベル付きの大量の画像で学習させたニューラルネットワークです。照合するための禁止画像のリストは持っていません。ラベル付きの例に共通する特徴を学習しているので、初めて見る画像でも判定できます。

モデルは画像ごとに、4つのレベルのどれに当てはまるかという1つの問いに答えます。

レベル名称代表的なコンテンツ
0日常ミーム、スクリーンショット、自撮り
1露出あり水着、下着、それに近い服装
2ヌードの示唆覆われている、または隠されているヌード
3露骨見えているヌードや性的なコンテンツ

モデルは判定するだけです。サーバーのルールは知らず、何かを決めることもありません。

削除の対象はレベルで決まる

ブロックを始めるレベルを選ぶと、そのレベル以上がすべて削除されます。新しいサーバーはレベル3から始まるので、削除されるのは露骨なコンテンツだけです。年少者向けのサーバーなら、レベル1からブロックすることもあります。

この分け方は、Botを調整するときに役立ちます。削除が多すぎるなら、ブロックを始めるレベルを上げます。少なすぎるなら下げます。どちらの場合もモデルは変わりません。

有料プランでは、さらに細かく設定できます。イラストやアート用に別のレベルを設定でき(Plus)、個別のチャンネルやカテゴリーごとにレベルを設定することもできます(Pro)。各プランの内容は料金のページに載っています。

モデルに送られる前に行われること

ほとんどの画像はモデルまで届きません。SfwBotは最初に3つを確認します。

  1. 除外設定。 除外されたチャンネルや、除外されたロールのメディアはスキップされます。年齢制限付きチャンネルはデフォルトでスキップされます。
  2. フィンガープリント。 Botは画像のフィンガープリントを計算します。これは短い値で、画像をリサイズしたり再圧縮したりしてもほぼ変わりません。フィンガープリントがホワイトリストにあれば、画像は通過します。ブラックリストにあれば削除されます。どちらもスキャンは不要です。
  3. 重複。 過去24時間以内にスキャンした同一のメディアは、再度スキャンされません。

残ったものだけがモデルに送られます。このスキャンではクレジットを使います。

GIFと動画

5コマのフィルムの帯。そのうち2コマに印が付いている

動画は長すぎて1枚の画像としては判定できないため、Botは動画からフレームを取り出して判定します。デフォルトでは、動画は10フレーム、GIFは5フレームをチェックします。Proプランのディープ動画スキャンでは、それぞれ30フレームと15フレームをチェックします。

サンプリングには、知っておくべき性質があります。長い動画に露骨なフレームが数枚あっても、サンプルの合間に入ってしまうことがあります。すり抜けたクリップはブラックリストに追加してください。次回からはフィンガープリントで検出されます。

32 MBを超えるファイルはスキャンされません。

モデルが誤る場面

常に正しい画像モデルはありません。よくある間違いは次のとおりです。

  • 肌色に近い面。 手や顔、食べ物のクローズアップが、高く判定されることがあります。
  • アート。 古典絵画、彫刻、描かれたキャラクターは、写真より判定が難しくなります。
  • 際どい服装。 レベル0とレベル1の境目は最も確信が低く、そのためレベル1からブロックするサーバーは多くありません。
  • 小さい画像や切り抜かれた画像。 モデルが見られる範囲が狭いほど、判定の信頼性は下がります。

SfwBotは、誤判定は起こるものとして扱います。削除のたびにログチャンネルへ記録が送られ、誤りとして報告ボタンで審査に回せます。ホワイトリストに登録した画像が、そのサーバーで再び削除されることはありません。モデルによる削除では、設定で有効にしない限りメンバーの信頼スコアは減りません。そのため、1回の誤判定でストライクになることはありません。

画像はどうなるのか

Botは分析のためにメディアをダウンロードし、終わったらすぐに破棄します。保持するのはフィンガープリントです。画像そのものが保持されるのは、判定がレビューのために報告された場合だけで、レビューが終わるまで、長くても30日間です。

メディアのリンクやフィンガープリントなど、メッセージから取得したデータは30日後に削除されます。自分のリストにあるフィンガープリントは、削除するまで残ります。詳細はセキュリティとプライバシーのページをご覧ください。

よくある質問

AI検出で人間のモデレーターの代わりになりますか?

いいえ。明らかなケースは、時間帯を問わず即座に削除します。報告されたケースや、文脈に左右される判断は、引き続きモデレーターが行います。

モデルはサーバーの画像から学習しますか?

Botはスキャンした画像を保持しません。画像が保持されるのは、判定がレビューのために報告された場合だけで、長くても30日間です。

AIはテキストメッセージを読みますか?

いいえ。モデルが判定するのは、画像、GIF、動画です。テキストは、招待、スパム、リンクそれぞれの別のフィルターが処理し、クレジットは使いません。

スキャンに失敗するとどうなりますか?

メッセージはそのまま残り、そのスキャンで使ったクレジットは返却されます。

関連記事