GANを別の視点から見る: 別の損失関数

GANを別の視点から見る: 別の損失関数

ジェレミー・ハワード氏はかつて、Generative Adversarial Network (GAN) コースで次のように述べました。「本質的に、GAN は単なる別の損失関数です。」

この記事では、上記の点を適切かつ関連性のある文脈で説明し、GAN の「学習された」損失関数のシンプルさと美しさについて説明します。

まず、背景知識をいくつか紹介しましょう。

関数近似の観点から見たニューラルネットワーク

数学では、関数を機械と考えることができます。機械に 1 つ以上の数値を入力すると、それに応じて 1 つ以上の数値が生成されます。

機能を「マシン」または「ブラックボックス」と比較します。 (画像出典: https://www.wikiwand.com/en/Function_%28mathematics%29)

関数を数式として表現できたらいいなと思います。しかし、目的の関数を一連の加算、減算、乗算、除算として記述する方法がわからない、またはまだわからない場合はどうすればよいでしょうか (たとえば、入力が猫の画像か犬の画像かを判別する関数)。

数式で表現できない場合は、少なくとも関数を近似することはできますか?

ニューラルネットワークが救いの手を差し伸べます。普遍近似定理によれば、十分な数の隠れユニットを持つ十分に大きなニューラル ネットワークは「任意の関数」を計算できます。

4 つの隠れユニットを持つ単純なニューラル ネットワークは、ピラミッド関数を近似します。

(画像出典: http://neuralnetworksanddeeplearning.com/chap4.html)

ニューラルネットワークの明示的な損失関数

ニューラル ネットワークができたので、分類関数を明示的に表現せずに、上記の猫と犬の分類関数を徐々に近似するニューラル ネットワークを構築できます。

関数の近似精度を向上させるには、まずニューラル ネットワークが現在のパフォーマンスがどの程度悪いかを把握する必要があります。ニューラル ネットワークのエラーを計算する方法は、損失関数と呼ばれます。

利用できる損失関数は多数あり、損失関数の選択は特定のタスクによって異なります。ただし、すべての損失関数には 1 つの共通する特性があります。それは、損失関数を正確な数式で表現できる必要があるということです。

  • L1損失(絶対誤差):回帰タスクに使用される
  • L2損失(二乗誤差):L1と同様だが、外れ値に対してより敏感である
  • クロスエントロピー誤差: 通常は分類タスクに使用されます
  • ダイス損失(IoU):セグメンテーションタスクに使用される
  • KLダイバージェンス: 2つの分布の差を測定するために使用される

損失関数は、ニューラル ネットワークの近似特性の品質を決定する上で非常に重要な役割を果たします。特定のタスクに適した損失関数を理解して選択することは、ニューラル ネットワーク ビルダーにとって最も重要なスキルです。

現在、より優れた損失関数の設計も非常に活発な研究分野です。たとえば、論文「Focal Loss for Dense Object Detection」では、単一ステージのオブジェクト検出モデルの不均衡を解決するために、「Focal loss」と呼ばれる新しい損失関数が紹介されています。

明示的な損失関数の限界

上記の損失関数は、分類、回帰、画像セグメンテーションなどのタスクには非常に有効ですが、出力がマルチモーダル分布を持つ場合にはあまり効果的ではありません。

白黒写真のカラー化タスクを例に挙げてみましょう。

L2 損失関数の背後にある思考プロセス。 (画像出典: https://youtu.be/8881p8p3Guk?t=2971)

  • 入力は白黒の鳥で、実際の画像は青い同じ鳥です。
  • L2 損失関数は、モデルの出力色と実際の画像間のピクセルレベルの差を計算するために使用されます。
  • 次に、入力は前の実験と同様の白黒の鳥です。実際の画像は同じ赤い鳥です。
  • L2 損失関数は、モデルの出力色と赤の差を最小限に抑えようとします。
  • L2 損失関数からのフィードバックに基づいて、モデルは類似の鳥を学習しましたが、モデルは赤と青の両方に近い色を出力する必要があります。モデルは何をしますか?
  • モデルは黄色の鳥を出力します。これは、モデルがトレーニング中に黄色の鳥を観察したことがない場合でも、赤と青の間の距離を最小化するための最も安全な選択です。
  • 実際の黄色い鳥は存在しないので、このモデルは十分に現実的ではないことがわかります。

平均二乗誤差に基づいて予測された次のフレーム画像は非常にぼやけています。 (画像出典: https://arxiv.org/pdf/1605.08104.pdf)

この平均化効果は、多くの場合、非常に悪い結果につながる可能性があります。動画の次のフレームを予測するタスクを例に挙げてみましょう。次のフレームにはさまざまな可能性があり、必要なのは「それらのフレームの 1 つ」を出力できるモデルです。ただし、モデルが L2 または L1 を使用してトレーニングされている場合、モデルはすべての可能な結果を​​平均化し、非常にぼやけた均質化された画像を生成します。

新しい損失関数としてのGAN

まず、複雑な関数 (たとえば、入力が数値のセットで、出力が犬のリアルな画像である関数) の正確な数学的表現がわからないため、ニューラル ネットワークを使用してこの関数を近似します。

ニューラル ネットワークには、現在のパフォーマンスがどの程度優れているかを示す損失関数が必要ですが、明示的な損失関数ではこの役割をうまく果たすことができません。

そうですね、明示的な数式を必要とせずにニューラル ネットワークの損失関数を直接近似する方法があればいいのですが。ニューラルネットワークのようなものですか?

では、明示的な損失関数をニューラル ネットワーク モデルに置き換えたらどうなるでしょうか? おめでとうございます。GAN を発見したことになります。

これは、以下の GAN アーキテクチャと Alpha-GAN アーキテクチャを通じてより明確に確認できます。図に示すように、白いボックスは入力を表し、ピンクのボックスと緑のボックスは構築するネットワークを表し、青いボックスは損失関数を表します。

GANアーキテクチャ

Alpha-GAN アーキテクチャ

オリジナルの GAN には、損失関数が 1 つだけあります。それは、それ自体が別のニューラル ネットワークである識別ネットワーク D です。

Alpha-GAN では、モデルには 3 つの損失関数があります。入力データの識別子 D、エンコードされた潜在変数の潜在コード識別子 C、および従来のピクセル レベルの L1 損失関数です。このうち、D と C は明示的な損失関数ではなく、その近似値、つまりニューラル ネットワークです。

勾配

識別器(ニューラル ネットワーク)を損失関数として使用してジェネレータ ネットワーク(Alpha-GAN のエンコーダ)をトレーニングする場合、識別器をトレーニングするにはどのような損失関数を使用する必要がありますか?

識別器のタスクは、実際のデータ分布と生成されたデータ分布を区別することです。教師あり方式で識別器をトレーニングする場合、ラベルは自由に利用できるため、バイナリクロスエントロピーなどの明示的な損失関数を使用して識別器をトレーニングするのは簡単です。

しかし、識別器はジェネレータの損失関数であるため、識別器のバイナリクロスエントロピー損失関数の累積勾配もジェネレータネットワークの更新に使用されることになります。

GAN の勾配の変化を観察することで、その軌道を変更するための新しいアイデアを見つけるのは非常に簡単です。明示的な損失関数の勾配が 2 つのニューラル ネットワーク (識別器と生成器) 間で逆流できず、3 つのニューラル ネットワーク間で逆流できる場合、どこに適用できるでしょうか。勾配が従来の損失関数を介して逆流できず、これらのニューラル ネットワーク間で直接行き来できる場合はどうなるでしょうか。第一原理から始めると、未踏のパスや未回答の質問を簡単に見つけることができます。

結論は

GAN では、従来の損失関数をニューラル ネットワークと統合することで、ニューラル ネットワークを損失関数として使用して別のニューラル ネットワークをトレーニングすることが可能になります。 2 つのニューラル ネットワーク間の巧妙な相互作用により、ディープ ニューラル ネットワークはこれまで不可能だったタスク (リアルな画像の生成など) を解決できるようになります。

この投稿が、本質的には学習された損失関数である GAN のシンプルさとパワーを理解するのに役立つことを願っています。

オリジナルリンク: https://medium.com/vitalify-asia/gans-as-a-loss-function-72d994dde4fb

[この記事は51CTOコラム「Machine Heart」、WeChatパブリックアカウント「Machine Heart(id:almosthuman2014)」によるオリジナル翻訳です]

この著者の他の記事を読むにはここをクリックしてください

<<:  ユニサウンドがマルチモーダルAIチップ戦略を発表、同時に開発中の3つのチップを公開

>>:  機械学習の仕事を探すとき、学歴はどの程度重要ですか?

ブログ    
ブログ    

推薦する

SQL クエリ エンジンの自然言語として GPT を使用する方法

翻訳者 |李睿レビュー | Chonglou 今日では、 ChatGPTのような生成AI技術のおかげ...

L4自動運転の脆弱性: 認識アルゴリズムは人工の3D悪意のある障害物を回避できない可能性がある

最近、ある調査により、レベル4自動運転で使用されるマルチセンサーフュージョンベースの認識技術にセキュ...

...

...

フロントエンド: JavaScript でのバイナリ ツリー アルゴリズムの実装

[[359197]]次に、js データ構造のツリーを調べてみましょう。ここでのツリーは、幹と枝を持つ...

AI人材が500万人不足!文部省、高等職業教育に人工知能専攻を追加

教育部は最近、浙江大学を含む35の大学の学部課程に人工知能専攻科目を追加したことに続き、大学の職業教...

たった今、マスク氏が米国工学アカデミーの会員に選出されました!智遠大学の張宏江博士が外国人学者に選出された

全米技術アカデミー (NAE) の会員リストが発表されました。 「狂人」マスク氏も選ばれたとは誰が予...

多関節ロボットの主な分類、利点、欠点は何ですか?

多関節ロボットは、多関節アームロボットまたは多関節ロボットアームとも呼ばれ、今日の産業分野で最も一般...

自己注意メカニズムとは何ですか?

[[241487]]著者: キオン・キムマシンハートが編集参加者: Geek AI、Liu Xia...

KMPアルゴリズムを最初から最後まで徹底的に理解できるように指導します

[[121931]]この記事の参考文献: Li Yunqing 他著「データ構造 (C 言語版)」、...

Llama 2 の精度を 80.3% まで高めるヒントは何でしょうか? Metaは、モデルの幻覚を大幅に削減する新しい注意メカニズムS2Aを提案している。

2023年の科学技術の世界は、(偽の室温超伝導を除いて)大型モデルが主流であると言えます。私たちは...

アリババ初のAIチップ「Pingtou Ge」が発売! NVIDIA P4 より 46 倍高速で、推論パフォーマンスの世界新記録を樹立

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

...

創造性がデジタル変革を推進する

人工知能はビジネス環境を一新し、競争環境を変え、仕事の本質を変革しています。しかし、人間の創造性も ...

AIがテキストを元に「抽象画」を描いたらどうなるでしょうか? |DeepMindの新アルゴリズム

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...