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

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

ブログ    

推薦する

SEO技術における人工知能の応用

[[188760]] SEO はますます「難しく」なっていると誰もが感じているはずです。すでに、SE...

世界で最も強力なオープンソース モデルが一夜にして所有者が変わりました。 Google Gemma 7B が Llama 2 13B を圧倒、オープンソース戦争が再燃

真夜中に雷鳴が轟いた。Google は本当に LLM をオープンソース化したのか? !今回、オープン...

一緒にデジタル広西を構築し、デジタルの未来に向かって進みましょう! 2023年広西クンペンアセンド人工知能産業エコシステム会議が成功裏に開催されました

9月19日、南寧市ビッグデータ開発局が主催し、華為技術有限公司と南寧産業投資グループ有限公司が共催す...

顔認識技術を乱用しないでください

[[415783]]最高人民法院は最近、「顔認識技術を用いた個人情報処理に関する民事訴訟における法律...

2024年のビッグデータの不完全な予測

人工知能の進歩は2024年まで大きな原動力となる可能性が高く、ビッグデータの課題、つまりそれをどのよ...

AI(人工知能)はニッチな業界でお金を稼ぐ次のチャンスです

AI(人工知能)とは何ですか?と聞かれたら多くの人は、いくつかの単語を話すことはできるかもしれません...

9月9日がまたやってきました。重陽の節句にスマートテクノロジーについてお話しましょう。

[[428874]]現代では、社会の発展と時代の進歩に伴い、伝統と現代の衝突、古典と革新の融合が、...

...

ウエストワールドがやってくる: ロボットは独自の言語を使ってコミュニケーションとコラボレーションを学ぶ

人工知能研究チームOpenAIが発表した最新の報告書は、ロボットが自ら作成した新しい言語を使って互い...

コンピュータービジョンが小売業の在庫管理をどう変えるか

小売業の経営者は、長期的な顧客関係の構築を妨げる在庫管理の問題に直面することがよくあります。小売在庫...

...

...

金融業界がAI自動化を採用すべき理由

ガートナーによると、「ロボティック・プロセス・オートメーション(RPA)ソフトウェア市場は2020年...

ディープラーニング入門: オートエンコーダから変分オートエンコーダまで

オートエンコーダ(AE)は、半教師あり学習や教師なし学習で使用される人工ニューラルネットワーク(AN...