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つのチップを公開

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

ブログ    
ブログ    

推薦する

...

...

...

...

ミッドジャーニー創設者:著作権の問題に対する解決策は今のところなく、AI生成画像はアーティストに取って代わることを意図したものではない

ミッドジャーニー火災以降、アーティストの道はますます狭くなっていった。最近、Midjourney や...

OpenAIと競合しますか? Jina AI、オープンソースの8Kテキスト埋め込みモデルを発表

10月27日、外国メディアは、人工知能企業Jina AIがこのほど、第2世代のテキスト埋め込みモデル...

保存しておくべき機械学習チートシート 27 選

機械学習にはさまざまな側面があり、調査を始めたときに、特定のトピックの要点を簡潔にリストしたさまざま...

農業用ドローンは熱を帯び続け、今後の開発に向けた3つの大きなトレンドが浮上

農業は国民の衣食住の問題を解決する鍵であり、国民経済の発展を促進する重要な基盤でもあります。我が国は...

データ、アルゴリズム、処理は人工知能にとって不可欠である

[[276859]]人工知能プロジェクトにおいて、最も重要なのはデータ、アルゴリズム、プロセスのうち...

アンドリュー・ン:AIはビッグデータから「スモールデータ」に移行する時が来た

AI界の巨匠アンドリュー・ン氏が最近、新型コロナウイルスの検査で陽性反応を示し、多くのネットユーザー...

クロス検証は非常に重要です!

まず、クロス検証がなぜ必要なのかを理解する必要があります。クロス検証は、予測モデルのパフォーマンスと...

DeepMind のブラック ボックス解読の第一歩: ニューラル ネットワークの認知原理は人間のものと同じであることが判明しました。

人間は、画像内の物体を認識して推論することから、超人的なレベルで Atari ゲームや囲碁をプレイす...

ビジネスインテリジェンスの歴史と発展についてお話ししましょう

1865 年に、リチャード・ミラー・デベンスは著書『A Complete Collection of...

21 個の新しい ChatGPT アプリ、どれをご存知ですか?

GPT には画像認識機能があるため、さらに強力になり、特に ChatGPT のビジュアル テクノロ...