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 を活用したソーシャル メディア マーケティングの 10 大ルール

マーケティング担当者は、ブランド認知度を高め、顧客にとって適切なターゲット ユーザーを見つけるために...

金融規制当局が注意喚起:「AIによる顔の改変」などの新たな詐欺手法に注意

10月9日、近年、犯罪者が詐欺の手口を絶えず革新しており、金融消費者がそれを防ぐことが困難になってお...

Appleは開発者がアプリのコードを書くのに役立つXcodeのアップデート版を開発中だ

2月18日、海外メディアの報道によると、AppleはXcodeプログラミングソフトウェアの新しい生成...

...

人工知能はデータを「食べる」

機械学習 (ML) プロジェクトに取り組んだことがある人なら、機械学習ではアルゴリズムをトレーニング...

人工知能とビッグデータが私たちの生活に何をもたらすかご存知ですか?

「ビッグデータ」と「人工知能」はテクノロジー業界で最も価値のある分野となっている。Apple、Go...

...

...

アルファベットのウィングがドローン配達サービスをダラス・フォートワース地域に導入

ドローンはまもなく、タイレノールとバンドエイドが詰まった小型容器を積んでダラス・フォートワース上空を...

フェイフェイ・リーのチームの新しい研究:脳制御ロボットが家事を行い、脳コンピューターインターフェースに少ないサンプルで学習する能力を与える

将来的には、考えただけでロボットに家事を任せることができるようになるかもしれません。スタンフォード大...

自然言語処理がビジネスインテリジェンスの未来である理由

[[187102]] Siri に道順を尋ねるたびに、複雑なコード列がアクティブ化され、「Siri」...

クラゲのように見える7cmのガジェットは、実際にはチーターに似た最速のソフトロボットです

この記事はLeiphone.comから転載したものです。転載する場合は、Leiphone.com公式...

AI駆動型ソフトプラスチック選別ロボットがプラスチック廃棄物危機の解決に貢献

近年、プラスチックのリサイクルは改善されてきましたが、埋め立て地に廃棄されるプラスチック廃棄物は大き...

...

IT ワーカーの皆さん、AI が再びあなたの仕事を奪いに来ます。今度はデータセンターから

人工知能に関する議論は現在、自動運転車、チャットボット、デジタルツイン、ロボット工学、そしてビッグデ...